Dialogic Support Helpweb
Dialogic® DM3 & JCT Media Boards
Enabling Ring Back in the PDK US_MF_IO Protocol
Summary
This article explains how to enable ring back in a configuration using pdk_us_mf_io paramters. It will take the reader through the process of enabling ring back on a digital T1 CAS to be used by Dialogic® Global Call Software to generate ring back to a calling party.
Procedure:
Enabling ring back is accomplished through editing a variable in the pdk_us_mf_io.cdp, named CDP_IN_EnableRingBack. Once this setting is enabled, the number of rings to use in ring back is set in either the gc_AcceptCall or the gc_AnswerCall function.
How to Edit the Protocol Development Kit (PDK)
To edit the PDK, do the following:
- Open the pdk_us_mf_io in the document editor.
- Search for the EnableRingBack variable.
- Set the value of the variable CDP_IN_EnableRingBack “1”, then save and close the file.
- Restart the Dialogic® Configuration Manager (DCM) services if you are running Dialogic® DM/IP Boards. An example of the variable follows:
/* Generate a ring back before answering call. The number of */
/* rings generated is determined by the value passed by */
/* gc_AcceptCall() or gc_AnswerCall() */
All BOOLEAN_t CDP_IN_EnableRingBack = 1
- Now that ring back is enabled, you must edit your application to use ring back. The functions that use ring back are gc_AnswerCall and gc_AcceptCall.
int gc_AnswerCall(crn, rings, mode)
The rings input variable, in this case, specifies the number of rings that will occur between the function call and when the state changes to Connected. This variable is ignored if the gc_AcceptCall was called before gc_AnswerCall, as the call will be immediately answered without ring back if gc_AcceptCall was performed first. If the setting is 0 – 14, that many rings will be performed. If the variable is set for 15 or higher, the function will ring indefinitely.
AcceptCall
int gc_AcceptCall(crn, rings, mode)
The rings input variable, in this case, specifies the number of rings that will occur until gc_AnswerCall is performed. The rings will stop once gc_AnswerCall is performed, regardless of whether all rings occurred or not. However, if all rings occur and gc_AnswerCall has not been called, then the ringing will stop and will stay silent. If the ring setting is from 0 – 14 rings, these rings will be performed until either they are completed or until gc_AnswerCall is performed. If the variable is set for 15 or higher, the rings will occur indefinately, or until gc_AnswerCall is performed.
Recommended Usage for this Function:
One use for this function is to insert a ring back sound into a call in between processing the DNIS and ANI (through outside applications, etc.) to give a progress indication to the caller while processing occurs. Setting the rings to 15 or higher would allow the rings to continue regardless of how long the pre-call processing takes.
Important Notes
When using ring back, AcceptCall will void the ring back setting on AnswerCall. If you wish to specify a set amount of rings that will always occur before a call is answered, then do not call AcceptCall; use AnswerCall to move from the Offered state.
Inserting the number of rings into the AcceptCall function will not guarantee that those many rings will occur, as AnswerCall will interrupt them once called.
Product List
The following is a list of some of the Dialogic® boards for which this protocol can be used:
Dialogic® DM/IP Boards
Dialogic® D/160JCT Media Board
Dialogic® D/320JCT Media Board
Dialogic® D/240JCT-T1 Media Board
Dialogic® D/480JCT-1T1 Media Board
Dialogic® D/480JCT-2T1 Media Board
Related Documentation
Dialogic® Global Call API Library Reference
Glossary of Acronyms / Terms


