Dialogic 05-2239-009 User Manual

Page of 604
168
Dialogic
®
 Global Call IP Technology Guide — November 2007
Dialogic Corporation
IP-Specific Operations
GCSET_CHAN_CAPABILITY
IPPARM_LOCAL_CAPABILITY
value = IP_CAPABILITY data structure with direction field set to 
IP_CAP_DIR_LCLRTPRTCPINACTIVE
As in the similar case of suspending RTP only, all of the fields in the IP_CAPABILITY structure 
except for the direction field should be set to the current values for the active media session. The 
application can start with a copy of the IP_CAPABILITY structure that was retrieved as part of the 
connection information as described in 
, on page 155, and then modify only the direction field before inserting 
the parameter element into the GC_PARM_BLK. 
When suspending streaming, it is only necessary to include a single capability parameter element 
in the parameter block even if the active call is a full-duplex session.
4.7.8.3
Retrieving a Held Call
Retrieving a held call is a matter of sending a re-INVITE with a “normal” SDP offer (non-zero 
address in the “c=” line and non-inactive direction parameter in the “m=” line). 
For a full-duplex connection, a Global Call application does this by inserting a pair of parameter 
elements that specify media capabilities for receive and transmit directions. The parameter 
elements are configured as follows:
GCSET_CHAN_CAPABILITY
IPPARM_LOCAL_CAPABILITY
value = IP_CAPABILITY data structure with direction field set to 
IP_CAP_DIR_LCLRECEIVE
GCSET_CHAN_CAPABILITY
IPPARM_LOCAL_CAPABILITY
value = IP_CAPABILITY data structure with direction field set to 
IP_CAP_DIR_LCLTRANSMIT
For a half-duplex connection, a Global Call application inserts a single parameter element as 
follows:
GCSET_CHAN_CAPABILITY
IPPARM_LOCAL_CAPABILITY
value = IP_CAPABILITY data structure with direction field set to 
IP_CAP_DIR_LCLRECVONLY or IP_CAP_DIR_LCLSENDONLY
Note that there is no requirement that a session must be re-activated in the same mode that it was in 
when it was inactivated. For example, a session that was in full-duplex mode when it was put on 
hold can be retrieved from hold as a half-duplex session or vice versa.
If the application wishes to reactivate the held call with the same codec properties as when the call 
was placed on hold, it must populate all fields of the IP_CAPABILITY structure except the 
direction with the original values. This can be accomplished by using copies of the 
IP_CAPABILITY structure that was used in the on-hold re-INVITE request and modifying the 
direction field in each, or by using both of the IP_CAPABILITY structures that were retrieved as