此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍外汇交换站(FXS)和外汇交换办公室(FXO)端口及其工作原理的机制。更具体地说,它包括如何在两个端口之间设置和分离呼叫。此外,本章还讨论端口的不同配置组件以及如何对其进行故障排除。
Cisco 建议您了解以下主题:
本文档中的信息基于下列硬件和软件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
FXO/FXS是典型的模拟电路,用于将单条模拟电话线传送到您的家中。
FXOport(或设备)是连接到电路的端口,该端口具有挂机/摘机功能,并在摘机时发送数字以发起呼叫,它采用一个继电器,当端口摘机时,电路关闭,当端口被视为挂机时,电路打开。它与另一端的FXS互连。
与FXO端口从运营商端接线路一样,您也可以将其视为模拟听筒或传真机/调制解调器。
FXS端口是连接到电路并向FXO设备提供拨号音和振铃电压的设备。FXS端口将网关连接到电话、传真机和调制解调器等设备。FXS端口仅使用2根电线(尖端和环)来实现给定呼叫的信令和音频路径。这两个线对,可向站提供振铃、电压和拨号音。
要更好地了解如何排除这两种端口类型的故障,您首先需要了解呼叫在它们上的设置。本部分显示从两个终端挂机时到存在双向音频时的模拟呼叫过程。
与所有呼叫一样,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命令中,这些命令可能会在将来对您有所帮助:
语音端口测试命令
检测器相关功能测试
测试语音端口检测器命令,您可以强制特定检测器进入打开或关闭状态,对检测器执行测试,然后将检测器返回到其原始状态。
要配置此功能,请在特权EXEC模式下输入以下命令:
命令 | 目的 |
Router#测试语音端口插槽/子单位/端口检测器{m-lead |电池反转 |环流 |振铃 |末端接地 |环接地 |环行}{on |关闭 | 识别要测试的语音端口。 为测试中的检测器输入关键字,并指定是否强制其进入打开或关闭状态。 注意:对于每种信令类型(E&M、FXO、FXS),仅显示适用的关键字。仅当检测器处于强制状态时,才会显示disable关键字。 |
Router#测试语音端口插槽/子单位/端口检测器{m-lead |电池反转 |环流 |振铃 |末端接地 |环接地 |振铃行程}禁用 | 标识要结束测试的语音端口。 输入要测试的检测器的关键字,并输入关键字disable结束强制状态。 注意:对于每种信令类型(E&M、FXO、FXS),仅显示适用的关键字。仅当检测器处于强制状态时,才会显示disable关键字。 |
环回功能测试
要在语音端口上建立环回,请在特权EXEC模式下输入以下命令:
命令 | 目的 |
Router# test voice port slot/subun/port loopback {local |网络} | 标识要测试的语音端口并输入环回方向的关键字。 注意:必须在测试的语音端口上建立呼叫。 |
Router#测试语音端口插槽/子单元/端口环回禁用 | 标识要在其上结束测试并输入关键字disable以结束环回的语音端口。 |
音调注入测试
要向语音端口注入测试音,请在特权EXEC模式下输入以下命令:
命令 | 目的 |
Router# test voice port slot/subun/port inject-tone {local | network} {1000hz | 2000hz | 200hz | 3000hz | 300hz | 3200hz | 3400hz | 500hz |安静 | 标识要测试的语音端口,并输入用于发送测试音方向和测试音频率的关键字。 注意:必须在测试的语音端口上建立呼叫。 |
Router# test voice port slot/subun/port inject-tone disable | 确定要结束测试的语音端口,并输入关键字disable结束测试音。 注意:仅当已激活测试条件时,disable关键字才可用。 |
中继相关功能测试
要在语音端口上测试中继相关功能,请在特权EXEC模式下输入以下命令:
命令 | 目的 |
Router#测试语音端口插槽/子单元/端口中继{e-lead |循环 |环接地 |电池反转 |拒绝电源 |振铃 | tip-ground} {on|off} | 标识要测试的语音端口。 为测试中的中继输入关键字,并指定是否强制其进入打开或关闭状态。 注意:对于每种信令类型(E&M、FXO、FXS),仅显示适用的关键字。仅当中继处于强制状态时,才会显示disable关键字。 |
Router#测试语音端口插槽/子单元/端口中继{e-lead |循环 |环接地 |电池反转 |拒绝电源 |振铃 | tip-ground} disable | 标识要结束测试的语音端口。 输入要测试的中继的关键字,并输入关键字disable结束强制状态。 注意:对于每种信令类型(E&M、FXO、FXS),仅显示适用的关键字。仅当中继处于强制状态时,才会显示disable关键字。 |
传真/语音模式测试
test voice port switch fax命令强制语音端口进入传真模式以进行测试。输入此命令后,可以使用show voice call或show voice call summary命令检查语音端口是否能在传真模式下运行。如果语音端口未检测到传真数据,则语音端口将保持传真模式30秒,然后自动恢复为语音模式。
disable关键字结束强制模式开关;但是,传真模式在30秒后自动结束。仅当语音端口处于传真模式时,disable关键字才可用。
要强制语音端口进入传真模式并将其返回语音模式,请在特权EXEC模式下输入以下命令:
命令 | 目的 |
Router#测试语音端口插槽/子单元/端口交换机传真 | 标识要测试的语音端口。 输入关键字fax强制语音端口进入传真模式。 |
Router# test语音端口插槽/子单元/端口交换机禁用 | 标识要结束测试的语音端口。 输入关键字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端为其电源拒绝持续时间定义的值匹配。
此场景表示电缆、硬件或另一端的端口类型错误。确定问题出在端口还是线路上。
其他陷阱