Dialogic IP Phone 05-2239-009 User Manual

Page of 604
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