How can I transfer a call using the 'hookflash' method on CAS protocols?
The hookflash transfer method is only applicable when running CAS protocols.
Here is an example of how a call might be transferred using the hookflash method.
A few things to note:
You need to check with the exchange you are connecting to and make sure that they support call transfer using the hookflash method (some exchanges don't).
It is advisable to check the release notes regarding the particular CAS protocol you plan to use and make sure the -s25 switch is supported (explained below).
When a call has been connected it is possible to carry out the transfer.
First, the call_put_charge() function should be called which sends a hookflash signal to the exchange and, subsequently, puts the caller on hold. A 'hookflash' is a meter pulse of small duration (typically; meter pulses are roughly 150msecs, hookflashs are anything less than 120msecs). The duration of the hookflash will be dependent on the specifications of the exchange and can be set using the -s25 switch. If the -s25 switch has been set for the duration of a hookflash it will not be possible to generate meter pulses of greater duration (thus if you implement call transfer on a CAS protocol it is not possible to perform any call charging).
After the exchange receives the hookflash it is ready to receive more DTMF tones. The exchange should indicate that it is ready by playing a dial tone. Note; detection of the dial tone is not automatic. If you want to detect the dial tone, your application must connect a resource (say a DSP running call progress tone detection software) to do so.
After the dial tone has been detected (or assumed to be present), the application must connect a resource (say a DSP with tone generation firmware) to the channel and send the necessary DTMF tones. The DTMF tones played down the line relate to where you want the call to be transferred to.
When the exchange has received enough DTMF tones (note; certain exchanges require another hookflash signal to be sent at this point to indicate the last digit has been sent), it will make the call and when answered it will connect it to the held party. The channel that connects the Aculab card to the exchange can then be disconnected and used again.