簡介
本文檔介紹FXS和FXO埠及其功能、呼叫建立和拆線、配置元件以及故障排除提示。
必要條件
需求
思科建議您瞭解模擬介面基礎知識。
採用元件
本文件中的資訊是以下列硬體與軟體版本為依據:
- ISR4451-X/K9
- NIM-2FXSP
- NIM-2FXO
- Cisco IOS® XE版本16.8.2
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
FXS/FXO基礎
埠基礎
外部交換站(FXS)/外部交換局(FXO)是典型的類比電路,用於將一條模擬電話線傳送到您的家中。
FXOport(或裝置)是連線到電路的埠,電路在摘機時能夠開/關並傳輸數字以啟動呼叫。 它採用繼電器,當埠處於摘機狀態時,電路被關閉;當埠處於摘機狀態時,電路被打開。它與另一側的FXS互連。
由於FXO連線埠會端接電信業者的線路,因此您也可以將這些連線埠視為類比聽筒或傳真機/資料機。
FXS埠是連線到電路的裝置,為FXO裝置提供撥號音和振鈴電壓。 FXS埠將網關連線到電話、傳真機和數據機等裝置。FXS埠在給定呼叫中僅使用兩條線路(頭端和環)作為信令和音訊路徑。此雙線對可以為工作站提供鈴聲、電壓和撥號音。
基本呼叫流程
為了更好地瞭解如何對這兩種埠型別進行故障排除,您必須首先檢視呼叫在這些埠上的建立方式。本節介紹從兩端掛機到出現雙向音訊的模擬呼叫過程。
與所有呼叫一樣,當兩個終端未使用時,FXS埠會以掛機狀態啟動:
當其中一個電話摘機時,電路會關閉,並且FXS埠會向FXO裝置提供撥號音。
一旦發起呼叫的裝置處於摘機狀態,它就會開始透過「脈衝」或「語音」來撥打該號碼。
撥打號碼後,處理此呼叫的裝置會相應地路由該號碼。一旦呼叫被路由,當遠端裝置收到其接收的呼叫時,呼叫源裝置被播放回鈴音。
一旦遠端裝置接聽了呼叫,其電路也會關閉,此時呼叫與雙向音訊連線:
前面的示例是呼叫開始到結束的基本流程。但是,在幕後,該FXS埠向電話傳送有關其每個呼叫狀態的訊號還會進行更多操作。下一部分介紹用於Cisco模擬網關上FXS埠的兩個最常見的信令方法。
環路啟動信令
環路啟動信令是在標準公共交換電話網(PSTN)中將多個裝置連線到網路的模擬埠中接入信令的最常用技術。大多數家用電話都是模擬環路啟動電話,基於先前看到的本地環路的概念。環路是由兩條電線組成的電氣通訊路徑,一條用於傳輸,另一條用於接收語音訊號。
雙線電路仍稱為尖端和環,尖端與地相連,環與電池的負極相連。當電話聽筒被拿起(摘機)時,此操作會關閉電路,並在FXS埠和電話之間建立環路。電流來自模擬埠的電池,表明狀態發生了變化。這種狀態變化向模擬埠中的當前檢測器發出訊號,以提供撥號音。
呼入呼叫透過標準的開/關模式發訊號到話筒,這將導致電話振鈴。
用於出站呼叫的VPM信令
為了更好地瞭解FXS埠上成功出站呼叫的日誌外觀,這些日誌已經過註釋,因此您可以清楚地辨識呼叫的每個部分。
007578: Jul 2 09:15:50.655: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): GOING OFF HOOK
007579: Jul 2 09:15:51.903: htsp_dsp_message: SEND_SIG_STATUS: state=0xC timestamp=62909 systime=6970515
007580: Jul 2 09:15:51.903: htsp_process_event: [0/3/0, FXSLS_ONHOOK, E_DSP_SIG_1100]fxsls_onhook_offhook htsp_setup_ind
007581: Jul 2 09:15:51.903: [0/3/0] get_local_station_id calling num= calling name= calling time=07/02 09:15 orig called=
007582: Jul 2 09:15:51.904: htsp_process_event: [0/3/0, FXSLS_WAIT_SETUP_ACK, E_HTSP_SETUP_ACK]fxsls_check_auto_call
007583: Jul 2 09:16:00.879: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): DIALING 2002
007584: Jul 2 09:16:02.261: htsp_digit_ready(0/3/0): digit = 2
007585: Jul 2 09:16:02.734: htsp_digit_ready(0/3/0): digit = 0
007586: Jul 2 09:16:03.005: htsp_digit_ready(0/3/0): digit = 0
007587: Jul 2 09:16:03.438: htsp_digit_ready(0/3/0): digit = 2
007588: Jul 2 09:16:03.439: htsp_process_event: [0/3/0, FXSLS_OFFHOOK, E_HTSP_PROCEEDING]htsp_alert_notify
007589: Jul 2 09:16:08.241: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): RING BACK
007590: Jul 2 09:16:10.621: htsp_call_bridged invoked
007591: Jul 2 09:16:10.665: htsp_process_event: [0/3/0, FXSLS_OFFHOOK, E_HTSP_CONNECT]fxsls_offhook_connect
007592: Jul 2 09:16:10.665: [0/3/0] nim_set_sig_state: ABCD=6, timestamp=0, sys_time=6972391
007593: Jul 2 09:16:10.665: [0/3/0] set signal state = 0x6 timestamp = 0
007594: Jul 2 09:16:10.667: htsp_process_event: [0/3/0, FXSLS_CONNECT, E_HTSP_VOICE_CUT_THROUGH]fxsls_voice_cut_thru
007595: Jul 2 09:16:20.815: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): TWO WAY AUDIO
007596: Jul 2 09:16:37.503: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): HANGING UP
007597: Jul 2 09:16:39.794: htsp_dsp_message: SEND_SIG_STATUS: state=0x4 timestamp=45260 systime=6975304
007598: Jul 2 09:16:39.794: htsp_process_event: [0/3/0, FXSLS_CONNECT, E_DSP_SIG_0100]fxsls_offhook_onhook, HF duration Max=1000, HF duration Min=150
007599: Jul 2 09:16:39.794: htsp_timer - 1000 msec
007600: Jul 2 09:16:40.795: htsp_process_event: [0/3/0, FXSLS_CONNECT, E_HTSP_EVENT_TIMER]fxsls_connect_wait_release_req
007601: Jul 2 09:16:40.795: htsp_timer_stop
007602: Jul 2 09:16:40.796: htsp_timer_stop3
007603: Jul 2 09:16:40.878: htsp_process_event: [0/3/0, FXSLS_WAIT_RELEASE_REQ, E_HTSP_RELEASE_REQ]fxsls_waitrls_req_rls
007604: Jul 2 09:16:40.878: [0/3/0] nim_set_sig_state: ABCD=4, timestamp=0, sys_time=6975412
007605: Jul 2 09:16:40.878: [0/3/0] set signal state = 0x4 timestamp = 0
007606: Jul 2 09:16:40.878: [0/3/0] nim_set_sig_state: ABCD=4, timestamp=0, sys_time=6975412
007607: Jul 2 09:16:40.878: [0/3/0] set signal state = 0x4 timestamp = 0
007608: Jul 2 09:16:40.898: htsp_dsp_message: RESP_SIG_STATUS: state=0x4 timestamp=0 systime=6975414
007609: Jul 2 09:16:40.898: htsp_process_event: [0/3/0, FXSLS_ONHOOK, E_DSP_SIG_0100]fxsls_onhook_onhook
傳入呼叫的VPM訊號
本文檔還包括入站呼叫的信令外觀。已對日誌進行了註解,以便輕鬆瞭解過程中的每個步驟。
008109: Jul 2 10:54:34.424: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): PHONE IS IN IDLE & ON HOOK. THEN IT STARTS TELLING PHONE TO RING.
008110: Jul 2 10:54:42.225: htsp_timer_stop3 htsp_setup_req
008111: Jul 2 10:54:42.225: Orig called num:88777
008112: Jul 2 10:54:42.225: htsp_process_event: [0/3/0, FXSLS_ONHOOK, E_HTSP_SETUP_REQ]fxsls_onhook_setuphtsp_alert
008113: Jul 2 10:54:42.225: [0/3/0] nim_set_sig_state: ABCD=0, timestamp=0, sys_time=7563547
008114: Jul 2 10:54:42.225: [0/3/0] set signal state = 0x0 timestamp = 0
008115: Jul 2 10:54:42.226: htsp_call_bridged invoked
008116: Jul 2 10:54:42.227: htsp_process_event: [0/3/0, FXSLS_WAIT_OFFHOOK, E_HTSP_VOICE_CUT_THROUGH]fxsls_waitoff_voice
008117: Jul 2 10:54:52.960: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): PHONE GOES OFF HOOK
008118: Jul 2 10:54:55.431: htsp_dsp_message: SEND_SIG_STATUS: state=0xC timestamp=42727 systime=7564868
008119: Jul 2 10:54:55.431: htsp_process_event: [0/3/0, FXSLS_WAIT_OFFHOOK, E_DSP_SIG_1100]fxsls_waitoff_offhook
008120: Jul 2 10:54:55.431: [0/3/0] nim_set_sig_state: ABCD=4, timestamp=0, sys_time=7564868
008121: Jul 2 10:54:55.432: [0/3/0] set signal state = 0x4 timestamp = 0
008122: Jul 2 10:54:55.432: [0/3/0] nim_set_sig_state: ABCD=6, timestamp=200, sys_time=7564868
008123: Jul 2 10:54:55.432: [0/3/0] set signal state = 0x6 timestamp = 200
008124: Jul 2 10:54:55.432: htsp_timer2 - 200 msec
008125: Jul 2 10:54:55.631: htsp_process_event: [0/3/0, FXSLS_WAIT_OFFHOOK, E_HTSP_EVENT_TIMER2]fxsls_offhook_dial htsp_dial
008126: Jul 2 10:54:55.632: htsp_process_event: [0/3/0, FXSLS_CONNECT, E_DSP_DIALING_DONE]fxsls_conn_dial_done
008127: Jul 2 10:54:55.640: htsp_process_event: [0/3/0, FXSLS_CONNECT, E_HTSP_VOICE_CUT_THROUGH]fxsls_voice_cut_thru
008128: Jul 2 10:55:08.864: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): TWO WAY AUDIO
008129: Jul 2 10:55:27.232: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): PHONE IS NOW DISCONNECTED FORM FAR END
008130: Jul 2 10:55:29.798: htsp_timer_stop3
008131: Jul 2 10:55:29.843: htsp_process_event: [0/3/0, FXSLS_CONNECT, E_HTSP_RELEASE_REQ]fxsls_connect_disc
008132: Jul 2 10:55:29.843: htsp_timer_stop
008133: Jul 2 10:55:29.843: [0/3/0] nim_set_sig_state: ABCD=12, timestamp=0, sys_time=7568309
008134: Jul 2 10:55:29.843: [0/3/0] set signal state = 0xC timestamp = 0
008135: Jul 2 10:55:29.843: [0/3/0] nim_set_sig_state: ABCD=4, timestamp=750, sys_time=7568309
008136: Jul 2 10:55:29.843: [0/3/0] set signal state = 0x4 timestamp = 750
008137: Jul 2 10:55:29.843: htsp_timer - 950 msecfxsls_simulate_onhook
008138: Jul 2 10:55:30.793: htsp_process_event: [0/3/0, FXSLS_CPC, E_HTSP_EVENT_TIMER]fxsls_cpc_timer
008139: Jul 2 10:55:30.793: htsp_timer - 60000 msec
008140: Jul 2 10:55:30.808: htsp_dsp_message: RESP_SIG_STATUS: state=0xC timestamp=0 systime=7568405
008141: Jul 2 10:55:30.808: htsp_process_event: [0/3/0, FXSLS_WAIT_ONHOOK, E_DSP_SIG_1100]fxsls_waitonhook_offhook
008142: Jul 2 10:55:37.525: htsp_dsp_message: SEND_SIG_STATUS: state=0x4 timestamp=19285 systime=7569077
008143: Jul 2 10:55:37.525: htsp_process_event: [0/3/0, FXSLS_WAIT_ONHOOK, E_DSP_SIG_0100]fxsls_waitonhook_onhook
008144: Jul 2 10:55:37.525: htsp_timer_stop htsp_report_onhook_sig
008145: Jul 2 10:55:48.351: %SYS-7-USERLOG_DEBUG: Message from tty867(user id: ): PHONE IS ON HOOK
排除FXS和FXO埠故障
本文檔介紹了在模擬埠處於不同狀態的基本資訊和完美的呼叫方案完成之後,排除這些埠故障的不同方法。具體而言,本章介紹了一些show命令和常見的故障情況。
故障排除的命令
顯示命令
為了幫助排除埠處於什麼狀態的故障,您可以使用show voice port summary和show voice call summary之類的命令。這些命令可顯示不同的狀態,例如當呼叫處於掛機狀態並且未處於使用中狀態時,以及當埠處於摘機狀態並且存在活動呼叫時。此影像會顯示部分不同的狀態。
掛機:
ISR4451#show voice port sum IN OUT PORT CH SIG-TYPE ADMIN OPER STATUS STATUS EC =============== == ============ ===== ==== ======== ======== == 0/3/0 -- fxs-ls up dorm on-hook idle y 0/3/1 -- fxs-ls up dorm on-hook idle y ISR4451#show voice call sum PORT CODEC VAD VTSP STATE VPM STATE ============== ========= === ===================== ===================== 0/3/0 - - - FXSLS_ONHOOK 0/3/1 - - - FXSLS_ONHOOK
電話收到警報:
ISR4451#show voice port sum IN OUT PORT CH SIG-TYPE ADMIN OPER STATUS STATUS EC =============== == ============ ===== ==== ======== ======== == 0/3/0 -- fxs-ls up up on-hook ringing y 0/3/1 -- fxs-ls up dorm on-hook idle y ISR4451#show voice call sum PORT CODEC VAD VTSP STATE VPM STATE ============== ========= === ===================== ===================== 0/3/0 g711ulaw n S_SETUP_REQ_PROC FXSLS_WAIT_OFFHOOK 0/3/1 - - - FXSLS_ONHOOK
呼叫已連線:
ISR4451#show voice port sum IN OUT PORT CH SIG-TYPE ADMIN OPER STATUS STATUS EC =============== == ============ ===== ==== ======== ======== == 0/3/0 -- fxs-ls up up off-hook idle y 0/3/1 -- fxs-ls up dorm on-hook idle y ISR4451#show voice call sum PORT CODEC VAD VTSP STATE VPM STATE ============== ========= === ===================== ===================== 0/3/0 g711ulaw n S_CONNECT FXSLS_CONNECT 0/3/1 - - - FXSLS_ONHOOK
在前面的兩個show命令中,以下命令將來可能會對您有所幫助:
show call active voice brief
show voice call status
show voice dsp active
show voice dsp error
show voice dsp group all
語音埠測試命令
檢測器相關功能測試
使用test voice port detector命令,您可以強制特定檢測器進入打開或關閉狀態,在檢測器上執行測試,然後將檢測器返回到其原始狀態。
要配置此功能,請在特權EXEC模式下輸入以下命令:
指令 |
目的 |
Router# test voice port slot/subunit/port detector {m-lead | 電池反轉 | 迴路電流 | 鈴聲 | 頭端接地 | 環接地 | ring-trip} {on | off} |
標識要測試的語音埠。 為測試中的檢測器輸入關鍵字,並指定是否強制其進入打開或關閉狀態。 對於每個信令型別(E&M、FXO、FXS),僅顯示適用的關鍵字。僅當檢測器處於強制狀態時,才會顯示disable關鍵字。 |
Router# test voice port slot/subunit/port detector {m-lead | 電池反轉 | 迴路電流 | 鈴聲 | 頭端接地 | 環接地 | ring-trip}停用 |
標識要在其上結束測試的語音埠。 為正在測試的檢測器輸入關鍵字,該關鍵字停用以結束強制狀態。 對於每個信令型別(E&M、FXO、FXS),僅顯示適用的關鍵字。僅當檢測器處於強制狀態時,才會顯示disable關鍵字。 |
回送功能測試
要在語音埠上建立環回,請在特權EXEC模式下輸入以下命令:
指令 |
目的 |
Router# test voice port slot/subunit/port loopback {local | 網路} |
標識要測試的語音埠,並輸入環回方向的關鍵字。 必須在測試的語音埠上建立呼叫。 |
Router# test voice port slot/subunit/port loopback disable |
標識要在其上結束測試的語音埠,並輸入關鍵字disable以結束環回。 |
音調注入測試
要將測試音注入語音埠,請在特權EXEC模式下輸入以下命令:
指令 |
目的 |
Router# test voice port slot/subunit/port inject-tone {local | network} {1000hz | 2000赫茲 | 200赫茲 | 3000赫茲 | 300赫茲 | 3200赫茲 | 3400赫茲 | 500赫茲 | 安靜} |
標識要測試的語音埠,並輸入傳送測試音的方向和測試音訊率的關鍵字。 必須在測試的語音埠上建立呼叫。 |
Router# test voice port slot/subunit/port inject-tone disable |
標識要在其上結束測試的語音埠,並輸入關鍵字disable以結束測試音。 只有啟動測試條件時,才能使用disable關鍵字。 |
中繼相關功能測試
要測試語音埠的中繼相關功能,請在特權EXEC模式下輸入以下命令:
指令 |
目的 |
Router# test voice port slot/subunit/port relay {e-lead | 回圈 | 環接地 | 電池反轉 | 電源拒絕 | 鈴聲 | tip-ground} {on|off} |
標識要測試的語音埠。 為正在測試的中繼輸入關鍵字,並指定是否強制其進入打開或關閉狀態。 對於每個信令型別(E&M、FXO、FXS),僅顯示適用的關鍵字。僅當中繼處於強制狀態時,才會顯示disable關鍵字。 |
Router# test voice port slot/subunit/port relay {e-lead | 回圈 | 環接地 | 電池反轉 | 電源拒絕 | 鈴聲 | tip-ground}停用 |
標識要在其上結束測試的語音埠。 為正在測試的中繼輸入關鍵字,關鍵字disable可結束強制狀態。 對於每個信令型別(E&M、FXO、FXS),僅顯示適用的關鍵字。僅當中繼處於強制狀態時,才會顯示disable關鍵字。 |
傳真/語音模式測試
test voice port switch fax命令強制語音埠進入傳真模式以進行測試。輸入此命令後,可以使用show voice call或show voice call summary命令檢查語音埠能否在傳真模式下運行。如果語音連線埠沒有偵測到傳真資料,則語音連線埠會保持30秒的傳真模式,然後自動回覆為語音模式。
disable關鍵字可結束強制模式切換;但是,傳真模式會在30秒後自動結束。disable關鍵字僅在語音埠處於傳真模式時可用。
要強制語音埠進入傳真模式並返回語音模式,請在特權EXEC模式下輸入以下命令:
指令 |
目的 |
Router# test voice port slot/subunit/port switch fax |
標識要測試的語音埠。 輸入關鍵字fax ,強制語音埠進入傳真模式。 |
Router# test voice port slot/subunit/port switch disable |
標識要在其上結束測試的語音埠。 輸入關鍵字disable將語音埠返回到語音模式。 |
發現常見問題
如上所述,本文檔介紹排除FXO和FXS故障時發現的一些常見問題。
檢測到FXO電源拒絕
FXO負責偵測FXS何時完成電源阻斷,使其知道在FXS端中斷連線的情況下何時掛機。
005754: Nov 18 18:51:28.257: htsp_process_event: [0/2/3, FXOLS_ONHOOK, E_HTSP_SETUP_REQ]fxols_onhook_setup 005755: Nov 18 18:51:28.257: [0/2/3] set signal state = 0xC timestamp = 0 005756: Nov 18 18:51:28.257: htsp_timer - 500 msec 005782: Nov 18 18:51:28.509: htsp_process_event: [0/2/3, FXOLS_WAIT_DIAL_TONE, E_DSP_SIG_1100]fxols_power_denial_detected 005783: Nov 18 18:51:28.509: htsp_timer2 - 1000 msec 005784: Nov 18 18:51:28.509: htsp_timer_stop 005785: Nov 18 18:51:29.509: htsp_process_event: [0/2/3, FXOLS_WAIT_DIAL_TONE, E_HTSP_EVENT_TIMER2]fxols_power_den_disc 005786: Nov 18 18:51:29.509: htsp_timer_stop 005787: Nov 18 18:51:29.509: htsp_timer_stop2
當線路上未檢測到環路電流時,會觸發事fxols_power_denial_detected 件。預設情況下,750毫秒計時器已啟動。如果DSP在計時器到期之前未檢測到當前呼叫,則會斷開呼叫。計時器在語音埠配置模式下可使用timeouts power-denial <0-2500ms>命令進行修改。此計時器必須與FXS端為其電源拒絕持續時間定義的值匹配。
此情況表示電纜故障、硬體故障或另一端的埠型別錯誤。確定問題是否與埠或線路有關。
- 如果問題與線路有關,請檢查telco demark的電纜。聯絡電信公司尋求幫助。
- 如果問題與埠有關,則可能是埠故障。進一步的故障排除可以確認這一點。
其他問題
- 斷開監督-檢視有關如何在模擬埠上處理斷開監督的特定部分。
- 佈線-佈線必須是從FXS到FXO的兩線直通。如果因接線問題而未能獲得撥號音,則通常線路上絕對沒有音訊訊號。如果電纜連線正確,摘機後噪音地板會略有增加。
- 連線埠故障-連線埠可能會故障,且無法發出撥號音、偵測振鈴電壓等。排除故障,將埠從VoIP端和電纜端隔離。
- DSP問題-埠必須使用DSP以辨識埠上的事件。因此,語音埠會分配DSP以在引導時發出訊號,即使埠未使用且已關閉。對模擬語音埠進行更改時,請在再次測試之前關閉/不關閉該埠。
- 長期/不良運行,阻抗問題-由於它是模擬音訊傳輸,因此環境中電磁干擾(EMI)的健康狀況非常重要,因為它會影響音訊品質。例如,當您在熒光燈上運行模擬線路時(或靠近攪拌器/馬達等),可能會線上路上產生過多雜訊。長運行通常會導致衰減和阻抗不匹配。必須為運行長度設定適當的阻抗。
- 用於補償衰減的過度增益-當應用大量輸入增益時,這可能會加重回聲問題,因為它會導致低回聲返回損耗(ERL)。儘量避免這種情況。
- 數位傳輸-數字不從電信公司傳送到FXO埠。您必須使用
connection plar <extension>將呼叫從埠路由到接待員或IVR/AA。
- 傳出呼叫失敗-如果電路為FXOGS且已配置為FXOLS,則傳入呼叫可以工作,但傳出呼叫失敗。此外,極性對於使用GS的傳出呼叫也非常重要。