OPAL
Version 3.18.8
|
#include <opal.h>
Data Fields | |
const char * | m_partyA |
const char * | m_partyB |
const char * | m_callToken |
const char * | m_alertingType |
const char * | m_protocolCallId |
OpalParamProtocol | m_overrides |
unsigned | m_extraCount |
const OpalMIME * | m_extras |
Set up call parameters for several command and indication messages.
When establishing a new call via the OpalCmdSetUpCall command, the m_partyA and m_partyB fields indicate the parties to connect.
For OpalCmdTransferCall, m_partyA indicates the connection to be transferred and m_partyB is the party to be transferred to. If the call transfer is successful then a OpalIndCallCleared message will be received clearing the local call.
For OpalIndAlerting and OpalIndEstablished indications the three fields are set to the data for the call in progress.
Example: OpalMessage command; OpalMessage * response;
memset(&command, 0, sizeof(command)); command.m_type = OpalCmdSetUpCall; command.m_param.m_callSetUp.m_partyB = "h323:10.0.1.11"; response = OpalSendMessage(hOPAL, &command);
memset(&command, 0, sizeof(command)); command.m_type = OpalCmdSetUpCall; command.m_param.m_callSetUp.m_partyA = "pots:LINE1"; command.m_param.m_callSetUp.m_partyB = "sip:10.0.1.11"; response = OpalSendMessage(hOPAL, &command); callToken = strdup(response->m_param.m_callSetUp.m_callToken);
memset(&command, 0, sizeof(command)); command.m_type = OpalCmdTransferCall; command.m_param.m_callSetUp.m_callToken = callToken; command.m_param.m_callSetUp.m_partyB = "sip:10.0.1.12"; response = OpalSendMessage(hOPAL, &command);
const char* OpalParamSetUpCall::m_alertingType |
The type of "distinctive ringing" for the call. The string is protocol dependent, so the caller would need to be aware of the type of call being made. Some protocols may ignore the field completely.
For SIP this corresponds to the string contained in the "Alert-Info" header field of the INVITE. This is typically a URI for the ring file.
For H.323 this must be a string representation of an integer from 0 to 7 which will be contained in the Q.931 SIGNAL (0x34) Information Element.
This is only used in OpalCmdSetUpCall to set the string to be sent to the remote to change the type of ring the remote may emit.
For other indications this field is NULL.
const char* OpalParamSetUpCall::m_callToken |
Value of call token for new call. The user would pass NULL for this string in OpalCmdSetUpCall, a new value is returned by the OpalSendMessage() function. The user would provide the call token for the call being transferred when OpalCmdTransferCall is being called.
unsigned OpalParamSetUpCall::m_extraCount |
Count of extra information items in m_extras. This fields contains any extra information that is available about the outgoing call. It will typically be protocol specific. For example, for SIP, this is the multi-part MIME data that may be in the INVITE.
const OpalMIME* OpalParamSetUpCall::m_extras |
Data for each extra piece of extra information.
OpalParamProtocol OpalParamSetUpCall::m_overrides |
Overrides for the default parameters for the protocol. For example, m_userName and m_displayName can be changed on a call by call basis.
const char* OpalParamSetUpCall::m_partyA |
A-Party for call.
For OpalCmdSetUpCall, this indicates what subsystem will be starting the call, e.g. "pots:Handset One". If NULL or empty string then "pc:*" is used indication that the standard PC sound system ans screen is to be used.
For OpalCmdTransferCall this indicates the party to be transferred, e.g. "sip:fred@nurk.com". If NULL then it is assumed that the party to be transferred is of the same "protocol" as the m_partyB field, e.g. "pc" or "sip". If "*", then the party to be transferred will be of the same network attribute, e.g. "pc" would match "ivr" and "sip would match "h323" but "pc" would not match "sip".
For OpalIndAlerting and OpalIndEstablished this indicates the A-party of the call in progress.
const char* OpalParamSetUpCall::m_partyB |
B-Party for call. This is typically a remote host URL address with protocol, e.g. "h323:simple.com" or "sip:fred@nurk.com".
This must be provided in the OpalCmdSetUpCall and OpalCmdTransferCall commands, and is set by the system in the OpalIndAlerting and OpalIndEstablished indications.
If used in the OpalCmdTransferCall command, this may be a valid call token for another call on hold. The remote is transferred to the call on hold and both calls are then cleared.
const char* OpalParamSetUpCall::m_protocolCallId |
ID assigned by the underlying protocol for the call. This is returned in the OpalIndIncomingCall, OpalIndAlerting and OpalIndEstablished messages. Only available in version 18 and above