sipXcallLib home page


Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
PtEvent Class Reference

The PtEvent encapulates data associated with an event notification. The PtEvent is sent to an application implementing a PtEventListener by the Pingtel object in which the event occurs. More...

#include <PtEvent.h>

Inheritance diagram for PtEvent:
Inheritance graph
[legend]
Collaboration diagram for PtEvent:
Collaboration graph
[legend]

Public Types

enum  PtEventId {
  EVENT_INVALID = 0, ADDRESS_EVENT_TRANSMISSION_ENDED = 100, CALL_ACTIVE = 101, CALL_INVALID = 102,
  CALL_EVENT_TRANSMISSION_ENDED = 103, CONNECTION_ALERTING = 104, CONNECTION_CONNECTED = 105, CONNECTION_CREATED = 106,
  CONNECTION_DISCONNECTED = 107, CONNECTION_FAILED = 108, CONNECTION_IN_PROGRESS = 109, CONNECTION_UNKNOWN = 110,
  PROVIDER_IN_SERVICE = 111, PROVIDER_EVENT_TRANSMISSION_ENDED = 112, PROVIDER_OUT_OF_SERVICE = 113, PROVIDER_SHUTDOWN = 114,
  TERMINAL_CONNECTION_ACTIVE = 115, TERMINAL_CONNECTION_CREATED = 116, TERMINAL_CONNECTION_DROPPED = 117, TERMINAL_CONNECTION_PASSIVE = 118,
  TERMINAL_CONNECTION_RINGING = 119, TERMINAL_CONNECTION_UNKNOWN = 120, TERMINAL_EVENT_TRANSMISSION_ENDED = 121, ADDRESS_DO_NOT_DISTURB_ENABLED = 200,
  ADDRESS_FORWARDING_CHANGED = 201, ADDRESS_MESSAGES_WAITING = 202, ADDRESS_DO_NOT_DISTURB_DISABLED = 241, ADDRESS_NO_MESSAGES_WAITING = 244,
  CONNECTION_DIALING = 204, CONNECTION_ESTABLISHED = 206, CONNECTION_IDLE = 207, CONNECTION_INITIATED = 208,
  CONNECTION_NETWORK_ALERTING = 209, CONNECTION_NETWORK_REACHED = 210, CONNECTION_OFFERED = 211, CONNECTION_QUEUED = 212,
  TERMINAL_CONNECTION_BRIDGED = 214, TERMINAL_CONNECTION_HELD = 216, TERMINAL_CONNECTION_IN_USE = 217, TERMINAL_CONNECTION_TALKING = 219,
  TERMINAL_CONNECTION_DO_NOT_DISTURB = 221, TERMINAL_CONNECTION_IDLE = 222, PHONE_BUTTON_INFO_CHANGED = 500, PHONE_BUTTON_DOWN = 501,
  PHONE_DISPLAY_CHANGED = 502, PHONE_HOOKSWITCH_OFFHOOK = 503, PHONE_LAMP_MODE_CHANGED = 504, PHONE_MICROPHONE_GAIN_CHANGED = 505,
  PHONE_RINGER_PATTERN_CHANGED = 506, PHONE_RINGER_VOLUME_CHANGED = 507, PHONE_SPEAKER_VOLUME_CHANGED = 508, PHONE_BUTTON_UP = 510,
  PHONE_BUTTON_REPEAT = 511, PHONE_EXTSPEAKER_CONNECTED = 512, PHONE_EXTSPEAKER_DISCONNECTED = 513, PHONE_HANDSET_VOLUME_CHANGED = 514,
  PHONE_HANDSETMIC_GAIN_CHANGED = 515, PHONE_HOOKSWITCH_ONHOOK = 516, PHONE_RINGER_INFO_CHANGED = 517, MULTICALL_META_MERGE_STARTED = 600,
  MULTICALL_META_MERGE_ENDED = 601, MULTICALL_META_TRANSFER_STARTED = 602, MULTICALL_META_TRANSFER_ENDED = 603, SINGLECALL_META_PROGRESS_STARTED = 610,
  SINGLECALL_META_PROGRESS_ENDED = 611, SINGLECALL_META_SNAPSHOT_STARTED = 612, SINGLECALL_META_SNAPSHOT_ENDED = 613, CALL_META_ADD_PARTY_STARTED = 620,
  CALL_META_ADD_PARTY_ENDED = 621, CALL_META_REMOVE_PARTY_STARTED = 622, CALL_META_REMOVE_PARTY_ENDED = 623, CALL_META_CALL_STARTING_STARTED = 624,
  CALL_META_CALL_STARTING_ENDED = 625, CALL_META_CALL_ENDING_STARTED = 626, CALL_META_CALL_ENDING_ENDED = 627, PROVIDER_ADDRESS_ADDED = 630,
  PROVIDER_ADDRESS_REMOVED = 631, PROVIDER_TERMINAL_ADDED = 632, PROVIDER_TERMINAL_REMOVED = 633
}
 
