OPAL  Version 3.14.3
OpalParamSetUpCall Struct Reference

#include <opal.h>

Collaboration diagram for OpalParamSetUpCall:

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
 

Detailed Description

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);

Field Documentation

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.

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".

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. 

Only available in version 18 and above


The documentation for this struct was generated from the following file: