Dialogic Dialogic Global Call IP IP Phone User Manual


 
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 Section 4.6.2, “Getting Media Streaming Status and
Connection Information”, 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