19 #include <os/OsServerTask.h> 20 #include <os/OsRWMutex.h> 21 #include "os/OsUtil.h" 22 #include "os/OsLockingList.h" 23 #include <os/OsMsgDispatcher.h> 24 #include <sdp/SdpCodec.h> 30 #include <mi/MiNotification.h> 33 #define MINIMUM_DTMF_LENGTH 50 34 #define MINIMUM_DTMF_SILENCE 50 52 class CpMediaInterface;
94 CP_TRANSFER_TARGET_TARGET_CALL
104 CP_WILL_NOT_HANDLE = 0,
111 CP_DEFINITELY_WILL_HANDLE
116 CpMediaInterface* callMediaInterface = NULL,
118 const char* callId = NULL,
128 void setDropState(UtlBoolean state);
130 void postMetaEvent(
int state,
int remoteIsCallee = -1);
132 void postTaoListenerMessage(
int responseCode,
133 UtlString responseText,
137 int remoteIsCallee = 1,
138 UtlString remoteAddress =
"",
140 UtlString targetCallId = OsUtil::NULL_OS_STRING);
142 void setCallState(
int responseCode, UtlString responseText,
int state,
int cause =
PtEvent::CAUSE_NORMAL);
144 virtual void inFocus(
int talking = 1);
145 virtual void outOfFocus();
147 virtual void sendFlowgraphMessage(OsMsg& flowgraphMessage);
151 virtual void localHold();
152 virtual void hangUp(UtlString callId,
int metaEventId);
156 virtual void getLocalAddress(
char* address,
int len);
158 virtual void getLocalTerminalId(
char* terminal,
int len);
160 virtual void getCallId(UtlString& callId);
163 virtual void setCallId(
const char* callId);
166 void setLocalConnectionState(
int newState);
173 static int getCallTrackingListCount();
180 virtual void printCall();
185 static void getStateString(
int state, UtlString* stateLabel);
191 virtual void startMetaEvent(
int metaEventId,
int metaEventType,
192 int numCalls,
const char* metaEventCallIds[],
int remoteIsCallee = -1);
194 virtual void setMetaEvent(
int metaEventId,
int metaEventType,
195 int numCalls,
const char* metaEventCallIds[]);
197 void getMetaEvent(
int& metaEventId,
int& metaEventType,
198 int& numCalls,
const UtlString* metaEventCallIds[])
const;
200 virtual void stopMetaEvent(
int remoteIsCallee = -1);
202 void setCallType(
int callType);
203 int getCallType()
const;
205 void setTargetCallId(
const char* targetCallId);
206 void getTargetCallId(UtlString& targetCallId)
const;
207 void setOriginalCallId(
const char* targetCallId);
208 void getOriginalCallId(UtlString& targetCallId)
const;
210 int getLocalConnectionState(
int state);
214 virtual UtlBoolean hasCallId(
const char* callId) = 0;
218 virtual UtlBoolean isQueued();
220 virtual UtlBoolean isCallIdSet();
222 virtual UtlBoolean isLocalHeld();
224 virtual UtlBoolean canDisconnectConnection(
Connection* pConnection) = 0;
226 virtual UtlBoolean
isInFocus()
const {
return mCallInFocus ;} ;
230 virtual UtlBoolean handleMessage(OsMsg& eventMessage);
231 virtual UtlBoolean handleCallMessage(OsMsg& eventMessage) = 0;
232 virtual UtlBoolean handleMiNotificationMessage(MiNotification& notification) = 0 ;
233 virtual void onHook() = 0;
235 virtual UtlBoolean getConnectionState(
const char* remoteAddress,
int& state) = 0;
237 virtual UtlBoolean getTermConnectionState(
const char* address,
238 const char* terminal,
241 void addHistoryEvent(
const char* messageLogString);
242 void addHistoryEvent(
const int msgSubType,
277 static OsStatus addToCallTrackingList(UtlString &rCallTaskName);
280 static OsStatus removeFromCallTrackingList(UtlString &rCallTaskName);
292 int tcStateFromEventId(
int eventId);
int mCallState
Definition: CpCall.h:253
OsMsgDispatcher mMediaMsgDispatcher
Definition: CpCall.h:259
Abstract call manager.
Definition: CpCallManager.h:97
int mCallIndex
Definition: CpCall.h:252
metaEventState
Definition: CpCall.h:68
int mMessageEventCount
Definition: CpCall.h:267
eventType
Definition: CpCall.h:61
static OsLockingList * spCallTrackingList
Definition: CpCall.h:273
int event
Definition: CpCall.h:42
UtlBoolean mRemoteDtmf
Definition: CpCall.h:248
int mLocalTermConnectionState
Definition: CpCall.h:256
callTypes
Definition: CpCall.h:75
volatile UtlBoolean mCallInFocus
Definition: CpCall.h:247
UtlBoolean enabled
Definition: CpCall.h:46
Definition: PtEvent.h:279
int timeoutSecs
Definition: CpCall.h:44
UtlString mOriginalCallId
Definition: CpCall.h:284
Definition: CpCallManager.h:223
int ignoreKeyUp
Definition: CpCall.h:45
OsRWMutex mCallIdMutex
Definition: CpCall.h:250
Definition: Connection.h:58
int mCallType
Definition: CpCall.h:283
UtlBoolean mDropping
Definition: CpCall.h:261
CpCallManager * mpManager
Definition: CpCall.h:245
int mNumMetaEventCalls
Definition: CpCall.h:264
int interdigitSecs
Definition: CpCall.h:43
virtual UtlBoolean isInFocus() const
Definition: CpCall.h:226
int getLocalConnectionState()
Definition: CpCall.h:169
int mLocalConnectionState
Definition: CpCall.h:255
Definition: CpMultiStringMessage.h:33
CpMediaInterface * mpMediaInterface
Definition: CpCall.h:251
UtlString mCallId
Definition: CpCall.h:246
UtlBoolean mDtmfEnabled
Definition: CpCall.h:249
int mMetaEventId
Definition: CpCall.h:262
UtlString * mpMetaEventCallIds
Definition: CpCall.h:265
UtlString mTargetCallId
Definition: CpCall.h:285
#define CP_CALL_HISTORY_LENGTH
Definition: CallManager.h:41
int mHoldType
Definition: CpCall.h:254
handleWillingness
Definition: CpCall.h:101
UtlBoolean mLocalHeld
Definition: CpCall.h:257
int mMetaEventType
Definition: CpCall.h:263