When you integrate Voice over IP (VoIP) technologies to legacy private branch exchange (PBX) and public switched telephone networks (PSTNs), there is sometimes a need to pass a type of signaling known as 'hookflash'. A hookflash is a brief interruption in the loop current on loopstart trunks that the attached system does not interpret as a call disconnect.
Once the PBX or PSTN senses the hookflash, it generally puts the current call on hold and provides a secondary dial tone or access to other features such as transfer or call waiting access.
A hookflash is done by momentarily pressing down the cradle on a telephone. Some telephone handsets have a button called 'flash' or 'recall' that sends a 'timed loop break', or 'calibrated flash' which is a hookflash that has a precise timing.
Many customers use a combination of FXS and FXO ports to extend telephone handsets across IP networks. They want to preserve features of the existing PBX, such as call forward, no answer to voice mail, and transfer/hold on the remote extensions. Earlier Cisco VoIP software did not provide full control to allow transparent integration. However, with the release of H.323 version 2 support in Cisco IOS Software Release 12.0.5T and later, it is now possible to detect and pass hookflash signaling across IP networks.
When the FXS port is configured for a long 'hookflash in' timer value (greater than 500 msec), users may complain that when they hang up and immediately pick up the handset, the call has not cleared. If the value is set too low, the hookflash may be interpreted as a hang-up, but a higher value means the handset has to be left hung-up for a longer period to clear the call. In some cases, cradle bounce can cause problems as well. As the handset is hung-up, the spring tension on the hook button causes multiple short breaks on the line known as cradle bounce. Careful tuning of the hookflash in timing value may be needed for best results. One possibility in such cases is to use handsets with a flash button that sends a hookflash of a specific period. The FXO port can be set to match this value and the FXO port then generates the outgoing hookflash. Many PBXes have a Class of Service (CoS) option called 'calibrated flash' or 'timed loop break' which allows them to recognize hookflashes of specific duration and to ignore other shorter or longer loop breaks. Such settings are helpful in eliminating false disconnects and generation of invalid hookflash signals to the PBX.
In this section, you are presented with the information to configure the features described in this document.
Note: To find additional information on the commands used in this document, use the Command Lookup Tool ( registered customers only) .
Configure PLAR OPX and Hookflash Relay
Use this procedure to configure private line, automatic ringdown (PLAR) Off-Premises extension (OPX), and hookflash relay.
- Configure the FXO port on the MainSite router as connection plar-opx.
The OPX mode allows remote users on FXS ports to appear to a central PBX as a directly connected extension. When the FXO port detects a ring signal from the PBX, the router sends a VoIP call setup to the remote FXS port but it does not take the FXO port off-hook. As a result, the PBX only sees the call answer signal when the RemoteSide router FXS port is picked up. After the PBX reaches the no answer timeout (call rings out), then it can end the call, transfer the call to voice mail, or ring another extension/ring group. Without OPX mode, the FXO port immediately goes off-hook after it senses the ringing and the PBX is then unable to perform a call forward, no answer, or roll over to voice mail.
- The RemoteSite router must be configured to sense and then pass the hookflash signal on the FXS port.
Since the hookflash is a momentary break in the loop current on the FXS port and cannot be sent as an audio signal, the router passes the hookflash signal via dual tone multifrequency (DTMF) relay as the '!' character. The router with the FXO port then sends a short loop break which the external device sees as a hookflash. To properly pass the hookflash signal, the VoIP dial peers need to be configured for dtmf-relay h245-signal.
- The physical port timers have to be adjusted to suit the characteristics of the handset on the FXS port and the duration of the hookflash loop break out of the FXO port as shown here:
。The FXS voice port (RemoteSite router) uses the timing hookflash-in msec command where msec is the maximum value of a loop break (in milliseconds) from the telephone handset that is interpreted as a hookflash. A loop break greater than the configured value is regarded as a disconnect and the call is dropped. Any interval under this value causes the router to send the '!' character via the H.245-signal DTMF relay.
。The FXO voice port (MainSite router) uses the timing hookflash-out msec command where msec is the duration of the outgoing loop break in milliseconds. When the router receives an H.245-signal DTMF relay signal, the FXO port generates a loop break for the configured interval.