enum  PtEventCause {
  CAUSE_NORMAL = 100, CAUSE_UNKNOWN = 101, CAUSE_CALL_CANCELLED = 102, CAUSE_DESTINATION_NOT_OBTAINABLE = 103,
  CAUSE_INCOMPATIBLE_DESTINATION = 104, CAUSE_LOCKOUT = 105, CAUSE_NEW_CALL = 106, CAUSE_RESOURCES_NOT_AVAILABLE = 107,
  CAUSE_NETWORK_CONGESTION = 108, CAUSE_NETWORK_NOT_OBTAINABLE = 109, CAUSE_SNAPSHOT = 110, CAUSE_ALTERNATE = 202,
  CAUSE_BUSY = 203, CAUSE_CALL_BACK = 204, CAUSE_CALL_NOT_ANSWERED = 205, CAUSE_CALL_PICKUP = 206,
  CAUSE_CONFERENCE = 207, CAUSE_DO_NOT_DISTURB = 208, CAUSE_PARK = 209, CAUSE_REDIRECTED = 210,
  CAUSE_REORDER_TONE = 211, CAUSE_TRANSFER = 212, CAUSE_TRUNKS_BUSY = 213, CAUSE_UNHOLD = 214,
  CAUSE_NOT_ALLOWED = 1000, CAUSE_NETWORK_NOT_ALLOWED = 1001
}
 enumcode: PROVIDER_EVENT_TRANSMISSION_ENDED - Indicates that the application will no longer receive provider events on this instance of the PtProviderListener. enumcode: PROVIDER_IN_SERVICE - Indicates that the state of the PtProvider object has changed to PtProvider::IN_SERVICE. enumcode: PROVIDER_OUT_OF_SERVICE - Indicates that the state of the Provider object has changed to PtProvider::OUT_OF_SERVICE. enumcode: PROVIDER_SHUTDOWN - Indicates that the state of the PtProvider object has changed to PtProvider::SHUTDOWN. enumcode: PROVIDER_ADDRESS_ADDED - Indicates that a new PtAddress has been added to the provider. enumcode: PROVIDER_ADDRESS_REMOVED - Indicates that a PtAddress has been removed from the provider. enumcode: PROVIDER_TERMINAL_ADDED - Indicates that a new PtTerminal has been added to the provider. enumcode: PROVIDER_TERMINAL_REMOVED - Indicates that a PtTerminal has been removed from the provider. More...
 
enum  PtMetaCode {
  META_EVENT_NONE = 0x00, META_CALL_STARTING = 0x80, META_CALL_PROGRESS = 0x81, META_CALL_ADDITIONAL_PARTY = 0x82,
  META_CALL_REMOVING_PARTY = 0x83, META_CALL_ENDING = 0x84, META_CALL_MERGING = 0x85, META_CALL_TRANSFERRING = 0x86,
  META_SNAPSHOT = 0x87, META_UNKNOWN = 0x88
}
 enumcode: CAUSE_CALL_CANCELLED - Cause code indicating the user has terminated call without going on-hook. enumcode: CAUSE_DESTINATION_NOT_OBTAINABLE - Cause code indicating the destination is not available. enumcode: CAUSE_INCOMPATIBLE_DESTINATION - Cause code indicating that a call has encountered an incompatible destination. enumcode: CAUSE_LOCKOUT - Cause code indicating that a call encountered inter-digit timeout while dialing. enumcode: CAUSE_NETWORK_CONGESTION - Cause code indicating call encountered network congestion. enumcode: CAUSE_NETWORK_NOT_OBTAINABLE - Cause code indicating call could not reach a destination network. enumcode: CAUSE_NEW_CALL - Cause code indicating the event is related to a new call. enumcode: CAUSE_NORMAL - Cause code indicating normal operation. enumcode: CAUSE_RESOURCES_NOT_AVAILABLE - Cause code indicating resources were not available. enumcode: CAUSE_SNAPSHOT - Cause code indicating that the event is part of a snapshot of the current state of the call. enumcode: CAUSE_UNKNOWN - Cause code indicating the cause was unknown. More...
 

