Dialogic
®
System Release 6.1 CompactPCI for Windows
®
Release Update 30
ipConnect.mediaHandle = pline->mediaH;
gc_util_insert_parm_ref(&parmblkp, IPSET_FOIP, IPPARM_T38_DISCONNECT,
(sizeof(IP_CONNECT)), (void *)(&ipConnect));
gc_SetUserInfo(GCTGT_GCLIB_CRN, pline->crn, parmblkp, GC_SINGLECALL);
gc_util_delete_parm_blk(parmblkp);
/* Initiate audio codec switch */
gc_util_insert_parm_ref(&parmblkp, IPSET_SWITCH_CODEC, IPPARM_AUDIO_INITIATE, sizeof(int),
NULL);
gc_Extension(GCTGT_GCLIB_CRN,pline->crn, IPEXTID_CHANGEMODE, parmblkp, NULL, EV_ASYNC);
gc_util_delete_parm_blk(parmblkp);
}
INT32 processEvtHandler()
{
METAEVENT metaEvent;
GC_PARM_BLK *parmblkp = NULL;
GC_INFO t_info;
switch (evtType)
{
case GCEV_EXTENSIONCMPLT:
/* received extension complete event for audio initiation*/
/* do nothing */
break;
case GCEV_EXTENSION:
/* received extension event for media readiness */
ext_evtblkp = (EXTENSIONEVTBLK *) metaEvent.extevtdatap;
parmblkp = &ext_evtblkp->parmblk;
while (t_gcParmDatap = gc_util_next_parm(parmblkp, t_gcParmDatap))
{
switch(t_gcParmDatap->set_ID)
{
case IPSET_SWITCH_CODEC:
switch(t_gcParmDatap->parm_ID)
{
case IPPARM_REJECT:
gc_ResultInfo(&metaEvent,&t_info);
gc_util_insert_parm_ref(&parmblkp, IPSET_FOIP, IPPARM_T38_CONNECT,
(sizeof(IP_CONNECT)), (void *)(&ipConnect));
gc_SetUserInfo(GCTGT_GCLIB_CRN, pline->crn, parmblkp, GC_SINGLECALL);
break;
case IPPARM_READY:
/* Ready to send and receive audio */
gc_Listen();
break;
}
}
This example demonstrates “Manual” mode when the switch from T.38 fax to audio is
unsuccessful.
INT32 processEvtHandler( )
{
METAEVENT metaEvent;
GC_PARM_BLK *parmblkp = NULL;
IP_CONNECT ipConnect;
GC_INFO t_info;
switch (evtType)
{
Komentarze do niniejszej Instrukcji