Dialogic Dialogic Global Call IP IP Phone User Manual


 
474 Dialogic
®
Global Call IP Technology Guide — November 2007
Dialogic Corporation
if(rc == 0)
{
gclib_mkbl.ext_datap = target_datap;
rc = gc_MakeCall(ldev, &crn, pDestAddrStr, &gcmkbl,
MakeCallTimeout, EV_ASYNC);
/* deallocate GC_PARM_BLK pointer */
gc_util_delete_parm_blk(target_datap);
}
}
SIP-Specific Code Example
The following code example shows how to make a call using the SIP protocol.
/* Make a SIP IP call on line device ldev */
void MakeSipIpCall(LINEDEV ldev)
{
char *IpDisplay = "This is a Display"; /* display data */
char *pDestAddrBlk = "12345@127.0.0.1"; /* destination IP address for MAKECALL_BLK */
char *pSrcAddrBlk = "987654321"; /* origination address for MAKECALL_BLK*/
int rc = 0;
CRN crn;
GC_MAKECALL_BLK gcmkbl;
int MakeCallTimeout = 120;
/* initialize GCLIB_MAKECALL_BLK structure */
GCLIB_MAKECALL_BLK gclib_mkbl = {0};
/* set to NULL to retrieve new parameter block from utility function */
GC_PARM_BLK *target_datap = NULL;
gcmkbl.cclib = NULL; /* CCLIB pointer unused */
gcmkbl.gclib = &gclib_mkbl;
/* set GCLIB_ADDRESS_BLK with destination string & type*/
strcpy(gcmkbl.gclib->destination.address,pDestAddrBlk);
gcmkbl.gclib->destination.address_type = GCADDRTYPE_TRANSPARENT;
/* set GCLIB_ADDRESS_BLK with origination string & type*/
strcpy(gcmkbl.gclib->origination.address,pSrcAddrBlk);
gcmkbl.gclib->origination.address_type = GCADDRTYPE_TRANSPARENT;
/* set signaling PROTOCOL to SIP*/
rc = gc_util_insert_parm_val(&target_datap,
IPSET_PROTOCOL,
IPPARM_PROTOCOL_BITMASK,
sizeof(char),
IP_PROTOCOL_SIP);
/* initialize IP_CAPABILITY structure */
IP_CAPABILITY t_Capability = {0};
/* configure a GC_PARM_BLK with four coders, display, phone list and UUI message: */
/* specify and insert first capability parameter data for G.7231 coder */
t_Capability.type = GCCAPTYPE_AUDIO;
t_Capability.direction = IP_CAP_DIR_LCLTRANSMIT;
t_Capability.extra.audio.VAD = GCPV_DISABLE;
t_Capability.extra.audio.frames_per_pkt = 1;
t_Capability.capability = GCCAP_AUDIO_g7231_6_3k;
rc = gc_util_insert_parm_ref(&target_datap,
GCSET_CHAN_CAPABILITY,
IPPARM_LOCAL_CAPABILITY,
sizeof(IP_CAPABILITY),
&t_Capability);