Public Member Functions

 PtEvent (int eventId=EVENT_INVALID, int metaCode=0, int numOldCalls=0, const char *callId=NULL, TaoClientTask *pClient=NULL, int sipResponseCode=0, const char *sipResponseText=0, const char **pMetaEventCallIds=0, const char *newCallId=NULL, PtEventCause cause=CAUSE_NORMAL, int isLocal=-1)
 enumcode: META_CALL_STARTING - Meta code description for the initiation or starting of a call. This implies that the call is a new call and in the active state with at least one Connection added to it. enumcode: META_CALL_PROGRESS - Meta code description for the progress of a call. This indicates an update in state of certain objects in the call, or the addition of TerminalConnections (but not Connections). enumcode: META_CALL_ADDITIONAL_PARTY - Meta code description for the addition of a party to call. This includes adding a connection to the call. enumcode: META_CALL_REMOVING_PARTY - Meta code description for a party leaving the call. This includes exactly one Connection moving to the Connection.DISCONNECTED state. enumcode: META_CALL_ENDING - Meta code description for the entire call ending. This includes the call going to Call.INVALID, all of the Connections moving to the Connection.DISCONNECTED state. enumcode: META_CALL_MERGING - Meta code description for an action of merging two calls. This involves the removal of one party from one call and the addition of the same party to another call. enumcode: META_CALL_TRANSFERRING - Meta code description for an action of transferring one call to another. This involves the removal of parties from one call and the addition to another call, and the common party dropping off completely. enumcode: META_SNAPSHOT - Meta code description for a snapshot of events. enumcode: META_UNKNOWN - Meta code is unknown. More...
 
 PtEvent (const PtEvent &rPtEvent)
 
virtual ~PtEvent ()
 
PtEventoperator= (const PtEvent &rhs)
 
virtual void setEventId (PtEventId eventId)
 
virtual void setMetaCode (PtMetaCode metaCode)
 
virtual void setEventCallId (const char *callId)
 
virtual void setEventSipResponseCode (int sipResponseCode)
 
virtual void setEventSipResponseText (const char *sipResponseText)
 
virtual void setEventNewCallId (const char *newCallId)
 
virtual void setEventOldCallIds (int numOldCalls, UtlString *oldCallIds)
 
virtual void setEventCause (PtEventCause cause)
 
virtual void setEventLocal (int isLocal)
 
PtStatus getId (PtEventId &rId)
 
PtStatus getCause (PtEventCause &rCause)
 param: (out) rId - The reference used to return the id retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available More...
 
virtual PtStatus getMetaEvent (PtBoolean &rMetaEventExists, PtMetaEvent *&pEvent) const
 param: (out) rCause - The reference used to return the cause retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available More...
 
PtStatus getMetaCode (int &rMetaCode)
 param: (out) rMetaEventExists - TRUE if a meta event is associated with this event. param: (out) rEvent - The reference used to return the meta event More...
 
PtStatus isNewMetaEvent (PtBoolean &rNewMetaEvent)
 param: (out) rMetaCode - The meta code for this event. retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available More...
 
PtStatus getSipResponseCode (int &responseCode, UtlString &responseText)
 returns: Returns the string representation of the name of this class More...
 
int isLocal () const
 param: (out) responseCode - The SIP response code. param: (out) responseText - The SIP response text. retcode: PT_SUCCESS - Success More...
 
virtual PtBoolean isClass (const char *pClassName)
 
virtual PtBoolean isInstanceOf (const char *pClassName)
 param: (in) pClassName - The string to compare with the name of this class. retcode: TRUE - If the given string contains the class name of this class. retcode: FALSE - If the given string does not match that of this class More...
 
virtual PtBoolean isSame (const PtEvent &rEvent)
 param: (in) pClassName - The string to compare with the name of this class. retcode: TRUE - If this object is either an instance of or is derived from the specified class. retcode: FALSE - If this object is not an instance of the specified class. More...
 

Static Public Member Functions

static const char * className ()
 param: (out) rNewMetaEvent - True if this event represents a new meta code grouping, false otherwise. retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available More...
 
static PtBoolean isCallEvent (int eventId)
 
static PtBoolean isConnectionEvent (int eventId)
 
static PtBoolean isTerminalEvent (int eventId)
 
static PtBoolean isTerminalComponentEvent (int eventId)
 
static PtBoolean isTerminalConnectionEvent (int eventId)
 
static PtBoolean isStateTransitionAllowed (int newState, int oldState)
 param: (in) rEvent - Event to compare with this object. retcode: TRUE - If the events are the same. retcode: FALSE - If the events differ. More...
 

Protected Attributes

int mIsLocal
 
PtEventId mEventId
 
PtEventCause mEventCause
 
PtMetaCode mMetaCode
 
int mNumOldCalls
 
char * mOldCallIds [MAX_OLD_CALLS]
 
UtlString mNewCallId
 
TaoClientTaskmpClient
 
UtlString mCallId
 
int mSipResponseCode
 
UtlString mSipResponseText
 

Detailed Description

