This document provides details on how to implement the basic configuration of the Foreign Exchange Station (FXS)-2DID card and how signaling is used. For additional information on hardware and Cisco IOSĀ® Software support, refer to Understanding 2 Port Direct Inward Dial (2 DID) Voice Interface Cards.
There are no specific requirements for this document.
The information in this document is based on these software and hardware versions:
Cisco VG200 Gateway
Cisco IOS Software Release 12.2(8)T
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Direct Inward Dialing (DID) is a service offered by telephone companies that enables callers to dial directly to an extension on a Private Branch Exchange (PBX) or packet voice system (for example, Cisco CallManager and IOS router/gateways) without the assistance of an operator or automated call attendant. This service makes use of DID trunks which forward only the last three to five digits of a phone number to the PBX or router/gateway. For example, when a company has phone extensions 555-1000 to 555-1999 and a caller dials 555-1234, the local Central Office (CO) forwards 234 to the PBX or packet voice system. The PBX or packet voice system rings extension 234. Also, because a DID trunk can serve up to 50 extensions, it is possible to serve a large number of extensions with relatively small amount of trunks.
DID requires handshaking protocols between the DID trunk and the PBX before the transmission of digits. The signaling is either wink start, delay dial, or immediate start. These signaling types are similar to those used in Ear and Mouth (E&M) signaling.
Immediate start is the simplest of protocols. The originating end seizes the line by going off-hook and starts out pulsing the digits without waiting for the response. According to the standard, the address signaling used with immediate start is dial-pulsing.
With wink start, the originating side seizes the line by going off-hook and before initiating, outpulsing waits for an acknowledgment from the other end. The acknowledgment is a reversal of polarity (off-hook) for a duration of 140 to 290 ms, which is also called a wink. A wink should occur no earlier than 100 ms after the receipt of the incoming seizure signal. In addition to the signaling function, the wink start serves as an integrity check that identifies a malfunctioning trunk and allow the network to send a reorder tone to the calling party.
In the delay dial mode, the originating side seizes the line (goes off-hook), waits for about 200 ms, and checks to see if the far end is on-hook (battery normal). If so, it outputs dial digits. If the far end is off-hook (battery reversed), it waits until it goes on-hook (battery normal), then output dials digits.
The answer supervision is a battery reversal signal. The answer supervision is returned when the call is answered by a station, or is routed to a recorded announcement or Interactive Voice Response (IVR). Conditions for not returning an answer supervision are when the calling extension is busy or the number is unavailable.
Note: If the answer supervision is not configured correctly on the Telco equipment, one-way voice may occur.
When the called station disconnects before the originating end, the battery is reversed to normal and waits for the on-hook at the incoming end. If the called station has not disconnected after the trunk disconnect, the normal battery voltage is restored at the DID port and drops the connection between the trunk and the station.
When calls are completed to either an unassigned number or a permanently restricted station, the caller receives a reorder tone. When the called user is off-hook, the caller receives a busy tone.
These DID associated Command-line Interface (CLI) commands are only valid if the voice port hardware supports DID function. Additionally, all the CLI commands used in E&M voice ports are also available for DID ports, since DID and E&M ports have similar functionality. The default operating mode is DID.
To configure the FXS-DID voice port:
voice-port x/y signal did wink-start delay-start immediate-start did-digit-length <Digit length>
To disable the FXS-DID to become a regular FXS:
voice-port x/y no signal did
Note: Outgoing calls cannot be made on DID (configured) voice ports. Even though hardware can support placing a ring and making outgoing calls on these ports, it is disabled using software.
It is critical that the characteristics of the DID line are checked with the Telco, and the configuration of the DID card is based on this verified information. The most common problems are the incorrect configuration of the dial plan (how many digits are being delivered by the CO), incorrect call signaling and line polarity (the Telco equipment is polarity sensitive, so the tip and ring connection may need to be reversed).
This is the output of the debug vpm all command from a wink DID trunk that calls the number 4609.
*Mar 5 00:54:22.783: htsp_dsp_message: SEND/RESP_SIG_STATUS: state=0xC timestamp=13671 systime=34886280 *Mar 5 00:54:22.783: htsp_process_event: [1/0/0, DID_ONHOOK, E_DSP_SIG_1100] did_onhook_offhook htsp_setup_ind *Mar 5 00:54:22.787: [1/0/0] get_local_station_id calling num= calling name= calling time=00/00 00:00 *Mar 5 00:54:22.791: dsp_digit_collect_on: [1/0/0] packet_len=20 channel_id=128 packet_id=35 min_inter_delay=240 max_inter_delay=9760 mim_make_time=10 max_make_time=100 min_brake_time=10 max_brake_time=100 *Mar 5 00:54:22.791: dsp_soutput: [1/0/0] *Mar 5 00:54:22.795: dsp_digit_collect_on: [1/0/0] packet_len=20 channel_id=128 packet_id=35 min_inter_delay=240 max_inter_delay=9760 mim_make_time=10 max_make_time=100 min_brake_time=10 max_brake_time=100 *Mar 5 00:54:22.795: dsp_soutput: [1/0/0] *Mar 5 00:54:22.795: dsp_digit_collect_on: [1/0/0] packet_len=20 channel_id=128 packet_id=35 min_inter_delay=240 max_inter_delay=9760 mim_make_time=10 max_make_time=100 min_brake_time=10 max_brake_time=100 *Mar 5 00:54:22.795: dsp_soutput: [1/0/0] *Mar 5 00:54:22.795: htsp_process_event: [1/0/0, DID_WAIT_SETUP_ACK, E_HTSP_SETUP_ACK]did_wait_setup_ack_get_ack *Mar 5 00:54:22.795: dsp_digit_collect_off: [1/0/0] packet_len=8 channel_id=128 packet_id=36 *Mar 5 00:54:22.795: dsp_soutput: [1/0/0] *Mar 5 00:54:22.799: htsp_timer2 - 88 msec *Mar 5 00:54:22.799: htsp_dsp_message: SEND/RESP_SIG_STATUS: state=0xC timestamp=13685 systime=34886282 *Mar 5 00:54:22.799: htsp_process_event: [1/0/0, DID_WAIT_SETUP_ACK, E_DSP_SIG_1100]did_wait_setup_ack_offhook *Mar 5 00:54:22.799: did_stop_timer *Mar 5 00:54:22.799: htsp_timer_stop *Mar 5 00:54:22.887: htsp_process_event: [1/0/0, DID_WAIT_SETUP_ACK, E_HTSP_EVENT_TIMER2] did_wait_prewink_timer *Mar 5 00:54:22.887: dsp_digit_collect_off: [1/0/0] packet_len=8 channel_id=128 packet_id=36 *Mar 5 00:54:22.887: dsp_soutput: [1/0/0] did_offhook *Mar 5 00:54:22.887: [1/0/0] set signal state = 0x6 timestamp = 0 *Mar 5 00:54:22.887: dsp_set_sig_state: [1/0/0] packet_len=12 channel_id=128 packet_id=39 state=0x6 timestamp=0x0 *Mar 5 00:54:22.887: dsp_soutput: [1/0/0] did_onhook *Mar 5 00:54:22.887: [1/0/0] set signal state = 0x4 timestamp = 200 *Mar 5 00:54:22.887: dsp_set_sig_state: [1/0/0] packet_len=12 channel_id=128 packet_id=39 state=0x4 timestamp=0xC8 *Mar 5 00:54:22.887: dsp_soutput: [1/0/0] *Mar 5 00:54:22.891: dsp_digit_collect_on: [1/0/0] packet_len=20 channel_id=128 packet_id=35 min_inter_delay=240 max_inter_delay=9760 mim_make_time=10 max_make_time=100 min_brake_time=10 max_brake_time=100 *Mar 5 00:54:22.891: dsp_soutput: [1/0/0] *Mar 5 00:54:23.879: htsp_digit_ready(1/0/0): digit = 4 *Mar 5 00:54:24.983: htsp_digit_ready(1/0/0): digit = 6 *Mar 5 00:54:26.483: htsp_digit_ready(1/0/0): digit = 0 *Mar 5 00:54:27.891: htsp_digit_ready(1/0/0): digit = 9 *Mar 5 00:54:27.891: dsp_digit_collect_off: [1/0/0] packet_len=8 channel_id=128 packet_id=36 *Mar 5 00:54:27.891: dsp_soutput: [1/0/0] *Mar 5 00:54:27.895: htsp_dsp_message: SEND/RESP_SIG_STATUS: state=0xC timestamp=18781 systime=34886792 *Mar 5 00:54:27.895: htsp_process_event: [1/0/0, DID_OFFHOOK, E_HTSP_PROCEEDING] *Mar 5 00:54:27.895: htsp_process_event: [1/0/0, DID_OFFHOOK, E_DSP_SIG_1100] did_offhook_offhook *Mar 5 00:54:27.895: did_stop_timer *Mar 5 00:54:27.895: htsp_timer_stop wrong offhook eventhtsp_alert_notify *Mar 5 00:54:32.415: htsp_process_event: [1/0/0, DID_OFFHOOK, E_HTSP_VOICE_CUT_THROUGH] htsp_connect: no_offhook 0 *Mar 5 00:54:32.419: htsp_process_event: [1/0/0, DID_OFFHOOK, E_HTSP_CONNECT] did_offhook_connect *Mar 5 00:54:32.419: htsp_timer2 - 40 msec did_offhook *Mar 5 00:54:32.419: [1/0/0] set signal state = 0x6 timestamp = 250 *Mar 5 00:54:32.419: dsp_set_sig_state: [1/0/0] packet_len=12 channel_id=128 packet_id=39 state=0x6 timestamp=0xFA *Mar 5 00:54:32.419: dsp_soutput: [1/0/0] *Mar 5 00:54:32.459: htsp_process_event: [1/0/0, DID_CONNECT_MIN, E_HTSP_EVENT_TIMER2] *Mar 5 00:55:01.659: htsp_dsp_message: SEND/RESP_SIG_STATUS: state=0x4 timestamp=52547 systime=34890168 *Mar 5 00:55:01.659: htsp_process_event: [1/0/0, DID_CONNECT, E_DSP_SIG_0100]did_offhook_onhook