Dialogic Dialogic Global Call IP IP Phone User Manual


 
Dialogic
®
Global Call IP Technology Guide — November 2007 165
Dialogic Corporation
IP-Specific Operations
4.7.5.3 Specifying Media Session Properties in a SIP re-INVITE
If an application wishes to change any media session properties via a re-INVITE request, it must
insert appropriate media capability parameter elements into the GC_PARM_BLK that it passes to
gc_ReqModifyCall( ). If there is no need to change media session properties (for example, when
using re-INVITE simply to refresh the Contact information for the dialog), the application can opt
to not include media session property parameter elements in the GC_PARM_BLK, in which case
the library will use the last SDP answer (that is, the current session properties) when it constructs
the re-INVITE.
The parameter elements for media capabilities are of the form:
GCSET_CHAN_CAPABILITY
IPPARM_LOCAL_CAPABILITY
value = IP_CAPABILITY structure
For a full-duplex media session, the application must insert these capability parameter elements in
pairs, one for transmit (IP_CAPABILITY.direction = IP_CAP_DIR_LCLTRANSMIT) and one for
receive (IP_CAPABILITY.direction = IP_CAP_DIR_LCLRECEIVE). If multiple session
proposals are being included in the SDP offer, the application inserts multiple such pairs of
parameter elements in order of codec preference.
For a half-duplex media session, the application inserts a single parameter element with the
IP_CAPABILITY.direction field set to either IP_CAP_DIR_LCLTXONLY or
IP_CAP_DIR_LCLRXONLY. If multiple session proposals are being included in the SDP offer,
the application inserts multiple parameter elements of this type in order of codec preference.
When requesting the remote endpoint to switch from audio mode to T.38 fax mode, the application
inserts only a single parameter element with IP_CAPABILITY.capability set to
GCCAP_DATA_t38UDPFax and IP_CAPABILITY.direction set to IP_CAP_DIR_LCLTXRX.
When requesting the remote endpoint to suspend streaming to place a call on hold, the application
inserts only a single parameter element with IP_CAPABILITY.direction set to either
IP_CAP_DIR_LCLRTPINACTIVE (to disable RTP streaming only) or
IP_CAP_DIR_LCLRTPRTCPINACTIVE (to disable both RTP and RTCP).
In each case, the IP_CAPABILITY structure must be fully specified. If only one property is being
changed (for example, only changing the direction), the remaining fields of the structure must
contain the current values for each of the other capability properties.
4.7.6 Canceling a Pending re-INVITE Request
If an application wishes to cancel a pending re-INVITE request, it first inserts a special parameter
element into a GC_PARM BLK, then passes that parameter block to gc_ReqModifyCall( ).
The parameter element used to cancel a pending re-INVITE is:
IPSET_MSG_SIP
IPPARM_SIP_METHOD
value = IP_MSGTYPE_SIP_CANCEL