sipXcallLib home page


sipXtapi.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005-2021 SIPez LLC. All rights reserved.
3 //
4 // Copyright (C) 2007 Robert J. Andreasen, Jr.
5 // Licensed to SIPfoundry under a Contributor Agreement.
6 //
7 // Copyright (C) 2004-2009 SIPfoundry Inc.
8 // Licensed by SIPfoundry under the LGPL license.
9 //
10 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
11 // Licensed to SIPfoundry under a Contributor Agreement.
12 //
13 // $$
15 
29 #ifndef _sipXtapi_h_
30 #define _sipXtapi_h_
31 
32 #include <memory.h>
33 #include <string.h>
34 #include <stddef.h> // size_t
35 
36 // SYSTEM INCLUDES
37 #ifdef DIRECT_SHOW_RENDER
38 #include <windows.h>
39 #include <Unknwn.h>
40 # if !defined __strmif_h__
41 # include <strmif.h>
42 # endif
43 #endif
44 
45 // APPLICATION INCLUDES
46 
47 // DEFINES
48 
54 #ifdef SIPX_USE_STDCALL
55 #define SIPX_CALLING_CONVENTION __stdcall
56 #else
57 #define SIPX_CALLING_CONVENTION
58 #endif
59 
60 #define DEFAULT_UDP_PORT 5060
61 #define DEFAULT_TCP_PORT 5060
62 #define DEFAULT_TLS_PORT 5061
63 #define DEFAULT_RTP_START_PORT 9000
67 #define DEFAULT_STUN_PORT 3478
69 #define DEFAULT_CONNECTIONS 32
70 #define DEFAULT_IDENTITY "sipx"
73 #define DEFAULT_BIND_ADDRESS "0.0.0.0"
75 #define GAIN_MIN 0
76 #define GAIN_MAX 100
77 #define GAIN_DEFAULT 70
79 #define VOLUME_MIN 0
80 #define VOLUME_MAX 100
81 #define VOLUME_DEFAULT 70
83 #define MAX_AUDIO_DEVICES 64
84 #define MAX_VIDEO_DEVICES 8
85 #define MAX_VIDEO_DEVICE_LENGTH 256
87 #define CONF_MAX_CONNECTIONS 32
88 #define SIPX_MAX_IP_ADDRESSES 32
89 #define SIPX_MAX_CALLS 64
93 #define SIPX_PORT_DISABLE -1
96 #define SIPX_PORT_AUTO -2
101 #define SIPXTAPI_VERSION_STRING "sipXtapi SDK %s.%s %s (built %s)"
102 #define SIPXTAPI_VERSION "3.3.0"
104 #define SIPXTAPI_BUILDNUMBER "0"
106 #define SIPXTAPI_BUILD_WORD 3,3,0,0
108 #define SIPXTAPI_FULL_VERSION "3.3.0.0"
110 #define SIPXTAPI_BUILDDATE "0000-00-00"
112 #define SIPX_MAX_ADAPTER_NAME_LENGTH 256
114 #if defined(_WIN32)
115 # ifdef SIPXTAPI_EXPORTS
116 # define SIPXTAPI_API extern "C" __declspec(dllexport)
117 # elif defined(SIPXTAPI_STATIC)
118 # define SIPXTAPI_API extern "C"
119 # else
120 # define SIPXTAPI_API extern "C" __declspec(dllimport)
121 # endif
122 #else
123 # define SIPXTAPI_API extern "C"
124 #endif
125 
126 // MACROS
127 // EXTERNAL FUNCTIONS
128 // EXTERNAL VARIABLES
129 // CONSTANTS
130 
131 // FORWARD DECLARATIONS
132 class securityHelper;
133 
134 // STRUCTS
135 
136 // TYPEDEFS
140 typedef enum MEDIA_TYPE
141 {
142  AUDIO_MEDIA,
144 } MEDIA_TYPE;
145 
150 typedef enum SPEAKER_TYPE
151 {
152  SPEAKER,
153  RINGER
154 } SPEAKER_TYPE ;
177 typedef enum SIPX_AUDIO_BANDWIDTH_ID
178 {
193 
209 typedef enum SIPX_VIDEO_BANDWIDTH_ID
210 {
221 
227 {
232 
236 typedef enum SIPX_VIDEO_FORMAT
237 {
238  VIDEO_FORMAT_CIF=0,
248 typedef enum SIPX_AUDIO_DATA_FORMAT
249 {
250  RAW_PCM_16=0
252 
260 typedef void (*sipxLogCallback)(const char* szPriority,
261  const char* szSource,
262  const char* szMsg);
267 typedef enum SIPX_RESULT
268 {
269  SIPX_RESULT_SUCCESS = 0,
299 typedef enum SIPX_TONE_ID
300 {
303  ID_DTMF_0 = '0',
304  ID_DTMF_1 = '1',
305  ID_DTMF_2 = '2',
306  ID_DTMF_3 = '3',
307  ID_DTMF_4 = '4',
308  ID_DTMF_5 = '5',
309  ID_DTMF_6 = '6',
310  ID_DTMF_7 = '7',
311  ID_DTMF_8 = '8',
312  ID_DTMF_9 = '9',
313  ID_DTMF_STAR = '*',
315  ID_DTMF_FLASH = '!',
336 } SIPX_TONE_ID ;
338 typedef SIPX_TONE_ID TONE_ID ;
344 {
348  SIPX_WAVE_GSM,
351 
362 typedef enum SIPX_LOG_LEVEL
363 {
368  LOG_LEVEL_ERR,
373 } SIPX_LOG_LEVEL ;
374 
375 #define MAX_SRTP_KEY_LENGTH 31
376 #define MAX_SMIME_KEY_LENGTH 2048
377 #define MAX_PKCS12_KEY_LENGTH 4096
378 #define MAX_PASSWORD_LENGTH 32
383 enum SIPX_SRTP_LEVEL
384 {
389 };
395 {
396  public:
397  friend class SecurityHelper;
400  {
404  memset(szSrtpKey, 0, sizeof(szSrtpKey));
405  memset(szSmimeKeyDer, 0, sizeof(szSmimeKeyDer));
406  memset(dbLocation, 0, sizeof(dbLocation));
407  memset(szMyCertNickname, 0, sizeof(szMyCertNickname));
408  memset(szCertDbPassword, 0, sizeof(szCertDbPassword));
409  }
412  {
413  copyData(ref);
414  }
416  virtual ~SIPX_SECURITY_ATTRIBUTES() { }
419  {
420  if (this == &ref) return *this;
421  copyData(ref);
422  return *this;
423  }
428  void setSrtpKey(const char* szKey, const int length)
429  {
430  int safeLen = (length < (int) sizeof(szSrtpKey)) ? length : (int) sizeof(szSrtpKey);
431  memcpy(szSrtpKey, szKey, safeLen);
432  nSrtpKeyLength = safeLen;
433  }
438  void setSmimeKey(const char* szKey, const int length)
439  {
440  int safeLen = (length < (int) sizeof(szSmimeKeyDer)) ? length : (int) sizeof(szSmimeKeyDer);
441  memcpy(szSmimeKeyDer, szKey, safeLen);
442  nSmimeKeyLength = safeLen;
443  }
447  void setSecurityLevel(SIPX_SRTP_LEVEL security) { nSrtpLevel = security; }
451  const char* getSrtpKey() const { return szSrtpKey; }
456  const char* getSmimeKey() const { return szSmimeKeyDer; }
460  const int getSrtpKeyLength() const { return nSrtpKeyLength; }
465  const int getSmimeKeyLength() const { return nSmimeKeyLength; }
469  const int getSecurityLevel() const {return nSrtpLevel;}
475  const char* getCertDbLocation() const { return dbLocation; }
476  private:
479  int nSrtpKeyLength;
481  int nSmimeKeyLength;
482  // internally set private member, use sipxConfigSetSecurityParameters
483  char dbLocation[256];
484  // internally set private member, use sipxConfigSetSecurityParameters
485  char szMyCertNickname[32];
486  // internally set private member, use sipxConfigSetSecurityParameters
488  void copyData(const SIPX_SECURITY_ATTRIBUTES& ref)
489  {
490  nSrtpLevel = ref.nSrtpLevel;
491  nSrtpKeyLength = ref.nSrtpKeyLength;
492  nSmimeKeyLength = ref.nSmimeKeyLength;
493  memcpy(szSrtpKey, ref.szSrtpKey, ref.nSrtpKeyLength);
494  memcpy(szSmimeKeyDer, ref.szSmimeKeyDer, ref.nSmimeKeyLength);
495  strncpy(dbLocation, ref.dbLocation, sizeof(dbLocation) - 1);
496  strncpy(szMyCertNickname, ref.szMyCertNickname, sizeof(szMyCertNickname) - 1);
497  strncpy(szCertDbPassword, ref.szCertDbPassword, sizeof(szCertDbPassword) - 1);
498  }
499 };
509 typedef enum
510 {
511  CONTACT_LOCAL,
513  CONTACT_RELAY,
516  CONTACT_AUTO = -1,
518  CONTACT_ALL = -2
520 
526 typedef enum
527 {
530  TRANSPORT_TLS = 3,
538 typedef void* SIPX_WINDOW_HANDLE;
539 
545 {
551 
555 struct SIPX_VIDEO_DISPLAY
556 {
559  {
560  cbSize = sizeof(SIPX_VIDEO_DISPLAY);
562  handle = NULL;
563  }
566  {
567  if (type == DIRECT_SHOW_FILTER)
568  {
569 #ifdef DIRECT_SHOW_RENDER
570  if (handle) ((IUnknown*)handle)->Release();
571 #endif
572  }
573  }
576  {
577  copy(ref);
578  }
581  {
582  // check for assignment to self
583  if (this == &ref) return *this;
584  copy(ref);
585  return *this;
586  }
587  int cbSize;
588  SIPX_VIDEO_DISPLAY_TYPE type;
589  union
590  {
591  SIPX_WINDOW_HANDLE handle;
592 #ifdef DIRECT_SHOW_RENDER
593  IBaseFilter* filter;
594 #endif
595  };
596 private:
597  void copy(const SIPX_VIDEO_DISPLAY& ref)
598  {
599  cbSize = ref.cbSize;
600  type = ref.type;
601  handle = ref.handle;
602  if (type == DIRECT_SHOW_FILTER)
603  {
604 #ifdef DIRECT_SHOW_RENDER
605  // we should addRef here.
606  if (handle) ((IBaseFilter*)handle)->AddRef();
607 #endif
608  }
609  }
610 
611 };
617 typedef int SIPX_CONTACT_ID;
618 
626 {
629  {
630  cbSize = sizeof(SIPX_CONTACT_ADDRESS);
631  memset((void*)cInterface, 0, sizeof(cInterface));
632  memset((void*)cIpAddress, 0, sizeof(cIpAddress));
633  memset((void*)cCustomTransportName, 0, sizeof(cCustomTransportName));
634  memset((void*)cCustomRouteID, 0, sizeof(cCustomRouteID));
635  eContactType = CONTACT_AUTO;
636  eTransportType = TRANSPORT_UDP ;
637  id = 0;
638  iPort = -1;
639  }
642  {
643  cbSize = sizeof(SIPX_CONTACT_ADDRESS);
644  strncpy(cInterface, ref.cInterface, sizeof(cInterface));
645  strncpy(cIpAddress, ref.cIpAddress, sizeof(cIpAddress));
646  eContactType = ref.eContactType;
647  eTransportType = ref.eTransportType;
648  id = ref.id;
649  iPort = ref.iPort;
650  if (ref.cbSize == sizeof(SIPX_CONTACT_ADDRESS))
651  {
652  strncpy(cCustomTransportName, ref.cCustomTransportName, 32);
653  strncpy(cCustomRouteID, ref.cCustomRouteID, sizeof(cCustomRouteID));
654  }
655  else
656  {
657  memset((void*)cCustomTransportName, 0, sizeof(cCustomTransportName));
658  memset((void*)cCustomRouteID, 0, sizeof(cCustomRouteID));
659  }
660  }
661 
664  {
665  // check for assignment to self
666  if (this == &ref) return *this;
667  strncpy(cInterface, ref.cInterface, sizeof(cInterface));
668  strncpy(cIpAddress, ref.cIpAddress, sizeof(cIpAddress));
669  eContactType = ref.eContactType;
670  eTransportType = ref.eTransportType;
671  id = ref.id;
672  iPort = ref.iPort;
673  if (cbSize == sizeof(SIPX_CONTACT_ADDRESS))
674  {
675  strncpy(cCustomTransportName, ref.cCustomTransportName, sizeof(cCustomTransportName));
676  strncpy(cCustomRouteID, ref.cCustomRouteID, sizeof(cCustomRouteID));
677  }
678  return *this;
679  }
680  SIPX_CONTACT_ID id;
681  SIPX_CONTACT_TYPE eContactType ;
682  SIPX_TRANSPORT_TYPE eTransportType ;
683  char cInterface[32] ;
684  char cIpAddress[28] ;
685  int cbSize;
686  int iPort ;
687  char cCustomTransportName[32];
688  char cCustomRouteID[64] ;
690 /*
691  NOTE: I've carved a cbSize out of the cIpAddress to allow binary backwards
692  compatibility with older version of the DLL. If the cbSize isn't
693  want we expected, we should not touch data members.
694 */
695 };
701 typedef struct
702 {
703 #define SIPXTAPI_CODEC_NAMELEN 32
704  char cName[SIPXTAPI_CODEC_NAMELEN];
705  SIPX_AUDIO_BANDWIDTH_ID iBandWidth;
706  int iPayloadType;
707 } SIPX_AUDIO_CODEC ;
708 
709 
713 typedef struct
714 {
715  int cbSize;
717  unsigned short fraction_lost;
718  unsigned long cum_lost;
719  unsigned long ext_max;
720  unsigned long jitter;
721  int RTT;
722  int bytesSent;
723  int packetsSent;
724  int bytesReceived;
725  int packetsReceived;
726 } SIPX_RTCP_STATS ;
727 
731 typedef struct
732 {
733 #define SIPXTAPI_CODEC_NAMELEN 32
734  char cName[SIPXTAPI_CODEC_NAMELEN];
735  SIPX_VIDEO_BANDWIDTH_ID iBandWidth;
736  int iPayloadType;
737 } SIPX_VIDEO_CODEC ;
745 typedef struct
746 {
747  SIPX_AUDIO_CODEC audioCodec;
748  SIPX_VIDEO_CODEC videoCodec;
749  bool bIsEncrypted;
752 
758 {
759  SIPX_RTP_TRANSPORT_UNKNOWN = 0x00000000,
761  SIPX_RTP_TRANSPORT_TCP = 0x00000002,
765  SIPX_RTP_TCP_ROLE_CONNECTION = 0x00000020,
766 };
767 
772 typedef struct
773 {
774  int cbSize;
776  bool sendLocation;
777  SIPX_CONTACT_ID contactId;
779  SIPX_RTP_TRANSPORT rtpTransportFlags;
781  /*
782  * NOTE: When adding new data to this structure, please always add it to
783  * the end. This will allow us to maintain some drop-in
784  * backwards compatibility between releases.
785  */
788 
796 typedef void* SIPX_INST ;
797 const SIPX_INST SIPX_INST_NULL = 0;
805 typedef unsigned int SIPX_LINE ;
806 const SIPX_LINE SIPX_LINE_NULL = 0;
813 typedef unsigned int SIPX_CALL ;
814 const SIPX_CALL SIPX_CALL_NULL = 0;
821 typedef unsigned long SIPX_CONF ;
822 const SIPX_CONF SIPX_CONF_NULL = 0;
834 typedef unsigned long SIPX_INFO;
835 
845 typedef unsigned long SIPX_PUB;
846 
847 const SIPX_PUB SIPX_PUB_NULL = 0;
857 typedef unsigned long SIPX_SUB ;
858 
859 
864 typedef unsigned long SIPX_TRANSPORT ;
865 const SIPX_TRANSPORT SIPX_TRANSPORT_NULL = 0;
883  SIPX_TRANSPORT hTransport,
884  const char* szDestinationIp,
885  const int iDestPort,
886  const char* szLocalIp,
887  const int iLocalPort,
888  const void* pData,
889  const size_t nData,
890  const void* pUserData) ;
891 
900 typedef void (*fnMicAudioHook)(const int nSamples, short* pSamples) ;
901 
910 typedef void (*fnSpkrAudioHook)(const int nSamples, short* pSamples) ;
911 
912 
929 typedef enum
930 {
936 
946 typedef enum SIPX_AEC_MODE
947 {
969 } SIPX_AEC_MODE ;
970 
986 typedef enum SIPX_NOISE_REDUCTION_MODE
987 {
997 
998 /* ============================ FUNCTIONS ================================= */
999 
1002 
1074 SIPXTAPI_API SIPX_RESULT sipxInitialize(SIPX_INST* phInst,
1075  const int udpPort = DEFAULT_UDP_PORT,
1076  const int tcpPort = DEFAULT_TCP_PORT,
1077  const int tlsPort = DEFAULT_TLS_PORT,
1078  const int rtpPortStart = DEFAULT_RTP_START_PORT,
1079  const int maxConnections = DEFAULT_CONNECTIONS,
1080  const char* szIdentity = DEFAULT_IDENTITY,
1081  const char* szBindToAddr = DEFAULT_BIND_ADDRESS,
1082  bool bUseSequentialPorts = false,
1083  const char* szTLSCertificateNickname = NULL,
1084  const char* szTLSCertificatePassword = NULL,
1085  const char* szDbLocation = NULL,
1086  bool bEnableLocalAudio = true,
1087  const int internalSamplerate = 8000,
1088  const int devicesSamplerate = 48000,
1089  const int internalFrameSizeMs = 10,
1090  const char *callInputDeviceName = "",
1091  const char *callOutputDeviceName = "") ;
1092 
1093 
1147 SIPXTAPI_API SIPX_RESULT sipxReInitialize(SIPX_INST* phInst,
1148  const int udpPort = DEFAULT_UDP_PORT,
1149  const int tcpPort = DEFAULT_TCP_PORT,
1150  const int tlsPort = DEFAULT_TLS_PORT,
1151  const int rtpPortStart = DEFAULT_RTP_START_PORT,
1152  const int maxConnections = DEFAULT_CONNECTIONS,
1153  const char* szIdentity = DEFAULT_IDENTITY,
1154  const char* szBindToAddr = DEFAULT_BIND_ADDRESS,
1155  bool bUseSequentialPorts = false,
1156  const char* szTLSCertificateNickname = NULL,
1157  const char* szTLSCertificatePassword = NULL,
1158  const char* szDbLocation = NULL) ;
1159 
1174 SIPXTAPI_API SIPX_RESULT sipxUnInitialize(SIPX_INST hInst, bool bForceShutdown = false);
1175 
1177 
1179 
1199 SIPXTAPI_API SIPX_RESULT sipxCallAccept(const SIPX_CALL hCall,
1200  SIPX_VIDEO_DISPLAY* const pDisplay = NULL,
1201  SIPX_SECURITY_ATTRIBUTES* const pSecurity = NULL,
1202  SIPX_CALL_OPTIONS* options = NULL,
1203  bool bSendEarlyMedia = false);
1204 
1205 
1218 SIPXTAPI_API SIPX_RESULT sipxCallReject(const SIPX_CALL hCall,
1219  const int errorCode = 400,
1220  const char* szErrorText = "Bad Request") ;
1221 
1222 
1234 SIPXTAPI_API SIPX_RESULT sipxCallRedirect(const SIPX_CALL hCall,
1235  const char* szForwardURL) ;
1236 
1248 SIPXTAPI_API SIPX_RESULT sipxCallAnswer(const SIPX_CALL hCall,
1249  bool bTakeFocus = true) ;
1250 
1251 
1266 SIPXTAPI_API SIPX_RESULT sipxCallCreate(const SIPX_INST hInst,
1267  const SIPX_LINE hLine,
1268  SIPX_CALL* phCall) ;
1269 
1307 SIPXTAPI_API SIPX_RESULT sipxCallConnect(const SIPX_CALL hCall,
1308  const char* szAddress,
1309  SIPX_CONTACT_ID contactId = 0,
1310  SIPX_VIDEO_DISPLAY* const pDisplay = NULL,
1311  SIPX_SECURITY_ATTRIBUTES* const pSecurity = NULL,
1312  bool bTakeFocus = true,
1313  SIPX_CALL_OPTIONS* options = NULL,
1314  const char* szCallId = NULL);
1315 
1369 SIPXTAPI_API SIPX_RESULT sipxCallHold(const SIPX_CALL hCall,
1370  bool bStopRemoteAudio = true) ;
1371 
1372 
1384 SIPXTAPI_API SIPX_RESULT sipxCallUnhold(const SIPX_CALL hCall) ;
1385 
1386 
1394 SIPXTAPI_API SIPX_RESULT sipxCallDestroy(SIPX_CALL& hCall) ;
1395 
1396 
1407 SIPXTAPI_API SIPX_RESULT sipxCallGetID(const SIPX_CALL hCall,
1408  char* szId,
1409  const size_t iMaxLength) ;
1410 
1423 SIPXTAPI_API SIPX_RESULT sipxCallGetLocalID(const SIPX_CALL hCall,
1424  char* szId,
1425  const size_t iMaxLength) ;
1426 
1437 SIPXTAPI_API SIPX_RESULT sipxCallGetLine(const SIPX_CALL hCall,
1438  SIPX_LINE& hLine);
1439 
1450 SIPXTAPI_API SIPX_RESULT sipxCallGetRemoteID(const SIPX_CALL hCall,
1451  char* szId,
1452  const size_t iMaxLength) ;
1453 
1465 SIPXTAPI_API SIPX_RESULT sipxCallGetContactID(const SIPX_CALL hCall,
1466  char* szId,
1467  const size_t iMaxLength) ;
1468 
1477 SIPXTAPI_API SIPX_RESULT sipxCallGetConnectionId(const SIPX_CALL hCall,
1478  int& connectionId);
1479 
1480 
1491 SIPXTAPI_API SIPX_RESULT sipxCallGetConference(const SIPX_CALL hCall,
1492  SIPX_CONF& hConf) ;
1493 
1494 
1505 SIPXTAPI_API SIPX_RESULT sipxCallGetRequestURI(const SIPX_CALL hCall,
1506  char* szUri,
1507  const size_t iMaxLength) ;
1508 
1509 
1510 
1521 SIPXTAPI_API SIPX_RESULT sipxCallGetRemoteContact(const SIPX_CALL hCall,
1522  char* szContact,
1523  const size_t iMaxLength) ;
1524 
1525 
1537  char* szAgent,
1538  const size_t iMaxLength) ;
1539 
1558 SIPXTAPI_API SIPX_RESULT sipxCallGetInviteHeader(const SIPX_CALL hCall,
1559  const char* headerName,
1560  char* headerValue,
1561  const size_t maxValueLength,
1562  bool* inviteFromRemote,
1563  const size_t headerInstanceIndex = 0);
1564 
1580 SIPXTAPI_API SIPX_RESULT sipxCallStartTone(const SIPX_CALL hCall,
1581  const SIPX_TONE_ID toneId,
1582  const bool bLocal,
1583  const bool bRemote) ;
1584 
1599 SIPXTAPI_API SIPX_RESULT sipxCallStopTone(const SIPX_CALL hCall) ;
1600 
1601 
1627 SIPXTAPI_API SIPX_RESULT sipxCallAudioPlayFileStart(const SIPX_CALL hCall,
1628  const char* szFile,
1629  const bool bRepeat,
1630  const bool bLocal,
1631  const bool bRemote,
1632  const bool bMixWithMicrophone = false,
1633  const float fVolumeScaling = 1.0) ;
1634 
1647 SIPXTAPI_API SIPX_RESULT sipxCallAudioPlayFileStop(const SIPX_CALL hCall) ;
1648 
1649 
1677  const char* szFile,
1678  const SIPX_AUDIO_FILE_FORMAT recordFormat = SIPX_WAVE_PCM_16,
1679  const bool appendToFile = false,
1680  const int numChannels = 1);
1681 
1689 SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordPause(const SIPX_CALL hCall);
1690 
1698 SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordResume(const SIPX_CALL hCall);
1699 
1707 SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordFileStop(const SIPX_CALL hCall) ;
1708 
1709 
1735  const char* pBuffer,
1736  const int bufferSize,
1737  const int bufferType = RAW_PCM_16,
1738  const int maxRecordTime = -1,
1739  const int maxSilence = -1) ;
1740 
1749 
1750 
1773 SIPXTAPI_API SIPX_RESULT sipxCallPlayBufferStart(const SIPX_CALL hCall,
1774  const char* szBuffer,
1775  const int bufSize,
1776  const int bufType,
1777  const bool bRepeat,
1778  const bool bLocal,
1779  const bool bRemote) ;
1780 
1781 
1794 SIPXTAPI_API SIPX_RESULT sipxCallPlayBufferStop(const SIPX_CALL hCall) ;
1795 
1796 
1808  MEDIA_TYPE mediaType,
1809  int mediaTypeStreamIndex,
1810  const char* streamReceiveAddress,
1811  int rtpPort,
1812  int rtcpPort);
1813 
1814 
1844 SIPXTAPI_API SIPX_RESULT sipxCallSubscribe(const SIPX_CALL hCall,
1845  const char* szEventType,
1846  const char* szAcceptType,
1847  SIPX_SUB* phSub,
1848  bool bRemoteContactIsGruu = false);
1849 
1858 SIPXTAPI_API SIPX_RESULT sipxCallUnsubscribe(const SIPX_SUB hSub) ;
1859 
1860 
1877 SIPXTAPI_API SIPX_RESULT sipxCallSendInfo(SIPX_INFO* phInfo,
1878  const SIPX_CALL hCall,
1879  const char* szContentType,
1880  const char* szContent,
1881  const size_t nContentLength);
1882 
1969 SIPXTAPI_API SIPX_RESULT sipxCallBlindTransfer(const SIPX_CALL hCall,
1970  const char* szAddress) ;
1971 
2071 SIPXTAPI_API SIPX_RESULT sipxCallTransfer(const SIPX_CALL hSourceCall,
2072  const SIPX_CALL hTargetCall) ;
2073 
2074 
2075 
2085 SIPXTAPI_API SIPX_RESULT sipxCallUpdateVideoWindow(const SIPX_CALL hCall, const SIPX_WINDOW_HANDLE hWnd);
2086 
2087 
2096 SIPXTAPI_API SIPX_RESULT sipxCallResizeWindow(const SIPX_CALL hCall, const SIPX_WINDOW_HANDLE hWnd);
2097 
2098 
2126 SIPXTAPI_API SIPX_RESULT sipxCallGetEnergyLevels(const SIPX_CALL hCall,
2127  int& iInputEnergyLevel,
2128  int& iOutputEnergyLevel,
2129  const size_t nMaxContributors,
2130  unsigned int CCSRCs[],
2131  int iEnergyLevels[],
2132  size_t& nActualContributors) ;
2133 
2149  unsigned int& iSendSSRC,
2150  unsigned int& iReceiveSSRC) ;
2151 
2166 SIPXTAPI_API SIPX_RESULT sipxCallGetAudioRtcpStats(const SIPX_CALL hCall,
2167  SIPX_RTCP_STATS* pStats) ;
2168 
2179 SIPXTAPI_API SIPX_RESULT sipxCallLimitCodecs(const SIPX_CALL hCall,
2180  const char* codecNames);
2181 
2206  const SIPX_AUDIO_BANDWIDTH_ID audioBandwidth,
2207  const SIPX_VIDEO_BANDWIDTH_ID videoBandwidth,
2208  const char* szVideoCodecName);
2209 
2227 SIPXTAPI_API SIPX_RESULT sipxCallSetMicGain(const SIPX_CALL hCall,
2228  float gain);
2229 
2241 SIPXTAPI_API SIPX_RESULT sipxCallSetMixOutputGain(const SIPX_CALL hCall,
2242  int bridgeOutputIndex,
2243  float gain);
2244 
2246 
2249 
2250 
2275 SIPXTAPI_API SIPX_RESULT sipxPublisherCreate(const SIPX_INST hInst,
2276  SIPX_PUB* phPub,
2277  const char* szResourceId,
2278  const char* szEventType,
2279  const char* szContentType,
2280  const char* pContent,
2281  const size_t nContentLength);
2282 
2296 SIPXTAPI_API SIPX_RESULT sipxPublisherDestroy(const SIPX_PUB hPub,
2297  const char* szContentType,
2298  const char* pFinalContent,
2299  const size_t nContentLength);
2300 
2311 SIPXTAPI_API SIPX_RESULT sipxPublisherUpdate(const SIPX_PUB hPub,
2312  const char* szContentType,
2313  const char* pContent,
2314  const size_t nContentLength);
2315 
2317 
2320 
2321 
2332 SIPXTAPI_API SIPX_RESULT sipxConferenceCreate(const SIPX_INST hInst,
2333  SIPX_CONF* phConference) ;
2334 
2350 SIPXTAPI_API SIPX_RESULT sipxConferenceJoin(const SIPX_CONF hConf,
2351  const SIPX_CALL hCall) ;
2352 
2369 SIPXTAPI_API SIPX_RESULT sipxConferenceSplit(const SIPX_CONF hConf,
2370  const SIPX_CALL hCall) ;
2371 
2407 SIPXTAPI_API SIPX_RESULT sipxConferenceAdd(const SIPX_CONF hConf,
2408  const SIPX_LINE hLine,
2409  const char* szAddress,
2410  SIPX_CALL* phNewCall,
2411  SIPX_CONTACT_ID contactId = 0,
2412  SIPX_VIDEO_DISPLAY* const pDisplay = NULL,
2413  SIPX_SECURITY_ATTRIBUTES* const pSecurity = NULL,
2414  bool bTakeFocus = true,
2415  SIPX_CALL_OPTIONS* options = NULL);
2416 
2425 SIPXTAPI_API SIPX_RESULT sipxConferenceRemove(const SIPX_CONF hConf,
2426  const SIPX_CALL hCall) ;
2427 
2428 
2438 SIPXTAPI_API SIPX_RESULT sipxConferenceGetCalls(const SIPX_CONF hConf,
2439  SIPX_CALL calls[],
2440  const size_t iMax,
2441  size_t& nActual) ;
2442 
2463 SIPXTAPI_API SIPX_RESULT sipxConferenceHold(const SIPX_CONF hConf,
2464  bool bBridging = true);
2465 
2478 SIPXTAPI_API SIPX_RESULT sipxConferenceUnhold(const SIPX_CONF hConf);
2479 
2480 
2507  const char* szFile,
2508  const bool bRepeat,
2509  const bool bLocal,
2510  const bool bRemote,
2511  const bool bMixWithMicrophone = false,
2512  const float fVolumeScaling = 1.0) ;
2513 
2514 /*
2515  * Stop playing a file started with sipxConferencePlayAudioFileStart
2516  * If a sipxConferenceDestroy is attempted while an audio file is playing,
2517  * sipxConferenceDestroy will fail with a SIPX_RESULT_BUSY return code.
2518  * Call sipxConferencePlayAudioFileStop before making the call to
2519  * sipxConferenceDestroy.
2520  *
2521  * @param hConf Conference handle obtained by calling sipxConferenceCreate.
2522  */
2524 
2525 
2534 
2535 
2552  int& iInputEnergyLevel,
2553  int& iOutputEnergyLevel) ;
2554 
2555 
2556 
2580  const SIPX_AUDIO_BANDWIDTH_ID audioBandwidth,
2581  const SIPX_VIDEO_BANDWIDTH_ID videoBandwidth,
2582  const char* szVideoCodecName) ;
2583 
2596 SIPXTAPI_API SIPX_RESULT sipxMediaConnectionCreate(const SIPX_CONF hConf,
2597  int& connectionId);
2598 
2613  int connectionId,
2614  MEDIA_TYPE mediaType,
2615  int mediaTypeStreamIndex,
2616  const char* streamSendAddress,
2617  int rtpPort,
2618  int rtcpPort);
2619 
2631  int connectionId,
2632  int numTokens,
2633  const char* codecTokens[],
2634  int payloadIds[]);
2635 
2643  int connectionId);
2644 
2646 
2649 
2658 SIPXTAPI_API SIPX_RESULT sipxAudioSetGain(const SIPX_INST hInst,
2659  const int iLevel) ;
2660 
2661 
2668 SIPXTAPI_API SIPX_RESULT sipxAudioGetGain(const SIPX_INST hInst,
2669  int& iLevel) ;
2670 
2671 
2679 SIPXTAPI_API SIPX_RESULT sipxAudioMute(const SIPX_INST hInst,
2680  const bool bMute) ;
2681 
2682 
2690 SIPXTAPI_API SIPX_RESULT sipxAudioIsMuted(const SIPX_INST hInst,
2691  bool &bMuted) ;
2692 
2693 
2702 SIPXTAPI_API SIPX_RESULT sipxAudioEnableSpeaker(const SIPX_INST hInst,
2703  const SPEAKER_TYPE type) ;
2704 
2705 
2715  SPEAKER_TYPE& type) ;
2716 
2717 
2729 SIPXTAPI_API SIPX_RESULT sipxAudioSetVolume(const SIPX_INST hInst,
2730  const SPEAKER_TYPE type,
2731  const int iLevel) ;
2732 
2733 
2743 SIPXTAPI_API SIPX_RESULT sipxAudioGetVolume(const SIPX_INST hInst,
2744  const SPEAKER_TYPE type,
2745  int& iLevel) ;
2746 
2747 
2761 SIPXTAPI_API SIPX_RESULT sipxAudioSetAECMode(const SIPX_INST hInst,
2762  const SIPX_AEC_MODE mode) ;
2763 
2764 
2776 SIPXTAPI_API SIPX_RESULT sipxAudioGetAECMode(const SIPX_INST hInst,
2777  SIPX_AEC_MODE& mode) ;
2778 
2779 
2789 SIPXTAPI_API SIPX_RESULT sipxAudioSetAGCMode(const SIPX_INST hInst,
2790  const bool bEnable) ;
2791 
2800 SIPXTAPI_API SIPX_RESULT sipxAudioGetAGCMode(const SIPX_INST hInst,
2801  bool& bEnabled) ;
2802 
2803 
2818  const SIPX_NOISE_REDUCTION_MODE mode) ;
2819 
2820 
2833  SIPX_NOISE_REDUCTION_MODE& mode) ;
2834 
2843  size_t& numDevices) ;
2844 
2853 SIPXTAPI_API SIPX_RESULT sipxAudioGetInputDevice(const SIPX_INST hInst,
2854  const int index,
2855  const char*& szDevice);
2856 
2857 
2867  int& index,
2868  const char*& szDevice);
2869 
2877  size_t& numDevices) ;
2878 
2887 SIPXTAPI_API SIPX_RESULT sipxAudioGetOutputDevice(const SIPX_INST hInst,
2888  const int index,
2889  const char*& szDevice) ;
2890 
2900  int& index,
2901  const char*& szDevice);
2902 
2911  const char* szDevice) ;
2912 
2919  const char* szDevice) ;
2920 
2921 
2928  const char* szDevice) ;
2929 
2930 
2932 
2934 
2935 
2960 SIPXTAPI_API SIPX_RESULT sipxLineAdd(const SIPX_INST hInst,
2961  const char* szLineURL,
2962  SIPX_LINE* phLine,
2963  SIPX_CONTACT_ID contactId = 0) ;
2964 
2983 SIPXTAPI_API SIPX_RESULT sipxLineAddAlias(const SIPX_LINE hLine, const char* szLineURL) ;
2984 
3001 SIPXTAPI_API SIPX_RESULT sipxLineRegister(const SIPX_LINE hLine, const bool bRegister);
3002 
3013 SIPXTAPI_API SIPX_RESULT sipxLineRemove(SIPX_LINE hLine) ;
3014 
3028 SIPXTAPI_API SIPX_RESULT sipxLineAddCredential(const SIPX_LINE hLine,
3029  const char* szUserID,
3030  const char* szPasswd,
3031  const char* szRealm) ;
3032 
3042 SIPXTAPI_API SIPX_RESULT sipxLineGet(const SIPX_INST hInst,
3043  SIPX_LINE lines[],
3044  const size_t max,
3045  size_t& actual) ;
3046 
3058 SIPXTAPI_API SIPX_RESULT sipxLineGetURI(const SIPX_LINE hLine,
3059  char* szBuffer,
3060  const size_t nBuffer,
3061  size_t& nActual) ;
3062 
3071 SIPXTAPI_API SIPX_RESULT sipxLineGetContactId(const SIPX_LINE hLine,
3072  SIPX_CONTACT_ID& contactId) ;
3073 
3074 
3082 SIPXTAPI_API SIPX_RESULT sipxLineFindByURI(const SIPX_INST hInst,
3083  const char* szURI,
3084  SIPX_LINE& hLine) ;
3085 
3087 
3089 
3090 
3104 
3105 
3118 SIPXTAPI_API SIPX_RESULT sipxConfigSetLogFile(const char *szFilename) ;
3119 
3120 
3131 
3132 
3144  bool bEnable) ;
3145 
3160 
3161 
3175 
3176 /*
3177  * Set the period of time between stream (e.g. mic, RTP) energy
3178  * level notifications.
3179  *
3180  @ param
3181  */
3183  int periodMs);
3184 
3193 SIPXTAPI_API SIPX_RESULT sipxConfigSetUserAgentName(const SIPX_INST hInst,
3194  const char* szName,
3195  const bool bIncludePlatformName = true);
3196 
3204  const char* szProxy) ;
3205 
3227 SIPXTAPI_API SIPX_RESULT sipxConfigSetDnsSrvTimeouts(const int initialTimeoutInSecs,
3228  const int retries) ;
3229 
3230 
3241  const int seconds);
3253  const int failoverTimeoutInSecs);
3254 
3255 
3265 SIPXTAPI_API SIPX_RESULT sipxConfigEnableRport(const SIPX_INST hInst,
3266  const bool bEnable) ;
3267 
3277  const bool bEnable);
3278 
3289  const int nRegisterExpirationSecs);
3290 
3301  const int nSubscribeExpirationSecs);
3302 
3324 SIPXTAPI_API SIPX_RESULT sipxConfigEnableStun(const SIPX_INST hInst,
3325  const char* szServer,
3326  int iServerPort,
3327  int iKeepAliveInSecs) ;
3328 
3334 SIPXTAPI_API SIPX_RESULT sipxConfigDisableStun(const SIPX_INST hInst) ;
3335 
3336 
3352 SIPXTAPI_API SIPX_RESULT sipxConfigEnableTurn(const SIPX_INST hInst,
3353  const char* szServer,
3354  const int iServerPort,
3355  const char* szUsername,
3356  const char* szPassword,
3357  const int iKeepAliveInSecs) ;
3358 
3364 SIPXTAPI_API SIPX_RESULT sipxConfigDisableTurn(const SIPX_INST hInst) ;
3365 
3366 
3375 SIPXTAPI_API SIPX_RESULT sipxConfigEnableIce(const SIPX_INST hInst) ;
3376 
3377 
3383 SIPXTAPI_API SIPX_RESULT sipxConfigDisableIce(const SIPX_INST hInst) ;
3384 
3385 
3404 SIPXTAPI_API SIPX_RESULT sipxConfigKeepAliveAdd(const SIPX_INST hInst,
3405  SIPX_CONTACT_ID contactId,
3406  SIPX_KEEPALIVE_TYPE type,
3407  const char* remoteIp,
3408  int remotePort,
3409  int keepAliveSecs) ;
3410 
3411 
3428 SIPXTAPI_API SIPX_RESULT sipxConfigKeepAliveRemove(const SIPX_INST hInst,
3429  SIPX_CONTACT_ID contactId,
3430  SIPX_KEEPALIVE_TYPE type,
3431  const char* remoteIp,
3432  int remotePort) ;
3433 
3434 
3453  const bool bEnable) ;
3454 
3465  const bool bEnable) ;
3466 
3467 
3475 SIPXTAPI_API SIPX_RESULT sipxConfigEnableRTCP(const SIPX_INST hInst,
3476  const bool bEnable) ;
3477 
3478 
3485 SIPXTAPI_API SIPX_RESULT sipxConfigEnableDnsSrv(const bool bEnable);
3486 
3494  bool& bEnable) ;
3495 
3503  bool& bEnable) ;
3504 
3505 
3515  const size_t nBuffer) ;
3516 
3527 SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalSipUdpPort(SIPX_INST hInst, int* pPort) ;
3528 
3539 SIPXTAPI_API SIPX_RESULT sipxConfigAddContact(const SIPX_INST hInst,
3540  const char* szSipContactAddress,
3541  const int iSipContactPort,
3542  SIPX_CONTACT_ID& iNewContactId);
3543 
3554 SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalSipTcpPort(SIPX_INST hInst, int* pPort) ;
3555 
3556 
3567 SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalSipTlsPort(SIPX_INST hInst, int* pPort) ;
3568 
3569 
3582  SIPX_AUDIO_BANDWIDTH_ID bandWidth) ;
3583 
3596  const char* szCodecName) ;
3597 
3608  SIPX_AUDIO_BANDWIDTH_ID *pBandWidth);
3609 
3621  int* pNumCodecs) ;
3622 
3623 
3638 SIPXTAPI_API SIPX_RESULT sipxConfigGetAudioCodec(const SIPX_INST hInst,
3639  const int index,
3640  SIPX_AUDIO_CODEC* pCodec) ;
3641 
3662  SIPX_VIDEO_BANDWIDTH_ID bandWidth);
3663 
3675  char **arrSzCaptureDevices,
3676  int nDeviceStringLength,
3677  int nArrayLength);
3678 
3679 
3690  char* szCaptureDevice,
3691  int nLength);
3692 
3701  const char* szCaptureDevice);
3702 
3703 
3715  const char* szCodecName) ;
3716 
3726 SIPXTAPI_API SIPX_RESULT sipxConfigResetVideoCodecs(const SIPX_INST hInst);
3727 
3738  SIPX_VIDEO_BANDWIDTH_ID *pBandWidth);
3739 
3751  int* pNumCodecs) ;
3752 
3753 
3762 SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoFormat(const SIPX_INST hInst,
3763  SIPX_VIDEO_FORMAT videoFormat);
3764 
3765 
3780 SIPXTAPI_API SIPX_RESULT sipxConfigGetVideoCodec(const SIPX_INST hInst,
3781  const int index,
3782  SIPX_VIDEO_CODEC* pCodec) ;
3783 
3808  SIPX_CONTACT_ADDRESS addresses[],
3809  size_t nMaxAddresses,
3810  size_t& nActualAddresses) ;
3811 
3836  const char* szRemoteIp,
3837  const int iRemotePort,
3838  char* szContactIp,
3839  size_t nContactIpLength,
3840  int& iContactPort,
3841  int iTimeoutMs) ;
3842 
3856 SIPXTAPI_API SIPX_RESULT sipxConfigGetAllLocalNetworkIps(const char* arrAddresses[],
3857  const char* arrAddressAdapter[],
3858  int &numAddresses);
3859 
3870  const char* szDbLocation,
3871  const char* szMyCertNickname,
3872  const char* szDbPassword);
3873 
3881  const bool bEnabled);
3882 
3890  const bool bEnabled);
3898  const bool bEnabled);
3906  const char* szLanguage);
3921  const char* szHeader);
3922 
3938  const int idleTimeout);
3939 
3947 
3948 
3954 SIPXTAPI_API SIPX_RESULT sipxConfigUnHibernate(const SIPX_INST hInst);
3955 
3956 
3965  bool bEnable);
3966 
3974  SIPX_VIDEO_DISPLAY* const pDisplay);
3975 
3976 
3984 SIPXTAPI_API SIPX_RESULT sipxConfigUpdatePreviewWindow(const SIPX_INST hInst, const SIPX_WINDOW_HANDLE hWnd);
3985 
3986 
3993 SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoQuality(const SIPX_INST hInst, const SIPX_VIDEO_QUALITY_ID quality);
3994 
4003  const int bitRate,
4004  const int frameRate);
4005 
4012 SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoBitrate(const SIPX_INST hInst,
4013  const int bitRate);
4014 
4022  const int frameRate);
4023 
4030 SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoCpuUsage(const SIPX_INST hInst,
4031  const int cpuUsage);
4032 
4033 
4068 SIPXTAPI_API SIPX_RESULT sipxConfigSubscribe(const SIPX_INST hInst,
4069  const SIPX_LINE hLine,
4070  const char* szTargetUrl,
4071  const char* szEventType,
4072  const char* szAcceptType,
4073  const SIPX_CONTACT_ID contactId,
4074  SIPX_SUB* phSub);
4083 SIPXTAPI_API SIPX_RESULT sipxConfigUnsubscribe(const SIPX_SUB hSub);
4084 
4085 
4111  SIPX_TRANSPORT& hTransport,
4112  const bool bIsReliable,
4113  const char* szTransport,
4114  const char* szLocalIP,
4115  const int iLocalPort,
4116  SIPX_TRANSPORT_WRITE_PROC writeProc,
4117  const char* szLocalRoutingId,
4118  const void* pUserData = NULL) ;
4119 
4127 SIPXTAPI_API SIPX_RESULT sipxConfigExternalTransportRemove(const SIPX_TRANSPORT hTransport);
4128 
4138 SIPXTAPI_API SIPX_RESULT sipxConfigExternalTransportRouteByUser(const SIPX_TRANSPORT hTransport,
4139  bool bRouteByUser) ;
4140 
4158 SIPXTAPI_API SIPX_RESULT sipxConfigExternalTransportHandleMessage(const SIPX_TRANSPORT hTransport,
4159  const char* szSourceIP,
4160  const int iSourcePort,
4161  const char* szLocalIP,
4162  const int iLocalPort,
4163  const void* pData,
4164  const size_t nData);
4165 
4180  const char* szServer) ;
4181 
4183 
4185 
4193 SIPXTAPI_API SIPX_RESULT sipxUtilUrlParse(const char* szUrl,
4194  char* szUsername,
4195  char* szHostname,
4196  int* iPort) ;
4197 
4202  char* szDisplayName,
4203  size_t nDisplayName) ;
4204 
4214  size_t & nUrl,
4215  const char* szNewUsername,
4216  const char* szNewHostname,
4217  const int iNewPort) ;
4218 
4219 
4232  const char* szParamName,
4233  size_t nParamIndex,
4234  char* szParamValue,
4235  size_t nParamValue) ;
4237 
4238 
4239 #endif // _sipXtapi_h_
SIPXTAPI_API SIPX_RESULT sipxCallPlayBufferStop(const SIPX_CALL hCall)
Stop playing the audio started with sipxCallPlayBufferStart If a sipxCallDestroy is attempted while a...
Definition: sipXtapi.cpp:2806
SIPXTAPI_API SIPX_RESULT sipxAudioGetGain(const SIPX_INST hInst, int &iLevel)
Get the current microphone gain.
Definition: sipXtapi.cpp:5176
SIPXTAPI_API SIPX_RESULT sipxCallGetRemoteID(const SIPX_CALL hCall, char *szId, const size_t iMaxLength)
Get the SIP identity of the remote connection.
Definition: sipXtapi.cpp:2020
The operation failed because the system was busy.
Definition: sipXtapi.h:294
SIPXTAPI_API SIPX_RESULT sipxMediaConnectionCreate(const SIPX_CONF hConf, int &connectionId)
Create a new media connetion that is indpendent of any existing call legs in the conference.
Definition: sipXtapi.cpp:4951
SIPXTAPI_API SIPX_RESULT sipxAudioSetCallOutputDevice(const SIPX_INST hInst, const char *szDevice)
Set the call output device (in-call speaker).
Definition: sipXtapi.cpp:6124
SIPXTAPI_API SIPX_RESULT sipxConfigSetRegisterResponseWaitSeconds(const SIPX_INST hInst, const int seconds)
Specifies the time to wait for a REGISTER response before sending a LINESTATE_REGISTER_FAILED (or LIN...
Definition: sipXtapi.cpp:6816
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoBitrate(const SIPX_INST hInst, const int bitRate)
Sets the video bitrate.
Definition: sipXtapi.cpp:8775
normal, but significant, conditions
Definition: sipXtapi.h:381
SIPXTAPI_API SIPX_RESULT sipxCallReject(const SIPX_CALL hCall, const int errorCode=400, const char *szErrorText="Bad Request")
Reject an inbound call (prior to alerting the user).
Definition: sipXtapi.cpp:1166
SIPXTAPI_API SIPX_RESULT sipxConferenceGetCalls(const SIPX_CONF hConf, SIPX_CALL calls[], const size_t iMax, size_t &nActual)
Gets all of the calls participating in a conference.
Definition: sipXtapi.cpp:4595
SIPX_AEC_MODE
SIPX_AEC_MODE defines different AEC modes.
Definition: sipXtapi.h:961
The operation is not supported in this build/configuration.
Definition: sipXtapi.h:304
SIPXTAPI_API SIPX_RESULT sipxAudioSetRingerOutputDevice(const SIPX_INST hInst, const char *szDevice)
Set the call ringer/alerting device.
Definition: sipXtapi.cpp:6044
virtual ~SIPX_SECURITY_ATTRIBUTES()
Destructor.
Definition: sipXtapi.h:431
SIPXTAPI_API SIPX_RESULT sipxConferenceAdd(const SIPX_CONF hConf, const SIPX_LINE hLine, const char *szAddress, SIPX_CALL *phNewCall, SIPX_CONTACT_ID contactId=0, SIPX_VIDEO_DISPLAY *const pDisplay=NULL, SIPX_SECURITY_ATTRIBUTES *const pSecurity=NULL, bool bTakeFocus=true, SIPX_CALL_OPTIONS *options=NULL)
Add a new party to an existing conference.
Definition: sipXtapi.cpp:4179
SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordPause(const SIPX_CALL hCall)
Pause recording call to file or buffer.
Definition: sipXtapi.cpp:2623
SIPXTAPI_API SIPX_RESULT sipxAudioGetNumOutputDevices(const SIPX_INST hInst, size_t &numDevices)
Get the number of output devices available on this system.
Definition: sipXtapi.cpp:5854
SIPXTAPI_API SIPX_RESULT sipxLineAdd(const SIPX_INST hInst, const char *szLineURL, SIPX_LINE *phLine, SIPX_CONTACT_ID contactId=0)
Adds a line appearance.
Definition: sipXtapi.cpp:6218
SIPXTAPI_API SIPX_RESULT sipxCallTransfer(const SIPX_CALL hSourceCall, const SIPX_CALL hTargetCall)
Transfer the source call to the target call.
Definition: sipXtapi.cpp:3262
Backspace tone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:343
unsigned int SIPX_LINE
The SIPX_LINE handle represents an inbound or outbound identity.
Definition: sipXtapi.h:820
action must be taken immediately
Definition: sipXtapi.h:385
Ringer / alerting device.
Definition: sipXtapi.h:168
SIPXTAPI_API SIPX_RESULT sipxConfigEnableInBandDTMF(const SIPX_INST hInst, const bool bEnable)
Enable/disable sending of in-band DTMF tones.
Definition: sipXtapi.cpp:8284
Buffer too short for this operation.
Definition: sipXtapi.h:292
SIPXTAPI_API SIPX_RESULT sipxCallGetEnergyLevels(const SIPX_CALL hCall, int &iInputEnergyLevel, int &iOutputEnergyLevel, const size_t nMaxContributors, unsigned int CCSRCs[], int iEnergyLevels[], size_t &nActualContributors)
Gets energy levels for a call.
Definition: sipXtapi.cpp:3369
SIPXTAPI_API SIPX_RESULT sipxCallDestroy(SIPX_CALL &hCall)
Drop/Destroy the specified call.
Definition: sipXtapi.cpp:1862
Indicator for a TCP socket type.
Definition: sipXtapi.h:544
int iPort
Port.
Definition: sipXtapi.h:701
Definition: sipXtapi.h:774
DMTF 0.
Definition: sipXtapi.h:318
DMTF 3.
Definition: sipXtapi.h:321
SIPXTAPI_API SIPX_RESULT sipxConfigSetSpkrAudioHook(fnSpkrAudioHook hookProc)
Designate a callback routine for post-mixing audio data (e.g.
Definition: sipXtapi.cpp:6729
SIPXTAPI_API SIPX_RESULT sipxAudioEnableSpeaker(const SIPX_INST hInst, const SPEAKER_TYPE type)
Enables one of the speaker outputs.
Definition: sipXtapi.cpp:5312
SIPXTAPI_API SIPX_RESULT sipxAudioGetCurrentOutputDevice(const SIPX_INST hInst, int &index, const char *&szDevice)
Get the name/identifier for the current output device used by sipX.
Definition: sipXtapi.cpp:5910
SIPXTAPI_API SIPX_RESULT sipxConfigSetLogLevel(SIPX_LOG_LEVEL logLevel)
The sipxConfigEnableLog method enables logging for the sipXtapi API, media processing, call processing, SIP stack, and OS abstraction layer.
Definition: sipXtapi.cpp:6636
SIPXTAPI_API SIPX_RESULT sipxInitialize(SIPX_INST *phInst, const int udpPort=DEFAULT_UDP_PORT, const int tcpPort=DEFAULT_TCP_PORT, const int tlsPort=DEFAULT_TLS_PORT, const int rtpPortStart=DEFAULT_RTP_START_PORT, const int maxConnections=DEFAULT_CONNECTIONS, const char *szIdentity=DEFAULT_IDENTITY, const char *szBindToAddr=DEFAULT_BIND_ADDRESS, bool bUseSequentialPorts=false, const char *szTLSCertificateNickname=NULL, const char *szTLSCertificatePassword=NULL, const char *szDbLocation=NULL, bool bEnableLocalAudio=true, const int internalSamplerate=8000, const int devicesSamplerate=48000, const int internalFrameSizeMs=10, const char *callInputDeviceName="", const char *callOutputDeviceName="")
Initialize the sipX TAPI-like API layer.
Definition: sipXtapi.cpp:253
The operation failed due to an NSS failure.
Definition: sipXtapi.h:303
SIPXTAPI_API SIPX_RESULT sipxConferenceJoin(const SIPX_CONF hConf, const SIPX_CALL hCall)
Join (add) an existing held call into a conference.
Definition: sipXtapi.cpp:3988
SIPXTAPI_API SIPX_RESULT sipxCallLimitCodecs(const SIPX_CALL hCall, const char *codecNames)
Restrict the set of codecs that are allowed to be used for the given call.
Definition: sipXtapi.cpp:3522
SIPXTAPI_API SIPX_RESULT sipxMediaConnectionRtpSetDestination(const SIPX_CONF hConf, int connectionId, MEDIA_TYPE mediaType, int mediaTypeStreamIndex, const char *streamSendAddress, int rtpPort, int rtcpPort)
Set the destination to which RTP streams are to be sent.
Definition: sipXtapi.cpp:4981
SIPX_RTP_TRANSPORT
Possible roles that a Media connection can have.
Definition: sipXtapi.h:772
SIPXTAPI_API SIPX_RESULT sipxConfigEnableOutOfBandDTMF(const SIPX_INST hInst, const bool bEnable)
Enable/disable sending of RFC 2833 DTMF tones.
Definition: sipXtapi.cpp:8255
Manually configured address.
Definition: sipXtapi.h:529
SIPXTAPI_API SIPX_RESULT sipxConfigExternalTransportRouteByUser(const SIPX_TRANSPORT hTransport, bool bRouteByUser)
The external transport mechanism can be configured to route by user or by destination ip/port...
Definition: sipXtapi.cpp:9060
SIPXTAPI_API SIPX_RESULT sipxAudioGetVolume(const SIPX_INST hInst, const SPEAKER_TYPE type, int &iLevel)
Gets the audio level for the designated speaker type.
Definition: sipXtapi.cpp:5481
SIPX_CONTACT_TYPE eContactType
Address type/source.
Definition: sipXtapi.h:696
SIPXTAPI_API SIPX_RESULT sipxConfigResetVideoCodecs(const SIPX_INST hInst)
Reset the codec list if it was modified by sipxConfigSetVideoCodecByName.
Definition: sipXtapi.cpp:8109
SIPXTAPI_API SIPX_RESULT sipxConfigEnableRport(const SIPX_INST hInst, const bool bEnable)
Enable or disable the use of "rport".
Definition: sipXtapi.cpp:6840
Normal quality video.
Definition: sipXtapi.h:244
SIPXTAPI_API SIPX_RESULT sipxUnInitialize(SIPX_INST hInst, bool bForceShutdown=false)
Uninitialize the sipX TAPI-like API layer.
Definition: sipXtapi.cpp:702
SIPXTAPI_API SIPX_RESULT sipxPublisherCreate(const SIPX_INST hInst, SIPX_PUB *phPub, const char *szResourceId, const char *szEventType, const char *szContentType, const char *pContent, const size_t nContentLength)
Creates a publishing context, which performs the processing necessary to accept SUBSCRIBE requests...
Definition: sipXtapi.cpp:3660
SIPX_LOG_LEVEL
Various log levels available for the sipxConfigEnableLog method.
Definition: sipXtapi.h:377
352x288
Definition: sipXtapi.h:253
SIPXTAPI_API SIPX_RESULT sipxCallGetAudioRtpSourceIds(const SIPX_CALL hCall, unsigned int &iSendSSRC, unsigned int &iReceiveSSRC)
Gets the sending and receiving Audio RTP SSRC IDs.
Definition: sipXtapi.cpp:3429
SIPXTAPI_API SIPX_RESULT sipxCallGetRemoteUserAgent(const SIPX_CALL hCall, char *szAgent, const size_t iMaxLength)
Get the remote user agent of the call represented by the specified call handle.
Definition: sipXtapi.cpp:2236
Wave audio file with PCM 16 bit, signed, little endian encoded audio.
Definition: sipXtapi.h:361
SIPXTAPI_API SIPX_RESULT sipxCallGetLine(const SIPX_CALL hCall, SIPX_LINE &hLine)
Get the line handle for the given call if it has one.
Definition: sipXtapi.cpp:1998
SIPX_VIDEO_QUALITY_ID
Video Codec quality definitions.
Definition: sipXtapi.h:241
SIPXTAPI_API SIPX_RESULT sipxConfigSetDnsSrvFailoverTimeout(const SIPX_INST hInst, const int failoverTimeoutInSecs)
Specifies the time to wait before trying the next DNS SRV record.
Definition: sipXtapi.cpp:6968
This structure gets passed into sipxCallConnect, sipxCallAccept, and sipxConferenceAdd calls and sets...
Definition: sipXtapi.h:787
DMTF #.
Definition: sipXtapi.h:329
Default ring/alert tone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:337
SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalSipTlsPort(SIPX_INST hInst, int *pPort)
Get the local TLS port for SIP signaling.
Definition: sipXtapi.cpp:7421
SIPXTAPI_API SIPX_RESULT sipxConfigExternalTransportHandleMessage(const SIPX_TRANSPORT hTransport, const char *szSourceIP, const int iSourcePort, const char *szLocalIP, const int iLocalPort, const void *pData, const size_t nData)
Called by the application when it receives a complete SIP message via it&#39;s external transport mechani...
Definition: sipXtapi.cpp:9076
SIPX_AUDIO_DATA_FORMAT
Format definitions for memory resident audio data.
Definition: sipXtapi.h:263
SIPXTAPI_API SIPX_RESULT sipxCallConnect(const SIPX_CALL hCall, const char *szAddress, SIPX_CONTACT_ID contactId=0, SIPX_VIDEO_DISPLAY *const pDisplay=NULL, SIPX_SECURITY_ATTRIBUTES *const pSecurity=NULL, bool bTakeFocus=true, SIPX_CALL_OPTIONS *options=NULL, const char *szCallId=NULL)
Connects an idle call to the designated target address.
Definition: sipXtapi.cpp:1471
Speaker / in call device.
Definition: sipXtapi.h:167
SIPXTAPI_API SIPX_RESULT sipxConfigGetAudioCodecPreferences(const SIPX_INST hInst, SIPX_AUDIO_BANDWIDTH_ID *pBandWidth)
Get the current codec preference.
Definition: sipXtapi.cpp:7652
SIPXTAPI_API SIPX_RESULT sipxLineAddAlias(const SIPX_LINE hLine, const char *szLineURL)
Adds an alias for a line definition.
Definition: sipXtapi.cpp:6307
SIPXTAPI_API SIPX_RESULT sipxAudioSetVolume(const SIPX_INST hInst, const SPEAKER_TYPE type, const int iLevel)
Sets the audio level for the designated speaker type.
Definition: sipXtapi.cpp:5410
Definition: sipXtapi.h:775
DMTF 2.
Definition: sipXtapi.h:320
SIPXTAPI_API SIPX_RESULT sipxConfigExternalTransportAdd(SIPX_INST const hInst, SIPX_TRANSPORT &hTransport, const bool bIsReliable, const char *szTransport, const char *szLocalIP, const int iLocalPort, SIPX_TRANSPORT_WRITE_PROC writeProc, const char *szLocalRoutingId, const void *pUserData=NULL)
Associates an external transport mechanism for SIP signaling with the given instance.
Definition: sipXtapi.cpp:8979
SIPXTAPI_API SIPX_RESULT sipxConfigEnableTurn(const SIPX_INST hInst, const char *szServer, const int iServerPort, const char *szUsername, const char *szPassword, const int iKeepAliveInSecs)
Enable TURN for support for UDP audio/video (RTP).
Definition: sipXtapi.cpp:7054
Send a Stun request to the other side.
Definition: sipXtapi.h:947
Definition: sipXtapi.h:776
DMTF 7.
Definition: sipXtapi.h:325
SIPXTAPI_API SIPX_RESULT sipxConfigEnableStun(const SIPX_INST hInst, const char *szServer, int iServerPort, int iKeepAliveInSecs)
Enables STUN (Simple Traversal of UDP through NAT) support for both UDP SIP signaling and UDP audio/v...
Definition: sipXtapi.cpp:6994
SIPXTAPI_API SIPX_RESULT sipxCallHold(const SIPX_CALL hCall, bool bStopRemoteAudio=true)
Place the specified call on hold.
Definition: sipXtapi.cpp:1751
SIPXTAPI_API SIPX_RESULT sipxUtilUrlParse(const char *szUrl, char *szUsername, char *szHostname, int *iPort)
Simple utility function to parse the username, host, and port from a URL.
Definition: sipXtapi.cpp:9288
Dependent shared library not found.
Definition: sipXtapi.h:306
SIPXTAPI_API SIPX_RESULT sipxConfigSetLogCallback(sipxLogCallback pCallback)
Set a callback function to collect logging information.
Definition: sipXtapi.cpp:6661
SIPXTAPI_API SIPX_RESULT sipxAudioMute(const SIPX_INST hInst, const bool bMute)
Mute or unmute the microphone.
Definition: sipXtapi.cpp:5216
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoParameters(const SIPX_INST hInst, const int bitRate, const int frameRate)
Sets the bit rate and frame rate parameters for video.
Definition: sipXtapi.cpp:8713
SIPXTAPI_API SIPX_RESULT sipxAudioIsMuted(const SIPX_INST hInst, bool &bMuted)
Gets the mute state of the microphone.
Definition: sipXtapi.cpp:5283
const SIPX_INST SIPX_INST_NULL
Represents a null instance handle.
Definition: sipXtapi.h:812
SIPXTAPI_API SIPX_RESULT sipxConfigEnableSipDateHeader(const SIPX_INST hInst, const bool bEnabled)
Enables/Disables use of date header in sip messages.
Definition: sipXtapi.cpp:8865
176x144
Definition: sipXtapi.h:254
SIPXTAPI_API SIPX_RESULT sipxCallSendInfo(SIPX_INFO *phInfo, const SIPX_CALL hCall, const char *szContentType, const char *szContent, const size_t nContentLength)
Sends an INFO event to the specified call.
Definition: sipXtapi.cpp:3297
Enable NR with least amount of aggressiveness.
Definition: sipXtapi.h:1005
SIPXTAPI_API SIPX_RESULT sipxAudioGetEnabledSpeaker(const SIPX_INST hInst, SPEAKER_TYPE &type)
Gets the enabled speaker selection.
Definition: sipXtapi.cpp:5389
#define DEFAULT_CONNECTIONS
Default number of max sim.
Definition: sipXtapi.h:72
const char * getCertDbLocation() const
Gets the Certificate Database location (set internally to the location specified in the call to sipxC...
Definition: sipXtapi.h:490
DMTF 9.
Definition: sipXtapi.h:327
SIPXTAPI_API SIPX_RESULT sipxConfigEnableSipShortNames(const SIPX_INST hInst, const bool bEnabled)
Enables/Disables use of short field names in sip messages.
Definition: sipXtapi.cpp:8842
Success.
Definition: sipXtapi.h:284
SIPXTAPI_API SIPX_RESULT sipxConfigSetEnergyLevelNotificationPeriod(const SIPX_INST hInst, int periodMs)
Definition: sipXtapi.cpp:6745
SIPXTAPI_API SIPX_RESULT sipxPublisherDestroy(const SIPX_PUB hPub, const char *szContentType, const char *pFinalContent, const size_t nContentLength)
Tears down the publishing context.
Definition: sipXtapi.cpp:3863
SIPXTAPI_API SIPX_RESULT sipxConfigUpdatePreviewWindow(const SIPX_INST hInst, const SIPX_WINDOW_HANDLE hWnd)
Updates the Preview window with a new frame buffer.
Definition: sipXtapi.cpp:8598
SIPXTAPI_API SIPX_RESULT sipxConferenceCreate(const SIPX_INST hInst, SIPX_CONF *phConference)
Create a conference handle.
Definition: sipXtapi.cpp:3948
SIPXTAPI_API SIPX_RESULT sipxAudioGetOutputDevice(const SIPX_INST hInst, const int index, const char *&szDevice)
Get the name/identifier for output device at position index.
Definition: sipXtapi.cpp:5885
void setSrtpKey(const char *szKey, const int length)
Sets the symmetric SRTP key.
Definition: sipXtapi.h:443
SIPX_VIDEO_FORMAT
Enumeration of possible video sizes.
Definition: sipXtapi.h:251
The operation failed because required runtime dependencies are missing.
Definition: sipXtapi.h:299
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
Indicator for a UDP socket type.
Definition: sipXtapi.h:543
const SIPX_TRANSPORT SIPX_TRANSPORT_NULL
Represents a null transport handle.
Definition: sipXtapi.h:880
char cCustomTransportName[32]
Custom transport name.
Definition: sipXtapi.h:702
The network is down or failing.
Definition: sipXtapi.h:305
const SIPX_PUB SIPX_PUB_NULL
Represents a null publisher handle.
Definition: sipXtapi.h:862
SIPXTAPI_API SIPX_RESULT sipxAudioSetAECMode(const SIPX_INST hInst, const SIPX_AEC_MODE mode)
Enables or disables Acoustic Echo Cancellation (AEC).
Definition: sipXtapi.cpp:5519
SIPXTAPI_API SIPX_RESULT sipxConfigSetSecurityParameters(const SIPX_INST hInst, const char *szDbLocation, const char *szMyCertNickname, const char *szDbPassword)
Set security parameters for an instance of sipXtapi.
Definition: sipXtapi.cpp:8822
SIPXTAPI_API SIPX_RESULT sipxConferencePlayAudioFileStop(const SIPX_CONF hConf)
Definition: sipXtapi.cpp:4773
SIPXTAPI_API SIPX_RESULT sipxPublisherUpdate(const SIPX_PUB hPub, const char *szContentType, const char *pContent, const size_t nContentLength)
Publishes an updated state to specific event via NOTIFY to its subscribers.
Definition: sipXtapi.cpp:3806
SIPXTAPI_API SIPX_RESULT sipxCallUpdateVideoWindow(const SIPX_CALL hCall, const SIPX_WINDOW_HANDLE hWnd)
Updates the Video window with a new frame buffer.
Definition: sipXtapi.cpp:8656
SIPXTAPI_API SIPX_RESULT sipxCallGetConnectionId(const SIPX_CALL hCall, int &connectionId)
Gets the media interface connection ID.
Definition: sipXtapi.cpp:2072
SIPXTAPI_API SIPX_RESULT sipxAudioGetAGCMode(const SIPX_INST hInst, bool &bEnabled)
Get the enable/disable state of Automatic Gain Control (AGC).
Definition: sipXtapi.cpp:5638
DMTF 6.
Definition: sipXtapi.h:324
SIPX_TONE_ID TONE_ID
Left for backwards compatibility – please use SIPX_TONE_ID.
Definition: sipXtapi.h:353
#define DEFAULT_TCP_PORT
Default TCP port.
Definition: sipXtapi.h:61
SIPXTAPI_API SIPX_RESULT sipxCallSetMixOutputGain(const SIPX_CALL hCall, int bridgeOutputIndex, float gain)
Sets the gain for all inputs to the given bridge output, except for the input of the same index which...
Definition: sipXtapi.cpp:3622
SIPXTAPI_API SIPX_RESULT sipxLineGet(const SIPX_INST hInst, SIPX_LINE lines[], const size_t max, size_t &actual)
Gets the active list of line identities.
Definition: sipXtapi.cpp:6496
SIPXTAPI_API SIPX_RESULT sipxAudioGetInputDevice(const SIPX_INST hInst, const int index, const char *&szDevice)
Get the name/identifier for input device at position index.
Definition: sipXtapi.cpp:5778
SIPXTAPI_API SIPX_RESULT sipxCallGetLocalID(const SIPX_CALL hCall, char *szId, const size_t iMaxLength)
Get the SIP identity of the local connection.
Definition: sipXtapi.cpp:1972
SIPXTAPI_API SIPX_RESULT sipxConfigSetDnsSrvTimeouts(const int initialTimeoutInSecs, const int retries)
Modifies the timeout values used for DNS SRV lookups.
Definition: sipXtapi.cpp:6788
#define DEFAULT_UDP_PORT
Default UDP port.
Definition: sipXtapi.h:60
Definition: sipXtapi.h:157
SIPXTAPI_API SIPX_RESULT sipxCallGetRequestURI(const SIPX_CALL hCall, char *szUri, const size_t iMaxLength)
Get the SIP request URI.
Definition: sipXtapi.cpp:2146
Unable to allocate enough memory to perform operation.
Definition: sipXtapi.h:287
Generic Failure.
Definition: sipXtapi.h:285
SIPXTAPI_API SIPX_RESULT sipxConfigDisableStun(const SIPX_INST hInst)
Disable the use of STUN.
Definition: sipXtapi.cpp:7032
SIPX_NOISE_REDUCTION_MODE
SIPX_NOISE_REDUCTION_MODE defines the various noise reduction options.
Definition: sipXtapi.h:1001
The evaluation version of this product has expired.
Definition: sipXtapi.h:293
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoCodecByName(const SIPX_INST hInst, const char *szCodecName)
Set the codec by name.
Definition: sipXtapi.cpp:8030
Full echo cancellation; attempt to cancel echo between the the speaker and microphone.
Definition: sipXtapi.h:971
Low quality video.
Definition: sipXtapi.h:243
SIPXTAPI_API SIPX_RESULT sipxCallGetAudioRtcpStats(const SIPX_CALL hCall, SIPX_RTCP_STATS *pStats)
Obtain RTCP stats for the specified call.
Definition: sipXtapi.cpp:3478
unsigned int SIPX_CALL
The SIPX_CALL handle represents a call or connection between the user agent and another party...
Definition: sipXtapi.h:828
SPEAKER_TYPE
Speaker output types are used to differentiate between the logical ringer (used to alert user of in i...
Definition: sipXtapi.h:165
Signed 16 bit PCM data, mono, 8KHz, no header.
Definition: sipXtapi.h:265
ID for codecs with low bandwidth requirements.
Definition: sipXtapi.h:227
SIPXTAPI_API SIPX_RESULT sipxReInitialize(SIPX_INST *phInst, const int udpPort=DEFAULT_UDP_PORT, const int tcpPort=DEFAULT_TCP_PORT, const int tlsPort=DEFAULT_TLS_PORT, const int rtpPortStart=DEFAULT_RTP_START_PORT, const int maxConnections=DEFAULT_CONNECTIONS, const char *szIdentity=DEFAULT_IDENTITY, const char *szBindToAddr=DEFAULT_BIND_ADDRESS, bool bUseSequentialPorts=false, const char *szTLSCertificateNickname=NULL, const char *szTLSCertificatePassword=NULL, const char *szDbLocation=NULL)
Re-initialize the sipX TAPI-like API layer.
Definition: sipXtapi.cpp:646
void * SIPX_WINDOW_HANDLE
Type for storing a "window object handle" - in Windows, the application should cast their HWND to a S...
Definition: sipXtapi.h:553
SIPX_VIDEO_DISPLAY_TYPE type
Type of video display.
Definition: sipXtapi.h:603
SIPXTAPI_API SIPX_RESULT sipxCallAccept(const SIPX_CALL hCall, SIPX_VIDEO_DISPLAY *const pDisplay=NULL, SIPX_SECURITY_ATTRIBUTES *const pSecurity=NULL, SIPX_CALL_OPTIONS *options=NULL, bool bSendEarlyMedia=false)
Accepts an inbound call and proceed immediately to alerting.
Definition: sipXtapi.cpp:911
void copyData(const SIPX_SECURITY_ATTRIBUTES &ref)
Definition: sipXtapi.h:503
SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordBufferStop(const SIPX_CALL hCall)
Stop recording a call to buffer.
Definition: sipXtapi.cpp:2736
High quality video.
Definition: sipXtapi.h:245
SIPXTAPI_API SIPX_RESULT sipxUtilUrlGetDisplayName(const char *szUrl, char *szDisplayName, size_t nDisplayName)
Simple utility function to parse the display name from a SIP URL.
Definition: sipXtapi.cpp:9322
Definition: sipXtapi.h:402
SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalSipUdpPort(SIPX_INST hInst, int *pPort)
Get the local UDP port for SIP signaling.
Definition: sipXtapi.cpp:7366
SIPXTAPI_API SIPX_RESULT sipxLineFindByURI(const SIPX_INST hInst, const char *szURI, SIPX_LINE &hLine)
Find a line definition given a URI.
Definition: sipXtapi.cpp:6612
#define MAX_PASSWORD_LENGTH
maximum password length PKI operations
Definition: sipXtapi.h:393
Send a SIP OPTIONS method request to the other side.
Definition: sipXtapi.h:949
SIPXTAPI_API SIPX_RESULT sipxConfigUnsubscribe(const SIPX_SUB hSub)
Unsubscribe from previously subscribed NOTIFY events.
Definition: sipXtapi.cpp:3202
int SIPX_CONTACT_ID
Type for storing Contact Record identifiers.
Definition: sipXtapi.h:632
SIPXTAPI_API SIPX_RESULT sipxAudioSetNoiseReductionMode(const SIPX_INST hInst, const SIPX_NOISE_REDUCTION_MODE mode)
Set the noise reduction mode/policy for suppressing background noise.
Definition: sipXtapi.cpp:5676
Definition: sipXtapi.h:778
const SIPX_CONF SIPX_CONF_NULL
Represents a null conference handle.
Definition: sipXtapi.h:837
DMTF *.
Definition: sipXtapi.h:328
debug-level messages
Definition: sipXtapi.h:379
SIPXTAPI_API SIPX_RESULT sipxConfigEnableIce(const SIPX_INST hInst)
Enables an ICE-like mechanism for determining connectivity of remote parties dynamically.
Definition: sipXtapi.cpp:7102
Echo suppression; attempt to suppress echo by effectively forcing a half-duplex audio channel...
Definition: sipXtapi.h:965
Definition: sipXtapi.h:400
const int getSecurityLevel() const
Sets the S/MIME & SRTP security level.
Definition: sipXtapi.h:484
SIPXTAPI_API SIPX_RESULT sipxConfigSetSipAcceptLanguage(const SIPX_INST hInst, const char *szLanguage)
Sets the Accept Language used in sip messages.
Definition: sipXtapi.cpp:8911
SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordBufferStart(const SIPX_CALL hCall, const char *pBuffer, const int bufferSize, const int bufferType=RAW_PCM_16, const int maxRecordTime=-1, const int maxSilence=-1)
Record a call session (including other parties if this is a multi-party call / conference) to a buffe...
Definition: sipXtapi.cpp:2701
MEDIA_TYPE
Media type.
Definition: sipXtapi.h:155
ID for codecs with normal bandwidth requirements.
Definition: sipXtapi.h:228
char cCustomRouteID[64]
Custom transport routing tag.
Definition: sipXtapi.h:703
SIPXTAPI_API SIPX_RESULT sipxCallResizeWindow(const SIPX_CALL hCall, const SIPX_WINDOW_HANDLE hWnd)
Resizes the video window.
Definition: sipXtapi.cpp:8622
Dialtone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:331
SIPXTAPI_API SIPX_RESULT sipxCallAnswer(const SIPX_CALL hCall, bool bTakeFocus=true)
Answer an alerting call.
Definition: sipXtapi.cpp:1221
Fasy Busy / call failed tone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:339
The operation failed because the certificate database did not initialize.
Definition: sipXtapi.h:300
ID for codecs with high bandwidth requirements.
Definition: sipXtapi.h:198
SIPXTAPI_API SIPX_RESULT sipxConfigUnHibernate(const SIPX_INST hInst)
Call this function upon returning from a system hibernation.
Definition: sipXtapi.cpp:9204
unsigned long SIPX_CONF
The SIPX_CONF handle represents a collection of CALLs that have bridge (mixed) audio.
Definition: sipXtapi.h:836
#define DEFAULT_IDENTITY
sipx<IP>:UDP_PORT used as identify if lines are not defined.
Definition: sipXtapi.h:73
RTCP statistics computed according to RFC 3550.
Definition: sipXtapi.h:728
SIPXTAPI_API SIPX_RESULT sipxConfigSetLogFile(const char *szFilename)
The sipxConfigSetlogFile method sets the filename of the log file and directs output to that file...
Definition: sipXtapi.cpp:6652
#define MAX_SMIME_KEY_LENGTH
s/mime key length
Definition: sipXtapi.h:391
SIPX_SECURITY_ATTRIBUTES()
Constructor.
Definition: sipXtapi.h:414
NAT mapped address (e.g.
Definition: sipXtapi.h:527
SIPXTAPI_API SIPX_RESULT sipxConfigGetVersion(char *szVersion, const size_t nBuffer)
Get the sipXtapi API version string.
Definition: sipXtapi.cpp:7334
informational messages
Definition: sipXtapi.h:380
SIPXTAPI_API SIPX_RESULT sipxCallStartTone(const SIPX_CALL hCall, const SIPX_TONE_ID toneId, const bool bLocal, const bool bRemote)
Play a tone (DTMF, dialtone, ring back, etc) to the local and/or remote party.
Definition: sipXtapi.cpp:2372
const char * getSrtpKey() const
Gets the symmetric SRTP key.
Definition: sipXtapi.h:466
Definition: sipXtapiInternal.h:857
SIPXTAPI_API SIPX_RESULT sipxAudioGetNoiseReductionMode(const SIPX_INST hInst, SIPX_NOISE_REDUCTION_MODE &mode)
Get the mode/policy for Noise Reduction (NR).
Definition: sipXtapi.cpp:5709
The SIPX_VIDEO_CODEC structure includes codec name and bandwidth info.
Definition: sipXtapi.h:746
Possible return value for sipxConfigGetVideoCodecPreferences.
Definition: sipXtapi.h:230
SIPXTAPI_API SIPX_RESULT sipxAudioGetCurrentInputDevice(const SIPX_INST hInst, int &index, const char *&szDevice)
Get the name/identifier for the current input device used by sipX.
Definition: sipXtapi.cpp:5803
SIPXTAPI_API SIPX_RESULT sipxConfigGetVideoCodec(const SIPX_INST hInst, const int index, SIPX_VIDEO_CODEC *pCodec)
Get the video codec at a certain index in the list of codecs.
Definition: sipXtapi.cpp:7985
Value used to signify the default bandwidth level when calling sipxCallLimitCodecPreferences.
Definition: sipXtapi.h:233
SIPX_VIDEO_DISPLAY_TYPE
Enum for specifying the type of display object to be used for displaying video.
Definition: sipXtapi.h:559
SIPXTAPI_API SIPX_RESULT sipxCallGetID(const SIPX_CALL hCall, char *szId, const size_t iMaxLength)
Get the SIP call ID of the call represented by the specified call handle.
Definition: sipXtapi.cpp:1947
SIPXTAPI_API SIPX_RESULT sipxCallSetMicGain(const SIPX_CALL hCall, float gain)
Sets the gain of the microphone for a given call.
Definition: sipXtapi.cpp:3592
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
#define SIPX_CALLING_CONVENTION
The SIPX_CALLING_CONVENTION define controls the default calling convention.
Definition: sipXtapi.h:57
SIPXTAPI_API SIPX_RESULT sipxConfigEnableRtpOverTcp(const SIPX_INST hInst, bool bEnable)
Enables RTP streaming over TCP.
Definition: sipXtapi.cpp:9262
128x96
Definition: sipXtapi.h:255
SIPXTAPI_API SIPX_RESULT sipxCallRedirect(const SIPX_CALL hCall, const char *szForwardURL)
Redirect an inbound call (prior to alerting the user).
Definition: sipXtapi.cpp:1194
SIPXTAPI_API SIPX_RESULT sipxConfigEnableRportMapping(const SIPX_INST hInst, const bool bEnable)
Enable or diable the use of IP and port provided in the response via (rport) for mapping of NAT/publi...
Definition: sipXtapi.cpp:6865
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoQuality(const SIPX_INST hInst, const SIPX_VIDEO_QUALITY_ID quality)
Sets the video quality.
Definition: sipXtapi.cpp:8682
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoBandwidth(const SIPX_INST hInst, SIPX_VIDEO_BANDWIDTH_ID bandWidth)
Set the bandwidth parameters for video codecs.Depending on the bandwidth parameter that is passed in ...
Definition: sipXtapi.cpp:7770
Automatic contact selection; used for API parameters.
Definition: sipXtapi.h:531
char szSrtpKey[MAX_SRTP_KEY_LENGTH]
Definition: sipXtapi.h:493
void setSecurityLevel(SIPX_SRTP_LEVEL security)
Sets the S/MIME & SRTP security level.
Definition: sipXtapi.h:462
SIPX_WINDOW_HANDLE handle
Window handle if type SIPX_WINDOW_HANDLE_TYPE.
Definition: sipXtapi.h:606
const SIPX_CALL SIPX_CALL_NULL
Represents a null call handle.
Definition: sipXtapi.h:829
Definition: sipXtapi.h:777
Call-busy tone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:333
SIPXTAPI_API SIPX_RESULT sipxConfigSetAudioCodecPreferences(const SIPX_INST hInst, SIPX_AUDIO_BANDWIDTH_ID bandWidth)
Set the preferred bandwidth requirement for codec selection.
Definition: sipXtapi.cpp:7447
Definition: sipXtapi.h:779
DMTF 8.
Definition: sipXtapi.h:326
Send a SIP PING method request to the other side.
Definition: sipXtapi.h:948
void setSmimeKey(const char *szKey, const int length)
Sets the public key of the remote party, which is used to encrypt the S/MIME container for the SDP...
Definition: sipXtapi.h:453
SIPXTAPI_API SIPX_RESULT sipxConfigIsOutOfBandDTMFEnabled(const SIPX_INST hInst, bool &bEnable)
Determines if sending of out-of-band DTMF tones is enabled or disabled.
Definition: sipXtapi.cpp:8314
Remote party is ringing feedback tone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:335
SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalSipTcpPort(SIPX_INST hInst, int *pPort)
Get the local TCP port for SIP signaling.
Definition: sipXtapi.cpp:7393
SIPXTAPI_API SIPX_RESULT sipxConfigKeepAliveRemove(const SIPX_INST hInst, SIPX_CONTACT_ID contactId, SIPX_KEEPALIVE_TYPE type, const char *remoteIp, int remotePort)
Remove a signaling keepalive.
Definition: sipXtapi.cpp:7241
Out of resources (hit some max limit)
Definition: sipXtapi.h:291
Off hook / fast busy tone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:349
Definition: sipXtapi.h:401
SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordFileStart(const SIPX_CALL hCall, const char *szFile, const SIPX_AUDIO_FILE_FORMAT recordFormat=SIPX_WAVE_PCM_16, const bool appendToFile=false, const int numChannels=1)
Record a call session (including other parties if this is a multi-party call / conference) to a file...
Definition: sipXtapi.cpp:2558
SIPXTAPI_API SIPX_RESULT sipxConfigGetVideoCaptureDevices(const SIPX_INST hInst, char **arrSzCaptureDevices, int nDeviceStringLength, int nArrayLength)
Gets the list of video capture devices.
Definition: sipXtapi.cpp:7824
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoFormat(const SIPX_INST hInst, SIPX_VIDEO_FORMAT videoFormat)
Set the supported video format This method will limit the supported video format to either VIDEO_FORM...
Definition: sipXtapi.cpp:8176
int nSmimeKeyLength
Definition: sipXtapi.h:496
critical conditions
Definition: sipXtapi.h:384
SIPXTAPI_API SIPX_RESULT sipxCallGetContactID(const SIPX_CALL hCall, char *szId, const size_t iMaxLength)
Get the SIP identity of the contact connection.
Definition: sipXtapi.cpp:2046
SIPXTAPI_API SIPX_RESULT sipxLineRegister(const SIPX_LINE hLine, const bool bRegister)
Registers a line with the proxy server.
Definition: sipXtapi.cpp:6346
SIPXTAPI_API SIPX_RESULT sipxConfigAddContact(const SIPX_INST hInst, const char *szSipContactAddress, const int iSipContactPort, SIPX_CONTACT_ID &iNewContactId)
Add a contact using the given IP address and port.
Definition: sipXtapi.cpp:8468
Indicator for a custom external transport.
Definition: sipXtapi.h:546
const SIPX_LINE SIPX_LINE_NULL
Represents a null line handle.
Definition: sipXtapi.h:821
SIPXTAPI_API SIPX_RESULT sipxAudioGetAECMode(const SIPX_INST hInst, SIPX_AEC_MODE &mode)
Get the mode of Acoustic Echo Cancellation (AEC).
Definition: sipXtapi.cpp:5552
Definition: sipXtapi.h:533
Send a Carriage Return/Line Feed to other side.
Definition: sipXtapi.h:946
SIPXTAPI_API SIPX_RESULT sipxConfigSetConnectionIdleTimeout(const SIPX_INST hInst, const int idleTimeout)
Set the connection idle timeout.
Definition: sipXtapi.cpp:8952
SIPX_CONTACT_ID id
Contact record Id.
Definition: sipXtapi.h:695
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
#define DEFAULT_BIND_ADDRESS
Bind to the first physical interface discovered.
Definition: sipXtapi.h:78
SIPX_CONTACT_ADDRESS()
Constructor.
Definition: sipXtapi.h:643
#define SIPXTAPI_API
Assume extern "C" for non-win32 platforms.
Definition: sipXtapi.h:138
Disabled AEC; do not attempt to cancel or suppress echo.
Definition: sipXtapi.h:963
ID for codecs with variable bandwidth requirements.
Definition: sipXtapi.h:226
SIPXTAPI_API SIPX_RESULT sipxLineGetContactId(const SIPX_LINE hLine, SIPX_CONTACT_ID &contactId)
Get the contact ID for the designated line handle.
Definition: sipXtapi.cpp:6591
SIPX_SRTP_LEVEL
Enumeration of the possible levels of SRTP.
Definition: sipXtapi.h:398
SIPX_RESULT
SIPX_RESULT is an enumeration with all the possible result/return codes.
Definition: sipXtapi.h:282
SIPXTAPI_API SIPX_RESULT sipxAudioGetNumInputDevices(const SIPX_INST hInst, size_t &numDevices)
Get the number of input devices available on this system.
Definition: sipXtapi.cpp:5747
SIPXTAPI_API SIPX_RESULT sipxConferenceGetEnergyLevels(const SIPX_CONF hConf, int &iInputEnergyLevel, int &iOutputEnergyLevel)
Gets energy levels for a conference.
Definition: sipXtapi.cpp:4855
unsigned long SIPX_SUB
A SIPX_SUB handle represent a subscription to a remote publisher.
Definition: sipXtapi.h:872
SIPXTAPI_API SIPX_RESULT sipxMediaConnectionRtpStartSend(const SIPX_CONF hConf, int connectionId, int numTokens, const char *codecTokens[], int payloadIds[])
Start sending the RTP/RTCP stream.
Definition: sipXtapi.cpp:5018
char cIpAddress[28]
IP Address.
Definition: sipXtapi.h:699
SIPXTAPI_API SIPX_RESULT sipxConferenceUnhold(const SIPX_CONF hConf)
Removes conference members from a held state.
Definition: sipXtapi.cpp:4685
SIPXTAPI_API SIPX_RESULT sipxConfigSetOutboundProxy(const SIPX_INST hInst, const char *szProxy)
Defines the SIP proxy used for outbound requests.
Definition: sipXtapi.cpp:6762
SIPXTAPI_API SIPX_RESULT sipxConferenceDestroy(SIPX_CONF hConf)
Destroys a conference.
Definition: sipXtapi.cpp:4804
SIPXTAPI_API SIPX_RESULT sipxConferenceHold(const SIPX_CONF hConf, bool bBridging=true)
Places a conference on hold.
Definition: sipXtapi.cpp:4635
SIPXTAPI_API SIPX_RESULT sipxCallBlindTransfer(const SIPX_CALL hCall, const char *szAddress)
Blind transfer the specified call to another party.
Definition: sipXtapi.cpp:3207
SIPXTAPI_API SIPX_RESULT sipxAudioSetGain(const SIPX_INST hInst, const int iLevel)
Set the local microphone gain.
Definition: sipXtapi.cpp:5115
system is unusable
Definition: sipXtapi.h:386
DMTF 1.
Definition: sipXtapi.h:319
SIPXTAPI_API SIPX_RESULT sipxConfigGetVideoCodecPreferences(const SIPX_INST hInst, SIPX_VIDEO_BANDWIDTH_ID *pBandWidth)
Get the current codec preference.
Definition: sipXtapi.cpp:7744
Full echo cancellation; attempt to cancel echo between the the speaker and microphone; however...
Definition: sipXtapi.h:979
SIPXTAPI_API SIPX_RESULT sipxLineRemove(SIPX_LINE hLine)
Remove the designated line appearance.
Definition: sipXtapi.cpp:6378
SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordResume(const SIPX_CALL hCall)
Resume paused recording call to file or buffer.
Definition: sipXtapi.cpp:2649
SIPXTAPI_API SIPX_RESULT sipxLineGetURI(const SIPX_LINE hLine, char *szBuffer, const size_t nBuffer, size_t &nActual)
Get the Line URI for the designated line handle.
Definition: sipXtapi.cpp:6544
void(* fnSpkrAudioHook)(const int nSamples, short *pSamples)
Typedef for audio target(speaker) hook procedure.
Definition: sipXtapi.h:925
Enable NR with modest amount of aggressiveness.
Definition: sipXtapi.h:1007
SIPXTAPI_API SIPX_RESULT sipxCallUnhold(const SIPX_CALL hCall)
Take the specified call off hold.
Definition: sipXtapi.cpp:1811
void(* sipxLogCallback)(const char *szPriority, const char *szSource, const char *szMsg)
Signature for a log callback function that gets passed three strings, first string is the priority le...
Definition: sipXtapi.h:275
320x240
Definition: sipXtapi.h:256
libraries or facilities not supported for this specific OS platform
Definition: sipXtapi.h:307
SIPXTAPI_API SIPX_RESULT sipxConfigIsInBandDTMFEnabled(const SIPX_INST hInst, bool &bEnable)
Determines if sending of in-band DTMF tones is enabled or disabled.
Definition: sipXtapi.cpp:8342
In the MEDIA_LOCAL_START and MEDIA_REMOTE_START events the SIPX_CODEC_INFO structure is being passed ...
Definition: sipXtapi.h:760
SIPXTAPI_API SIPX_RESULT sipxConfigSetAudioCodecByName(const SIPX_INST hInst, const char *szCodecName)
Set the codec preference order by name.
Definition: sipXtapi.cpp:7574
const int getSmimeKeyLength() const
Gets the public key of the remote party, which is used to encrypt the S/MIME container for the SDP...
Definition: sipXtapi.h:480
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoCpuUsage(const SIPX_INST hInst, const int cpuUsage)
Set the cpu usage.
Definition: sipXtapi.cpp:8752
OGG file container using OPUS audio encoder.
Definition: sipXtapi.h:364
SIPXTAPI_API SIPX_RESULT sipxConfigEnableRTCP(const SIPX_INST hInst, const bool bEnable)
Enable or disable sending RTCP reports.
Definition: sipXtapi.cpp:8369
SIPXTAPI_API SIPX_RESULT sipxConferenceLimitCodecPreferences(const SIPX_CONF hConf, const SIPX_AUDIO_BANDWIDTH_ID audioBandwidth, const SIPX_VIDEO_BANDWIDTH_ID videoBandwidth, const char *szVideoCodecName)
Limits the codec preferences on a conference.
Definition: sipXtapi.cpp:4893
SIPXTAPI_API SIPX_RESULT sipxCallStopTone(const SIPX_CALL hCall)
Stop playing a tone (DTMF, dialtone, ring back, etc).
Definition: sipXtapi.cpp:2421
The operation failed because the certificate database did not accept the password.
Definition: sipXtapi.h:301
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoCaptureDevice(const SIPX_INST hInst, const char *szCaptureDevice)
Sets the video capture device.
Definition: sipXtapi.cpp:7918
SIPXTAPI_API SIPX_RESULT sipxCallPlayBufferStart(const SIPX_CALL hCall, const char *szBuffer, const int bufSize, const int bufType, const bool bRepeat, const bool bLocal, const bool bRemote)
Play the specified audio data.
Definition: sipXtapi.cpp:2764
DTMF Flash.
Definition: sipXtapi.h:330
Call waiting alert tone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:345
SIPXTAPI_API SIPX_RESULT sipxLineAddCredential(const SIPX_LINE hLine, const char *szUserID, const char *szPasswd, const char *szRealm)
Adds authentication credentials to the designated line appearance.
Definition: sipXtapi.cpp:6412
const char * getSmimeKey() const
Gets the public key of the remote party, which is used to encrypt the S/MIME container for the SDP...
Definition: sipXtapi.h:471
warning conditions
Definition: sipXtapi.h:382
int cbSize
Size of structure.
Definition: sipXtapi.h:602
unsigned long SIPX_PUB
The SIPX_PUB handle represent a publisher context.
Definition: sipXtapi.h:860
SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalContacts(const SIPX_INST hInst, SIPX_CONTACT_ADDRESS addresses[], size_t nMaxAddresses, size_t &nActualAddresses)
Get the local contact address available for outbound/inbound signaling and audio. ...
Definition: sipXtapi.cpp:8409
SIPXTAPI_API SIPX_RESULT sipxAudioSetAGCMode(const SIPX_INST hInst, const bool bEnable)
Enable/Disable Automatic Gain Control (AGC).
Definition: sipXtapi.cpp:5605
SIPX_AUDIO_FILE_FORMAT
Audio file format types.
Definition: sipXtapi.h:358
SIPX_TRANSPORT_TYPE
SIPX_TRANSPORT_TYPE defines various protocols use for signaling transport.
Definition: sipXtapi.h:541
SIPXTAPI_API SIPX_RESULT sipxCallAudioRecordFileStop(const SIPX_CALL hCall)
Stop recording a call to file.
Definition: sipXtapi.cpp:2675
SIPXTAPI_API SIPX_RESULT sipxConfigGetVideoCaptureDevice(const SIPX_INST hInst, char *szCaptureDevice, int nLength)
Gets the current video capture device.
Definition: sipXtapi.cpp:7880
char szCertDbPassword[MAX_PASSWORD_LENGTH]
Definition: sipXtapi.h:502
Call held feedback tone (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:347
Disable NR; Do not attempt to reduce background noise.
Definition: sipXtapi.h:1003
#define DEFAULT_RTP_START_PORT
Starting RTP port for RTP port range.
Definition: sipXtapi.h:63
SIPXTAPI_API SIPX_RESULT sipxCallGetConference(const SIPX_CALL hCall, SIPX_CONF &hConf)
Get the conference handle for the specified call.
Definition: sipXtapi.cpp:2122
Definition: sipXtapi.h:780
SIPXTAPI_API SIPX_RESULT sipxCallGetRemoteContact(const SIPX_CALL hCall, char *szContact, const size_t iMaxLength)
Get the SIP remote contact.
Definition: sipXtapi.cpp:2190
char szSmimeKeyDer[MAX_SMIME_KEY_LENGTH]
Definition: sipXtapi.h:495
SIPXTAPI_API SIPX_RESULT sipxConfigGetLocalFeedbackAddress(const SIPX_INST hInst, const char *szRemoteIp, const int iRemotePort, char *szContactIp, size_t nContactIpLength, int &iContactPort, int iTimeoutMs)
Get our local ip/port combination for the designated remote ip/port.
Definition: sipXtapi.cpp:8508
A DirectShow render filter object for handling the remote video display.
Definition: sipXtapi.h:563
Local address for a particular interface.
Definition: sipXtapi.h:526
Definition: sipXtapi.h:158
Definition: sipXtapi.h:360
Possible return value for sipxConfigGetAudioCodecPreferences.
Definition: sipXtapi.h:200
SIPXTAPI_API SIPX_RESULT sipxCallGetInviteHeader(const SIPX_CALL hCall, const char *headerName, char *headerValue, const size_t maxValueLength, bool *inviteFromRemote, const size_t headerInstanceIndex=0)
Get the named header value from the last SIP INVITE request (sent or received) in the context of the ...
Definition: sipXtapi.cpp:2278
SIPXTAPI_API SIPX_RESULT sipxConfigGetAllLocalNetworkIps(const char *arrAddresses[], const char *arrAddressAdapter[], int &numAddresses)
Populates an array of IP Addresses in char* form.
Definition: sipXtapi.cpp:8540
unsigned long SIPX_TRANSPORT
The SIPX_TRANSPORT handle represents a user-implementation of a network transport mechanism to be use...
Definition: sipXtapi.h:879
int cbSize
Size of structure.
Definition: sipXtapi.h:700
unsigned long SIPX_INFO
The SIPX_INFO handle represents a handle to an INFO message sent by a sipXtapi instance.
Definition: sipXtapi.h:849
SIPXTAPI_API SIPX_RESULT sipxCallSetMediaPassThrough(const SIPX_CALL hCall, MEDIA_TYPE mediaType, int mediaTypeStreamIndex, const char *streamReceiveAddress, int rtpPort, int rtcpPort)
Set the address and port to which the given media stream is to be recieved.
Definition: sipXtapi.cpp:2863
Invalid/Uninitialized DMTF Id.
Definition: sipXtapi.h:316
SIPXTAPI_API SIPX_RESULT sipxConfigSubscribe(const SIPX_INST hInst, const SIPX_LINE hLine, const char *szTargetUrl, const char *szEventType, const char *szAcceptType, const SIPX_CONTACT_ID contactId, SIPX_SUB *phSub)
Subscribe for NOTIFY events which may be published by another end-point or server.
Definition: sipXtapi.cpp:3097
SIPXTAPI_API SIPX_RESULT sipxCallCreate(const SIPX_INST hInst, const SIPX_LINE hLine, SIPX_CALL *phCall)
Create a new call for the purpose of creating an outbound connection/call.
Definition: sipXtapi.cpp:1436
Enable NR with highest amount of aggressiveness.
Definition: sipXtapi.h:1009
SIPXTAPI_API SIPX_RESULT sipxConfigSetRegisterExpiration(const SIPX_INST hInst, const int nRegisterExpirationSecs)
Specifies the expiration period for registration.
Definition: sipXtapi.cpp:6918
SIPXTAPI_API SIPX_RESULT sipxAudioSetCallInputDevice(const SIPX_INST hInst, const char *szDevice)
Set the call input device (in-call microphone).
Definition: sipXtapi.cpp:5960
char dbLocation[256]
Definition: sipXtapi.h:498
SIPXTAPI_API SIPX_RESULT sipxConfigDisableTurn(const SIPX_INST hInst)
Disable the use of TURN.
Definition: sipXtapi.cpp:7081
Indicator for a TLS socket type.
Definition: sipXtapi.h:545
SIPXTAPI_API SIPX_RESULT sipxUtilUrlUpdate(char *szUrl, size_t &nUrl, const char *szNewUsername, const char *szNewHostname, const int iNewPort)
Simple utility function to update a URL.
Definition: sipXtapi.cpp:9354
Method/API not implemented.
Definition: sipXtapi.h:286
disable logging
Definition: sipXtapi.h:387
SIPXTAPI_API SIPX_RESULT sipxCallAudioPlayFileStart(const SIPX_CALL hCall, const char *szFile, const bool bRepeat, const bool bLocal, const bool bRemote, const bool bMixWithMicrophone=false, const float fVolumeScaling=1.0)
Play the designated file.
Definition: sipXtapi.cpp:2458
ID for codecs with normal bandwidth requirements.
Definition: sipXtapi.h:197
SIPXTAPI_API SIPX_RESULT sipxConfigSetUserAgentName(const SIPX_INST hInst, const char *szName, const bool bIncludePlatformName=true)
Sets the User-Agent name to be used with outgoing SIP messages.
Definition: sipXtapi.cpp:6891
ID for codecs with variable bandwidth requirements.
Definition: sipXtapi.h:194
SIPXTAPI_API SIPX_RESULT sipxConfigGetNumVideoCodecs(const SIPX_INST hInst, int *pNumCodecs)
Get the number of video codecs.
Definition: sipXtapi.cpp:7951
SIPXTAPI_API SIPX_RESULT sipxConfigEnableGIPSTracing(SIPX_INST hInst, bool bEnable)
Enables GIPS tracing in sipXtapi (if bundled with sipXtapi).
Definition: sipXtapi.cpp:6678
ID for codecs with low bandwidth requirements.
Definition: sipXtapi.h:196
The SIPX_AUDIO_CODEC structure includes codec name and bandwidth info.
Definition: sipXtapi.h:716
DMTF 5.
Definition: sipXtapi.h:323
error conditions
Definition: sipXtapi.h:383
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoPreviewDisplay(const SIPX_INST hInst, SIPX_VIDEO_DISPLAY *const pDisplay)
Sets the display object for the "video preview".
Definition: sipXtapi.cpp:8576
DMTF 4.
Definition: sipXtapi.h:322
Invalid SIP address.
Definition: sipXtapi.h:290
#define MAX_SRTP_KEY_LENGTH
srtp key length
Definition: sipXtapi.h:390
SIPXTAPI_API SIPX_RESULT sipxConfigSetSubscribeExpiration(const SIPX_INST hInst, const int nSubscribeExpirationSecs)
Specifies the expiration period for subscription.
Definition: sipXtapi.cpp:6943
SIPXTAPI_API SIPX_RESULT sipxCallAudioPlayFileStop(const SIPX_CALL hCall)
Stop playing a file started with sipxCallPlayFileStart If a sipxCallDestroy is attempted while an aud...
Definition: sipXtapi.cpp:2519
Structure used to pass window handle/filter interface for video calls.
Definition: sipXtapi.h:570
int nSrtpKeyLength
Definition: sipXtapi.h:494
char cInterface[32]
Source interface.
Definition: sipXtapi.h:698
void(* fnMicAudioHook)(const int nSamples, short *pSamples)
Typedef for audio source (microphone) hook procedure.
Definition: sipXtapi.h:915
SIPXTAPI_API SIPX_RESULT sipxConfigGetAudioCodec(const SIPX_INST hInst, const int index, SIPX_AUDIO_CODEC *pCodec)
Get the audio codec at a certain index in the list of codecs.
Definition: sipXtapi.cpp:7701
Container class for security attributes.
Definition: sipXtapi.h:409
SIPXTAPI_API SIPX_RESULT sipxConfigSetLocationHeader(const SIPX_INST hInst, const char *szHeader)
Sets the location header for SIP messages.
Definition: sipXtapi.cpp:8934
SIPX_SRTP_LEVEL nSrtpLevel
Definition: sipXtapi.h:492
ID for codecs with high bandwidth requirements.
Definition: sipXtapi.h:229
SIPXTAPI_API SIPX_RESULT sipxConfigGetNumAudioCodecs(const SIPX_INST hInst, int *pNumCodecs)
Get the number of audio codecs.
Definition: sipXtapi.cpp:7673
SIPXTAPI_API SIPX_RESULT sipxConfigSetVoiceQualityServer(const SIPX_INST hInst, const char *szServer)
Sets the SIP target URL for voice quality reports.
Definition: sipXtapi.cpp:9130
SIPXTAPI_API SIPX_RESULT sipxConfigSetVideoFramerate(const SIPX_INST hInst, const int frameRate)
Sets the video framerate.
Definition: sipXtapi.cpp:8798
SIPXTAPI_API SIPX_RESULT sipxConfigEnableSipAllowHeader(const SIPX_INST hInst, const bool bEnabled)
Enables/Disables use of allow header in sip messages.
Definition: sipXtapi.cpp:8888
SIPXTAPI_API SIPX_RESULT sipxConfigPrepareToHibernate(const SIPX_INST hInst)
Call this function to prepare a sipXtapi instance for a system hibernation.
Definition: sipXtapi.cpp:9147
Value used to signify the default bandwidth level when calling sipxCallConnect, sipxCallAccept, or sipxConferenceAdd.
Definition: sipXtapi.h:203
Wave audio file with GSM encoded audio.
Definition: sipXtapi.h:363
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
SIPX_SECURITY_ATTRIBUTES & operator=(const SIPX_SECURITY_ATTRIBUTES &ref)
Assignment operator.
Definition: sipXtapi.h:433
The operation failed because a TCP socket could not be imported by the SSL/TLS module.
Definition: sipXtapi.h:302
SIPX_TRANSPORT_TYPE eTransportType
Contact transport type.
Definition: sipXtapi.h:697
SIPXTAPI_API SIPX_RESULT sipxCallLimitCodecPreferences(const SIPX_CALL hCall, const SIPX_AUDIO_BANDWIDTH_ID audioBandwidth, const SIPX_VIDEO_BANDWIDTH_ID videoBandwidth, const char *szVideoCodecName)
Limits the codec preferences on a per-call basis.
Definition: sipXtapi.cpp:3547
SIPXTAPI_API SIPX_RESULT sipxCallUnsubscribe(const SIPX_SUB hSub)
Unsubscribe from previously subscribed NOTIFY events.
Definition: sipXtapi.cpp:3044
void * SIPX_INST
The SIPX_INST handle represents an instance of a user agent.
Definition: sipXtapi.h:811
Invalid arguments; bad handle, argument out of range, etc.
Definition: sipXtapi.h:288
const int getSrtpKeyLength() const
Gets the symmetric SRTP key length.
Definition: sipXtapi.h:475
Silence (Not supported with GIPS VoiceEngine)
Definition: sipXtapi.h:341
The operation failed because the object was in the wrong state.
Definition: sipXtapi.h:295
A handle to the window for the remote video display.
Definition: sipXtapi.h:561
The CONTACT_ADDRESS structure includes contact information (IP-address and port), address source type...
Definition: sipXtapi.h:640
SIPXTAPI_API SIPX_RESULT sipxMediaConnectionRtpStopSend(const SIPX_CONF hConf, int connectionId)
Stop sending RTP/RTCP.
Definition: sipXtapi.cpp:5056
#define DEFAULT_TLS_PORT
Default TLS port.
Definition: sipXtapi.h:62
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
char szMyCertNickname[32]
Definition: sipXtapi.h:500
Relay address (e.g.
Definition: sipXtapi.h:528
SIPXTAPI_API SIPX_RESULT sipxConferencePlayAudioFileStart(const SIPX_CONF hConf, const char *szFile, const bool bRepeat, const bool bLocal, const bool bRemote, const bool bMixWithMicrophone=false, const float fVolumeScaling=1.0)
Play the designated audio file to all conference participants and/or the local speaker.
Definition: sipXtapi.cpp:4725
SIPXTAPI_API SIPX_RESULT sipxUtilUrlGetUrlParam(const char *szUrl, const char *szParamName, size_t nParamIndex, char *szParamValue, size_t nParamValue)
Get the Nth named url parameter from the designated url.
Definition: sipXtapi.cpp:9420
SIPXTAPI_API SIPX_RESULT sipxConfigEnableDnsSrv(const bool bEnable)
Enables/disables sending of DNS SRV request for all sipXtapi instances.
Definition: sipXtapi.cpp:8241
SIPXTAPI_API SIPX_RESULT sipxConfigKeepAliveAdd(const SIPX_INST hInst, SIPX_CONTACT_ID contactId, SIPX_KEEPALIVE_TYPE type, const char *remoteIp, int remotePort, int keepAliveSecs)
Add a signaling keep alive to a remote ip address.
Definition: sipXtapi.cpp:7143
SIPXTAPI_API SIPX_RESULT sipxConferenceSplit(const SIPX_CONF hConf, const SIPX_CALL hCall)
Split (remove) a held call from a conference.
Definition: sipXtapi.cpp:4101
SIPXTAPI_API SIPX_RESULT sipxConfigDisableIce(const SIPX_INST hInst)
Disable the use of ICE.
Definition: sipXtapi.cpp:7122
SIPXTAPI_API SIPX_RESULT sipxConfigExternalTransportRemove(const SIPX_TRANSPORT hTransport)
Removes an external transport mechanism from the given instance.
Definition: sipXtapi.cpp:9034
SIPXTAPI_API SIPX_RESULT sipxConferenceRemove(const SIPX_CONF hConf, const SIPX_CALL hCall)
Removes a participant from conference by hanging up on them.
Definition: sipXtapi.cpp:4550
SIPXTAPI_API SIPX_RESULT sipxConfigSetMicAudioHook(fnMicAudioHook hookProc)
Designate a callback routine as a microphone replacement or supplement.
Definition: sipXtapi.cpp:6713
SIPXTAPI_API SIPX_RESULT sipxCallSubscribe(const SIPX_CALL hCall, const char *szEventType, const char *szAcceptType, SIPX_SUB *phSub, bool bRemoteContactIsGruu=false)
Subscribe for NOTIFY events which may be published by the other end-point of the call.
Definition: sipXtapi.cpp:2899