Dialogic Dialogic Global Call IP IP Phone User Manual


 
Dialogic
®
Global Call IP Technology Guide — November 2007 475
Dialogic Corporation
t_Capability.type = GCCAPTYPE_AUDIO;
t_Capability.direction = IP_CAP_DIR_LCLRECEIVE;
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);
/* specify and insert second capability parameter data for G.7229AnnexA coder */
/* changing only frames per pkt and the coder type from first capability: */
t_Capability.extra.audio.frames_per_pkt = 3;
t_Capability.capability = GCCAP_AUDIO_g729AnnexA;
rc = gc_util_insert_parm_ref(&target_datap,
GCSET_CHAN_CAPABILITY,
IPPARM_LOCAL_CAPABILITY,
sizeof(IP_CAPABILITY),
&t_Capability);
/* specify and insert 3rd capability parameter data for G.711Alaw 64kbit coder */
/* changing only frames per pkt and the coder type from first capability: */
t_Capability.capability = GCCAP_AUDIO_g711Alaw64k;
t_Capability.extra.audio.frames_per_pkt = 10;
/* For G.711 use frame size (ms) here, frames per packet fixed at 1 fpp */
rc = gc_util_insert_parm_ref(&target_datap,
GCSET_CHAN_CAPABILITY,
IPPARM_LOCAL_CAPABILITY,
sizeof(IP_CAPABILITY),
&t_Capability);
/* specify and insert fourth capability parameter data for G.711 Ulaw 64kbit coder */
/* changing only the coder type from previous capability */
t_Capability.capability = GCCAP_AUDIO_g711Ulaw64k;
rc = gc_util_insert_parm_ref(&target_datap,
GCSET_CHAN_CAPABILITY,
IPPARM_LOCAL_CAPABILITY,
sizeof(IP_CAPABILITY),
&t_Capability);
/* insert display string */
rc = gc_util_insert_parm_ref(&target_datap,
IPSET_CALLINFO,
IPPARM_DISPLAY,
(unsigned char)(strlen(IpDisplay)+1),
IpDisplay);
if (rc == 0)
{
gclib_mkbl.ext_datap = target_datap;
/* numberstr parameter may be NULL if MAKECALL_BLK is set, as secondary
address is ignored in SIP */
rc = gc_MakeCall(ldev, &crn, NULL, &gcmkbl, MakeCallTimeout,EV_ASYNC);
/* deallocate GC_PARM_BLK pointer */
gc_util_delete_parm_blk(target_datap);
}
}