本文詳細介紹如何實作Foreign Exchange Station(FXS)-2DID卡的基本配置以及如何使用信令。如需硬體和Cisco IOS®軟體支援的其他資訊,請參閱瞭解2埠直接撥入(2 DID)語音介面卡。
本文件沒有特定需求。
本文中的資訊係根據以下軟體和硬體版本:
Cisco VG200閘道
Cisco IOS軟體版本12.2(8)T
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
直接撥入(DID)是一項由電話公司提供的服務,它使呼叫者無需操作員或自動呼叫助理的協助,即可直接撥打專用交換機(PBX)或資料包語音系統(例如,Cisco CallManager和IOS路由器/網關)上的分機。此服務使用DID中繼,只將電話號碼的最後三到五位數字轉發到PBX或路由器/網關。例如,當某公司的電話分機號為555-1000到555-1999,而呼叫方撥打555-1234時,本地中央辦公室(CO)會將234轉發到PBX或資料包語音系統。PBX或資料包語音系統振鈴分機234。此外,由於DID中繼最多可以提供50個分機,因此可以用相對少量的中繼為大量分機提供服務。
DID要求在傳輸數字之前,在DID中繼和PBX之間使用握手協定。信令為wink start、delay dial或immediate start。這些訊號型別與耳和口(E&M)訊號中使用的訊號型別相似。
立即啟動是最簡單的協定。始發端通過摘機來捕獲線路,並且開始拉出數字而不等待響應。根據該標準,用於立即啟動的地址信令是撥號脈衝。
一旦開始閃爍,始發端就摘機以搶佔線路,開始之前,輸出等待另一端確認。該確認是極性(摘機)的反轉,持續時間為140至290毫秒,也稱為閃爍。應在收到傳入的捕獲訊號後100毫秒之內發出閃爍。除了信令功能之外,Wink啟動還用作完整性檢查,用於識別故障中繼並允許網路向主叫方傳送重新排序音。
在延遲撥號模式中,始發端會佔用線路(摘機),等待約200毫秒,並檢查遠端是否處於掛機狀態(電池正常)。 如果是,則輸出撥號數字。如果遠端是摘機(電池反轉),它會等待直到摘機(電池正常),然後輸出撥號數字。
應答監控是電池反轉訊號。當呼叫由站點應答時,或者被路由到記錄的通知或互動式語音響應(IVR)時,將返回應答監督。 不返回應答監控的條件為呼叫分機忙或號碼不可用。
注意:如果電話公司裝置上未正確配置應答監督,則可能會發生單向語音。
當被叫站從始發端前斷開時,電池將倒置為正常狀態,並在傳入端等待掛機。如果在中繼線斷開後被叫站沒有斷開,則在DID埠處恢復正常的電池電壓,並斷開中繼線與站之間的連線。
當呼叫完成到未分配的號碼或永久受限的站點時,呼叫者接收重新排序音。當被叫使用者摘機時,主叫方會收到忙音。
這些DID關聯的命令列介面(CLI)命令僅在語音埠硬體支援DID功能時才有效。此外,E&M語音埠中使用的所有CLI命令也可用於DID埠,因為DID和E&M埠具有類似的功能。預設操作模式為DID。
配置FXS-DID語音埠:
voice-port x/y signal did wink-start delay-start immediate-start did-digit-length <Digit length>
要禁用FXS-DID成為常規FXS:
voice-port x/y no signal did
注意:無法在DID(已配置)語音埠上進行傳出呼叫。儘管硬體可以支援在這些埠上放置環和發出呼叫,但使用軟體禁用了此功能。
必須使用Telco檢查DID線路的特性,而且必須基於這些已驗證的資訊來配置DID卡。最常見的問題是撥號方案的配置不正確(CO傳送了多少位數)、呼叫信令和線路極性不正確(Telco裝置極性敏感,因此可能需要反轉提示和環連線)。
這是來自呼叫號碼4609的閃爍DID中繼的debug vpm all命令的輸出。
*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