Increase the timeout on gc_MakeCall() with DM3
Introduction:
The gc_MakeCall() timeout default is 35 seconds maximum in some setup instances using T1 CAS on a Dialogic® DM3 series Media Board.
Background:
Using pdk_us_mf_io.cdp on a DM3 board can result in cases where the timeout value cannot be increased to a value greater than 35 seconds, even if using a larger timeout value parameter in the call to gc_MakeCall(), or configuring the MakeCall timeout in the CDP file: PSL_DefaultMakeCallTimeout.
NOTE: To use the PSL_DefaultMakeCallTimeout value, you must set the gc_MakeCall() timeout value to 0.
Solution:
Add the PSL_CaAnswerTimeout and/or the PSL_CaSignalTimeout parameters to the CDP file. These parameters use values that are in 10ms units.
Existing :
All INTEGER_t PSL_DefaultMakeCallTimeout = 60000
Add PSL_CaAnswerTimeout and/or the PSL_CaSignalTimeout to the file :
All INTEGER_t PSL_DefaultMakeCallTimeout = 60000
All INTEGER_t PSL_CaAnswerTimeout = 6000
All INTEGER_t PSL_CaSignalTimeout = 6000
Workaround:
The gc_makecall timeout or the PSL_DefaultMakeCallTimeout define the maximum time an outgoing call can take to move to CONNECTED state after the gc_makecall (call request). Of these two timers , the timer set using the gc_MakeCall() API is started at the library. Whereas the PSL_DefaultMakeCallTimeout defined in the .cdp file is started at the firmware. There is also a NoAnswerTimer, which is an additional timer at the firmware which defines the maximum time for which an outgoing call can be in the ALERTING state (maps to CA_WaitForConnect state at the firmware).
These are the state transitions for an outgoing call establishment scenario : INITIATED(1) -> DIALLING(2) -> ALERTING(3) -> CONNECTED(4).
- The gc_MakeCall() timeout defines the maximum time the transition from state (1) to (4) can take.
- The PSL_CaAnswerTimeout is the timeout value from state (3) to state (4), in 10ms units.
- PSL_CaSignalTimeout is the timeout value from state (2) to state (3), in 10ms units.
In cases where the gc_MakeCall() timeout is is limited to a maximum of 35 seconds, the above parameters (PSL_CaAnswerTimeout & PSL_CaSignalTimeout) can be used to bypass this limitation. Whereas the NoAnswerTimer (PSL_CaAnswerTimeout) defines the maximum time the transition from state (3) to (4) can take. So ,the noanswer and the gc_makecall timers , though are related, are used differently. There is a third timer with a default of 20 seconds which is used for transition from state (2) to (3) and this can be adjusted with the PSL_CaSingalTimeout setting.
Since these timers are related , each of them need to be set considering the impact of the others. For example , if the MakeCall timer is 90 seconds and the NoAnswerTimer is set as 30 seconds , in case the call is in alerting state for more than 30 seconds , it will be disconnected. Hence the makecall timer will be overridden in this scenario.
Product List:
Dialogic® DM3 series T1 CAS Media Boards
Related Documentation:
http://www.dialogic.com/~/media/manuals/docs/globalcall_cdp_config_v8.pdf
http://www.dialogic.com/~/media/manuals/docs/globalcall_for_e1t1_v3.pdf
First published: 16-Sep-2011
Last published: 30-Sep-2011
Open access: Product rule: ; Page rule: Auto