sipxtacklib  Version 3.3
sipXtapiInternal.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2006 SIPez LLC.
3 // Licensed to SIPfoundry under a Contributor Agreement.
4 //
5 // Copyright (C) 2004-2006 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 
15 #ifndef _SIPXTAPIINTERNAL_H /* [ */
16 #define _SIPXTAPIINTERNAL_H
17 
18 // SYSTEM INCLUDES
19 // APPLICATION INCLUDES
20 #include "tapi/sipXtapi.h"
22 #ifdef VOICE_ENGINE
23 # include "tapi/GipsDefs.h"
24 #endif
25 #include "net/SipSession.h"
26 #include "net/SipUserAgent.h"
27 #include "net/SipSubscribeClient.h"
28 #include "utl/UtlDefs.h"
29 #include "utl/UtlContainable.h"
30 #include "os/OsRWMutex.h"
31 #include "os/OsReadLock.h"
32 #include "os/OsWriteLock.h"
33 #include "os/OsSysLog.h"
34 #include "os/OsMutex.h"
35 #include "os/OsMsgQ.h"
36 #include "os/OsNatKeepaliveListener.h"
37 
38 // DEFINES
40 //#define SIPXTAPI_EVAL_EXPIRATION
41 
42 #ifdef SIPXTAPI_EVAL_EXPIRATION
43 # define EVAL_EXPIRE_MONTH 0 // zero based
44 # define EVAL_EXPIRE_DAY 31
45 # define EVAL_EXPIRE_YEAR 2006
46 #endif
47 
48 // MACROS
49 // EXTERNAL FUNCTIONS
50 // EXTERNAL VARIABLES
51 // CONSTANTS
52 // FORWARD DECLARATIONS
53 class SipSubscribeServer;
54 class SipSubscribeClient;
55 class CallManager ;
56 class SipUserAgent ;
57 class SipRefreshMgr ;
60 class CpMediaInterface;
61 
62 // STRUCTS
63 
64 // TYPEDEFS
65 typedef struct MIC_SETTING
66 {
67  bool bInitialized ;
68  bool bMuted ;
69  int iGain ;
71 } MIC_SETTING ;
72 
73 typedef struct SPEAKER_SETTING
74 {
75  bool bInitialized ;
76  int iVol ;
79 
80 typedef struct AEC_SETTING
81 {
82  bool bInitialized ;
84 } AEC_SETTING ;
85 
86 typedef struct AGC_SETTING
87 {
88  bool bInitialized ;
89  bool bEnabled;
90 } AGC_SETTING ;
91 
92 
94 {
95  bool bInitialized ;
98 
99 
101 {
103  int numCodecs;
106  UtlString* pPreferences;
107  SdpCodec** sdpCodecArray;
109 
111 {
113  int numCodecs;
116  UtlString* pPreferences;
117  SdpCodec** sdpCodecArray;
119 
120 typedef struct TONE_STATES
121 {
123 // bool tonePlaying;
124 } TONE_STATES;
125 
126 typedef struct SIPX_INSTANCE_DATA
127 {
129  SdpCodecList* pCodecFactory ;
130  CallManager* pCallManager ;
137 
139  SPEAKER_SETTING speakerSettings[2] ;
149 
151 
152 
153 
154  char* inputAudioDevices[MAX_AUDIO_DEVICES] ;
155  char* outputAudioDevices[MAX_AUDIO_DEVICES] ;
157  OsNotification *pStunNotification ;
159  OsMutex* pLock ;
160  int nCalls ;
162  int nLines ;
163  void* pVoiceEngine;
164  char dbLocation[256];
165  char myCertNickname[32];
166  char dbPassword[32];
167  bool bShortNames;
169  bool bDateHeader;
170  char szAcceptLanguage[16];
171  char szLocationHeader[256];
172  bool bRtpOverTcp;
177 
179 {
190 
191 
192 typedef struct SIPX_CALL_DATA
193 {
194  UtlString* callId;
195  UtlString* sessionCallId;
196  UtlString* ghostCallId;
197  UtlString* remoteAddress ;
198  UtlString* lineURI ;
199  UtlString* contactAddress ;
202  OsRWMutex* pMutex ;
206  UtlBoolean bRemoveInsteadOfDrop ;
213 
218 
220  UtlBoolean bInFocus ;
232 } SIPX_CALL_DATA ;
233 
234 typedef enum CONF_HOLD_STATE
235 {
240 
241 typedef struct
242 {
243  UtlString strCallId ;
245  size_t nCalls ;
250  OsRWMutex* pMutex ;
251 } SIPX_CONF_DATA ;
252 
253 typedef struct
254 {
257  OsRWMutex* pMutex ;
259  UtlSList* pLineAliases ;
261 } SIPX_LINE_DATA ;
262 
263 typedef struct
264 {
268  OsRWMutex* pMutex;
270 
271 typedef struct
272 {
274  UtlString* pResourceId;
275  UtlString* pEventType;
277  OsRWMutex* pMutex;
279 
280 typedef struct
281 {
283  UtlString* pDialogHandle;
284  OsRWMutex* pMutex;
286 
287 #define MAX_TRANSPORT_NAME 32
289 {
290 public:
292  {
293  pInst = NULL;
294  bIsReliable = false;
295  iLocalPort = -1;
296  pFnWriteProc = NULL;
297  pMutex = NULL;
298  hTransport = 0;
299  pUserData = NULL;
300  bRouteByUser = true;
301  memset(szLocalIp, 0, sizeof(szLocalIp));
302  memset(szTransport, 0, sizeof(szTransport));
303  memset(cRoutingId, 0, sizeof(cRoutingId)) ;
304  }
307  {
308  copy(ref);
309  }
312  {
313  // check for assignment to self
314  if (this == &ref) return *this;
315 
316  return copy(ref);
317  }
318 
320  {
321  hTransport = ref.hTransport;
322  pInst = ref.pInst;
323  bIsReliable = ref.bIsReliable;
324  memset(szTransport, 0, sizeof(szTransport)) ;
325  strncpy(szTransport, ref.szTransport, MAX_TRANSPORT_NAME - 1);
326  memset(szLocalIp, 0, sizeof(szLocalIp)) ;
327  strncpy(szLocalIp, ref.szLocalIp, sizeof(szLocalIp)-1);
328  memset(cRoutingId, 0, sizeof(cRoutingId)) ;
329  strncpy(cRoutingId, ref.cRoutingId, sizeof(cRoutingId)-1);
330  iLocalPort = ref.iLocalPort;
331  pFnWriteProc = ref.pFnWriteProc;
332  pUserData = ref.pUserData ;
333  bRouteByUser = ref.bRouteByUser;
334  return *this;
335  }
336 
337  static const bool isCustomTransport(const SIPX_TRANSPORT_DATA* const pTransport)
338  {
339  bool bRet = false;
340  if (pTransport)
341  {
342  if (strlen(pTransport->szTransport) > 0)
343  {
344  bRet = true;
345  }
346  }
347  return bRet;
348  }
349 
353  char szTransport[MAX_TRANSPORT_NAME];
354  char szLocalIp[32];
357  OsRWMutex* pMutex;
358  const void* pUserData;
359  char cRoutingId[64] ;
361 } ;
362 
368 typedef struct
369 {
371  void* pUserData;
374 
375 typedef enum SIPX_LOCK_TYPE
376 {
380 } SIPX_LOCK_TYPE ;
381 
382 
383 /* ============================ FUNCTION POINTER DEFINITIONS =============== */
384 
385 typedef void (*sipxCallEventCallbackFn)(const void* pSrc,
386  const char* szCallId,
387  SipSession* pSession,
388  const char* szRemoteAddress,
389  SIPX_CALLSTATE_EVENT event,
390  SIPX_CALLSTATE_CAUSE cause,
391  void* pEventData,
392  const char* assertedIdentity);
393 
394 typedef void (*sipxMediaCallbackFn)(const void* pSrc,
395  const char* szCallId,
396  const char* szRemoteAddress,
397  SIPX_MEDIA_EVENT event,
398  SIPX_MEDIA_CAUSE cause,
399  SIPX_MEDIA_TYPE type,
400  void* pEventData);
401 
402 typedef void (*sipxLineEventCallbackFn)(const void* pSrc,
403  const char* szLineIdentifier,
404  SIPX_LINESTATE_EVENT event,
405  SIPX_LINESTATE_CAUSE cause,
406  const char *bodyBytes);
407 
408 
409 typedef bool (*sipxEventCallbackFn)(const void* pSrc,
410  SIPX_EVENT_CATEGORY category,
411  void* pInfo);
412 
413 
414 
415 /* ============================ FUNCTIONS ================================= */
416 
420 void sipxDisableListeners() ;
421 
422 
426 void sipxEnableListeners() ;
427 
431 void sipxCallDestroyAll(const SIPX_INST hInst) ;
432 
436 void sipxConferenceDestroyAll(const SIPX_INST hInst) ;
437 
441 void sipxLineRemoveAll(const SIPX_INST hInst) ;
442 
446 void sipxPublisherDestroyAll(const SIPX_INST hInst) ;
447 
451 void sipxSubscribeDestroyAll(const SIPX_INST hInst) ;
452 
456 void sipxFireCallEvent(const void* pSrc,
457  const char* szCallId,
458  SipSession* pSession,
459  const char* szRemoteAddress,
460  SIPX_CALLSTATE_EVENT event,
461  SIPX_CALLSTATE_CAUSE cause,
462  void* pEventData=NULL,
463  const char* szRemoteAssertedIdentity = NULL) ;
464 
468 void sipxFireMediaEvent(const void* pSrc,
469  const char* szCallId,
470  const char* szRemoteAddress,
471  SIPX_MEDIA_EVENT event,
472  SIPX_MEDIA_CAUSE cause,
473  SIPX_MEDIA_TYPE type,
474  void* pEventData = NULL) ;
475 
479 void sipxFireKeepaliveEvent(const void* pSrc,
480  SIPX_KEEPALIVE_EVENT event,
481  SIPX_KEEPALIVE_CAUSE cause,
482  SIPX_KEEPALIVE_TYPE type,
483  const char* szRemoteAddress,
484  int remotePort,
485  int keepAliveSecs,
486  const char* szMappedAddress,
487  int mappedPort) ;
488 
492 void sipxFireLineEvent(const void* pSrc,
493  const char* szLineIdentifier,
494  SIPX_LINESTATE_EVENT event,
495  SIPX_LINESTATE_CAUSE cause,
496  const char *bodyBytes = NULL);
497 
501 bool sipxFireEvent(const void* pSrc,
502  SIPX_EVENT_CATEGORY category,
503  void* pInfo);
504 
505 SIPX_INSTANCE_DATA* findSessionByCallManager(const void* pCallManager) ;
506 
507 SIPX_CALL_DATA* sipxCallLookup(const SIPX_CALL hCall, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
508 void sipxCallReleaseLock(SIPX_CALL_DATA*, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
509 void sipxCallObjectFree(const SIPX_CALL hCall, const OsStackTraceLogger& oneBackInStack);
510 SIPX_CALL sipxCallLookupHandle(const UtlString& callID, const void* pSrc);
511 void destroyCallData(SIPX_CALL_DATA* pData);
512 UtlBoolean validCallData(SIPX_CALL_DATA* pData);
513 UtlBoolean sipxCallGetCommonData(SIPX_CALL hCall,
514  SIPX_INSTANCE_DATA** pInst,
515  UtlString* pStrCallId,
516  UtlString* pStrRemoteAddress,
517  UtlString* pLineId,
518  UtlString* pGhostCallId = NULL,
519  UtlString* pContactAddress = NULL) ;
520 
522 
523 SIPXTAPI_API UtlBoolean sipxCallGetState(SIPX_CALL hCall,
524  SIPX_CALLSTATE_EVENT& lastEvent,
525  SIPX_CALLSTATE_CAUSE& lastCause,
526  SIPX_INTERNAL_CALLSTATE& state) ;
527 
528 UtlBoolean sipxCallGetMediaState(SIPX_CALL hCall,
529  SIPX_MEDIA_EVENT& lastLocalMediaAudioEvent,
530  SIPX_MEDIA_EVENT& lastLocalMediaVideoEvent,
531  SIPX_MEDIA_EVENT& lastRemoteMediaAudioEvent,
532  SIPX_MEDIA_EVENT& lastRemoteMediaVideoEvent) ;
533 
534 UtlBoolean sipxCallSetMediaState(SIPX_CALL hCall,
535  SIPX_MEDIA_EVENT event,
536  SIPX_MEDIA_TYPE type) ;
537 
538 UtlBoolean sipxCallSetState(SIPX_CALL hCall,
539  SIPX_CALLSTATE_EVENT event,
540  SIPX_CALLSTATE_CAUSE cause) ;
541 
543 
544 SIPX_LINE_DATA* sipxLineLookup(const SIPX_LINE hLine, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
545 void sipxLineReleaseLock(SIPX_LINE_DATA* pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
546 void sipxLineObjectFree(const SIPX_LINE hLine) ;
547 SIPX_LINE sipxLineLookupHandle(const char* szLineURI, const char* requestUri);
548 SIPX_LINE sipxLineLookupHandleByURI(const char* szURI);
549 UtlBoolean validLineData(const SIPX_LINE_DATA*) ;
550 
551 UtlBoolean sipxAddCallHandleToConf(const SIPX_CALL hCall,
552  const SIPX_CONF hConf) ;
553 
554 UtlBoolean sipxRemoveCallHandleFromConf(const SIPX_CONF hConf,
555  const SIPX_CALL hCall) ;
556 
557 SIPX_CONF_DATA* sipxConfLookup(const SIPX_CONF hConf, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
558 void sipxConfReleaseLock(SIPX_CONF_DATA* pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
559 void sipxConfFree(const SIPX_CONF hConf) ;
560 UtlBoolean validConfData(const SIPX_CONF_DATA* pData) ;
561 
562 void sipxIncSessionCount();
563 void sipxDecSessionCount();
564 int sipxGetSessionCount();
565 
566 UtlBoolean sipxIsCallInFocus() ;
567 
569 
570 const char* sipxContactTypeToString(SIPX_CONTACT_TYPE type) ;
572 
578 void sipxInfoFree(SIPX_INFO_DATA* pData);
579 
586 void sipxInfoObjectFree(SIPX_INFO hInfo);
587 
594 
601 void sipxTransportObjectFree(SIPX_TRANSPORT hTransport);
602 
604  SIPX_CONTACT_TYPE contactType,
605  Url& uri,
606  SIPX_TRANSPORT_TYPE protocol) ;
607  //: Get the external host and port given the contact preference
608 
614 SIPX_INFO_DATA* sipxInfoLookup(const SIPX_INFO hInfo, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
615 
622 void sipxInfoReleaseLock(SIPX_INFO_DATA* pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
623 
624 SIPX_PUBLISH_DATA* sipxPublishLookup(const SIPX_PUB hPub, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
625 void sipxPublishReleaseLock(SIPX_PUBLISH_DATA* pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
626 
627 SIPX_SUBSCRIPTION_DATA* sipxSubscribeLookup(const SIPX_SUB hSub, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
628 void sipxSubscribeReleaseLock(SIPX_SUBSCRIPTION_DATA* pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger& oneBackInStack);
629 
636 
644 
648 void sipxTransportDestroyAll(const SIPX_INST hInst) ;
649 
657 SIPXTAPI_API void sipxLogEntryAdd(OsSysLogPriority logLevel,
658  const char *format,
659  ...);
660 
665 SIPXTAPI_API SIPX_RESULT sipxConfigAllowMethod(const SIPX_INST hInst, const char* method, const bool bAllow = true);
666 
670 SIPXTAPI_API SIPX_RESULT sipxGetActiveCallIds(SIPX_INST hInst, int maxCalls, int& actualCalls, UtlString callIds[]) ;
671 
676  const char* earlyDialogHandle,
677  const char* dialogHandle,
678  void* applicationData,
679  int responseCode,
680  const char* responseText,
681  long expiration,
682  const SipMessage* subscribeResponse);
683 
687 void sipxSubscribeClientNotifyCallback(const char* earlyDialogHandle,
688  const char* dialogHandle,
689  void* applicationData,
690  const SipMessage* notifyRequest);
691 
696 
697 
703 
704 
712  SIPX_TONE_ID& xlateId) ;
713 
714 
725  void** ppInstData);
726 
733 
734 
735 #ifdef VOICE_ENGINE
736 
745  SIPXTAPI_API GipsVoiceEngineLib* sipxCallGetVoiceEnginePtr(const SIPX_CALL hCall);
746 
747 
755  SIPXTAPI_API GipsVoiceEngineLib* sipxConfigGetVoiceEnginePtr(const SIPX_INST hInst);
756 
757 #ifdef _WIN32
758 
765  SIPXTAPI_API GIPSAECTuningWizard* sipxConfigGetVoiceEngineAudioWizard();
766 #endif
767 
768 #ifdef VIDEO
769 
776  SIPXTAPI_API GipsVideoEnginePlatform* sipxConfigGetVideoEnginePtr(const SIPX_INST hInst);
777 #endif VIDEO
778 
785  SIPXTAPI_API SIPX_RESULT sipxCreateLocalAudioConnection(const SIPX_INST hInst);
786 
794  SIPXTAPI_API SIPX_RESULT sipxDestroyLocalAudioConnection(const SIPX_INST hInst);
795 
804  SIPXTAPI_API SIPX_RESULT sipxEnableAudioLogging(const SIPX_INST hInst, bool bEnable);
805 
806 #else /* not VoiceEngine */
807 
815  SIPXTAPI_API CpMediaInterface* sipxCallGetCpMediaInterface(const SIPX_CALL hCall);
816 
825 #endif
826 
827 
828 UtlBoolean sipxCallSetRemoveInsteadofDrop(SIPX_CALL hCall) ;
830 
832  SIPX_EVENT_CALLBACK_PROC pCallbackProc,
833  void *pUserData) ;
834 
836  SIPX_EVENT_CALLBACK_PROC pCallbackProc,
837  void* pUserData) ;
838 void sipxUpdateListeners(SIPX_INST hOldInst, SIPX_INST hNewInst) ;
839 
849 
856 
858 {
859 public:
860  void generateSrtpKey(SIPX_SECURITY_ATTRIBUTES& securityAttrib);
861  void setDbLocation(SIPX_SECURITY_ATTRIBUTES& securityAttrib, const char* dbLocation);
862  void setMyCertNickname(SIPX_SECURITY_ATTRIBUTES& securityAttrib, const char* myCertNickname);
863  void setDbPassword(SIPX_SECURITY_ATTRIBUTES& securityAttrib, const char* dbPassword);
864 
865 };
866 
867 class KeepaliveEventDispatcher : public OsNatKeepaliveListener
868 {
869 public:
871  : OsNatKeepaliveListener()
872  {
873  m_pSrc = pSrc ;
874  } ;
875 
877 
878  virtual void OnKeepaliveStart(const OsNatKeepaliveEvent& event)
879  {
881  (SIPX_KEEPALIVE_TYPE) event.type,
882  event.remoteAddress, event.remotePort,
883  event.keepAliveSecs,
884  event.mappedAddress, event.mappedPort) ;
885  }
886 
887  virtual void OnKeepaliveStop(const OsNatKeepaliveEvent& event)
888  {
890  (SIPX_KEEPALIVE_TYPE) event.type,
891  event.remoteAddress, event.remotePort,
892  event.keepAliveSecs,
893  event.mappedAddress, event.mappedPort) ;
894  }
895 
896  virtual void OnKeepaliveFeedback(const OsNatKeepaliveEvent& event)
897  {
899  (SIPX_KEEPALIVE_TYPE) event.type,
900  event.remoteAddress, event.remotePort,
901  event.keepAliveSecs,
902  event.mappedAddress, event.mappedPort) ;
903  }
904 
905  virtual void OnKeepaliveFailure(const OsNatKeepaliveEvent& event)
906  {
908  (SIPX_KEEPALIVE_TYPE) event.type,
909  event.remoteAddress, event.remotePort,
910  event.keepAliveSecs,
911  event.mappedAddress, event.mappedPort) ;
912  }
913 
914 protected:
915  void* m_pSrc ;
916 } ;
917 
918 
919 
920 #endif /* ] _SIPXTAPIINTERNAL_H */
SIPX_INTERNAL_CALLSTATE state
Definition: sipXtapiInternal.h:219
UtlString * pPreferences
List of preferred codecs.
Definition: sipXtapiInternal.h:106
void(* sipxMediaCallbackFn)(const void *pSrc, const char *szCallId, const char *szRemoteAddress, SIPX_MEDIA_EVENT event, SIPX_MEDIA_CAUSE cause, SIPX_MEDIA_TYPE type, void *pEventData)
Definition: sipXtapiInternal.h:394
Definition: sipXtapiInternal.h:192
struct NOISE_REDUCTION_SETTING NOISE_REDUCTION_SETTING
UtlString * pResourceId
Definition: sipXtapiInternal.h:274
bool bShortNames
short names in sip messages >
Definition: sipXtapiInternal.h:167
CONF_HOLD_STATE confHoldState
Definition: sipXtapiInternal.h:247
SIPX_KEEPALIVE_CAUSE
Enumeration of possible KEEPALIVE cause codes (EVENT_CATEGORY_KEEPALIVE)
Definition: sipXtapiEvents.h:605
Definition: SipSession.h:33
SIPX_AEC_MODE
SIPX_AEC_MODE defines different AEC modes.
Definition: sipXtapi.h:961
SIPX_CALLSTATE_CAUSE lastCallstateCause
Definition: sipXtapiInternal.h:212
SIPX_AUDIO_BANDWIDTH_ID fallBack
Fallback id if codec setting fails.
Definition: sipXtapiInternal.h:105
char device[MAX_VIDEO_DEVICE_LENGTH]
Desired auto device.
Definition: sipXtapiInternal.h:70
void sipxConfReleaseLock(SIPX_CONF_DATA *pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
UtlString * contactAddress
Definition: sipXtapiInternal.h:199
void sipxFireLineEvent(const void *pSrc, const char *szLineIdentifier, SIPX_LINESTATE_EVENT event, SIPX_LINESTATE_CAUSE cause, const char *bodyBytes=NULL)
Fires a Line Event to the listeners.
SipUserAgent * pSipUserAgent
Definition: sipXtapiInternal.h:128
void sipxLineObjectFree(const SIPX_LINE hLine)
SIPX_RESULT __sipxEventListenerRemove(const SIPX_INST hInst, SIPX_EVENT_CALLBACK_PROC pCallbackProc, void *pUserData)
void sipxTransportDestroyAll(const SIPX_INST hInst)
Destroy all external transports for a given instance.
SIPX_TRANSPORT hTransport
Definition: sipXtapiInternal.h:248
bool bEnabled
Is AGC enabled?
Definition: sipXtapiInternal.h:89
#define CONF_MAX_CONNECTIONS
Max number of conference participants.
Definition: sipXtapi.h:92
unsigned int SIPX_LINE
The SIPX_LINE handle represents an inbound or outbound identity.
Definition: sipXtapi.h:820
bool bHoldAfterConnect
Definition: sipXtapiInternal.h:223
Definition: sipXtapiInternal.h:253
bool bInitialized
Is the data valid.
Definition: sipXtapiInternal.h:112
HttpBody * pContent
Definition: sipXtapiInternal.h:276
SipXMessageObserver * pMessageObserver
Definition: sipXtapiInternal.h:156
SIPX_CALLSTATE_CAUSE
Callstate cause events identify the reason for a Callstate event or provide more detail.
Definition: sipXtapiEvents.h:244
An INFO event signals the application layer that an INFO message was sent to this user agent...
Definition: sipXtapiEvents.h:805
SIPX_MEDIA_EVENT lastLocalMediaAudioEvent
Definition: sipXtapiInternal.h:214
OsRWMutex * pMutex
Definition: sipXtapiInternal.h:284
SIPX_NOISE_REDUCTION_MODE mode
Is NR enabled?
Definition: sipXtapiInternal.h:96
Transaction and Transport manager for SIP stack.
Definition: SipUserAgent.h:157
UtlString * pDialogHandle
Definition: sipXtapiInternal.h:283
SdpCodec ** sdpCodecArray
Pointer to an array of codecs.
Definition: sipXtapiInternal.h:107
SIPXTAPI_API SIPX_RESULT sipxGetActiveCallIds(SIPX_INST hInst, int maxCalls, int &actualCalls, UtlString callIds[])
Get the list of active calls for the specified call manager instance.
UtlBoolean sipxCallSetState(SIPX_CALL hCall, SIPX_CALLSTATE_EVENT event, SIPX_CALLSTATE_CAUSE cause)
SIPXTAPI_API SIPX_RESULT sipxCallGetConnectionMediaInterface(const SIPX_CALL hCall, void **ppInstData)
Gets an CpMediaInterface pointer, associated with the call connection.
SIPX_INSTANCE_DATA * pInst
Definition: sipXtapiInternal.h:201
UtlBoolean sipxRemoveCallHandleFromConf(const SIPX_CONF hConf, const SIPX_CALL hCall)
SIPX_EVENT_CALLBACK_PROC pCallbackProc
Definition: sipXtapiInternal.h:370
SIPX_INTERNAL_CALLSTATE
Definition: sipXtapiInternal.h:178
void sipxLineReleaseLock(SIPX_LINE_DATA *pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
void sipxEnableListeners()
Enable all listener callbacks (default setting)
SIPXTAPI_API SIPX_RESULT sipxFlushHandles()
Flush handles to remove peaks between test cases – this WILL leak memory.
SIPXTAPI_API SIPX_RESULT sipxTranslateToneId(const SIPX_TONE_ID toneId, SIPX_TONE_ID &xlateId)
Translate tone ids to implementation specific codes.
bool bTonePlaying
Set to true if sipxCallHold has been invoked.
Definition: sipXtapiInternal.h:230
void sipxDisableListeners()
Disable all listener callbacks – events will be dropped.
virtual void OnKeepaliveFeedback(const OsNatKeepaliveEvent &event)
Definition: sipXtapiInternal.h:896
int iVol
Gain setting (VOLUME_MIN-VOLUME_MAX)
Definition: sipXtapiInternal.h:76
virtual void OnKeepaliveStart(const OsNatKeepaliveEvent &event)
Definition: sipXtapiInternal.h:878
SipRefreshManager * pSipRefreshManager
Definition: sipXtapiInternal.h:135
SIPX_INSTANCE_DATA * pInst
Definition: sipXtapiInternal.h:372
The SipXEventDispatcher adds a listener to sipXtapi and then redispatches all of the sipXtapi events ...
Definition: SipXEventDispatcher.h:62
int nEnergyLevelNotificationPeriodMs
period of time between each stream energy level notification>
Definition: sipXtapiInternal.h:173
char cRoutingId[64]
Definition: sipXtapiInternal.h:359
char szTransport[MAX_TRANSPORT_NAME]
Definition: sipXtapiInternal.h:353
const void * pUserData
Definition: sipXtapiInternal.h:358
Disconnected or failed.
Definition: sipXtapiInternal.h:188
Definition: sipXtapiInternal.h:263
SIPX_TRANSPORT_DATA & operator=(const SIPX_TRANSPORT_DATA &ref)
Assignment operator.
Definition: sipXtapiInternal.h:311
bool bInitialized
Is the data valid.
Definition: sipXtapiInternal.h:82
int nFilesPlaying
Definition: sipXtapiInternal.h:231
void sipxSubscribeClientNotifyCallback(const char *earlyDialogHandle, const char *dialogHandle, void *applicationData, const SipMessage *notifyRequest)
Callback for subscription client NOTIFY content.
void sipxTransportFree(SIPX_TRANSPORT_DATA *pData)
Frees the TRANSPORT structure allocated by a call to sipxConfigExternalTransportAdd.
SIPX_CALL sipxCallLookupHandle(const UtlString &callID, const void *pSrc)
struct SIPX_CALL_DATA SIPX_CALL_DATA
UtlBoolean sipxCallSetRemoveInsteadofDrop(SIPX_CALL hCall)
void sipxCallObjectFree(const SIPX_CALL hCall, const OsStackTraceLogger &oneBackInStack)
void sipxTransportObjectFree(SIPX_TRANSPORT hTransport)
Releases the TRANSPORT handle created sipxConfigExternalTransportAdd Also cals sipxTransportFree.
SIPX_AUDIO_BANDWIDTH_ID codecPref
Numeric Id of codec preference.
Definition: sipXtapiInternal.h:104
SIPX_CALL_DATA * sipxCallLookup(const SIPX_CALL hCall, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
SIPXTAPI_API SIPX_RESULT sipxStructureIntegrityCheck()
UtlString * pEventType
Definition: sipXtapiInternal.h:275
Early dialog: inbound.
Definition: sipXtapiInternal.h:183
Definition: sipXtapiInternal.h:180
SIPX_VIDEO_BANDWIDTH_ID
Video Codec bandwidth ids are used to select a group of codecs with equal or lower bandwidth requirem...
Definition: sipXtapi.h:224
void sipxInfoFree(SIPX_INFO_DATA *pData)
Frees the INFO structure allocated by a call to sipxCallSendInfo.
Early dialog: outbound.
Definition: sipXtapiInternal.h:182
KeepaliveEventDispatcher(void *pSrc)
Definition: sipXtapiInternal.h:870
SIPX_TRANSPORT_DATA & copy(const SIPX_TRANSPORT_DATA &ref)
Definition: sipXtapiInternal.h:319
const char * sipxTransportTypeToString(SIPX_TRANSPORT_TYPE type)
static const bool isCustomTransport(const SIPX_TRANSPORT_DATA *const pTransport)
Definition: sipXtapiInternal.h:337
Definition: sipXtapiInternal.h:238
SubscriptionState
Definition: SipSubscribeClient.h:69
SIPX_INSTANCE_DATA * pInst
Definition: sipXtapiInternal.h:256
UtlBoolean bInFocus
Definition: sipXtapiInternal.h:220
bool bInitialized
Is the data valid.
Definition: sipXtapiInternal.h:67
void sipxPublisherDestroyAll(const SIPX_INST hInst)
Remove/Destroy all Publishers.
Definition: sipXtapiInternal.h:80
SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalAudioConnectionId(const SIPX_INST hInst, int &connectionId)
Returns the 'local' connection id.
void sipxSubscribeReleaseLock(SIPX_SUBSCRIPTION_DATA *pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
OsRWMutex * pMutex
Definition: sipXtapiInternal.h:277
int numCodecs
Number of codecs.
Definition: sipXtapiInternal.h:113
int nLines
Counter for inprocess lines.
Definition: sipXtapiInternal.h:162
struct AGC_SETTING AGC_SETTING
SipSession * pSession
Definition: sipXtapiInternal.h:267
Definition: sipXtapiInternal.h:379
SIPX_NOISE_REDUCTION_MODE
SIPX_NOISE_REDUCTION_MODE defines the various noise reduction options.
Definition: sipXtapi.h:1001
void sipxGetContactHostPort(SIPX_INSTANCE_DATA *pData, SIPX_CONTACT_TYPE contactType, Url &uri, SIPX_TRANSPORT_TYPE protocol)
OsRWMutex * pMutex
Definition: sipXtapiInternal.h:268
SIPXTAPI_API UtlBoolean sipxCallGetState(SIPX_CALL hCall, SIPX_CALLSTATE_EVENT &lastEvent, SIPX_CALLSTATE_CAUSE &lastCause, SIPX_INTERNAL_CALLSTATE &state)
virtual void OnKeepaliveFailure(const OsNatKeepaliveEvent &event)
Definition: sipXtapiInternal.h:905
bool(SIPX_CALLING_CONVENTION * SIPX_EVENT_CALLBACK_PROC)(SIPX_EVENT_CATEGORY category, void *pInfo, void *pUserData)
Signature for event callback/observer.
Definition: sipXtapiEvents.h:145
void sipxCreateExternalTransportContacts(const SIPX_TRANSPORT_DATA *pData)
Called from sipxConfigExternalTransportAdd, this function creates LOCAL, STUN, and RELAY contact reco...
unsigned int SIPX_CALL
The SIPX_CALL handle represents a call or connection between the user agent and another party...
Definition: sipXtapi.h:828
bool bIsReliable
Definition: sipXtapiInternal.h:352
SPEAKER_TYPE
Speaker output types are used to differentiate between the logical ringer (used to alert user of in i...
Definition: sipXtapi.h:165
Specialization of HttpMessage to contain and manipulate SIP messages.
Definition: SipMessage.h:343
The keepalive process has obtained information regarding your NAT mapped address (or local address)...
Definition: sipXtapiEvents.h:589
UtlBoolean sipxCallGetCommonData(SIPX_CALL hCall, SIPX_INSTANCE_DATA **pInst, UtlString *pStrCallId, UtlString *pStrRemoteAddress, UtlString *pLineId, UtlString *pGhostCallId=NULL, UtlString *pContactAddress=NULL)
SipSubscribeServer * pSubscribeServer
Definition: sipXtapiInternal.h:133
SIPX_INSTANCE_DATA * pInst
Definition: sipXtapiInternal.h:244
SIPX_CONF hConf
Definition: sipXtapiInternal.h:203
SIPX_TRANSPORT_DATA()
Definition: sipXtapiInternal.h:291
bool bInitialized
Is the data valid.
Definition: sipXtapiInternal.h:75
void sipxCallReleaseLock(SIPX_CALL_DATA *, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
CONF_HOLD_STATE
Definition: sipXtapiInternal.h:234
SIPX_INSTANCE_DATA * pInst
Definition: sipXtapiInternal.h:273
virtual ~KeepaliveEventDispatcher()
Definition: sipXtapiInternal.h:876
int SIPX_CONTACT_ID
Type for storing Contact Record identifiers.
Definition: sipXtapi.h:632
VIDEO_CODEC_PREFERENCES videoCodecSetting
Definition: sipXtapiInternal.h:147
SIPX_CALLSTATE_EVENT
Major call state events identify significant changes in the state of a call.
Definition: sipXtapiEvents.h:163
UtlBoolean sipxCallIsRemoveInsteadOfDropSet(SIPX_CALL hCall)
void * pUserData
Definition: sipXtapiInternal.h:371
SIPX_EVENT_CATEGORY
Enum with all of the possible event types.
Definition: sipXtapiEvents.h:54
SIPX_INSTANCE_DATA * pInst
Definition: sipXtapiInternal.h:282
int connectionId
Definition: sipXtapiInternal.h:221
Definition: sipXtapiInternal.h:65
Definition: sipXtapiInternal.h:280
UtlBoolean validLineData(const SIPX_LINE_DATA *)
Class for containing SIP dialog state information.
Definition: SipSubscribeClient.h:64
SIPX_VIDEO_DISPLAY display
Definition: sipXtapiInternal.h:205
SipDialogMgr * pDialogManager
Definition: sipXtapiInternal.h:136
struct SIPX_INSTANCE_DATA SIPX_INSTANCE_DATA
int iLocalPort
Definition: sipXtapiInternal.h:355
UtlBoolean validConfData(const SIPX_CONF_DATA *pData)
size_t nCalls
Definition: sipXtapiInternal.h:245
Definition: sipXtapiInternal.h:86
char szLocalIp[32]
Definition: sipXtapiInternal.h:354
unsigned long SIPX_CONF
The SIPX_CONF handle represents a collection of CALLs that have bridge (mixed) audio.
Definition: sipXtapi.h:836
void sipxInfoReleaseLock(SIPX_INFO_DATA *pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
Unlocks the mutex associated with the INFO DATA.
SIPX_MEDIA_EVENT lastRemoteMediaAudioEvent
Definition: sipXtapiInternal.h:216
Definition: sipXtapiInternal.h:857
internal sipXtapi structure that binds a an event callback proc with an instance pointer and user dat...
Definition: sipXtapiInternal.h:368
SipRefreshMgr * pRefreshManager
Definition: sipXtapiInternal.h:132
bool bInitialized
Definition: sipXtapiInternal.h:122
SIPX_TRANSPORT_DATA(const SIPX_TRANSPORT_DATA &ref)
Copy constructor.
Definition: sipXtapiInternal.h:306
OsRWMutex * pMutex
Definition: sipXtapiInternal.h:357
void sipxUpdateListeners(SIPX_INST hOldInst, SIPX_INST hNewInst)
void(* sipxCallEventCallbackFn)(const void *pSrc, const char *szCallId, SipSession *pSession, const char *szRemoteAddress, SIPX_CALLSTATE_EVENT event, SIPX_CALLSTATE_CAUSE cause, void *pEventData, const char *assertedIdentity)
Definition: sipXtapiInternal.h:385
Definition: sipXtapiInternal.h:236
SIPX_CONTACT_TYPE
SIPX_CONTACT_TYPE is an enumeration of possible address types for use with SIP contacts and SDP conne...
Definition: sipXtapi.h:524
Remotely held call.
Definition: sipXtapiInternal.h:186
bool bRouteByUser
Definition: sipXtapiInternal.h:360
struct TONE_STATES TONE_STATES
SIPX_LINE sipxLineLookupHandle(const char *szLineURI, const char *requestUri)
UtlString * ghostCallId
Definition: sipXtapiInternal.h:196
Top level class for accepting and processing SUBSCRIBE requests.
Definition: SipSubscribeServer.h:102
void * GipsVideoEnginePlatform
Definition: GipsDefs.h:52
int sipxGetSessionCount()
void sipxConfFree(const SIPX_CONF hConf)
bool bCallHoldInvoked
Used if we are the transfer target, and the replaced call is HELD or REMOTE_HELD, then this flag is s...
Definition: sipXtapiInternal.h:228
SIPX_TRANSPORT_WRITE_PROC pFnWriteProc
Definition: sipXtapiInternal.h:356
UtlString * callId
Definition: sipXtapiInternal.h:194
A keepalive attempt has been started.
Definition: sipXtapiEvents.h:584
Definition: sipXtapiInternal.h:378
SdpCodec ** sdpCodecArray
Pointer to an array of codecs.
Definition: sipXtapiInternal.h:117
SPEAKER_TYPE enabledSpeaker
Definition: sipXtapiInternal.h:143
void sipxCallDestroyAll(const SIPX_INST hInst)
Destroy all calls and send simulated DESTROY events.
Class for refreshing SIP subscriptions and registrations.
Definition: SipDialogMgr.h:42
SIPX_CONTACT_ID contactId
Definition: sipXtapiInternal.h:260
SIPX_INFO_INFO infoData
Definition: sipXtapiInternal.h:265
SipLineMgr * pLineManager
Definition: sipXtapiInternal.h:131
int numCodecs
Number of codecs.
Definition: sipXtapiInternal.h:103
SIPX_MEDIA_EVENT
Enumeration of possible media events.
Definition: sipXtapiEvents.h:490
bool bDateHeader
use Date header in sip messages>
Definition: sipXtapiInternal.h:169
SipSubscribeClient * pSubscribeClient
Definition: sipXtapiInternal.h:134
Definition: sipXtapiInternal.h:241
SIPX_CONTACT_TYPE sipxCallGetLineContactType(SIPX_CALL hCall)
void sipxFireCallEvent(const void *pSrc, const char *szCallId, SipSession *pSession, const char *szRemoteAddress, SIPX_CALLSTATE_EVENT event, SIPX_CALLSTATE_CAUSE cause, void *pEventData=NULL, const char *szRemoteAssertedIdentity=NULL)
Fire events to interested listeners (call events only).
Definition: sipXtapiInternal.h:126
void sipxInfoObjectFree(SIPX_INFO hInfo)
Releases the INFO handle created by a call to sipxCallSendInfo.
Class for refreshing SIP subscriptions and registrations.
Definition: SipRefreshManager.h:45
UtlBoolean sipxCallGetMediaState(SIPX_CALL hCall, SIPX_MEDIA_EVENT &lastLocalMediaAudioEvent, SIPX_MEDIA_EVENT &lastLocalMediaVideoEvent, SIPX_MEDIA_EVENT &lastRemoteMediaAudioEvent, SIPX_MEDIA_EVENT &lastRemoteMediaVideoEvent)
UtlString strCallId
Definition: sipXtapiInternal.h:243
struct MIC_SETTING MIC_SETTING
SIPX_TONE_ID
DTMF/other tone ids used with sipxCallStartTone/sipxCallStopTone.
Definition: sipXtapi.h:314
SIPX_KEEPALIVE_TYPE
SIPX_KEEPALIVE_TYPEs define different methods of keeping NAT/firewall port open.
Definition: sipXtapi.h:944
void sipxFireKeepaliveEvent(const void *pSrc, SIPX_KEEPALIVE_EVENT event, SIPX_KEEPALIVE_CAUSE cause, SIPX_KEEPALIVE_TYPE type, const char *szRemoteAddress, int remotePort, int keepAliveSecs, const char *szMappedAddress, int mappedPort)
Fires events to interested listener (keepalive events only)
void * m_pSrc
Definition: sipXtapiInternal.h:915
Definition: sipXtapiInternal.h:271
Definition: sipXtapiInternal.h:120
#define SIPXTAPI_API
Assume extern "C" for non-win32 platforms.
Definition: sipXtapi.h:138
bool bMuted
Muted state (regain gain)
Definition: sipXtapiInternal.h:68
UtlBoolean validCallData(SIPX_CALL_DATA *pData)
#define MAX_TRANSPORT_NAME
Definition: sipXtapiInternal.h:287
SipXEventDispatcher * pEventDispatcher
Definition: sipXtapiInternal.h:150
Definition: SipLineMgr.h:67
SIPX_RESULT
SIPX_RESULT is an enumeration with all the possible result/return codes.
Definition: sipXtapi.h:282
UtlString * remoteAddress
Definition: sipXtapiInternal.h:197
UtlBoolean sipxIsCallInFocus()
unsigned long SIPX_SUB
A SIPX_SUB handle represent a subscription to a remote publisher.
Definition: sipXtapi.h:872
Definition: sipXtapiInternal.h:93
SIPX_MEDIA_EVENT lastLocalMediaVideoEvent
Definition: sipXtapiInternal.h:215
SIPX_LINESTATE_CAUSE
Enumeration of possible linestate Event causes.
Definition: sipXtapiEvents.h:369
SIPX_MEDIA_TYPE
Enumeration of possible media event types.
Definition: sipXtapiEvents.h:660
struct VIDEO_CODEC_PREFERENCES VIDEO_CODEC_PREFERENCES
SIPX_TRANSPORT hTransport
Cache the connection id.
Definition: sipXtapiInternal.h:222
struct AEC_SETTING AEC_SETTING
int nCalls
Counter for inprocess calls.
Definition: sipXtapiInternal.h:160
SIPXTAPI_API SIPX_RESULT sipxConfigLoadSecurityRuntime()
Dynamically loads the following NSS runtime libraries, if they can be found: smime3.dll;nss3.dll;nspr4.dll;plc4.dll.
UtlBoolean sipxAddCallHandleToConf(const SIPX_CALL hCall, const SIPX_CONF hConf)
SIPX_CONTACT_TYPE contactType
Definition: sipXtapiInternal.h:258
SIPX_LINE_DATA * sipxLineLookup(const SIPX_LINE hLine, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
SIPX_VIDEO_BANDWIDTH_ID codecPref
Numeric Id of codec preference.
Definition: sipXtapiInternal.h:114
SIPX_VIDEO_BANDWIDTH_ID fallBack
Fallback id if codec setting fails.
Definition: sipXtapiInternal.h:115
OsRWMutex * pMutex
Definition: sipXtapiInternal.h:202
AUDIO_CODEC_PREFERENCES audioCodecSetting
Definition: sipXtapiInternal.h:145
SIPX_TRANSPORT_DATA * sipxTransportLookup(const SIPX_TRANSPORT hTransport, SIPX_LOCK_TYPE type)
Looks up the SIPX_TRANSPORT_DATA structure pointer, given the SIPX_TRANSPORT handle.
void(* sipxLineEventCallbackFn)(const void *pSrc, const char *szLineIdentifier, SIPX_LINESTATE_EVENT event, SIPX_LINESTATE_CAUSE cause, const char *bodyBytes)
Definition: sipXtapiInternal.h:402
UtlString * sessionCallId
Definition: sipXtapiInternal.h:195
void sipxPublishReleaseLock(SIPX_PUBLISH_DATA *pData, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
int nConferences
Counter for inprocess conferences.
Definition: sipXtapiInternal.h:161
UtlBoolean sipxCallSetMediaState(SIPX_CALL hCall, SIPX_MEDIA_EVENT event, SIPX_MEDIA_TYPE type)
bool sipxFireEvent(const void *pSrc, SIPX_EVENT_CATEGORY category, void *pInfo)
Bubbles up all non-line and non-call events to the application layer.
SIPX_CONF_DATA * sipxConfLookup(const SIPX_CONF hConf, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
bool bRtpOverTcp
allow RTP over TCP
Definition: sipXtapiInternal.h:172
SIPX_LOCK_TYPE
Definition: sipXtapiInternal.h:375
virtual void OnKeepaliveStop(const OsNatKeepaliveEvent &event)
Definition: sipXtapiInternal.h:887
void sipxLineRemoveAll(const SIPX_INST hInst)
Remove/Destroy all Lines.
UtlString * pPreferences
List of preferred codecs.
Definition: sipXtapiInternal.h:116
UtlSList * pLineAliases
Definition: sipXtapiInternal.h:259
SIPX_CALLSTATE_EVENT lastCallstateEvent
Remove the call instead of dropping it – this is used as part of consultative transfer when we are t...
Definition: sipXtapiInternal.h:211
void sipxSubscribeDestroyAll(const SIPX_INST hInst)
Remove/Destroy all subscriptions.
void sipxSubscribeClientSubCallback(enum SipSubscribeClient::SubscriptionState newState, const char *earlyDialogHandle, const char *dialogHandle, void *applicationData, int responseCode, const char *responseText, long expiration, const SipMessage *subscribeResponse)
Callback for subscription client state.
SIPX_MEDIA_EVENT lastRemoteMediaVideoEvent
Definition: sipXtapiInternal.h:217
void sipxTransportReleaseLock(SIPX_TRANSPORT_DATA *pData, SIPX_LOCK_TYPE type)
Unlocks the mutex associated with the TRANSPORT DATA.
SIPX_INSTANCE_DATA * pInst
Definition: sipXtapiInternal.h:351
SIPXTAPI_API CpMediaInterface * sipxCallGetCpMediaInterface(const SIPX_CALL hCall)
Get pointer to Sipx media interface for call.
unsigned long SIPX_PUB
The SIPX_PUB handle represent a publisher context.
Definition: sipXtapi.h:860
SIPX_TRANSPORT_TYPE
SIPX_TRANSPORT_TYPE defines various protocols use for signaling transport.
Definition: sipXtapi.h:541
int iGain
Gain setting (GAIN_MIN-GAIN_MAX)
Definition: sipXtapiInternal.h:69
OsMutex * pLock
Definition: sipXtapiInternal.h:159
Definition: sipXtapiInternal.h:288
SIPX_LINESTATE_EVENT
Enumeration of possible linestate Events.
Definition: sipXtapiEvents.h:330
SIPXTAPI_API SIPX_RESULT sipxConfigAllowMethod(const SIPX_INST hInst, const char *method, const bool bAllow=true)
Utility function for setting allowed methods on a instance's user-agent.
Definition: sipXtapiInternal.h:110
Locally held call, bridging.
Definition: sipXtapiInternal.h:187
#define MAX_VIDEO_DEVICE_LENGTH
Max length of video capture device string.
Definition: sipXtapi.h:90
Definition: sipXtapiEvents.h:607
bool(* sipxEventCallbackFn)(const void *pSrc, SIPX_EVENT_CATEGORY category, void *pInfo)
Definition: sipXtapiInternal.h:409
void sipxIncSessionCount()
OsRWMutex * pMutex
Definition: sipXtapiInternal.h:257
Unknown call state.
Definition: sipXtapiInternal.h:181
Url * lineURI
Definition: sipXtapiInternal.h:255
Active call - remote audio.
Definition: sipXtapiInternal.h:184
void sipxDecSessionCount()
void destroyCallData(SIPX_CALL_DATA *pData)
A keepalive process has been stopped.
Definition: sipXtapiEvents.h:599
Definition: sipXtapiInternal.h:237
SIPX_INSTANCE_DATA * pInst
Definition: sipXtapiInternal.h:266
const char * sipxContactTypeToString(SIPX_CONTACT_TYPE type)
unsigned long SIPX_TRANSPORT
The SIPX_TRANSPORT handle represents a user-implementation of a network transport mechanism to be use...
Definition: sipXtapi.h:879
struct AUDIO_CODEC_PREFERENCES AUDIO_CODEC_PREFERENCES
both on hold due to a local hold
Definition: sipXtapiInternal.h:185
unsigned long SIPX_INFO
The SIPX_INFO handle represents a handle to an INFO message sent by a sipXtapi instance.
Definition: sipXtapi.h:849
int nNumFilesPlaying
Definition: sipXtapiInternal.h:249
void * pVoiceEngine
Cache VoiceEngine pointer.
Definition: sipXtapiInternal.h:163
SIPX_TRANSPORT hTransport
Definition: sipXtapiInternal.h:350
Definition: sipXtapiInternal.h:867
SIPX_SECURITY_ATTRIBUTES security
Definition: sipXtapiInternal.h:204
URL parser and constructor.
Definition: Url.h:90
SIPX_KEEPALIVE_EVENT
Enumeration of possible KEEPALIVE events (EVENT_CATEGORY_KEEPALIVE)
Definition: sipXtapiEvents.h:582
SIPX_LINE sipxLineLookupHandleByURI(const char *szURI)
TONE_STATES toneStates
Definition: sipXtapiInternal.h:148
bool bInitialized
Is the data valid.
Definition: sipXtapiInternal.h:95
struct SPEAKER_SETTING SPEAKER_SETTING
Class that is an OsServerTask, and has a message queue that observes SIP messages.
Definition: SipXMessageObserver.h:40
SIPX_RESULT __sipxEventListenerAdd(const SIPX_INST hInst, SIPX_EVENT_CALLBACK_PROC pCallbackProc, void *pUserData)
bool bInitialized
Is the data valid.
Definition: sipXtapiInternal.h:102
SIPX_LINE hLine
Definition: sipXtapiInternal.h:200
class to contain an HTTP body
Definition: HttpBody.h:55
SIPX_CONF sipxCallGetConf(SIPX_CALL hCall)
Definition: SipRefreshMgr.h:46
OsNotification * pStunNotification
Signals the initial stun success/failure when calling sipXconfigEnableStun.
Definition: sipXtapiInternal.h:157
void sipxFireMediaEvent(const void *pSrc, const char *szCallId, const char *szRemoteAddress, SIPX_MEDIA_EVENT event, SIPX_MEDIA_CAUSE cause, SIPX_MEDIA_TYPE type, void *pEventData=NULL)
Fires events to interested listener (media events only)
Structure used to pass window handle/filter interface for video calls.
Definition: sipXtapi.h:570
bool bAllowHeader
use allow header in sip messages>
Definition: sipXtapiInternal.h:168
Container class for security attributes.
Definition: sipXtapi.h:409
CallManager * pCallManager
Definition: sipXtapiInternal.h:130
AGC_SETTING agcSetting
Definition: sipXtapiInternal.h:141
Definition: sipXtapiInternal.h:100
AEC_SETTING aecSetting
Definition: sipXtapiInternal.h:140
SIPX_AUDIO_BANDWIDTH_ID
Codec bandwidth ids are used to select a group of codecs with equal or lower bandwidth requirements...
Definition: sipXtapi.h:192
SIPXTAPI_API void sipxLogEntryAdd(OsSysLogPriority logLevel, const char *format,...)
Adds a log entry to the system log - made necessary to add logging capability on the API level...
SIPX_AEC_MODE mode
Is AEC enabled?
Definition: sipXtapiInternal.h:83
SIPX_INSTANCE_DATA * findSessionByCallManager(const void *pCallManager)
SIPXTAPI_API OsMsgQ * sipxCallGetMediaConrolQueue(const SIPX_CALL hCall)
Get pointer to Sipx media control message queue for call.
void * SIPX_INST
The SIPX_INST handle represents an instance of a user agent.
Definition: sipXtapi.h:811
FAILURE events are only fired when the physical send fails.
Definition: sipXtapiEvents.h:594
void sipxConferenceDestroyAll(const SIPX_INST hInst)
Remove/Destroy all Conferences.
SIPX_SUBSCRIPTION_DATA * sipxSubscribeLookup(const SIPX_SUB hSub, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
SIPXTAPI_API SIPX_RESULT sipxCheckForHandleLeaks()
Look for leaks in internal handles.
SIPX_PUBLISH_DATA * sipxPublishLookup(const SIPX_PUB hPub, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
OsRWMutex * pMutex
Definition: sipXtapiInternal.h:250
Definition: sipXtapiInternal.h:377
UtlString * lineURI
Definition: sipXtapiInternal.h:198
bool(SIPX_CALLING_CONVENTION * SIPX_TRANSPORT_WRITE_PROC)(SIPX_TRANSPORT hTransport, const char *szDestinationIp, const int iDestPort, const char *szLocalIp, const int iLocalPort, const void *pData, const size_t nData, const void *pUserData)
External Transport callback definition.
Definition: sipXtapi.h:897
bool bInitialized
Is the data valid.
Definition: sipXtapiInternal.h:88
SdpCodecList * pCodecFactory
Definition: sipXtapiInternal.h:129
UtlBoolean bRemoveInsteadOfDrop
Definition: sipXtapiInternal.h:206
sipXtapi main API declarations
Definition: sipXtapiInternal.h:73
NOISE_REDUCTION_SETTING nrSetting
Definition: sipXtapiInternal.h:142
MIC_SETTING micSetting
Definition: sipXtapiInternal.h:138
SIPX_INFO_DATA * sipxInfoLookup(const SIPX_INFO hInfo, SIPX_LOCK_TYPE type, const OsStackTraceLogger &oneBackInStack)
Looks up the SIPX_INFO_DATA structure pointer, given the SIPX_INFO handle.
#define MAX_AUDIO_DEVICES
Max number of input/output audio devices.
Definition: sipXtapi.h:88
SIPX_MEDIA_CAUSE
Enumeration of possible media event causes.
Definition: sipXtapiEvents.h:638
KeepaliveEventDispatcher * pKeepaliveDispatcher
Definition: sipXtapiInternal.h:175

sipXtackLib home page