Quantcast
Viewing all articles
Browse latest Browse all 1151

Cannot drop primary call on GCEV_XFER_CMPLT

Hi there,


currently I am fighting my way through call transfers.

My problem is one the "B-side". I am receiving a GCEV_REQ_XFER event, accept the transfer and on GCEV_ACCEPT_XFER make the call to the rerouting number.

This all works fine and the call gets transferred and I can play a wave file to it. I receive the GCEV_XFER_CMPLT event on the primary line device upon which I try to drop the call on the primary line as required according to the documentation:

void OnXferComplete(CHMPLineDev *pLine, METAEVENT &rEvent)
{
    LogDebug(_T("Line %d, Xfer to \"%s\" complete"), pLine->nId, pLine->sRoutingNum);
    if(gc_DropCall(pLine->nCallRef, GC_NORMAL_CLEARING, EV_ASYNC) != GC_SUCCESS)
        LogGCError(pBase, _T("Drop on Xfer complete"));
}

gc_DropCall return GC_SUCCESS, but I don't receive the GCEV_DROPCALL event and therefor cannot release the call. Instead after about 30 seconds I receive a GCEV_XFER_FAIL event on the primary line device with this reason:

"Event caused by time-out" (1282) Lib GC_H3R_LIB: IPEC_SUBS_REASON_TRANSC_TIME_OUT (158)

After another 32 seconds I finally get the GCEV_DROPCALL event for the primary line and can relaese it.

What am I doing wrong here?

As always looking forward to your suggestions

Floh


Viewing all articles
Browse latest Browse all 1151

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>