目录

简介

先决条件

要求

使用的组件

FXS/FXFundamentals

PortFundamentals

基本呼叫流程

环路起始信令

出站呼叫的VPM信令

入站呼叫的VPM信令

排除FXS和FXO端口故障

故障排除命令

显示命令

语音端口测试命令

环回功能测试

音频注入测试

中继相关功能测试

传真/语音模式测试

发现常见问题

检测到FXO电源拒绝

其他问题

简介

本文档介绍FXS和FXO端口及其功能、呼叫建立和断开、配置组件以及故障排除提示。

先决条件

要求

Cisco建议您了解模拟接口基础知识。

使用的组件

本文档中的信息基于下列硬件和软件版本：

- ISR4451-X/K9

- NIM-2FXSP

- NIM-2FXO

- 思科IOS® XE版本16.8.2

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

FXS/FXO基础

端口基础知识

外部交换站(FXS)/外部交换局(FXO)是典型的模拟电路，用于将单个模拟电话线路传送到您的住宅。

FXOport（或设备）是连接到电路的端口，能够在摘机时打开/关闭挂机并传输数字以发起呼叫。 它采用继电器，当端口摘机时，电路关闭，而当端口被视为挂机时，电路打开。它与另一侧的FXS互连。

由于FXO端口终止来自运营商的线路，您也可以将这些端口视为模拟听筒或传真机/调制解调器。

FXS端口是连接到电路并为FXO设备提供拨号音和振铃电压的设备。 FXS端口将网关连接到电话、传真机和调制解调器等设备。FXS端口仅使用两根电线（Tip和Ring）作为给定呼叫的信令和音频路径。此双线对可向工作站提供振铃、电压和拨号音。

基本呼叫流程

为了更好地了解如何对这两种端口类型进行故障排除，您必须首先查看呼叫是如何在它们上建立的。本部分介绍从两个终端挂机到出现双向音频的点之间的模拟呼叫过程。

与所有呼叫一样，当两个终端未使用时，FXS端口以挂机状态启动：

当其中一个电话摘机时，电路会关闭，并且FXS端口向FXO设备提供拨号音。

一旦发起呼叫的设备处于摘机状态，它就会开始通过脉冲或音调拨号。

拨打该号码后，处理该呼叫的设备会相应地路由该号码。一旦呼叫被路由，当远端设备收到呼叫的警报时，呼叫源自的设备将播放回铃音。

一旦远端设备接听呼叫，其电路也关闭，此时呼叫与双向音频连接：

前面的示例是呼叫开始到结束的基本流程。但是，FXS端口在幕后还有更多关于电话每个呼叫状态的信号。下一部分将介绍两种最常用的信令方法，用于思科模拟网关上的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 | 2000hz | 200hz | 3000hz | 300hz | 3200hz | 3400hz | 500hz | 静音}

标识要测试的语音端口，并为发送测试音的方向和测试音的频率输入关键字。

注意：必须在测试语音端口上建立呼叫。

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端为其电源拒绝持续时间定义的匹配。

此情况表示电缆故障、硬件故障或另一端的端口类型错误。确定问题是否与端口或线路有关。

- 如果问题与线路有关，请检查电缆到电信公司标志。联系电信公司寻求帮助。

- 如果问题与端口有关，则可能是端口故障。进一步的故障排除可以确认这一点。

其他问题

- 断开监督 — 查看有关如何在模拟端口上处理断开监督的特定部分。

- 布线 — 布线必须是两线直通，从FXS到FXO。如果因线路问题而未能获得拨号音，则通常线路上绝对没有听到音频。如果电缆连接正确，则摘机时噪音地板会略有增加。

- 端口损坏 — 端口可能损坏，无法提供拨号音、检测振铃电压等。排除故障，将端口与VoIP端和电缆端隔离。

- DSP问题 — 端口必须使用DSP识别端口上的事件。因此，语音端口会分配DSP在启动时发出信号，即使端口未使用且已关闭。当您对模拟语音端口进行更改时，请在再次测试之前关闭/不关闭该端口。

- 长/差运行，阻抗问题 — 由于它是模拟音频传输，因此环境中的电磁干扰(EMI)的运行状况很重要，因为它可能会影响音频质量。例如，当您将模拟线路放在荧光灯上（或靠近搅拌器/马达/等）时，可能会在线路上引起过多噪声。长运行通常会导致衰减和阻抗不匹配。必须为运行长度设置适当的阻抗。

- 补偿衰减的增益过大 — 当应用大量输入增益时，这可能会加剧回声问题，因为它会导致低回声回波损耗(ERL)。尽可能避免这种情况。

- 数字传输 — 数字不会从电信公司发送到FXO端口。您必须使用  connection plar

以便将呼叫从端口路由到接待员或IVR/AA。

- 呼出呼叫失败 — 如果电路为FXOGS并且已为FXOLS配置该电路，则呼入呼叫可以工作，但呼出失败。此外，极性对于使用GS的传出呼叫也很重要。