來電者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埠上的呼叫方ID的傳輸,以及啟用或禁用FXO埠上的呼叫方ID的接收。
[no] station-id number — 提供用作與語音埠關聯的主叫號碼的站台號碼。string引數是可選的,如果提供,當呼叫從此語音埠發起時,該引數將作為主叫號碼傳遞。如果未指定此引數,則使用通過反向撥號對等體搜尋獲得的呼叫號碼。如果在FXO語音埠上未收到呼叫者ID,則此引數用作呼叫號碼。string引數可以使用的最大字元數為15個字元。
[no] station-id namestring — 提供與語音埠關聯的站名。當呼叫從此語音埠發起時,string引數將作為呼叫名稱傳遞給遠端端。如果在FXO語音埠上未收到呼叫者ID,則此引數用作呼叫名稱。string引數可以使用的最大字元數為15個字元。
[no] caller-id block -阻止或取消阻止呼叫方ID。預設設定為Caller ID unblocked。此命令阻止或取消阻止來自此埠的所有呼叫的主叫方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
2600s中使用的Cisco IOS版本是主要的Cisco IOS®軟體版本12.2(10)
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本節提供用於設定本文件中所述功能的資訊。
注意:若要查詢有關本文檔中使用的命令的其他資訊,請使用命令查詢工具(僅限註冊客戶)。
此圖中的簡易電話網路顯示透過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)。如果使用此信令,則呼叫方ID會自動在Cisco 5300或5800上接收。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)會在開啟呼叫者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.
註:此輸出中位於多行上的行實際上在調試輸出中顯示為一行。
在所示的示例中,一切都運行正常,「名稱」和「號碼顯示」均正確傳送到電話。在這兩種情況下,一種情況下呼叫號碼無法顯示,另一種情況下則姓名無法顯示。
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 |
註:此輸出中位於多行上的行實際上在調試輸出中顯示為一行。