The PtEvent encapulates data associated with an event notification. The PtEvent is sent to an application implementing a PtEventListener by the Pingtel object in which the event occurs.

Event/Listener Model

PtEvent is subclassed to contain the PTAPI object(s) and data involved with the event. An application that is interested in events from a specific object must implement a PtEventListener that handles the specific type of event(s) of interest. In order to start the reporting of events, the application adds its listener to the object instance that will report those events. When the events for that object occur, a method on the listener is called, specific to that event type.

The application implementing the listener knows which specific event has occurred based upon the listener method that was invoked. However the PtEvent also contains a PtEventId which also defines the specific event that occured. In addition, the PtEvent contains a PtEventCause which provides information as to why the event occurred.

The methods on the PtEventListener, that are called when a specific event occurs, take a PtEvent as an argument. The application is likely to want to up-cast the PtEvent to access data specific to the PtEvent subtype. To ease this, the PtEvent provides methods to query its class name and inheritance.

Meta Events

Events very often occur in logical groups of related events. To provide this grouping, the concept of meta events is used. Meta events occur in pairs to indicate the start and end of the logical group of events. Events that belong to the logical group (including the end meta event) have a meta event set to the start meta event. Note that due to the distributed nature of the Pingtel system, the events may not all be received as a group or sequentially. That is events, which do not belong to this or perhaps any meta group of events may be received after the start meta event and before end meta event is received.

Member Enumeration Documentation

enumcode: PROVIDER_EVENT_TRANSMISSION_ENDED - Indicates that the application will no longer receive provider events on this instance of the PtProviderListener. enumcode: PROVIDER_IN_SERVICE - Indicates that the state of the PtProvider object has changed to PtProvider::IN_SERVICE. enumcode: PROVIDER_OUT_OF_SERVICE - Indicates that the state of the Provider object has changed to PtProvider::OUT_OF_SERVICE. enumcode: PROVIDER_SHUTDOWN - Indicates that the state of the PtProvider object has changed to PtProvider::SHUTDOWN. enumcode: PROVIDER_ADDRESS_ADDED - Indicates that a new PtAddress has been added to the provider. enumcode: PROVIDER_ADDRESS_REMOVED - Indicates that a PtAddress has been removed from the provider. enumcode: PROVIDER_TERMINAL_ADDED - Indicates that a new PtTerminal has been added to the provider. enumcode: PROVIDER_TERMINAL_REMOVED - Indicates that a PtTerminal has been removed from the provider.

