#include <CpPeerCall.h>
Public Types | |
enum | callDialingMode { UNKNOWN = 0, ADD_PARTY, BLIND_TRANSFER } |
![]() | |
enum | eventType { CONNECTION_STATE = 0, TERMINAL_CONNECTION_STATE, CALL_STATE } |
enum | metaEventState { METAEVENT_START = 0, METAEVENT_INPROGRESS, METAEVENT_END } |
enum | callTypes { CP_NORMAL_CALL, CP_TRANSFER_CONTROLLER_ORIGINAL_CALL, CP_TRANSFER_CONTROLLER_TARGET_CALL, CP_TRANSFEREE_ORIGINAL_CALL, CP_TRANSFEREE_TARGET_CALL, CP_TRANSFER_TARGET_TARGET_CALL } |
enum | handleWillingness { CP_WILL_NOT_HANDLE = 0, CP_MAY_HANDLE, CP_DEFINITELY_WILL_HANDLE } |
Public Member Functions | |
CpPeerCall (UtlBoolean isEarlyMediaFor180Enabled=TRUE, CpCallManager *callManger=NULL, CpMediaInterface *callMediaInterface=NULL, int callIndex=-1, const char *callId=NULL, SipUserAgent *sipUA=NULL, int sipSessionReinviteTimer=0, const char *defaultCallExtension=NULL, int holdType=CallManager::NEAR_END_HOLD, int offeringDelayMilliSeconds=Connection::IMMEDIATE, int availableBehavior=Connection::RING, const char *forwardUnconditionalUrl=NULL, int busyBehavior=Connection::BUSY, const char *forwardOnBusyUrl=NULL, int forwardOnNoAnswerMilliSeconds=-1, const char *forwardOnNoAnswerUrl=NULL, int ringingExpireSeconds=CP_MAXIMUM_RINGING_EXPIRE_SECONDS) | |
virtual | ~CpPeerCall () |
param: callManager - the call processing task manager param: sipUA - SIP user agent task param: defaultCallExtension - the local user name/phone extension param: holdType - NEAR_SIDE_HOLD hold is handled in the media layer to mute the media in both directions, FAR_SIDE_HOLD hold is handled at the call control protocol layer param: offeringDelayMilliSeconds - the period of time that the call stays in offering before proceeding to the next state (i.e. ALERTING). A value of -1 indicates a delay of forever. Typically the user or an application acting on behalf of the user will take the call out of offering by accepting or regjecting the call. param: availableBehavior - defines the behavior of incoming calls after the offering delay times out and the phone (and resources) is available to take a call. This must be set to one of the lineAvailableBehaviors enumerations. param: forwardUnconditionalUrl - the URL to which the call is unconditionaly forwarded. This argument is ignored if availableBehavior is not set to FORWARD_UNCONDITIONAL param: busyBehavior - defines the behavior of incoming calls after the offering delay times out and the phone (and resources) are busy. This must be set to one of the lineBusyBehaviors enumerations. param: forwardOnBusyUrl - the URL to which the call is forwarded when the phone is busy. This argument is ignored if busyBehavior is not set to FORWARD_ON_BUSY param: forwardOnNoAnswerMilliSeconds - after a call rings (RING, RING_SILENT or FAKE_RING) for this period of time, forward the call to the URL in forwardOnNoAnswerUrl. A value of -1 indicates never. param: forwardOnNoAnswerUrl - the URL to which the call is fowarded on no answer after ringing. More... | |
virtual void | inFocus (int talking=1) |
virtual void | outOfFocus () |
Connection * | addParty (const char *partyAddress, const char *callController, const char *originalCallConnectionAddress, const char *pNewCallId, SIPX_CONTACT_ID contactId=0, const void *pDisplay=NULL, const void *pSecurity=NULL, const char *locationHeader=NULL, const int bandWidth=AUDIO_CODEC_BW_DEFAULT, UtlBoolean bOnHold=false, const char *originalCallId=NULL, SIPX_TRANSPORT_DATA *pTransport=NULL, const RTP_TRANSPORT rtpTransportOptions=RTP_TRANSPORT_UDP) |
OsStatus | fireSipXMediaEvent (SIPX_MEDIA_EVENT event, SIPX_MEDIA_CAUSE cause, SIPX_MEDIA_TYPE type, void *pEventData=NULL, UtlBoolean fireIfNoConnection=FALSE) |
virtual void | printCall () |
virtual void | getLocalAddress (char *address, int len) |
virtual void | getLocalTerminalId (char *terminal, int len) |
void | hangUp (const char *callId, const char *toTag, const char *fromTag) |
UtlBoolean | getConnectionState (const char *callId, const char *toTag, const char *fromTag, int &state, UtlBoolean strictCompare) |
virtual UtlBoolean | hasCallId (const char *callId) |
virtual enum handleWillingness | willHandleMessage (const OsMsg &eventMessage) |
virtual UtlBoolean | isQueued () |
virtual UtlBoolean | isLocalTerminal (const char *terminalId) |
UtlBoolean | isConnection (const char *callId, const char *toTag, const char *fromTag) |
virtual UtlBoolean | canDisconnectConnection (Connection *pConnection) |
UtlBoolean | isConnectionLocallyInitiatedRemoteHold (const char *callId, const char *toTag, const char *fromTag) |
![]() | |
CpCall (CpCallManager *manager=NULL, CpMediaInterface *callMediaInterface=NULL, int callIndex=-1, const char *callId=NULL, int holdType=CallManager::NEAR_END_HOLD) | |
virtual | ~CpCall () |
void | setDropState (UtlBoolean state) |
void | postMetaEvent (int state, int remoteIsCallee=-1) |
void | postTaoListenerMessage (int responseCode, UtlString responseText, int eventId, int type, int cause=PtEvent::CAUSE_NORMAL, int remoteIsCallee=1, UtlString remoteAddress="", int isRemote=0, UtlString targetCallId=OsUtil::NULL_OS_STRING) |
void | setCallState (int responseCode, UtlString responseText, int state, int cause=PtEvent::CAUSE_NORMAL) |
virtual void | sendFlowgraphMessage (OsMsg &flowgraphMessage) |
virtual void | localHold () |
virtual void | hangUp (UtlString callId, int metaEventId) |
virtual void | getCallId (UtlString &callId) |
virtual void | setCallId (const char *callId) |
void | setLocalConnectionState (int newState) |
int | getLocalConnectionState () |
int | getCallIndex () |
int | getCallState () |
void | enableDtmf () |
virtual void | startMetaEvent (int metaEventId, int metaEventType, int numCalls, const char *metaEventCallIds[], int remoteIsCallee=-1) |
virtual void | setMetaEvent (int metaEventId, int metaEventType, int numCalls, const char *metaEventCallIds[]) |
void | getMetaEvent (int &metaEventId, int &metaEventType, int &numCalls, const UtlString *metaEventCallIds[]) const |
virtual void | stopMetaEvent (int remoteIsCallee=-1) |
void | setCallType (int callType) |
int | getCallType () const |
void | setTargetCallId (const char *targetCallId) |
void | getTargetCallId (UtlString &targetCallId) const |
void | setOriginalCallId (const char *targetCallId) |
void | getOriginalCallId (UtlString &targetCallId) const |
int | getLocalConnectionState (int state) |
virtual UtlBoolean | isCallIdSet () |
virtual UtlBoolean | isLocalHeld () |
virtual UtlBoolean | isInFocus () const |
Static Public Member Functions | |
static UtlBoolean | shouldCreateCall (SipUserAgent &sipUa, OsMsg &message, SdpCodecList &codecFactory) |
![]() | |
static int | getCallTrackingListCount () |
static void | getStateString (int state, UtlString *stateLabel) |
Protected Member Functions | |
virtual UtlBoolean | handleCallMessage (OsMsg &eventMessage) |
virtual UtlBoolean | handleMiNotificationMessage (MiNotification ¬ification) |
UtlBoolean | handleRenegotiateCodecsConnection (OsMsg *pEventMessage) |
UtlBoolean | handleRenegotiateCodecsAllConnections (OsMsg *pEventMessage) |
UtlBoolean | handleSilentRemoteHold (OsMsg *pEventMessage) |
UtlBoolean | handleGetCodecCPULimit (OsMsg &eventMessage) |
UtlBoolean | handleSetCodecCPULimit (OsMsg &eventMessage) |
UtlBoolean | handleGetCodecCPUCost (OsMsg &eventMessage) |
UtlBoolean | handleSetMicGain (OsMsg &eventMessage) |
UtlBoolean | handleDialString (OsMsg *pEventMessage) |
UtlBoolean | handleDequeueCall (OsMsg *pEventMessage) |
UtlBoolean | handleTransfer (OsMsg *pEventMessage) |
UtlBoolean | handleTransferAddress (OsMsg *pEventMessage) |
UtlBoolean | handleTransferConnection (OsMsg *pEventMessage) |
UtlBoolean | handleTransfereeConnection (OsMsg *pEventMessage) |
UtlBoolean | handleSipMessage (OsMsg *pEventMessage) |
UtlBoolean | handleDropConnection (OsMsg *pEventMessage) |
UtlBoolean | handleForceDropConnection (OsMsg *pEventMessage) |
UtlBoolean | handleGetAddresses (OsMsg *pEventMessage) |
UtlBoolean | handleAcceptConnection (OsMsg *pEventMessage) |
UtlBoolean | handleRejectConnection (OsMsg *pEventMessage) |
UtlBoolean | handleRedirectConnection (OsMsg *pEventMessage) |
UtlBoolean | handleHoldTermConnection (OsMsg *pEventMessage) |
UtlBoolean | handleHoldAllTermConnection (OsMsg *pEventMessage) |
UtlBoolean | handleUnholdTermConnection (OsMsg *pEventMessage) |
UtlBoolean | handleTransferConnectionStatus (OsMsg *pEventMessage) |
UtlBoolean | handleTransfereeConnectionStatus (OsMsg *pEventMessage) |
UtlBoolean | handleGetNumConnections (OsMsg *pEventMessage) |
UtlBoolean | handleGetConnections (OsMsg *pEventMessage) |
UtlBoolean | handleGetSession (OsMsg *pEventMessage) |
UtlBoolean | handleGetCallState (OsMsg *pEventMessage) |
UtlBoolean | handleGetConnectionState (OsMsg *pEventMessage) |
UtlBoolean | handleGetNextCseq (OsMsg *pEventMessage) |
UtlBoolean | handleGetTerminalConnectionState (OsMsg *pEventMessage) |
UtlBoolean | handleIsLocalTerminalConnection (OsMsg *pEventMessage) |
UtlBoolean | handleCancelTimer (OsMsg *pEventMessage) |
UtlBoolean | handleOfferingExpired (OsMsg *pEventMessage) |
UtlBoolean | handleRingingExpired (OsMsg *pEventMessage) |
UtlBoolean | handleUnholdAllTermConnections (OsMsg *pEventMessage) |
UtlBoolean | handleUnholdLocalTermConnection (OsMsg *pEventMessage) |
UtlBoolean | handleHoldLocalTermConnection (OsMsg *pEventMessage) |
UtlBoolean | handleGetLocalContacts (OsMsg *pEventMessage) |
UtlBoolean | handleSendInfo (OsMsg *pEventMessage) |
UtlBoolean | handleGetInviteHeaderValue (OsMsg *pEventMessage) |
UtlBoolean | handleGetMediaConnectionId (OsMsg *pEventMessage) |
UtlBoolean | handleLimitCodecs (OsMsg *pEventMessage) |
UtlBoolean | handleLimitCodecPreferences (OsMsg *pEventMessage) |
UtlBoolean | handleGetMediaEnergyLevels (OsMsg *pEventMessage) |
UtlBoolean | handleGetCallMediaEnergyLevels (OsMsg *pEventMessage) |
UtlBoolean | handleGetMediaRtpSourceIDs (OsMsg *pEventMessage) |
UtlBoolean | handleGetCanAddParty (OsMsg *pEventMessage) |
UtlBoolean | handleSplitConnection (OsMsg *pEventMessage) |
UtlBoolean | handleJoinConnection (OsMsg *pEventMessage) |
UtlBoolean | handleSetMediaPassThrough (const OsMsg &eventMessage) |
UtlBoolean | handleTransferOtherPartyHold (OsMsg *pEventMessage) |
UtlBoolean | handleTransferOtherPartyJoin (OsMsg *pEventMessage) |
UtlBoolean | handleTransferOtherPartyUnhold (OsMsg *pEventMessage) |
UtlBoolean | handleGetUserAgent (OsMsg *pEventMessage) |
virtual UtlBoolean | getConnectionState (const char *remoteAddress, int &state) |
virtual UtlBoolean | getTermConnectionState (const char *address, const char *terminal, int &state) |
virtual void | onHook () |
virtual void | offHook (const void *hWnd=NULL) |
Connection * | findHandlingConnection (OsMsg &eventMessage) |
Connection * | findHandlingConnection (UtlString &remoteAddress) |
Connection * | findHandlingConnection (const char *callId, const char *toTag, const char *fromTag, UtlBoolean strictCompare) |
void | addConnection (Connection *connection) |
void | removeConnection (Connection *connection) |
Connection * | findQueuedConnection () |
UtlBoolean | isConnectionLive (int *localConnectionState=NULL) |
void | dropIfDead () |
void | dropDeadConnections () |
void | handleGetTermConnections (OsMsg *pEventMessage) |
void | handleSetOutboundLine (OsMsg *pEventMessage) |
void | getLocalContactAddresses (SIPX_CONTACT_ADDRESS contacts[], size_t nMaxContacts, size_t &nActualContacts) |
![]() | |
virtual UtlBoolean | handleMessage (OsMsg &eventMessage) |
void | addHistoryEvent (const char *messageLogString) |
void | addHistoryEvent (const int msgSubType, const CpMultiStringMessage *multiStringMessage) |
Private Member Functions | |
CpPeerCall (const CpPeerCall &rCpPeerCall) | |
CpPeerCall & | operator= (const CpPeerCall &rhs) |
UtlBoolean | checkForTag (UtlString &address) |
Private Attributes | |
int | offeringDelay |
int | lineAvailableBehavior |
UtlString | forwardUnconditional |
int | lineBusyBehavior |
UtlString | forwardOnBusy |
int | noAnswerTimeout |
UtlString | forwardOnNoAnswer |
SipUserAgent * | sipUserAgent |
int | mSipSessionReinviteTimer |
UtlDList | mConnections |
OsRWMutex | mConnectionMutex |
int | mDialMode |
UtlString | mLocalAddress |
UtlString | mLocalTerminalId |
UtlBoolean | mIsEarlyMediaFor180 |
UtlBoolean | mbRequestedDrop |
SIPXTACK_SECURITY_ATTRIBUTES * | mpSecurity |
SIPX_CALLSTATE_EVENT | eLastMajor |
SIPX_CALLSTATE_CAUSE | eLastMinor |
MediaStreamPassThroughData * | mpPassThroughData |
Additional Inherited Members | |
![]() | |
CpCallManager * | mpManager |
UtlString | mCallId |
volatile UtlBoolean | mCallInFocus |
UtlBoolean | mRemoteDtmf |
UtlBoolean | mDtmfEnabled |
OsRWMutex | mCallIdMutex |
CpMediaInterface * | mpMediaInterface |
int | mCallIndex |
int | mCallState |
int | mHoldType |
int | mLocalConnectionState |
int | mLocalTermConnectionState |
UtlBoolean | mLocalHeld |
OsMsgDispatcher | mMediaMsgDispatcher |
UtlBoolean | mDropping |
int | mMetaEventId |
int | mMetaEventType |
int | mNumMetaEventCalls |
UtlString * | mpMetaEventCallIds |
int | mMessageEventCount |
UtlString | mCallHistory [CP_CALL_HISTORY_LENGTH] |
enum callDialingMode |
CpPeerCall | ( | UtlBoolean | isEarlyMediaFor180Enabled = TRUE , |
CpCallManager * | callManger = NULL , |
||
CpMediaInterface * | callMediaInterface = NULL , |
||
int | callIndex = -1 , |
||
const char * | callId = NULL , |
||
SipUserAgent * | sipUA = NULL , |
||
int | sipSessionReinviteTimer = 0 , |
||
const char * | defaultCallExtension = NULL , |
||
int | holdType = CallManager::NEAR_END_HOLD , |
||
int | offeringDelayMilliSeconds = Connection::IMMEDIATE , |
||
int | availableBehavior = Connection::RING , |
||
const char * | forwardUnconditionalUrl = NULL , |
||
int | busyBehavior = Connection::BUSY , |
||
const char * | forwardOnBusyUrl = NULL , |
||
int | forwardOnNoAnswerMilliSeconds = -1 , |
||
const char * | forwardOnNoAnswerUrl = NULL , |
||
int | ringingExpireSeconds = CP_MAXIMUM_RINGING_EXPIRE_SECONDS |
||
) |
|
virtual |
param: callManager - the call processing task manager param: sipUA - SIP user agent task param: defaultCallExtension - the local user name/phone extension param: holdType - NEAR_SIDE_HOLD hold is handled in the media layer to mute the media in both directions, FAR_SIDE_HOLD hold is handled at the call control protocol layer param: offeringDelayMilliSeconds - the period of time that the call stays in offering before proceeding to the next state (i.e. ALERTING). A value of -1 indicates a delay of forever. Typically the user or an application acting on behalf of the user will take the call out of offering by accepting or regjecting the call. param: availableBehavior - defines the behavior of incoming calls after the offering delay times out and the phone (and resources) is available to take a call. This must be set to one of the lineAvailableBehaviors enumerations. param: forwardUnconditionalUrl - the URL to which the call is unconditionaly forwarded. This argument is ignored if availableBehavior is not set to FORWARD_UNCONDITIONAL param: busyBehavior - defines the behavior of incoming calls after the offering delay times out and the phone (and resources) are busy. This must be set to one of the lineBusyBehaviors enumerations. param: forwardOnBusyUrl - the URL to which the call is forwarded when the phone is busy. This argument is ignored if busyBehavior is not set to FORWARD_ON_BUSY param: forwardOnNoAnswerMilliSeconds - after a call rings (RING, RING_SILENT or FAKE_RING) for this period of time, forward the call to the URL in forwardOnNoAnswerUrl. A value of -1 indicates never. param: forwardOnNoAnswerUrl - the URL to which the call is fowarded on no answer after ringing.
|
private |
|
protected |
Connection * addParty | ( | const char * | partyAddress, |
const char * | callController, | ||
const char * | originalCallConnectionAddress, | ||
const char * | pNewCallId, | ||
SIPX_CONTACT_ID | contactId = 0 , |
||
const void * | pDisplay = NULL , |
||
const void * | pSecurity = NULL , |
||
const char * | locationHeader = NULL , |
||
const int | bandWidth = AUDIO_CODEC_BW_DEFAULT , |
||
UtlBoolean | bOnHold = false , |
||
const char * | originalCallId = NULL , |
||
SIPX_TRANSPORT_DATA * | pTransport = NULL , |
||
const RTP_TRANSPORT | rtpTransportOptions = RTP_TRANSPORT_UDP |
||
) |
|
virtual |
Implements CpCall.
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
OsStatus fireSipXMediaEvent | ( | SIPX_MEDIA_EVENT | event, |
SIPX_MEDIA_CAUSE | cause, | ||
SIPX_MEDIA_TYPE | type, | ||
void * | pEventData = NULL , |
||
UtlBoolean | fireIfNoConnection = FALSE |
||
) |
UtlBoolean getConnectionState | ( | const char * | callId, |
const char * | toTag, | ||
const char * | fromTag, | ||
int & | state, | ||
UtlBoolean | strictCompare | ||
) |
|
protectedvirtual |
Implements CpCall.
|
virtual |
Reimplemented from CpCall.
|
protected |
|
virtual |
Reimplemented from CpCall.
|
protectedvirtual |
Implements CpCall.
|
protected |
|
protectedvirtual |
Implements CpCall.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
SIPXTAPI: TBD
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protectedvirtual |
Implements CpCall.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
SIPXTAPI: TBD
|
protected |
|
protected |
SIPXTAPI: TBD
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
void hangUp | ( | const char * | callId, |
const char * | toTag, | ||
const char * | fromTag | ||
) |
|
virtual |
Implements CpCall.
|
virtual |
Reimplemented from CpCall.
UtlBoolean isConnection | ( | const char * | callId, |
const char * | toTag, | ||
const char * | fromTag | ||
) |
|
protected |
UtlBoolean isConnectionLocallyInitiatedRemoteHold | ( | const char * | callId, |
const char * | toTag, | ||
const char * | fromTag | ||
) |
|
virtual |
|
virtual |
Reimplemented from CpCall.
|
protectedvirtual |
|
protectedvirtual |
Implements CpCall.
|
private |
|
virtual |
Reimplemented from CpCall.
|
virtual |
Reimplemented from CpCall.
|
protected |
|
static |
|
virtual |
Implements CpCall.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |