sipXcallLib home page


Connection.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005-2017 SIPez LLC. All rights reserved.
3 // Licensed to SIPfoundry under a Contributor Agreement.
4 //
5 // Copyright (C) 2004-2007 SIPfoundry Inc.
6 // Licensed by SIPfoundry under the LGPL license.
7 //
8 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
9 // Licensed to SIPfoundry under a Contributor Agreement.
10 //
11 // $$
13 
14 // Author: Daniel Petrie dpetrie AT SIPez DOT com
15 
16 #ifndef _Connection_h_
17 #define _Connection_h_
18 
19 // SYSTEM INCLUDES
20 //#include <...>
21 
22 // APPLICATION INCLUDES
23 #include <utl/UtlString.h>
24 #include <os/OsMutex.h>
25 #include <tapi/sipXtapiEvents.h>
26 #include <tapi/sipXtapiInternal.h>
27 #include <net/SipContactDb.h>
28 #include <mi/CpMediaInterface.h>
29 
30 
31 // DEFINES
32 # define LOCAL_ONLY 0
33 # define LOCAL_AND_REMOTE 1
34 
35 // MACROS
36 // EXTERNAL FUNCTIONS
37 // EXTERNAL VARIABLES
38 // CONSTANTS
39 // STRUCTS
40 // TYPEDEFS
41 
42 // FORWARD DECLARATIONS
43 class CpCallManager;
44 class CpCall;
45 class CpMediaInterface;
46 class OsDatagramSocket;
47 class SipSession;
48 class OsMsg;
49 class TaoObjectMap;
50 class TaoReference;
51 class OsServerTask;
52 class Url;
53 class OsQueuedEvent;
54 
55 //:logical Connection within a call
56 // The Connection encapsulates the call setup protocol and state
57 // information for the leg of a call to a particular address.
58 class Connection: public UtlString
59 {
60 /* //////////////////////////// PUBLIC //////////////////////////////////// */
61 public:
63  {
76  };
77 
79  {
85  };
86 
87 
89  {
92  };
93 
94  //
95  // WARNING: The order/values of these constants are used in java. Please
96  // do not change these without updating the java world.
97  //
98 
100  {
101  // General causes:
104 
105  // CONNECTION_IDLE causes:
106  // CONNECTION_QUEUED causes:
107 
108  // CONNECTION_OFFERING causes:
110 
111  // CONNECTION_ALERTING causes:
112  //CONNECTION_CAUSE_CALL_NOT_ANSWERED,
114 
115  //CONNECTION_CAUSE_LOCAL_RINGBACK = CONNECTION_CAUSE_NONE,
116  //CONNECTION_CAUSE_REMOTE_RINGBACK = CONNECTION_CAUSE_UNKNOWN,
117 
118  // CONNECTION_ESTABLISHED causes:
120 
121  // CONNECTION_FAILED causes:
129  CONNECTION_CAUSE_NOT_ALLOWED, // unauthorized by endpoint
130  CONNECTION_CAUSE_NETWORK_NOT_ALLOWED, // unauthorized by network/servers
132 
133  // CONNECTION_DISCONNECTED causes:
135  };
136 
138  {
140  NEVER = -1
141  };
142 
144  {
145  RING = 100,
151  };
152  //: Incoming call lineAvailableBehaviors
153  // The following define the different behaviors for an incoming call when the
154  // phone (and resources) is available to take a call.
155  //
161 
163  {
164  BUSY = 200,
170  };
171  //: Incoming call lineBusyBehaviors
172  // The following define the different behaviors for an incoming call when the
173  // phone (and resources) is busy.
174  //
181 
182  static const UtlContainableType TYPE;
183 
184 /* ============================ CREATORS ================================== */
185 
186  Connection(CpCallManager* callMgr = NULL,
187  CpCall* call = NULL,
188  CpMediaInterface* mediaInterface = NULL,
189  int offeringDelayMilliSeconds = IMMEDIATE,
190  int availableBehavior = RING,
191  const char* forwardUnconditionalUrl = NULL,
192  int busyBehavior = BUSY,
193  const char* forwardOnBusyUrl = NULL,
194  int fowardOnNoAnswerSeconds = -1);
195  //:Default constructor
196 
197 
198  virtual
199  ~Connection();
200  //:Destructor
201 
202 /* ============================ MANIPULATORS ============================== */
203 
204  virtual void prepareForSplit() ;
205  virtual void prepareForJoin(CpCall* pNewCall, const char* szLocalAddress, CpMediaInterface* pNewMediaInterface) ;
206 
207  virtual void forceHangUp(int connectionState = CONNECTION_DISCONNECTED)
208  {
209  setState(connectionState, CONNECTION_REMOTE);
211  }
212 
213  virtual UtlBoolean dequeue() = 0;
214 
215  virtual UtlBoolean dial(const char* dialString,
216  const char* callerId,
217  const char* callId,
218  const char* callController = NULL,
219  const char* originalCallConnection = NULL,
220  UtlBoolean requestQueuedCall = FALSE,
221  const void* pDisplay = NULL,
222  const void* pSecurity = NULL,
223  const char* locationHeader = NULL,
224  const int bandWidth = AUDIO_MICODEC_BW_DEFAULT,
225  UtlBoolean bOnHold = FALSE,
226  const char* originalCallId = NULL,
227  const RTP_TRANSPORT rtpTransportOptions = RTP_TRANSPORT_UDP) = 0;
229 
230  virtual UtlBoolean originalCallTransfer(UtlString& transferTargetAddress,
231  const char* transferControllerAddress,
232  const char* targetCallId) = 0;
233  // Initiate transfer on transfer controller connection in
234  // the original call.
235  // If fromAddress or toAddress are NULL it is assumed to
236  // be a blind transfer.
237 
238  virtual UtlBoolean targetCallBlindTransfer(const char* transferTargetAddress,
239  const char* transferControllerAddress) = 0;
240  // Communicate blind transfer on transfer controller connection in
241  // the target call. This is signaled by the transfer controller in the
242  // original call.
243 
244  virtual UtlBoolean transfereeStatus(int connectionState, int response) = 0;
245  // Method to communicate status to original call on transferee side
246 
247  virtual UtlBoolean transferControllerStatus(int connectionState, int response) = 0;
248  // Method to communicate status to target call on transfer
249  // controller side
250 
251  virtual void outOfFocus() = 0;
252 
253  virtual UtlBoolean answer(const void* hWnd = NULL) = 0;
254 
255  virtual UtlBoolean hangUp() = 0;
256 
257  virtual UtlBoolean hold() = 0;
258 
259  virtual UtlBoolean offHold() = 0;
260 
261  virtual UtlBoolean renegotiateCodecs() = 0;
262 
263  virtual UtlBoolean silentRemoteHold() = 0 ;
264 
266 
269  virtual UtlBoolean accept(int forwardOnNoAnswerTimeOut,
270  const void *pSecurity = NULL,
271  const char* locationHeader = NULL,
272  const int bandWidth = AUDIO_MICODEC_BW_DEFAULT,
273  UtlBoolean sendEarlyMedia = FALSE) = 0;
274 
275  virtual UtlBoolean reject(int errorCode = 0, const char* errorText = "") = 0;
276 
277  virtual UtlBoolean redirect(const char* forwardAddress) = 0;
278 
279  virtual UtlBoolean processMessage(OsMsg& eventMessage) = 0;
280 
281  virtual UtlBoolean canSendInfo() { return false; }
282  //:Virtual method signature and default implementation for sendInfo - this should be overridden by
283  //:SipConnection.
284  virtual UtlBoolean sendInfo(UtlString contentType, UtlString sContent){ return false; }
285  //:Virtual method signature and default implementation for sendInfo - this should be overridden by
286  //:SipConnection.
287 
288  void setLocalAddress(const char* address);
289 
290  void unimplemented(const char* methodName) const;
291 
292  void markForDeletion() ;
293  //: Is this connection marked for deletion?
294 
295  void setMediaInterface(CpMediaInterface* pMediaInterface) ;
296  //:Set the media interface for this connection
297 
298  CpMediaInterface* getMediaInterfacePtr();
299  //:Gets the media interface pointer for this connection.
300 
302  void fireSipXCallEvent(SIPX_CALLSTATE_EVENT eMajor, SIPX_CALLSTATE_CAUSE eMinor, void *pEventData=NULL) ;
303  void fireSipXSecurityEvent(SIPX_SECURITY_INFO *pEventData) ;
305  SIPX_MEDIA_CAUSE cause,
306  SIPX_MEDIA_TYPE type,
307  void* pEventData=NULL) ;
308 
309 /* ============================ ACCESSORS ================================= */
310 
311  virtual UtlContainableType getContainableType() const;
312 
313  void getLocalAddress(UtlString* address);
314  int getState(int isLocal = 0) const;
315  int getState(int isLocal, int& cause) const;
316  int getTerminalState(int isLocal) const;
317 
318  int getLocalState() const ;
319  // Get the local state for this connection
320  int getRemoteState() const ;
321  // Get the remote state for this connection
322 
323  static void getStateString(int state, UtlString* stateLabel);
324 
325  void getCallId(UtlString* callId);
326  // Call specific
327 
328  void getCallerId(UtlString* callerId);
329  // Caller in a call specific
330 
331  virtual UtlBoolean getRemoteAddress(UtlString* remoteAddress) const = 0;
332  //: get Connection address
334 
335  virtual UtlBoolean getRemoteAddress(UtlString* remoteAddress, UtlBoolean leaveFieldParametersIn) const = 0;
336  //: get Connection address
338 
339  virtual UtlBoolean getSession(SipSession& sessioon) = 0;
340 
341  int getResponseCode() { return mResponseCode; };
342 
343  void getResponseText(UtlString& responseText);
344 
345  int getConnectionId() { return mConnectionId; };
346 
347  OsStatus getDeleteAfter(OsTime& time) ;
348  //: Get the time after which this connection can be deleted. This
349  //: timespan is relative to boot.
350 
351  void setTransferHeld(UtlBoolean bHeld) ;
352  //: Set the held state for a transfer operation (did we put the connection
353  // on hold as part of the transfer)
354 
355  const UtlString& getRemoteRtpAddress() const ;
356 
357  virtual void getRemoteUserAgent(UtlString* pUserAgent) = 0;
358 
359  virtual OsStatus getInviteHeaderValue(const char* headerName, int headerIndex, UtlString& headerValue) const;
360 
361 /* ============================ INQUIRY =================================== */
362 
363  virtual UtlBoolean isInstanceOf(const UtlContainableType type) const;
364 
365  UtlBoolean isRemoteCallee();
366 
367  UtlBoolean remoteRequestedHold();
368 
369  virtual UtlBoolean willHandleMessage(OsMsg& eventMessage) const = 0;
370 
371  static UtlBoolean isStateTransitionAllowed(int newState, int oldState);
372 
373  virtual UtlBoolean isConnection(const char* callId,
374  const char* toTag,
375  const char* fromTag,
376  UtlBoolean strictCompare) const = 0;
377 
378  virtual UtlBoolean isSameRemoteAddress(Url& remoteAddress) const = 0;
379 
380  UtlBoolean isMarkedForDeletion() const ;
381  //: Determines if this connection has been marked for deletion and
382  //: should be purged from the call.
383 
384  UtlBoolean isHeld() const ;
385  //:Is this connection on remote hold (not sending or receiving audio)
386 
387  UtlBoolean isHoldInProgress() const ;
388  //:Is a hold currently in progress?
389 
390  UtlBoolean isTransferHeld() const ;
391  //:Was the connection held for for a transfer operation
392 
393  virtual UtlBoolean isLocallyInitiatedRemoteHold() const ;
394 
395  virtual UtlBoolean isInviteFromThisSide() const;
396 /* //////////////////////////// PROTECTED ///////////////////////////////// */
397 protected:
398 
399  //: Set the connection state and notify observer of state change
400  void setState(int newState,
401  int isLocal,
402  int cause = CONNECTION_CAUSE_NORMAL,
403  int termState = -1);
404 
405  //: Set the terminal connection state and notify observer of state change
406  void setTerminalConnectionState(int newState, int isLocal, int cause = CONNECTION_CAUSE_NORMAL);
407 
408  virtual void setOfferingTimer(int milliSeconds);
409  virtual void setRingingTimer(int seconds);
410 
411  void postTaoListenerMessage(int state, int newCause, int isLocal = 0);
412 
413  //: Behavior of progression from Offering to next state
414  // The connections will:
415  // IMMEDIATE, PAUSE, NEVER go to Alerting
416  // Default is IMMEDIATE (offeringDelay = 0) proceed to Alerting
417  // PAUSE waits upto offeringDealy milliseconds
418  // NEVER (offeringDelay = -1)waits forever in Offering state
419  // If PAUSE or NEVER are set, the connection may be told to
420  // proceed to Failed stated with reject() or redirect() or
421  // to Alerting state with accept(), while the connection is in
422  // Offering state
424 
425  // The use and values of the following four members are as defined in Call
429  UtlString mForwardOnBusy;
431 
432  void setCallId(const char* callId);
433  void setCallerId(const char* callId);
434 
437  CpMediaInterface* mpMediaInterface;
439 
440  UtlBoolean mRemoteIsCallee;
441  //UtlBoolean mLocalHeld;
443  UtlString mLastToAddress;
444 
445  UtlString remoteRtpAddress;
450 
455 // int mLocalTerminalConnState;
456 // int mRemoteTerminalConnState;
457  // int mFarEndHoldState;
458 
460 
461  int mResponseCode; // response code obtained at processResponse, passed through events to upper layer
462  UtlString mResponseText; // response text obtained at processResponse
463 
464  UtlString mLocalAddress;
467  UtlString mTargetCallId;
468 
469 /* //////////////////////////// PRIVATE /////////////////////////////////// */
470 private:
471 
472  //Private as it must be locked and accessed outside this thread
473  UtlString connectionCallId;
475  OsMutex callIdMutex;
476  OsTime mDeleteAfter ; // Instructs the call to delete this connection
477  // after this time period (time since boot)
478  UtlBoolean mbTransferHeld ;
481 
482  Connection(const Connection& rConnection);
483  //:Copy constructor (disabled)
484  Connection& operator=(const Connection& rhs);
485  //:Assignment operator (disabled)
486 
487  int terminalConnectionState(int connState);
488 
489 };
490 
491 /* ============================ INLINE METHODS ============================ */
492 
493 #endif // _Connection_h_
Definition: Connection.h:91
Definition: TaoReference.h:35
UtlString connectionCallId
Definition: Connection.h:473
Abstract call manager.
Definition: CpCallManager.h:97
int getRemoteState() const
Definition: Connection.cpp:605
int mConnectionId
Definition: Connection.h:438
virtual UtlBoolean transferControllerStatus(int connectionState, int response)=0
OsStatus getDeleteAfter(OsTime &time)
Definition: Connection.cpp:592
Definition: Connection.h:119
Definition: Connection.h:131
Definition: Connection.h:164
void setCallId(const char *callId)
Definition: Connection.cpp:554
void getLocalAddress(UtlString *address)
Definition: Connection.cpp:541
void getCallerId(UtlString *callerId)
Definition: Connection.cpp:570
virtual UtlBoolean accept(int forwardOnNoAnswerTimeOut, const void *pSecurity=NULL, const char *locationHeader=NULL, const int bandWidth=AUDIO_MICODEC_BW_DEFAULT, UtlBoolean sendEarlyMedia=FALSE)=0
Accept and incoming INVITE and change from OFFERING to ALERTING state.
SIPX_CALLSTATE_CAUSE
Callstate cause events identify the reason for a Callstate event or provide more detail.
Definition: sipXtapiEvents.h:244
UtlBoolean mRemoteIsCallee
Definition: Connection.h:440
Definition: Connection.h:68
static const UtlContainableType TYPE
enumcode: BUSY - indicate to the caller that the phone is busy enumcode: FAKE_RING - indicate to the ...
Definition: Connection.h:182
Definition: Connection.h:150
void setTerminalConnectionState(int newState, int isLocal, int cause=CONNECTION_CAUSE_NORMAL)
Definition: Connection.cpp:287
Definition: TaoObjectMap.h:56
Definition: Connection.h:148
virtual UtlBoolean getSession(SipSession &sessioon)=0
returns: TRUE/FALSE if the connection has an address. The connection may not have an address assigned...
lineAvailableBehaviors
Definition: Connection.h:143
virtual UtlBoolean processMessage(OsMsg &eventMessage)=0
virtual void prepareForSplit()
Definition: Connection.cpp:155
Definition: Connection.h:64
Definition: Connection.h:71
virtual UtlBoolean dial(const char *dialString, const char *callerId, const char *callId, const char *callController=NULL, const char *originalCallConnection=NULL, UtlBoolean requestQueuedCall=FALSE, const void *pDisplay=NULL, const void *pSecurity=NULL, const char *locationHeader=NULL, const int bandWidth=AUDIO_MICODEC_BW_DEFAULT, UtlBoolean bOnHold=FALSE, const char *originalCallId=NULL, const RTP_TRANSPORT rtpTransportOptions=RTP_TRANSPORT_UDP)=0
UtlString connectionCallerId
Definition: Connection.h:474
termConnectionStates
Definition: Connection.h:78
Definition: Connection.h:75
Definition: Connection.h:146
static void getStateString(int state, UtlString *stateLabel)
Definition: Connection.cpp:362
virtual UtlBoolean offHold()=0
virtual UtlBoolean renegotiateCodecs()=0
Definition: Connection.h:165
int mResponseCode
Definition: Connection.h:461
int mForwardOnNoAnswerSeconds
Definition: Connection.h:430
void getResponseText(UtlString &responseText)
Definition: Connection.cpp:584
UtlString mLocalAddress
Definition: Connection.h:464
int remoteVideoRtcpPort
Definition: Connection.h:449
lineBusyBehaviors
enumcode: RING - make the phone ring to alert the user enumcode: FAKE_BUSY - indicate to the caller t...
Definition: Connection.h:162
void fireSipXSecurityEvent(SIPX_SECURITY_INFO *pEventData)
Definition: Connection.cpp:480
Definition: Connection.h:168
int getState(int isLocal=0) const
Definition: Connection.cpp:295
int mLocalConnectionState
Definition: Connection.h:451
Definition: Connection.h:140
virtual UtlBoolean isInviteFromThisSide() const
Definition: Connection.cpp:671
OsTime mDeleteAfter
Definition: Connection.h:476
SIPX_CALLSTATE_CAUSE m_eLastMinor
Definition: Connection.h:480
sipXtapi event declarations
UtlBoolean isHeld() const
Definition: Connection.cpp:649
virtual UtlBoolean silentRemoteHold()=0
UtlString mTargetCallId
Definition: Connection.h:467
Definition: Connection.h:66
virtual UtlContainableType getContainableType() const
Definition: Connection.cpp:536
OsMutex callIdMutex
Definition: Connection.h:475
virtual UtlBoolean redirect(const char *forwardAddress)=0
Definition: Connection.h:169
Definition: Connection.h:69
virtual void prepareForJoin(CpCall *pNewCall, const char *szLocalAddress, CpMediaInterface *pNewMediaInterface)
Definition: Connection.cpp:169
UtlBoolean mbTransferHeld
Definition: Connection.h:478
Definition: Connection.h:73
int mRemoteConnectionState
Definition: Connection.h:452
Definition: Connection.h:58
Connection(CpCallManager *callMgr=NULL, CpCall *call=NULL, CpMediaInterface *mediaInterface=NULL, int offeringDelayMilliSeconds=IMMEDIATE, int availableBehavior=RING, const char *forwardUnconditionalUrl=NULL, int busyBehavior=BUSY, const char *forwardOnBusyUrl=NULL, int fowardOnNoAnswerSeconds=-1)
Definition: Connection.cpp:54
int mHoldState
Definition: Connection.h:459
SIPX_CALLSTATE_EVENT
Major call state events identify significant changes in the state of a call.
Definition: sipXtapiEvents.h:163
UtlString mForwardOnBusy
Definition: Connection.h:429
Definition: Connection.h:74
int getResponseCode()
Definition: Connection.h:341
void getCallId(UtlString *callId)
Definition: Connection.cpp:547
Definition: Connection.h:81
connectionStateCauses
Definition: Connection.h:99
Definition: Connection.h:149
Definition: Connection.h:139
virtual UtlBoolean transfereeStatus(int connectionState, int response)=0
virtual UtlBoolean targetCallBlindTransfer(const char *transferTargetAddress, const char *transferControllerAddress)=0
virtual UtlBoolean willHandleMessage(OsMsg &eventMessage) const =0
virtual UtlBoolean isSameRemoteAddress(Url &remoteAddress) const =0
connectionType
Definition: Connection.h:88
UtlString mTargetCallConnectionAddress
Definition: Connection.h:466
void setMediaInterface(CpMediaInterface *pMediaInterface)
Definition: Connection.cpp:447
int mLineAvailableBehavior
Definition: Connection.h:426
UtlBoolean isMarkedForDeletion() const
Definition: Connection.cpp:643
Definition: Connection.h:80
UtlBoolean isTransferHeld() const
Definition: Connection.cpp:660
UtlString mForwardUnconditional
Definition: Connection.h:427
UtlBoolean isHoldInProgress() const
Definition: Connection.cpp:654
virtual ~Connection()
Definition: Connection.cpp:134
connectionStates
Definition: Connection.h:62
Definition: Connection.h:102
UtlString remoteRtpAddress
Definition: Connection.h:445
Definition: Connection.h:167
void unimplemented(const char *methodName) const
Definition: Connection.cpp:430
Definition: Connection.h:65
Definition: Connection.h:90
virtual UtlBoolean hangUp()=0
int mTerminalConnState
Definition: Connection.h:454
int remoteVideoRtpPort
Definition: Connection.h:448
SIPX_MEDIA_EVENT
Enumeration of possible media events.
Definition: sipXtapiEvents.h:490
void setCallerId(const char *callId)
Definition: Connection.cpp:577
Connection & operator=(const Connection &rhs)
Definition: Connection.cpp:414
int mLineBusyBehavior
Definition: Connection.h:428
void fireSipXMediaEvent(SIPX_MEDIA_EVENT event, SIPX_MEDIA_CAUSE cause, SIPX_MEDIA_TYPE type, void *pEventData=NULL)
Definition: Connection.cpp:507
An SIPX_SECURITY_INFO event informs that application layer of the status of a security operation...
Definition: sipXtapiEvents.h:924
virtual UtlBoolean hold()=0
void setState(int newState, int isLocal, int cause=CONNECTION_CAUSE_NORMAL, int termState=-1)
Definition: Connection.cpp:182
CpMediaInterface * mpMediaInterface
Definition: Connection.h:437
int terminalConnectionState(int connState)
Definition: Connection.cpp:845
CpMediaInterface * getMediaInterfacePtr()
Definition: Connection.cpp:711
Definition: Connection.h:70
UtlString mOriginalCallConnectionAddress
Definition: Connection.h:465
virtual void forceHangUp(int connectionState=CONNECTION_DISCONNECTED)
Definition: Connection.h:207
static UtlBoolean isStateTransitionAllowed(int newState, int oldState)
Definition: Connection.cpp:743
int mOfferingDelay
Definition: Connection.h:423
int getTerminalState(int isLocal) const
Definition: Connection.cpp:354
UtlBoolean validStateTransition(SIPX_CALLSTATE_EVENT eFrom, SIPX_CALLSTATE_EVENT eTo)
Definition: Connection.cpp:454
SIPX_MEDIA_TYPE
Enumeration of possible media event types.
Definition: sipXtapiEvents.h:660
Definition: Connection.h:103
UtlBoolean isRemoteCallee()
Definition: Connection.cpp:631
Definition: Connection.h:134
int remoteRtpPort
Definition: Connection.h:446
UtlString mLastToAddress
Definition: Connection.h:443
virtual void setOfferingTimer(int milliSeconds)
Definition: Connection.cpp:682
virtual UtlBoolean getRemoteAddress(UtlString *remoteAddress) const =0
Definition: Connection.h:72
virtual void setRingingTimer(int seconds)
Definition: Connection.cpp:716
void postTaoListenerMessage(int state, int newCause, int isLocal=0)
Definition: Connection.cpp:677
virtual UtlBoolean isConnection(const char *callId, const char *toTag, const char *fromTag, UtlBoolean strictCompare) const =0
offeringModes
Definition: Connection.h:137
Definition: Connection.h:122
int getLocalState() const
Definition: Connection.cpp:599
void setTransferHeld(UtlBoolean bHeld)
Definition: Connection.cpp:528
Definition: Connection.h:147
virtual OsStatus getInviteHeaderValue(const char *headerName, int headerIndex, UtlString &headerValue) const
Definition: Connection.cpp:615
Definition: Connection.h:145
Definition: Connection.h:166
virtual UtlBoolean isLocallyInitiatedRemoteHold() const
Definition: Connection.cpp:665
Definition: Connection.h:82
Definition: Connection.h:129
UtlBoolean remoteRequestedHold()
Definition: Connection.cpp:636
virtual UtlBoolean canSendInfo()
Definition: Connection.h:281
Definition: Connection.h:109
int remoteRtcpPort
Definition: Connection.h:447
CpCall * mpCall
Definition: Connection.h:436
virtual UtlBoolean sendInfo(UtlString contentType, UtlString sContent)
Definition: Connection.h:284
UtlString mResponseText
Definition: Connection.h:462
Definition: Connection.h:83
virtual UtlBoolean isInstanceOf(const UtlContainableType type) const
Definition: Connection.cpp:623
int mConnectionStateCause
Definition: Connection.h:453
void markForDeletion()
Definition: Connection.cpp:436
UtlBoolean mRemoteRequestedHold
Definition: Connection.h:442
virtual UtlBoolean originalCallTransfer(UtlString &transferTargetAddress, const char *transferControllerAddress, const char *targetCallId)=0
param: requestQueuedCall - indicates that the caller wishes to have the callee queue the call if busy...
Definition: Connection.h:67
virtual UtlBoolean answer(const void *hWnd=NULL)=0
Definition: CpCall.h:56
Definition: Connection.h:84
virtual void getRemoteUserAgent(UtlString *pUserAgent)=0
void fireSipXCallEvent(SIPX_CALLSTATE_EVENT eMajor, SIPX_CALLSTATE_CAUSE eMinor, void *pEventData=NULL)
Definition: Connection.cpp:485
const UtlString & getRemoteRtpAddress() const
Definition: Connection.cpp:610
void setLocalAddress(const char *address)
Definition: Connection.cpp:423
The CONNECTED state indicates that call has been setup between the local and remote party...
Definition: sipXtapiEvents.h:197
virtual void outOfFocus()=0
CpCallManager * mpCallManager
Definition: Connection.h:435
The stage changed due to normal operation.
Definition: sipXtapiEvents.h:247
int getConnectionId()
Definition: Connection.h:345
SIPX_CALLSTATE_EVENT m_eLastMajor
Definition: Connection.h:479
virtual UtlBoolean reject(int errorCode=0, const char *errorText="")=0
Definition: Connection.h:113
virtual UtlBoolean dequeue()=0
SIPX_MEDIA_CAUSE
Enumeration of possible media event causes.
Definition: sipXtapiEvents.h:638