enumcode: ADDRESS_EVENT_TRANSMISSION_ENDED - Indicates that the application will no longer receive address events on this instance of the PtAddressListener. enumcode: ADDRESS_DO_NOT_DISTURB_ENABLED - Indicates the state of the do-not-disturb feature has changed to enabled for the PtAddress. enumcode: ADDRESS_DO_NOT_DISTURB_DISABLED - Indicates the state of the do-not-disturb feature has changed to disabled for the PtAddress. enumcode: ADDRESS_FORWARDING_CHANGED - Indicates the state of the forward feature has changed for the PtAddress. enumcode: ADDRESS_MESSAGES_WAITING - Indicates the state of the message waiting feature has changed to messages waiting for the PtAddress. enumcode: ADDRESS_NO_MESSAGES_WAITING - Indicates the state of the message waiting feature has changed to no messages waiting for the PtAddress. enumcode: TERMINAL_EVENT_TRANSMISSION_ENDED - Indicates that the application will no longer receive terminal events on this instance of the PtTerminalListener. enumcode: CALL_EVENT_TRANSMISSION_ENDED - Indicates that the application will no longer receive call events on this instance of the PtCallListener. enumcode: CALL_ACTIVE - Indicates that the state of the call object has changed to PtCall::ACTIVE enumcode: CALL_INVALID - Indicates that the state of the call object has changed to PtCall::INVALID. enumcode: CALL_META_PROGRESS_STARTED - Indicates that the current call in the telephony platform has changed state, and events will follow which indicate the changes to this call. enumcode: CALL_META_PROGRESS_ENDED - Indicates that the current call in the telephony platform has changed state, and all the events that were associated with that change have now been reported. enumcode: CALL_META_SNAPSHOT_STARTED - Indicates that the Pingtel implementation is reporting to the application the current state of the call on the associated telephony platform, by reporting a set of simulated state changes that, in effect, construct the current state of the call. enumcode: CALL_META_SNAPSHOT_ENDED - Indicates that the Pingtel implementation has finished reporting a set of simulated state changes that, in effect, construct the current state of the call. enumcode: CALL_META_ADD_PARTY_STARTED - Indicates that a party has been added to the call. A "party" corresponds to a PtConnection being added. Note that if a PtTerminalConnection is added, it carries a meta event of CALL_META_PROGRESS_STARTED. enumcode: CALL_META_ADD_PARTY_ENDED - Indicates the end of the group of events related to the add party meta event. enumcode: CALL_META_REMOVE_PARTY_STARTED - Indicates that a party (i.e., connection) has been removed from the call by moving into the PtConnection::DISCONNECTED state. enumcode: CALL_META_REMOVE_PARTY_ENDED - Indicates the end of the group of events related to the remove party meta event. enumcode: MULTICALL_META_MERGE_STARTED - Indicates that calls are merging, and events will follow which indicate the changes to those calls. enumcode: MULTICALL_META_MERGE_ENDED - Indicates that calls have merged, and that all state change events resulting from this merge have been reported. enumcode: MULTICALL_META_TRANSFER_STARTED - Indicates that a transfer is occurring, and events will follow which indicate the changes to the affected calls. enumcode: MULTICALL_META_TRANSFER_ENDED - Indicates that a transfer has completed, and that all state change events resulting from this transfer have been reported. enumcode: CONNECTION_CREATED - Indicates that a new PtConnection object has been created. enumcode: CONNECTION_ALERTING - Indicates that the state of the PtConnection object has changed to PtConnection::ALERTING. enumcode: CONNECTION_DISCONNECTED - Indicates that the state of the PtConnection object has changed to PtConnection::DISCONNECTED. enumcode: CONNECTION_FAILED - Indicates that the state of the PtConnection object has changed to PtConnection::FAILED. enumcode: CONNECTION_UNKNOWN - Indicates that the state of the PtConnection object has changed to PtConnection::UNKNOWN. enumcode: CONNECTION_DIALING - Indicates that the state of the PtConnection object has changed to PtConnection::DIALING. enumcode: CONNECTION_ESTABLISHED - Indicates that the state of the PtConnection object has changed to PtConnection::ESTABLISHED. enumcode: CONNECTION_INITIATED - Indicates that the state of the PtConnection object has changed to PtConnection::INITIATED. enumcode: CONNECTION_NETWORK_ALERTING - Indicates that the state of the PtConnection object has changed to PtConnection::NETWORK_ALERTING. enumcode: CONNECTION_NETWORK_REACHED - Indicates that the state of the PtConnection object has changed to PtConnection::NETWORK_REACHED. enumcode: CONNECTION_OFFERED - Indicates that the state of the PtConnection object has changed to PtConnection::OFFERED. enumcode: CONNECTION_QUEUED - Indicates that the state of the PtConnection object has changed to PtConnection::QUEUED. enumcode: TERMINAL_CONNECTION_CREATED - Indicates that a new PtTerminalConnection object has been created. enumcode: TERMINAL_CONNECTION_RINGING - Indicates that the state of the PtTerminalConnection object has changed to PtTerminalConnection::RINGING. enumcode: TERMINAL_CONNECTION_DROPPED - Indicates that the state of the PtTerminalConnection object has changed to PtTerminalConnection::DROPPED. enumcode: TERMINAL_CONNECTION_UNKNOWN - Indicates that the state of the PtTerminalConnection object has changed to PtTerminalConnection::UNKNOWN. enumcode: TERMINAL_CONNECTION_HELD - Indicates that the state of the PtTerminalConnection object has changed to PtTerminalConnection::HELD. enumcode: TERMINAL_CONNECTION_TALKING - Indicates that the state of the PtTerminalConnection object has changed to PtTerminalConnection::TALKING. enumcode: PHONE_RINGER_VOLUME_CHANGED - Indicates that the PtPhoneRinger volume has changed. enumcode: PHONE_RINGER_PATTERN_CHANGED - Indicates that the PtPhoneRinger audio pattern to be played when ringing has changed. enumcode: PHONE_RINGER_INFO_CHANGED - Indicates that the PtPhoneRinger info string has changed. enumcode: PHONE_SPEAKER_VOLUME_CHANGED - Indicates that the associated PtPhoneSpeaker volume has changed. enumcode: PHONE_MICROPHONE_GAIN_CHANGED - Indicates that the associated PtPhoneMicrophone gain has changed. enumcode: PHONE_LAMP_MODE_CHANGED - Indicates that the associated PtPhoneLamp mode has changed. enumcode: PHONE_BUTTON_INFO_CHANGED - Indicates that the associated PtPhoneButton info string has changed. enumcode: PHONE_BUTTON_UP - Indicates that the associated PtPhoneButton has changed to the up (released) position. enumcode: PHONE_BUTTON_DOWN - Indicates that the associated PtPhoneButton has changed to the down (pressed) position. enumcode: PHONE_HOOKSWITCH_OFFHOOK - Indicates that the PtPhoneHookswitch has changed to the offhook state. enumcode: PHONE_HOOKSWITCH_ONHOOK - Indicates that the PtPhoneHookswitch has changed to the onhook state. enumcode: PHONE_DISPLAY_CHANGED - Indicates that the PtPhoneDisplay has changed.

