目錄

簡介

必要條件

需求

採用元件

FXS/FXFundamentals

埠基礎知識

基本呼叫流程

回圈開始訊號

用於出站呼叫的VPM信令

用於入站呼叫的VPM信令

排除FXS和FXO埠故障

疑難排解指令

顯示命令

語音連線埠測試指令

環回功能測試

音訊注入測試

中繼相關函式測試

傳真/語音模式測試

發現常見問題

檢測到FXO電源拒絕

其他問題

簡介

本檔案介紹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裝置。

一旦發起呼叫的裝置處於摘機狀態，它就會開始通過Pults或Tones來撥打該號碼。

撥打該號碼後，處理該呼叫的裝置會相應地路由該號碼。一旦呼叫被路由，當遠端裝置收到呼叫的警報時，呼叫源自的裝置將播放回鈴音。

一旦遠端裝置接聽呼叫，其電路也關閉，此時呼叫與雙向音訊連線：

先前的範例是呼叫開始到結束的基本流程。但是，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 | battery-reversal | loop-current |振鈴 | tip-ground | ring-ground | ring-trip} {on |關閉}

標識要測試的語音埠。

為要測試的檢測器輸入關鍵字，並指定是否強制其進入開啟或關閉狀態。

注意：對於每個信令型別(E&M、FXO、FXS)，僅顯示適用的關鍵字。僅當檢測器處於強制狀態時，才會顯示disable關鍵字。

Router# test voice port slot/subunit/port detector {m-lead | battery-reversal | loop-current |振鈴 | tip-ground | ring-ground | 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 injection-tone {local |網路} {1000hz | 2000hz | 200hz | 3000hz | 300hz | 3200hz | 3400hz | 500hz | quiet}

標識要測試的語音埠，並為傳送測試音的方向和測試音的頻率輸入關鍵字。

注意：必須在測試語音埠上建立呼叫。

Router# test voice port slot/subunit/port injection-tone disable

標識要在其上結束測試的語音埠，並輸入關鍵字disable以結束測試音。

注意：只有在啟用測試條件時，disable關鍵字才可用。

中繼相關函式測試

要在語音埠上測試與中繼相關的功能，請在特權EXEC模式下輸入以下命令：

指令

目的

Router# test voice port slot/subunit/port relay {e-lead |循環 | ring-ground | battery-reversal |斷電 |振鈴 | tip-ground} {on|off}

標識要測試的語音埠。

為正在測試的中繼輸入關鍵字，並指定是否強制其進入開啟或關閉狀態。

注意：對於每個信令型別(E&M、FXO、FXS)，僅顯示適用的關鍵字。僅當中繼處於強制狀態時，才會顯示disable關鍵字。

Router# test voice port slot/subunit/port relay {e-lead |循環 | ring-ground | battery-reversal |斷電 |振鈴 | 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 當線路上未檢測到環路電流時，將觸發事件。預設情況下，已啟動750msec計時器。如果DSP在計時器到期前未檢測到當前呼叫，則會斷開呼叫。計時器在語音埠配置模式下可使用  timeouts power-denial <0-2500ms> 指令。此計時器必須與FXS端為其電源拒絕持續時間定義的值相匹配。

此案例表示有故障的電纜、硬體或另一端的埠型別錯誤。確定問題是否與埠或線路有關。

- 如果問題與線路有關，則檢查到電信標籤的電纜。聯絡電信公司尋求幫助。

- 如果問題與連線埠相關，則可能是連線埠有故障。進一步的故障排除可以確認這一點。

其他問題

- 斷開監控 — 檢視特定部分，瞭解如何對模擬埠進行斷開監控。

- 佈線 — 佈線必須是兩線直通，從FXS到FXO。如果因線路問題而未能獲得撥號音，則通常線路上絕對沒有音訊訊號。如果電纜連線正確，則摘機時噪音地板會略有增加。

- 連線埠故障 — 連線埠可能會故障，且無法發出撥號音、偵測振鈴電壓等。進行故障排除，將埠與VoIP端和電纜端隔離。

- DSP問題 — 埠必須使用DSP識別埠上的事件。因此，語音埠會分配DSP在啟動時發出訊號，即使埠未使用且已關閉。對模擬語音埠進行更改時，請關閉/不關閉該埠，然後再進行測試。

- 長/差運行，阻抗問題 — 由於它是模擬音訊傳輸，因此環境中的電磁干擾(EMI)的運行狀況非常重要，因為它會影響音訊品質。例如，當您在熒光燈上運行模擬線路時（或靠近攪拌器/馬達/等），可能會線上路上產生過多的雜訊。長運行通常會導致衰減和阻抗不匹配。必須為遊程長度設定適當的阻抗。

- 用於補償衰減的增益過大 — 當應用大量輸入增益時，這可能會加重回聲問題，因為它會導致低回聲回波損耗(ERL)。儘可能避免這種情況。

- 數位傳輸 — 數字不會從電信公司傳送到FXO埠。必須使用  connection plar

以便將呼叫從埠路由到接線員或IVR/AA。

- 傳出呼叫失敗 — 如果電路為FXOGS並且已將其配置為FXOLS，則傳入呼叫可以工作，但傳出失敗。此外，極性對於使用GS的傳出呼叫也很重要。