此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍FXS和FXO端口及其功能、呼叫建立和断开、配置组件以及故障排除提示。
Cisco建议您了解模拟接口基础知识。
本文档中的信息基于下列硬件和软件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
外部交换站(FXS)/外部交换局(FXO)是典型的模拟电路,用于将单个模拟电话线路传送到您的住宅。
FXOport(或设备)是连接到电路的端口,能够在摘机时打开/关闭挂机并传输数字以发起呼叫。 它采用继电器,当端口摘机时,电路关闭,而当端口被视为挂机时,电路打开。它与另一侧的FXS互连。
由于FXO端口终止来自运营商的线路,您也可以将这些端口视为模拟听筒或传真机/调制解调器。
FXS端口是连接到电路并为FXO设备提供拨号音和振铃电压的设备。 FXS端口将网关连接到电话、传真机和调制解调器等设备。FXS端口仅使用两根电线(Tip和Ring)作为给定呼叫的信令和音频路径。此双线对可向工作站提供振铃、电压和拨号音。
为了更好地了解如何对这两种端口类型进行故障排除,您必须首先查看呼叫是如何在它们上建立的。本部分介绍从两个终端挂机到出现双向音频的点之间的模拟呼叫过程。
与所有呼叫一样,当两个终端未使用时,FXS端口以挂机状态启动:
当其中一个电话摘机时,电路会关闭,并且FXS端口向FXO设备提供拨号音。
一旦发起呼叫的设备处于摘机状态,它就会开始通过脉冲或音调拨号。
拨打该号码后,处理该呼叫的设备会相应地路由该号码。一旦呼叫被路由,当远端设备收到呼叫的警报时,呼叫源自的设备将播放回铃音。
一旦远端设备接听呼叫,其电路也关闭,此时呼叫与双向音频连接:
前面的示例是呼叫开始到结束的基本流程。但是,FXS端口在幕后还有更多关于电话每个呼叫状态的信号。下一部分将介绍两种最常用的信令方法,用于思科模拟网关上的FXS端口。
环路启动信令是标准公共交换电话网(PSTN)或连接多个设备到网络的模拟端口中最常用的接入信令技术。大多数住宅电话都是模拟环路启动电话,基于先前看到的本地环路概念。环路是由两条电线组成的电气通信路径,一条用于传输,另一条用于接收语音信号。
两线式电路仍称为尖端和环,尖端与接地相连,环与电池的负极相连。当电话听筒被拿起(摘机)时,此操作会关闭电路,并在FXS端口和电话之间建立一个环路。从模拟端口的电池中抽取电流,指示状态的变化。此状态变化指示模拟端口中的电流检测器提供拨号音。
传入呼叫通过标准开/关模式发信号到听筒,这会导致电话振铃。
为了更好地了解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
本文档还包括入站呼叫的信令的外观。日志已经过注释,可以轻松理解流程中的每个步骤。
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
本文档介绍了解模拟端口不同状态的基本信息以及完美的呼叫方案后,排除模拟端口故障的不同方法。具体来说,它会查看一些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负责检测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端为其电源拒绝持续时间定义的匹配。
此情况表示电缆故障、硬件故障或另一端的端口类型错误。确定问题是否与端口或线路有关。
connection plar
以便将呼叫从端口路由到接待员或IVR/AA。版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
25-Jul-2019 |
初始版本 |