Enumerator
CAUSE_NORMAL 
CAUSE_UNKNOWN 
CAUSE_CALL_CANCELLED 
CAUSE_DESTINATION_NOT_OBTAINABLE 
CAUSE_INCOMPATIBLE_DESTINATION 
CAUSE_LOCKOUT 
CAUSE_NEW_CALL 
CAUSE_RESOURCES_NOT_AVAILABLE 
CAUSE_NETWORK_CONGESTION 
CAUSE_NETWORK_NOT_OBTAINABLE 
CAUSE_SNAPSHOT 
CAUSE_ALTERNATE 
CAUSE_BUSY 
CAUSE_CALL_BACK 
CAUSE_CALL_NOT_ANSWERED 
CAUSE_CALL_PICKUP 
CAUSE_CONFERENCE 
CAUSE_DO_NOT_DISTURB 
CAUSE_PARK 
CAUSE_REDIRECTED 
CAUSE_REORDER_TONE 
CAUSE_TRANSFER 
CAUSE_TRUNKS_BUSY 
CAUSE_UNHOLD 
CAUSE_NOT_ALLOWED 
CAUSE_NETWORK_NOT_ALLOWED 
enum PtEventId
Enumerator
EVENT_INVALID 
ADDRESS_EVENT_TRANSMISSION_ENDED 
CALL_ACTIVE 
CALL_INVALID 
CALL_EVENT_TRANSMISSION_ENDED 
CONNECTION_ALERTING 
CONNECTION_CONNECTED 
CONNECTION_CREATED 
CONNECTION_DISCONNECTED 
CONNECTION_FAILED 
CONNECTION_IN_PROGRESS 
CONNECTION_UNKNOWN 
PROVIDER_IN_SERVICE 
PROVIDER_EVENT_TRANSMISSION_ENDED 
PROVIDER_OUT_OF_SERVICE 
PROVIDER_SHUTDOWN 
TERMINAL_CONNECTION_ACTIVE 
TERMINAL_CONNECTION_CREATED 
TERMINAL_CONNECTION_DROPPED 
TERMINAL_CONNECTION_PASSIVE 
TERMINAL_CONNECTION_RINGING 
TERMINAL_CONNECTION_UNKNOWN 
TERMINAL_EVENT_TRANSMISSION_ENDED 
ADDRESS_DO_NOT_DISTURB_ENABLED 
ADDRESS_FORWARDING_CHANGED 
ADDRESS_MESSAGES_WAITING 
ADDRESS_DO_NOT_DISTURB_DISABLED 
ADDRESS_NO_MESSAGES_WAITING 
CONNECTION_DIALING 
CONNECTION_ESTABLISHED 
CONNECTION_IDLE 
CONNECTION_INITIATED 
CONNECTION_NETWORK_ALERTING 
CONNECTION_NETWORK_REACHED 
CONNECTION_OFFERED 
CONNECTION_QUEUED 
TERMINAL_CONNECTION_BRIDGED 
TERMINAL_CONNECTION_HELD 
TERMINAL_CONNECTION_IN_USE 
TERMINAL_CONNECTION_TALKING 
TERMINAL_CONNECTION_DO_NOT_DISTURB 
TERMINAL_CONNECTION_IDLE 
PHONE_BUTTON_INFO_CHANGED 
PHONE_BUTTON_DOWN 
PHONE_DISPLAY_CHANGED 
PHONE_HOOKSWITCH_OFFHOOK 
PHONE_LAMP_MODE_CHANGED 
PHONE_MICROPHONE_GAIN_CHANGED 
PHONE_RINGER_PATTERN_CHANGED 
PHONE_RINGER_VOLUME_CHANGED 
PHONE_SPEAKER_VOLUME_CHANGED 
PHONE_BUTTON_UP 
PHONE_BUTTON_REPEAT 
PHONE_EXTSPEAKER_CONNECTED 
PHONE_EXTSPEAKER_DISCONNECTED 
PHONE_HANDSET_VOLUME_CHANGED 
PHONE_HANDSETMIC_GAIN_CHANGED 
PHONE_HOOKSWITCH_ONHOOK 
PHONE_RINGER_INFO_CHANGED 
MULTICALL_META_MERGE_STARTED 
MULTICALL_META_MERGE_ENDED 
MULTICALL_META_TRANSFER_STARTED 
MULTICALL_META_TRANSFER_ENDED 
SINGLECALL_META_PROGRESS_STARTED 
SINGLECALL_META_PROGRESS_ENDED 
SINGLECALL_META_SNAPSHOT_STARTED 
SINGLECALL_META_SNAPSHOT_ENDED 
CALL_META_ADD_PARTY_STARTED 
CALL_META_ADD_PARTY_ENDED 
CALL_META_REMOVE_PARTY_STARTED 
CALL_META_REMOVE_PARTY_ENDED 
CALL_META_CALL_STARTING_STARTED 
CALL_META_CALL_STARTING_ENDED 
CALL_META_CALL_ENDING_STARTED 
CALL_META_CALL_ENDING_ENDED 
PROVIDER_ADDRESS_ADDED 
PROVIDER_ADDRESS_REMOVED 
PROVIDER_TERMINAL_ADDED 
PROVIDER_TERMINAL_REMOVED 
enum PtMetaCode

