呼叫人ID是一项模拟服务,通过此服务,电话中心局(CO)交换机发送关于来电的数字信息。模拟外部交换站(FXS)端口的呼叫方ID名称传送功能首先在Cisco IOS®软件版本12.1(2)XH中引入,并且在所有更高的Cisco IOS软件版本中可用。此功能可用并可配置在每个端口,以便电话接通到模拟FXS语音端口。此功能也可用于模拟外汇局(FXO)。
注意:FXS端口传输呼叫方ID,而FXO端口接收呼叫方ID。呼叫方ID可与模拟电话、公共交换电话网络(PSTN)、专用交换机(PBX)、H.323终端(例如Microsoft NetMeeting)、Cisco CallManager和IP电话进行交互操作。因此,呼叫方ID可以通过由所有这些设备或部分设备组成的电话网络传输,但有一些例外。
此外,思科IOS功能允许网络设计人员阻止呼叫方ID从FXS端口传输(如有必要)。默认情况下,所有呼叫的主叫方ID均处于取消阻止状态;但是,呼叫方ID可以按端口阻止。当您在任何给定端口上启用此功能时,它会阻止源自该端口的所有呼叫的主叫方ID。
在尝试此配置之前,请确保您了解此功能的命令参考,如下所述:
[no] caller-id enable — 启用和禁用呼叫方ID。默认为呼叫方ID已禁用。该操作可以启用或禁用FXS端口上的Caller ID的传输,并启用或禁用FXO端口上的Caller ID的接收。
[no] station-id number — 提供用作与语音端口关联的主叫号码的站点号码。字符串参数是可选参数,当呼叫源自此语音端口时,则假设该参数为呼叫号码。如果没有指定此参数,使用从reverse-dial-peer搜索获得的呼叫号。如果主叫ID在FXO语音端口没有被收到,此参数用作呼叫号。string参数可以使用的最大字符数为15个字符。
[no] station-id namestring — 提供与语音端口关联的工作站名称。当呼叫源自此语音端口时,字符串参数作为呼叫的姓名传达到远程终端。如果主叫ID在FXO语音端口没有被接收,则此参数用作呼叫名。string参数可以使用的最大字符数为15个字符。
[no] caller-id block — 阻止或取消阻止呼叫方ID。默认设置为取消阻止的呼叫方ID。此命令可阻止或取消阻止从此端口发起的所有呼叫的主叫方ID。此命令仅在FXS语音端口上可用。
[no] ring number string — 此命令设置通过FXO语音端口应答呼叫之前要检测的最大振铃次数。ring number命令是思科在两次振铃后接收呼叫方ID信息的方式。有关详细信息,请参阅Cisco IOS语音命令参考的振铃号码部分。
此配置使用以下软件和硬件版本开发并测试:
Cisco 2600 IOS®路由器,带以太网卡、模拟FXS卡、NM-2V模块以及带NM-HDV模块的VWIC-MFT副卡
简单模拟电话,RJ-11连接到一个Cisco 2600
带有适用于其他Cisco 2600的T1接口的任何第三方供应商PBX
2600系列中使用的Cisco IOS版本是主线Cisco IOS®软件版本12.2(10)
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
本部分提供有关如何配置本文档所述功能的信息。
注意:要查找有关本文档中所用命令的其他信息,请使用命令查找工具(仅限注册用户)。
此图中的简单电话网络显示了通过LAN和Cisco 2600 B端的FXS端口将呼叫方ID传送到电话B的示例。E&M信道关联信令(CAS)线路不支持呼叫方ID。在本示例中,呼叫方ID伪装成来自CAS行,以便将其发送到FXS端口。对于数字线路来说,只有ISDN线路在默认情况下支持主叫ID发送,并且CAS类型fgd是唯一支持主叫ID发送的CAS类型。
在Cisco AS5300和AS5800平台上,CAS信令功能组B(FGB)的功能允许在配置T1时接收自动号码识别(ANI)。如果使用此信令,Cisco 5300或5800会自动接收呼叫方ID。T1语音信道上的CAS中会进一步解释此功能。
此配置仅显示与IP语音(VoIP)和呼叫方ID命令相关的元素:
呼叫流是从PBX到电话B。在此场景中,如果来电进入2600 A并转接到2600 B,则电话B上的呼叫方ID显示为:
Name = Outside CallingNumber = 5553030 Time = 2600 B’s local clock setting
本文档使用以下配置:
Cisco 2600 A |
---|
! Controller T1 1/0 framing esf linecode b8zs ds0-group 1 timeslots 1-4 type e&m-wink-start ! interface ethernet 0/0 ip address 10.10.1.2 255.255.255.0 ! voice-port 1/0:1 station-id name Outside !--- Command line interface (CLI) to spoof !--- Name Display on phone for all calls !--- from CAS line. station-id number 5553030 !--- CLI to spoof Number Display on phone !--- for all calls from CAS line. ! dial-peer voice 9913050 voip destination-pattern 9913050 session target ipv4:10.10.1.1 ! |
Cisco 2600 B |
---|
! interface ethernet 0/1 ip address 10.10.1.1 255.255.255.0 ! voice-port 1/1/0 caller-id enable !--- Enables Caller ID feature. ! dial-peer voice 100 pots destination-pattern 9913050 port 1/1/0 ! |
要启用SIP报头Remote-Party-ID的转换,请在SIP UA配置模式下使用remote-party-id命令。
Router(config)#sip-ua
Router(config-sip-ua)#remote-party-id
当启用remote-party-id命令时,如果传入INVITE消息中存在远程方ID报头,则从Remote-Party-ID报头提取的呼叫名称和号码将作为传出设置消息中的呼叫名称和号码发送。有关主叫方身份的SIP分机的详细信息,请参阅主叫方身份和隐私的SIP分机。
有关呼叫方ID的验证和基本配置,请参阅T1语音信道上的CAS。
本部分提供的信息可用于对配置进行故障排除。
您可以打开多个调试,以便对路由器上的呼叫方ID功能进行故障排除。语音端口模块(VPM)信令调试(debug vpm signal)可追踪启动Caller ID功能的标准FXS loopstart调试。从终端路由器以及该路由器的FXS端口的角度分析这些调试;此端收到呼叫方ID。
从FXS端口上的终端网关2600 B调试 |
---|
2600B# show debug Voice Port Module signaling debugging is on Nov 17 17:05:27.144 EST: [1/1/0, FXSLS_ONHOOK, E_HTSP_SETUP_REQ] fxsls_onhook_setup Nov 17 17:05:27.144 EST: [1/1/0] set signal state = 0x0 timestamp= 0 htsp_progress Nov 17 17:05:27.144 EST: [1/1/0] set signal state = 0x0 timestamp= 0 !--- Here is what is delivered to the phone. Nov 17 17:05:27.144 EST: [1/1/0] htsp_set_caller_id_tx calling num=5553030 display_info=Outside called num=9913050 !--- Here is the Hex that is sent out to the phone. Nov 17 17:05:27.144 EST: [1/1/0] Caller ID String 80 1C 01 08 31 31 31 37 32 32 30 35 07 35 35 35 33 30 33 30 07 07 4F 75 74 73 69 64 65 6F Nov 17 17:05:27.148 EST: [1/1/0] htsp_set_caller_id_tx Caller ID: FSK_DURING_RING Nov 17 17:05:27.148 EST: [1/1/0] htsp_start_caller_id_tx string length=31 Nov 17 17:05:27.160 EST: [1/1/0, FXSLS_WAIT_OFFHOOK, E_HTSP_VOICE_CUT_THROUGH] fxsls_waitoff_voice Nov 17 17:05:34.836 EST: [1/1/0, FXSLS_WAIT_OFFHOOK, E_HTSP_RELEASE_REQ] fxsls_waitoff_release Nov 17 17:05:34.836 EST: [1/1/0] set signal state = 0x4 timestamp = 0 |
注意:此输出中位于多行上的行实际上在调试输出中显示为一行。
这显示在电话B上:
CallerID = 5553030 Name = Outside Time = 10:05P Nov17 !--- Time is received from the Local Router Clock.
在示例中解码十六进制呼叫方ID字符串时,它提供以下结果:
Nov 17 17:05:27.144 EST: [1/1/0] Caller ID String 80 1C 01 08 31 31 31 37 32 32 30 35 02 07 35 35 35 33 30 33 30 07 07 4F 75 74 73 69 64 65 6F !--- Decode from Bellcore. 80 1C: Header (80 = Call Setup, Length) 01 : Parameter Value (Date and Time) 08 : Length of Information 31 31: Month (11 = November) 31 37: Day (17th) 32 32: Hour( 22) 30 35: Minute(05) 02 : Parameter Value (Calling Line DN) 07 : Length of Parameter 35 35 35 33 30 33 30 : Phone number (5553030) 07 : Parameter Value (Display) !--- "P" (0x50) is sent if "Anonymous" indication !--- is to be sent to phone. !--- "O" (0x4F) is sent if "Out of Area/Unavailable" indication !--- is to be sent to the phone. 07 : Parameter Length 4F 75 74 73 69 64 65 : Display in ASCII Hex.
注意:此输出中位于多行上的行实际上在调试输出中显示为一行。
在所示的示例中,一切都运行正常,“Name(名称)”和“Number Display(号码显示)”都正确传送到电话。在这两种情况下,呼叫号码在一个情况下无法显示,而在另一个情况下名称无法显示。
Nov 17 17:39:34.164 EST: [1/1/0] htsp_set_caller_id_tx calling num= display_info=Outside called num=9913050 Nov 17 17:39:34.164 EST: [1/1/0] Caller ID String 80 16 01 08 31 31 31 37 32 32 33 39 04 01 4F 07 07 4F 75 74 73 69 64 65 88
注意:此输出中位于多行上的行实际上在调试输出中显示为一行。
在示例中解码十六进制呼叫方ID字符串时,子字符串04 01 4F将转换为以下内容:
04 : Reason for Absence of DN 01 : Length of message 4F : "Out of Area"
Nov 17 17:53:24.034 EST: [1/1/0] htsp_set_caller_id_tx calling num=5551212 display_info= called num=9913050 Nov 17 17:53:24.034 EST: [1/1/0] Caller ID String 80 16 01 08 31 31 31 37 32 32 35 33 02 07 35 35 35 31 32 31 32 08 01 4F 05
注意:此输出中位于多行上的行实际上在调试输出中显示为一行。
在示例中解码十六进制呼叫方ID字符串时,子字符串08 01 4F将转换为以下内容:
08 : Reason for Absence of Display 01 : Length 4F : "Out of Area"
对于接收呼叫方ID的FXO端口,这些是相同的VPM调试。在显示的示例中,FXS端口向电话传输呼叫方ID。对于FXO端口,过程正好相反,但调试过程非常相似(如下所示)。
FXO端口调试正确接收呼叫方ID |
---|
Nov 20 10:40:15.861 EST: [1/0/0] htsp_start_caller_id_rx Nov 20 10:40:15.861 EST: [1/0/0] htsp_set_caller_id_rx:BELLCORE Nov 20 10:40:15.861 EST: htsp_timer - 10000 msec Nov 20 10:40:17.757 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0100] Nov 20 10:40:17.757 EST: fxols_ringing_not Nov 20 10:40:17.761 EST: htsp_timer_stop Nov 20 10:40:17.761 EST: htsp_timer - 10000 msec Nov 20 10:40:18.925 EST: [1/0/0] htsp_stop_caller_id_rx Nov 20 10:40:21.857 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0000] Nov 20 10:40:23.857 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0100] Nov 20 10:40:23.857 EST: fxols_ringing_not Nov 20 10:40:23.861 EST: htsp_timer_stop htsp_setup_ind Nov 20 10:40:23.861 EST: [1/0/0] get_fxo_caller_id:Caller ID received. Message type=128 length=31 checksum=74 Nov 20 10:40:23.861 EST: [1/0/0] Caller ID String 80 1C 01 08 31 31 32 30 31 35 34 30 02 07 35 35 35 31 32 31 32 07 07 4F 7574 73 69 64 65 74 Nov 20 10:40:23.865 EST: [1/0/0] get_fxo_caller_id calling num=5551212 calling name=Outside calling time=11/20 15:40 Nov 20 10:40:23.869 EST: [1/0/0, FXOLS_WAIT_SETUP_ACK, E_HTSP_SETUP_ACK] Nov 20 10:40:23.873 EST: fxols_wait_setup_ack: Nov 20 10:40:23.873 EST: [1/0/0] set signal state = 0xC timestamp = 0 Nov 20 10:40:23.985 EST: [1/0/0, FXOLS_PROCEEDING, E_DSP_SIG_0100] fxols_proceed_clear Nov 20 10:40:23.985 EST: htsp_timer_stop2 Nov 20 10:40:24.097 EST: [1/0/0, FXOLS_PROCEEDING,E_DSP_SIG_0110] fxols_rvs_battery Nov 20 10:40:24.097 EST: htsp_timer_stop2 Nov 20 10:40:24.733 EST: [1/0/0, FXOLS_PROCEED_RVS_BT,E_HTSP_PROCEEDING] fxols_offhook_proc Nov 20 10:40:24.733 EST: htsp_timer - 120000 msec Nov 20 10:40:24.745 EST: [1/0/0, FXOLS_PROCEED_RVS_BT,E_HTSP_VOICE_CUT_THROUGH] fxols_proc_voice |
注意:此输出中位于多行上的行实际上在调试输出中显示为一行。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
08-May-2002 |
初始版本 |