|
From: | Julien Chavanton |
Subject: | [Bayonne-devel] News on Globalcall outbound call problem |
Date: | Wed, 1 Dec 2004 20:43:57 -0500 |
I may have found the source of the outbound call problem
in Globalcall Of course at this point I am still extrapolating but I
have found that Dialogic recommend using cc_restart before cc_makecall If cc_waitcall was called on the device. (This is a bit in
contradiction with my last post L) Now I have found a post from someone describing the exact behavior
I have found with Globalcall GC_Makecall At one point a call fail with no reason . I hope to quickly find the time to
test this. Julien The post I am referring to I found the issue. In one of our new revisions,
cc_waitcall is used on each channel to unblock it for potential overflow as
inbound. if cc_waitcall has been called, and the trunk is used for outbound
with cc_makecall 24 times consecutively (cc_waitcall after each
ccev_releasecall), cc_makecall will fail the 24th attempt. I can reproduce this
behaviour everytime. -------------------------------------------------------------------------------------------------------------------------------------------- Dialogic recommendation: -------------------------------------------------------------------------------------------------- int makecall(short devhdl) { CRN crn; /* call reference number */ char *dialnum = "12019933000";/* outgoing phone number */ . . . /* *This cc_Restart() allows the B channel line device to *escape from cc_WaitCall(), or other multitasking *functions. */ if ( cc_Restart(devhdl, EV_SYNC) < 0 ) procdevfail(devhdl); /* * Now it's safe to make a call. To avoid contention, * a mechanism to prevent other multitasking functions * from being invoked again, such as cc_WaitCall(), * is recommended here. */ if ( cc_MakeCall(devhdl, &crn, dialnum, NULL, 20, EV_SYNC) < 0 ) procdevfail(devhdl); . . . .
} I have found I found the issue. In one of our new revisions,
cc_waitcall is used on each channel to unblock it for potential overflow as
inbound. if cc_waitcall has been called, and the trunk is used for outbound
with cc_makecall 24 times consecutively (cc_waitcall after each
ccev_releasecall), cc_makecall will fail the 24th attempt. I can reproduce this
behaviour everytime. |
[Prev in Thread] | Current Thread | [Next in Thread] |