enumcode: CAUSE_CALL_CANCELLED - Cause code indicating the user has terminated call without going on-hook. enumcode: CAUSE_DESTINATION_NOT_OBTAINABLE - Cause code indicating the destination is not available. enumcode: CAUSE_INCOMPATIBLE_DESTINATION - Cause code indicating that a call has encountered an incompatible destination. enumcode: CAUSE_LOCKOUT - Cause code indicating that a call encountered inter-digit timeout while dialing. enumcode: CAUSE_NETWORK_CONGESTION - Cause code indicating call encountered network congestion. enumcode: CAUSE_NETWORK_NOT_OBTAINABLE - Cause code indicating call could not reach a destination network. enumcode: CAUSE_NEW_CALL - Cause code indicating the event is related to a new call. enumcode: CAUSE_NORMAL - Cause code indicating normal operation. enumcode: CAUSE_RESOURCES_NOT_AVAILABLE - Cause code indicating resources were not available. enumcode: CAUSE_SNAPSHOT - Cause code indicating that the event is part of a snapshot of the current state of the call. enumcode: CAUSE_UNKNOWN - Cause code indicating the cause was unknown.

enumcode: CAUSE_ALTERNATE - Cause code indicating that the call was put on hold and another retrieved in an atomic operation, typically on single line telephones. enumcode: CAUSE_BUSY - Cause code indicating that the call encountered a busy endpoint. enumcode: CAUSE_CALL_BACK - Cause code indicating the event is related to the callback feature. enumcode: CAUSE_CALL_NOT_ANSWERED - Cause code indicating that the call was not answered before a timer elapsed. enumcode: CAUSE_CALL_PICKUP - Cause code indicating that the call was redirected by the call pickup feature. enumcode: CAUSE_CONFERENCE - Cause code indicating the event is related to the conference feature. enumcode: CAUSE_DO_NOT_DISTURB - Cause code indicating the event is related to the do-not-disturb feature. enumcode: CAUSE_PARK - Cause code indicating the event is related to the park feature. enumcode: CAUSE_REDIRECTED - Cause code indicating the event is related to the redirect feature. enumcode: CAUSE_REORDER_TONE - Cause code indicating that the call encountered a reorder tone. enumcode: CAUSE_TRANSFER - Cause code indicating the event is related to the transfer feature. enumcode: CAUSE_TRUNKS_BUSY - Cause code indicating that the call encountered the "all trunks busy" condition. enumcode: CAUSE_UNHOLD - Cause code indicating the event is related to the unhold feature. enumcode: CAUSE_NOT_ALLOWED - PINGTEL SPECIFIC: Cause code indicating the call is unauthorized by endpoint. enumcode: CAUSE_NETWORK_NOT_ALLOWED - PINGTEL SPECIFIC: Cause code indicating the call is unauthorized by network/servers.

Enumerator
META_EVENT_NONE 
META_CALL_STARTING 
META_CALL_PROGRESS 
META_CALL_ADDITIONAL_PARTY 
META_CALL_REMOVING_PARTY 
META_CALL_ENDING 
META_CALL_MERGING 
META_CALL_TRANSFERRING 
META_SNAPSHOT 
META_UNKNOWN 

Constructor & Destructor Documentation

PtEvent ( int  eventId = EVENT_INVALID,
int  metaCode = 0,
int  numOldCalls = 0,
const char *  callId = NULL,
TaoClientTask pClient = NULL,
int  sipResponseCode = 0,
const char *  sipResponseText = 0,
const char **  pMetaEventCallIds = 0,
const char *  newCallId = NULL,
PtEventCause  cause = CAUSE_NORMAL,
int  isLocal = -1 
)

