OPAL  Version 3.10.10
opal.h
Go to the documentation of this file.
1 /*
2  * opal.h
3  *
4  * "C" language interface for OPAL
5  *
6  * Open Phone Abstraction Library (OPAL)
7  *
8  * Copyright (c) 2008 Vox Lucida
9  *
10  * The contents of this file are subject to the Mozilla Public License
11  * Version 1.0 (the "License"); you may not use this file except in
12  * compliance with the License. You may obtain a copy of the License at
13  * http://www.mozilla.org/MPL/
14  *
15  * Software distributed under the License is distributed on an "AS IS"
16  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17  * the License for the specific language governing rights and limitations
18  * under the License.
19  *
20  * The Original Code is Open Phone Abstraction Library.
21  *
22  * The Initial Developer of the Original Code is Vox Lucida (Robert Jongbloed)
23  *
24  * This code was initially written with the assisance of funding from
25  * Stonevoice. http://www.stonevoice.com.
26  *
27  * Contributor(s): ______________________________________.
28  *
29  * $Revision: 27795 $
30  * $Author: rjongbloed $
31  * $Date: 2012-06-07 22:49:21 -0500 (Thu, 07 Jun 2012) $
32  */
33 
34 #ifndef OPAL_OPAL_H
35 #define OPAL_OPAL_H
36 
37 #include <stdlib.h>
38 
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
70 #ifdef _WIN32
71  #define OPAL_EXPORT __stdcall
72 #else
73  #define OPAL_EXPORT
74 #endif
75 
77 typedef struct OpalHandleStruct * OpalHandle;
78 
79 
80 typedef struct OpalMessage OpalMessage;
81 
83 #define OPAL_C_API_VERSION 27
84 
85 
87 
138 OpalHandle OPAL_EXPORT OpalInitialise(unsigned * version, const char * options);
139 
143 #define OPAL_INITIALISE_FUNCTION "OpalInitialise"
144 
148 typedef OpalHandle (OPAL_EXPORT *OpalInitialiseFunction)(unsigned * version, const char * options);
149 
150 
152 
161 void OPAL_EXPORT OpalShutDown(OpalHandle opal);
162 
166 #define OPAL_SHUTDOWN_FUNCTION "OpalShutDown"
167 
171 typedef void (OPAL_EXPORT *OpalShutDownFunction)(OpalHandle opal);
172 
173 
175 
212 OpalMessage * OPAL_EXPORT OpalGetMessage(OpalHandle opal, unsigned timeout);
213 
217 #define OPAL_GET_MESSAGE_FUNCTION "OpalGetMessage"
218 
222 typedef OpalMessage * (OPAL_EXPORT *OpalGetMessageFunction)(OpalHandle opal, unsigned timeout);
223 
224 
226 
267 OpalMessage * OPAL_EXPORT OpalSendMessage(OpalHandle opal, const OpalMessage * message);
268 
272 typedef OpalMessage * (OPAL_EXPORT *OpalSendMessageFunction)(OpalHandle opal, const OpalMessage * message);
273 
277 #define OPAL_SEND_MESSAGE_FUNCTION "OpalSendMessage"
278 
279 
281 
285 void OPAL_EXPORT OpalFreeMessage(OpalMessage * message);
286 
290 #define OPAL_FREE_MESSAGE_FUNCTION "OpalFreeMessage"
291 
296 
297 
299 
300 #define OPAL_PREFIX_H323 "h323"
301 #define OPAL_PREFIX_SIP "sip"
302 #define OPAL_PREFIX_IAX2 "iax2"
303 #define OPAL_PREFIX_PCSS "pc"
304 #define OPAL_PREFIX_LOCAL "local"
305 #define OPAL_PREFIX_POTS "pots"
306 #define OPAL_PREFIX_PSTN "pstn"
307 #define OPAL_PREFIX_IVR "ivr"
308 
309 #define OPAL_PREFIX_ALL OPAL_PREFIX_H323 " " \
310  OPAL_PREFIX_SIP " " \
311  OPAL_PREFIX_IAX2 " " \
312  OPAL_PREFIX_PCSS " " \
313  OPAL_PREFIX_LOCAL " " \
314  OPAL_PREFIX_POTS " " \
315  OPAL_PREFIX_PSTN " " \
316  OPAL_PREFIX_IVR
317 
318 
321 typedef enum OpalMessageType {
415 // Always add new messages to ethe end to maintain backward compatibility
418 
419 
423 typedef enum OpalSilenceDetectMode {
429 
430 
434 typedef enum OpalEchoCancelMode {
439 
440 
455 typedef int (*OpalMediaDataFunction)(
456  const char * token,
458  const char * stream,
462  const char * format,
463  void * userData,
464  void * data,
465  int size
466 );
467 
468 
486  const OpalMessage * message
487 );
488 
489 
497 typedef enum OpalMediaDataType {
504 
505 
523 typedef enum OpalMediaTiming {
533 
534 
567 typedef struct OpalParamGeneral {
568  const char * m_audioRecordDevice;
569  const char * m_audioPlayerDevice;
570  const char * m_videoInputDevice;
571  const char * m_videoOutputDevice;
572  const char * m_videoPreviewDevice;
573  const char * m_mediaOrder;
576  const char * m_mediaMask;
579  const char * m_autoRxMedia;
583  const char * m_autoTxMedia;
587  const char * m_natRouter;
589  const char * m_stunServer;
591  unsigned m_tcpPortBase;
593  unsigned m_tcpPortMax;
595  unsigned m_udpPortBase;
597  unsigned m_udpPortMax;
599  unsigned m_rtpPortBase;
601  unsigned m_rtpPortMax;
607  unsigned m_minAudioJitter;
611  unsigned m_maxAudioJitter;
620  unsigned m_signalDeadband;
622  unsigned m_silenceDeadband;
629  unsigned m_audioBuffers;
643  const char * m_mediaOptions;
652  unsigned m_audioBufferTime;
655  unsigned m_manualAlerting;
669 
670 
673 typedef struct OpalProductDescription {
674  const char * m_vendor;
677  const char * m_name;
680  const char * m_version;
683  unsigned m_t35CountryCode;
688  unsigned m_t35Extension;
700 
701 
705 typedef enum OpalUserInputModes {
713 
714 
731 typedef struct OpalParamProtocol {
732  const char * m_prefix;
735  const char * m_userName;
738  const char * m_displayName;
741  const char * m_interfaceAddresses;
752  const char * m_defaultOptions;
755 
756 
758 #define OPAL_MWI_EVENT_PACKAGE "message-summary"
759 
761 #define OPAL_LINE_APPEARANCE_EVENT_PACKAGE "dialog;sla;ma"
762 
824 typedef struct OpalParamRegistration {
825  const char * m_protocol;
827  const char * m_identifier;
833  const char * m_hostName;
837  const char * m_authUserName;
838  const char * m_password;
839  const char * m_adminEntity;
842  unsigned m_timeToLive;
844  unsigned m_restoreTime;
847  const char * m_eventPackage;
856 
857 
873 
874 
878 typedef struct OpalStatusRegistration {
879  const char * m_protocol;
881  const char * m_serverName;
884  const char * m_error;
891 
892 
929 typedef struct OpalParamSetUpCall {
930  const char * m_partyA;
944  const char * m_partyB;
956  const char * m_callToken;
961  const char * m_alertingType;
980  const char * m_protocolCallId;
986 
987 
991 typedef struct OpalStatusIncomingCall {
992  const char * m_callToken;
993  const char * m_localAddress;
994  const char * m_remoteAddress;
995  const char * m_remotePartyNumber;
996  const char * m_remoteDisplayName;
997  const char * m_calledAddress;
998  const char * m_calledPartyNumber;
1000  const char * m_alertingType;
1012  const char * m_protocolCallId;
1014  const char * m_referredByAddress;
1015  const char * m_redirectingNumber;
1017 
1018 
1027 typedef struct OpalParamAnswerCall {
1028  const char * m_callToken;
1033 
1038 typedef enum OpalMediaStates {
1048 } OpalMediaStates;
1049 
1050 
1057 typedef struct OpalStatusMediaStream {
1058  const char * m_callToken;
1059  const char * m_identifier;
1062  const char * m_type;
1067  const char * m_format;
1074  int m_volume;
1079 
1080 
1083 typedef struct OpalParamSetUserData {
1084  const char * m_callToken;
1085  void * m_userData;
1087 
1088 
1094 typedef struct OpalStatusUserInput {
1095  const char * m_callToken;
1096  const char * m_userInput;
1097  unsigned m_duration;
1102 } OpalStatusUserInput, OpalParamUserInput;
1103 
1104 
1109  const char * m_party;
1110  const char * m_type;
1111  const char * m_extraInfo;
1115 
1116 
1130  OpalLineIdle = OpalLineTerminated // Kept for backward compatibility
1132 
1133 
1138  const char * m_line;
1143  const char * m_callId;
1147  const char * m_partyA;
1148  const char * m_partyB;
1150 
1151 
1173 
1174 
1177 typedef struct OpalParamRecording {
1178  const char * m_callToken;
1179  const char * m_file;
1181  unsigned m_channels;
1184  const char * m_audioFormat;
1188  const char * m_videoFormat;
1192  unsigned m_videoWidth;
1193  unsigned m_videoHeight;
1194  unsigned m_videoRate;
1197 
1198 
1202 typedef struct OpalStatusTransferCall {
1203  const char * m_callToken;
1204  const char * m_protocolCallId;
1206  const char * m_result;
1221  const char * m_info;
1226 
1227 
1231 typedef struct OpalStatusIVR {
1232  const char * m_callToken;
1233  const char * m_variables;
1238 } OpalStatusIVR;
1239 
1240 
1244 typedef struct OpalStatusCallCleared {
1245  const char * m_callToken;
1246  const char * m_reason;
1252 
1253 
1258 typedef enum OpalCallEndReason {
1291 
1292 
1295 typedef struct OpalParamCallCleared {
1296  const char * m_callToken;
1300 
1301 
1305 struct OpalMessage {
1307  union {
1308  const char * m_commandError;
1314  const char * m_callToken;
1317  OpalStatusUserInput m_userInput;
1327  } m_param;
1328 };
1329 
1330 
1331 #ifdef __cplusplus
1332 };
1333 #endif
1334 
1335 #if defined(__cplusplus) || defined(DOC_PLUS_PLUS)
1336 
1339 {
1340  public:
1342  ~OpalMessagePtr();
1343 
1344  OpalMessageType GetType() const;
1345  void SetType(OpalMessageType type);
1346 
1347  const char * GetCallToken() const;
1348  void SetCallToken(const char * token);
1349 
1350  const char * GetCommandError() const;
1351 
1356  OpalParamSetUpCall * GetCallSetUp() const;
1359  OpalStatusUserInput * GetUserInput() const;
1366  OpalParamRecording * GetRecording() const;
1368 
1369  protected:
1371 
1372  private:
1373  OpalMessagePtr(const OpalMessagePtr &) { }
1374  void operator=(const OpalMessagePtr &) { }
1375 
1376  friend class OpalContext;
1377 };
1378 
1379 
1380 #ifdef GetMessage
1381 #undef GetMessage
1382 #endif
1383 #ifdef SendMessage
1384 #undef SendMessage
1385 #endif
1386 
1387 
1396 {
1397  public:
1399  OpalContext();
1400 
1402  virtual ~OpalContext();
1403 
1406  unsigned Initialise(
1407  const char * options,
1408  unsigned version = OPAL_C_API_VERSION
1409  );
1410 
1412  bool IsInitialised() const { return m_handle != NULL; }
1413 
1415  void ShutDown();
1416 
1418  bool GetMessage(
1419  OpalMessagePtr & message,
1420  unsigned timeout = 0
1421  );
1422 
1424  bool SendMessage(
1425  const OpalMessagePtr & message,
1426  OpalMessagePtr & response
1427  );
1428 
1429 
1431  bool SetUpCall(
1432  OpalMessagePtr & response,
1433  const char * partyB,
1434  const char * partyA = NULL,
1435  const char * alertingType = NULL
1436  );
1437 
1439  bool AnswerCall(
1440  const char * callToken
1441  );
1442 
1444  bool ClearCall(
1445  const char * callToken,
1447  );
1448 
1450  bool SendUserInput(
1451  const char * callToken,
1452  const char * userInput,
1453  unsigned duration = 0
1454  );
1455 
1456  protected:
1458 };
1459 
1460 #endif
1461 
1462 #endif // OPAL_OPAL_H
1463 
1464 
Definition: opal.h:386
const char * m_callToken
Call token for call being cleared.
Definition: opal.h:1232
Definition: opal.h:1039
Transport error cleared call.
Definition: opal.h:1267
const char * m_mediaMask
Definition: opal.h:576
Definition: opal.h:426
OpalVideoRecordMixMode m_videoMixing
Definition: opal.h:1195
const char * m_audioFormat
Definition: opal.h:1184
const char * m_type
Type for MWI, "Voice", "Fax", "Pager", "Multimedia", "Text", "None".
Definition: opal.h:1110
int(* OpalMediaDataFunction)(const char *token, const char *stream, const char *format, void *userData, void *data, int size)
Definition: opal.h:455
const char * m_autoTxMedia
Definition: opal.h:583
OpalMediaStates
Definition: opal.h:1038
Use RFC 2833 for DTMF only.
Definition: opal.h:710
union OpalMessage::@34 m_param
Call cleared because the line is out of service,.
Definition: opal.h:1288
unsigned m_rtpPortMax
Definition: opal.h:601
Definition: opal.h:1156
Definition: opal.h:392
unsigned m_audioBuffers
Definition: opal.h:629
Definition: opal.h:346
const char * GetCallToken() const
Used by OpalCmdHoldCall/OpalCmdRetrieveCall/OpalCmdStopRecording.
const char * m_audioPlayerDevice
Definition: opal.h:569
OpalParamAnswerCall * GetAnswerCall() const
Used by OpalCmdAnswerCall/OpalCmdAlerting.
const char * m_callToken
Call token for call being recorded.
Definition: opal.h:1178
bool IsInitialised() const
Indicate if the OPAL context has been initialised.
Definition: opal.h:1412
OpalStatusUserInput * GetUserInput() const
Used by OpalIndUserInput/OpalCmdUserInput.
unsigned m_videoRate
Definition: opal.h:1194
Definition: opal.h:334
OpalMediaDataType m_mediaDataHeader
Definition: opal.h:636
const char * m_eventPackage
Definition: opal.h:847
unsigned m_t35CountryCode
Definition: opal.h:683
unsigned m_channels
Definition: opal.h:1181
const char * m_partyB
Definition: opal.h:1148
const char * m_remoteAddress
URL of calling party. e.g. "sip:them@there.com".
Definition: opal.h:994
const char * m_serverName
Definition: opal.h:881
Use arbitrary strings (H.245 string, or INFO dtmf)
Definition: opal.h:708
Definition: opal.h:355
OpalHandle m_handle
Definition: opal.h:1457
Definition: opal.h:498
Definition: opal.h:369
Definition: opal.h:501
Definition: opal.h:404
unsigned m_maxAudioJitter
Definition: opal.h:611
void OPAL_EXPORT OpalFreeMessage(OpalMessage *message)
OpalStatusMediaStream * GetMediaStream() const
Used by OpalIndMediaStream/OpalCmdMediaStream.
void SetType(OpalMessageType type)
OpalMessageType
Definition: opal.h:321
const char * m_callToken
Call token for call being cleared.
Definition: opal.h:1245
OpalMessage * m_message
Definition: opal.h:1370
unsigned m_duration
Definition: opal.h:1097
const char * m_natRouter
Definition: opal.h:587
unsigned m_videoWidth
Definition: opal.h:1192
const char * m_videoFormat
Definition: opal.h:1188
Definition: opal.h:384
Definition: opal.h:991
OpalHandle(OPAL_EXPORT * OpalInitialiseFunction)(unsigned *version, const char *options)
Definition: opal.h:148
const char * m_partyA
Definition: opal.h:930
OpalMessage *OPAL_EXPORT OpalGetMessage(OpalHandle opal, unsigned timeout)
unsigned m_videoHeight
Definition: opal.h:1193
Definition: opal.h:366
OpalParamRegistration m_registrationInfo
Used by OpalCmdRegistration.
Definition: opal.h:1311
OpalMediaTiming m_mediaTiming
Definition: opal.h:661
unsigned m_rtpMaxPayloadSize
Definition: opal.h:605
Definition: opal.h:1259
Call was forwarded using FACILITY message.
Definition: opal.h:1273
Definition: opal.h:425
const char * m_protocol
Definition: opal.h:879
Definition: opal.h:371
OpalParamCallCleared * GetClearCall() const
Used by OpalCmdClearCall.
Definition: opal.h:394
bool SendUserInput(const char *callToken, const char *userInput, unsigned duration=0)
Send user input using OpalCmdUserInput via OpalSendMessage()
Call cleared due to invalid conference ID.
Definition: opal.h:1285
OpalUserInputModes
Definition: opal.h:705
const char * m_variables
Definition: opal.h:1233
OpalVideoRecordMixMode
Definition: opal.h:1155
Definition: opal.h:411
Definition: opal.h:376
Definition: opal.h:1244
Definition: opal.h:1108
const char * m_adminEntity
Definition: opal.h:839
Definition: opal.h:435
Definition: opal.h:327
const char * m_authUserName
Definition: opal.h:837
const char * m_prefix
Definition: opal.h:732
Call failed as could not find user (in GK)
Definition: opal.h:1270
Definition: opal.h:1125
const char * m_redirectingNumber
This is the E.164 number of the party doing transfer, if available.
Definition: opal.h:1015
OpalParamGeneral m_general
Used by OpalCmdSetGeneralParameters.
Definition: opal.h:1309
OpalEchoCancelMode
Definition: opal.h:434
const char * m_videoOutputDevice
Definition: opal.h:571
unsigned m_tcpPortBase
Definition: opal.h:591
Definition: opal.h:408
Definition: opal.h:863
const char * m_mediaOptions
Definition: opal.h:643
const char * m_version
Definition: opal.h:680
OpalStatusCallCleared m_callCleared
Used by OpalIndCallCleared.
Definition: opal.h:1320
const char * m_protocolCallId
Definition: opal.h:1012
const char * m_calledAddress
URL of called party the remote is trying to contact.
Definition: opal.h:997
const char * m_mediaOrder
Definition: opal.h:573
const char * m_protocolCallId
Definition: opal.h:1204
Definition: opal.h:862
OpalParamRecording m_recording
Used by OpalCmdStartRecording.
Definition: opal.h:1324
Use in-band generated audio tones for DTMF.
Definition: opal.h:711
const char * m_callToken
Call token for the call the media stream is.
Definition: opal.h:1084
Definition: opal.h:824
Definition: opal.h:1395
void OPAL_EXPORT OpalShutDown(OpalHandle opal)
OpalParamProtocol * GetProtocolParams() const
Used by OpalCmdSetProtocolParameters.
OpalStatusLineAppearance m_lineAppearance
Used by OpalIndLineAppearance.
Definition: opal.h:1319
unsigned m_minAudioJitter
Definition: opal.h:607
OpalParamCallCleared m_clearCall
Used by OpalCmdClearCall.
Definition: opal.h:1321
OpalStatusMessageWaiting * GetMessageWaiting() const
Used by OpalIndMessageWaiting.
Definition: opal.h:325
Call cleared due to an enforced duration limit.
Definition: opal.h:1284
unsigned m_audioBufferTime
Definition: opal.h:652
const char * m_stunServer
Definition: opal.h:589
const char * m_extraInfo
Definition: opal.h:1111
Remote endpoint congested.
Definition: opal.h:1278
const char * m_videoPreviewDevice
Definition: opal.h:572
unsigned m_udpPortBase
Definition: opal.h:595
const char * m_localAddress
URL of local interface. e.g. "sip:me@here.com".
Definition: opal.h:993
unsigned m_manufacturerCode
Definition: opal.h:693
OpalMediaTiming
Definition: opal.h:523
const char * m_protocolCallId
Definition: opal.h:980
The remote party host off line.
Definition: opal.h:1281
unsigned m_silenceDeadband
Definition: opal.h:622
const char * m_vendor
Definition: opal.h:674
Definition: opal.h:402
Definition: opal.h:1044
Definition: opal.h:1128
Definition: opal.h:567
Definition: opal.h:1083
const char * m_reason
Definition: opal.h:1246
Definition: opal.h:1094
#define OPAL_C_API_VERSION
Current API version.
Definition: opal.h:83
Definition: opal.h:731
const char * m_error
Definition: opal.h:884
Definition: opal.h:1124
The remote party is not running an endpoint.
Definition: opal.h:1280
virtual ~OpalContext()
Destroy the OPAL context, calls ShutDown().
OpalParamSetUserData * GetSetUserData() const
Used by OpalCmdSetUserData.
Call failed as could not get enough bandwidth.
Definition: opal.h:1271
Call cleared due to missing dial tone.
Definition: opal.h:1286
unsigned m_udpPortMax
Definition: opal.h:597
const char * m_password
Password for authentication with server.
Definition: opal.h:838
Definition: opal.h:673
const char * m_info
Definition: opal.h:1221
OpalMediaDataFunction m_mediaWriteData
Definition: opal.h:634
Definition: opal.h:1130
OpalParamRecording * GetRecording() const
Used by OpalCmdStartRecording.
OpalSilenceDetectMode
Definition: opal.h:423
const char * m_name
Definition: opal.h:677
Definition: opal.h:1160
const char * m_callToken
Call token for the call the media stream is.
Definition: opal.h:1058
const char * m_interfaceAddresses
Definition: opal.h:741
OpalMessage *(OPAL_EXPORT * OpalSendMessageFunction)(OpalHandle opal, const OpalMessage *message)
Definition: opal.h:272
Local endpoint busy.
Definition: opal.h:1275
bool SendMessage(const OpalMessagePtr &message, OpalMessagePtr &response)
Calls OpalSendMessage() to send a message to the OPAL context.
const char * m_calledPartyNumber
This is the E.164 number of the called party, if available.
Definition: opal.h:998
Remote endpoint application cleared call.
Definition: opal.h:1263
const char * m_remoteDisplayName
Display name calling party. e.g. "Fred Nurk".
Definition: opal.h:996
OpalParamGeneral * GetGeneralParams() const
Used by OpalCmdSetGeneralParameters.
OpalLineAppearanceStates
Definition: opal.h:1121
OpalCallEndReason
Definition: opal.h:1258
OpalParamProtocol m_overrides
Definition: opal.h:982
OpalStatusTransferCall * GetTransferStatus() const
Used by OpalIndTransferCall.
struct OpalHandleStruct * OpalHandle
Handle to initialised OPAL instance.
Definition: opal.h:77
Definition: opal.h:1231
OpalMediaStates m_state
Definition: opal.h:1071
Definition: opal.h:322
OpalParamSetUserData m_setUserData
Used by OpalCmdSetUserData.
Definition: opal.h:1323
void SetCallToken(const char *token)
bool ClearCall(const char *callToken, OpalCallEndReason reason=OpalCallEndedByLocalUser)
Clear a call using OpalCmdClearCall via OpalSendMessage()
Definition: opal.h:1137
const char * m_callToken
Call token for call being cleared.
Definition: opal.h:1296
The remote ended the call with unmapped Q.931 cause code.
Definition: opal.h:1283
OpalStatusCallCleared * GetCallCleared() const
Used by OpalIndCallCleared.
unsigned m_tcpPortMax
Definition: opal.h:593
const char * m_callToken
Call token for call being transferred.
Definition: opal.h:1203
Definition: opal.h:529
Definition: opal.h:424
Definition: opal.h:929
Definition: opal.h:1046
const char * m_partyA
Definition: opal.h:1147
const char * m_callId
Definition: opal.h:1143
Definition: opal.h:1040
Remote endpoint did not answer in required time.
Definition: opal.h:1265
Definition: opal.h:1168
const char * m_party
Party for which the MWI is directed.
Definition: opal.h:1109
unsigned Initialise(const char *options, unsigned version=OPAL_C_API_VERSION)
Definition: opal.h:339
Definition: opal.h:378
const char * m_defaultOptions
Definition: opal.h:752
OpalMessage *OPAL_EXPORT OpalSendMessage(OpalHandle opal, const OpalMessage *message)
const char * m_type
Definition: opal.h:1062
OpalParamRegistration * GetRegistrationInfo() const
Used by OpalCmdRegistration.
OpalStatusMediaStream m_mediaStream
Used by OpalIndMediaStream/OpalCmdMediaStream.
Definition: opal.h:1322
unsigned m_manualAlerting
Definition: opal.h:655
Definition: opal.h:343
OpalParamSetUpCall * GetCallSetUp() const
Used by OpalCmdSetUpCall/OpalIndProceeding/OpalIndAlerting/OpalIndEstablished.
OpalParamProtocol m_protocol
Used by OpalCmdSetProtocolParameters.
Definition: opal.h:1310
Definition: opal.h:416
int(* OpalMessageAvailableFunction)(const OpalMessage *message)
Definition: opal.h:485
const char * m_autoRxMedia
Definition: opal.h:579
Definition: opal.h:1164
unsigned m_t35Extension
Definition: opal.h:688
OpalProductDescription m_product
Definition: opal.h:999
Definition: opal.h:427
OpalEchoCancelMode m_echoCancellation
Definition: opal.h:627
OpalCallEndReason m_reason
Definition: opal.h:1297
#define OPAL_EXPORT
Definition: opal.h:73
OpalStatusMessageWaiting m_messageWaiting
Used by OpalIndMessageWaiting.
Definition: opal.h:1318
Definition: opal.h:1057
Definition: opal.h:359
void ShutDown()
Calls OpalShutDown() to dispose of the OPAL context.
OpalMessagePtr(OpalMessageType type=OpalIndCommandError)
Call failed a security check and was ended.
Definition: opal.h:1274
void(OPAL_EXPORT * OpalFreeMessageFunction)(OpalMessage *message)
Definition: opal.h:295
unsigned m_signalDeadband
Definition: opal.h:620
void(OPAL_EXPORT * OpalShutDownFunction)(OpalHandle opal)
Definition: opal.h:171
Remote endpoint refused call.
Definition: opal.h:1264
Definition: opal.h:1127
Definition: opal.h:1027
OpalContext()
Construct an unintialised OPAL context.
unsigned m_timeToLive
Definition: opal.h:842
OpalStatusLineAppearance * GetLineAppearance() const
Used by OpalIndLineAppearance.
Could not find common capabilities.
Definition: opal.h:1272
Definition: opal.h:373
const char * m_commandError
Used by OpalIndCommandError.
Definition: opal.h:1308
void * m_userData
user data value to associate with this call
Definition: opal.h:1085
const char * m_alertingType
Definition: opal.h:961
Use DTMF specific names (H.245 signal, or INFO dtmf-relay)
Definition: opal.h:709
Definition: opal.h:437
Gatekeeper has cleared call.
Definition: opal.h:1269
OpalStatusRegistration m_registrationStatus
Used by OpalIndRegistration.
Definition: opal.h:1312
Definition: opal.h:499
OpalMessageType m_type
Type of message.
Definition: opal.h:1306
Definition: opal.h:527
OpalStatusIncomingCall m_incomingCall
Used by OpalIndIncomingCall.
Definition: opal.h:1315
The remote failed temporarily app may retry.
Definition: opal.h:1282
Definition: opal.h:878
OpalParamSetUpCall m_callSetUp
Used by OpalCmdSetUpCall/OpalIndProceeding/OpalIndAlerting/OpalIndEstablished.
Definition: opal.h:1313
const char * m_videoInputDevice
Definition: opal.h:570
unsigned m_silenceAdaptPeriod
Definition: opal.h:624
int m_volume
Definition: opal.h:1074
const char * m_userInput
User input string, e.g. "#".
Definition: opal.h:1096
const char * m_result
Definition: opal.h:1206
OpalMediaDataType
Definition: opal.h:497
Definition: opal.h:390
OpalProductDescription m_product
Definition: opal.h:740
bool AnswerCall(const char *callToken)
Answer a call using OpalCmdAnswerCall via OpalSendMessage()
Definition: opal.h:406
OpalMediaTiming m_videoSourceTiming
Definition: opal.h:665
const char * m_callToken
Definition: opal.h:956
Remote endpoint busy.
Definition: opal.h:1277
int m_appearance
Definition: opal.h:1140
OpalMessageType GetType() const
Default mode for protocol.
Definition: opal.h:706
const char * m_callToken
Call token for call to be answered.
Definition: opal.h:1028
Call cleared due to missing ringback tone.
Definition: opal.h:1287
OpalMessage *(OPAL_EXPORT * OpalGetMessageFunction)(OpalHandle opal, unsigned timeout)
Definition: opal.h:222
Definition: opal.h:1122
Local endpoint application cleared call.
Definition: opal.h:1260
OpalStatusIVR m_ivrStatus
Used by OpalIndCompletedIVR.
Definition: opal.h:1326
const char * m_remotePartyNumber
This is the E.164 number of the caller, if available.
Definition: opal.h:995
OpalStatusUserInput m_userInput
Used by OpalIndUserInput/OpalCmdUserInput.
Definition: opal.h:1317
const char * m_identifier
Definition: opal.h:827
const char * m_callToken
Call token for new call.
Definition: opal.h:992
const char * m_file
Definition: opal.h:1179
Definition: opal.h:869
const char * m_audioRecordDevice
Definition: opal.h:568
Local endpoint declined to answer call.
Definition: opal.h:1262
OpalStatusRegistration * GetRegistrationStatus() const
Used by OpalIndRegistration.
Definition: opal.h:1202
OpalParamProtocol m_overrides
Definition: opal.h:1029
const char * m_line
URI for the line whose state is changing.
Definition: opal.h:1138
Wrapper around the OpalMessage structure.
Definition: opal.h:1338
Definition: opal.h:1042
Definition: opal.h:867
Call cleared because another call is answered.
Definition: opal.h:1289
Definition: opal.h:1126
Use Q.931 Information Elements (H.323 only)
Definition: opal.h:707
OpalLineAppearanceStates m_state
State the line has just moved to.
Definition: opal.h:1139
const char * m_partyB
Definition: opal.h:944
Definition: opal.h:1123
const char * m_protocol
Definition: opal.h:825
Definition: opal.h:330
Definition: opal.h:381
const char * m_callToken
Used by OpalCmdHoldcall/OpalCmdRetrieveCall/OpalCmdStopRecording.
Definition: opal.h:1314
Definition: opal.h:871
Local endpoint congested.
Definition: opal.h:1276
Transport connection failed to establish call.
Definition: opal.h:1268
const char * m_format
Definition: opal.h:1067
unsigned m_rtpTypeOfService
Definition: opal.h:603
OpalProductDescription m_product
Definition: opal.h:889
Definition: opal.h:525
Definition: opal.h:350
const char * m_referredByAddress
This is the full address of the party doing transfer, if available.
Definition: opal.h:1014
OpalParamAnswerCall m_answerCall
Used by OpalCmdAnswerCall/OpalCmdAlerting.
Definition: opal.h:1316
OpalRegistrationStates
Definition: opal.h:861
OpalUserInputModes m_userInputMode
Definition: opal.h:749
Definition: opal.h:1295
const char * m_identifier
Definition: opal.h:1059
Local endpoint did not accept call OnIncomingCall()=PFalse.
Definition: opal.h:1261
const char * m_displayName
Definition: opal.h:738
OpalMessageAvailableFunction m_messageAvailable
Definition: opal.h:639
OpalRegistrationStates m_status
Definition: opal.h:888
const char * m_callToken
Call token for the call the User Input was received on.
Definition: opal.h:1095
Definition: opal.h:436
unsigned m_rtpPortBase
Definition: opal.h:599
Definition: opal.h:363
Definition: opal.h:1305
bool GetMessage(OpalMessagePtr &message, unsigned timeout=0)
Calls OpalGetMessage() to get next message from the OPAL context.
unsigned m_silenceThreshold
Definition: opal.h:618
const char * m_alertingType
Definition: opal.h:1000
OpalStatusIncomingCall * GetIncomingCall() const
Used by OpalIndIncomingCall.
const char * m_userName
Definition: opal.h:735
Definition: opal.h:387
const char * m_hostName
Definition: opal.h:833
Remote endpoint stopped calling.
Definition: opal.h:1266
Definition: opal.h:524
bool SetUpCall(OpalMessagePtr &response, const char *partyB, const char *partyA=NULL, const char *alertingType=NULL)
Execute OpalSendMessage() using OpalCmdSetUpCall.
const char * GetCommandError() const
Used by OpalIndCommandError.
OpalStatusTransferCall m_transferStatus
Used by OpalIndTransferCall.
Definition: opal.h:1325
Could not reach the remote party.
Definition: opal.h:1279
unsigned m_restoreTime
Definition: opal.h:844
OpalSilenceDetectMode m_silenceDetectMode
Definition: opal.h:615
OpalMediaDataFunction m_mediaReadData
Definition: opal.h:632
Definition: opal.h:1177
OpalHandle OPAL_EXPORT OpalInitialise(unsigned *version, const char *options)