enumcode: META_CALL_STARTING - Meta code description for the initiation or starting of a call. This implies that the call is a new call and in the active state with at least one Connection added to it. enumcode: META_CALL_PROGRESS - Meta code description for the progress of a call. This indicates an update in state of certain objects in the call, or the addition of TerminalConnections (but not Connections). enumcode: META_CALL_ADDITIONAL_PARTY - Meta code description for the addition of a party to call. This includes adding a connection to the call. enumcode: META_CALL_REMOVING_PARTY - Meta code description for a party leaving the call. This includes exactly one Connection moving to the Connection.DISCONNECTED state. enumcode: META_CALL_ENDING - Meta code description for the entire call ending. This includes the call going to Call.INVALID, all of the Connections moving to the Connection.DISCONNECTED state. enumcode: META_CALL_MERGING - Meta code description for an action of merging two calls. This involves the removal of one party from one call and the addition of the same party to another call. enumcode: META_CALL_TRANSFERRING - Meta code description for an action of transferring one call to another. This involves the removal of parties from one call and the addition to another call, and the common party dropping off completely. enumcode: META_SNAPSHOT - Meta code description for a snapshot of events. enumcode: META_UNKNOWN - Meta code is unknown.

PtEvent ( const PtEvent rPtEvent)
~PtEvent ( )
virtual

Member Function Documentation

static const char* className ( )
static

param: (out) rNewMetaEvent - True if this event represents a new meta code grouping, false otherwise. retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available

PtStatus getCause ( PtEventCause rCause)

param: (out) rId - The reference used to return the id retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available

PtStatus getId ( PtEventId rId)
PtStatus getMetaCode ( int &  rMetaCode)

param: (out) rMetaEventExists - TRUE if a meta event is associated with this event. param: (out) rEvent - The reference used to return the meta event

retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available

PtStatus getMetaEvent ( PtBoolean rMetaEventExists,
PtMetaEvent *&  pEvent 
) const
virtual

param: (out) rCause - The reference used to return the cause retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available

PtStatus getSipResponseCode ( int &  responseCode,
UtlString &  responseText 
)

returns: Returns the string representation of the name of this class

PtBoolean isCallEvent ( int  eventId)
static
virtual PtBoolean isClass ( const char *  pClassName)
virtual
PtBoolean isConnectionEvent ( int  eventId)
static
virtual PtBoolean isInstanceOf ( const char *  pClassName)
virtual

param: (in) pClassName - The string to compare with the name of this class. retcode: TRUE - If the given string contains the class name of this class. retcode: FALSE - If the given string does not match that of this class

Reimplemented in PtSingleCallMetaEvent, PtMultiCallMetaEvent, PtMetaEvent, and PtCallEvent.

int isLocal ( ) const

param: (out) responseCode - The SIP response code. param: (out) responseText - The SIP response text. retcode: PT_SUCCESS - Success

PtStatus isNewMetaEvent ( PtBoolean rNewMetaEvent)

param: (out) rMetaCode - The meta code for this event. retcode: PT_SUCCESS - Success retcode: PT_PROVIDER_UNAVAILABLE - The provider is not available

PtBoolean isSame ( const PtEvent rEvent)
virtual

param: (in) pClassName - The string to compare with the name of this class. retcode: TRUE - If this object is either an instance of or is derived from the specified class. retcode: FALSE - If this object is not an instance of the specified class.

PtBoolean isStateTransitionAllowed ( int  newState,
int  oldState 
)
static

param: (in) rEvent - Event to compare with this object. retcode: TRUE - If the events are the same. retcode: FALSE - If the events differ.

PtBoolean isTerminalComponentEvent ( int  eventId)
static
PtBoolean isTerminalConnectionEvent ( int  eventId)
static
PtBoolean isTerminalEvent ( int  eventId)
static
PtEvent & operator= ( const PtEvent rhs)
void setEventCallId ( const char *  callId)
virtual
void setEventCause ( PtEventCause  cause)
virtual
void setEventId ( PtEventId  eventId)
virtual
void setEventLocal ( int  isLocal)
virtual
void setEventNewCallId ( const char *  newCallId)
virtual
void setEventOldCallIds ( int  numOldCalls,
UtlString *  oldCallIds 
)
virtual
void setEventSipResponseCode ( int  sipResponseCode)
virtual
void setEventSipResponseText ( const char *  sipResponseText)
virtual
void setMetaCode ( PtMetaCode  metaCode)
virtual

Member Data Documentation

UtlString mCallId
protected
PtEventCause mEventCause
protected
PtEventId mEventId
protected
int mIsLocal
protected
PtMetaCode mMetaCode
protected
UtlString mNewCallId
protected
int mNumOldCalls
protected
char* mOldCallIds[MAX_OLD_CALLS]
protected
TaoClientTask* mpClient
protected
int mSipResponseCode
protected
UtlString mSipResponseText
protected