中繼線(連線)是兩個語音埠之間的永久點對點通訊線路。connection trunk 命令在兩個VoIP網關之間建立永久的IP語音(VoIP)呼叫。它通過在兩個電話端點之間建立虛擬中繼連線來模擬中繼連線。對於連線的系統,T1中繼似乎直接連線在其之間。
這些平台支援VoIP連線中繼:
Cisco 2600、3600和3700系列數位和類比介面
Cisco 7200/7500系列數位介面
思科MC3810數位和類比介面
Cisco 1750/1751和1760
注意:AS5300/AS5400/AS5800平台不支援或不支援連線中繼,因為它們不適用於具有大量流量的廣域網連線。
本文中的資訊係根據以下軟體和硬體版本:
採用IP Plus功能集的Cisco IOS®軟體版本12.2(10a)
Cisco 2610系列路由器
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本節提供用於設定本文件中所述功能的資訊。
注意:要查詢有關本文檔中使用的命令的其他資訊,請使用命令查詢工具(僅限註冊客戶)
T1/E1通道關聯訊號(CAS)介面支援連線中繼模式。使用通用通道訊號傳送(CCS)的T1/E1介面不支援連線主幹;例如,QSIG和PRI Q.931。為接地啟動配置的外部交換局(FXO)埠不支援連線中繼。
連線中繼模式是永久連線;voIP呼叫始終保持連線,而不依賴於普通舊式電話服務(POTS)埠掛機或摘機。連線中繼具有靜態配置的終端,不需要使用者撥號來連線呼叫。它還允許附加呼叫信令(如hookflash或點對點hoot-n-holler)在兩個電話裝置之間通過IP網路傳遞。
以下語音埠組合支援連線中繼模式:
接收和傳輸(E & M)到E & M(相同型別)
FXO到外部交換站(FXS)
FXS到FXS(無訊號)
注意:這些語音埠組合允許在模擬到模擬、數字到數字和模擬到數字介面之間使用。此外,當您將FXS設定為FXS時,無法傳輸訊號,因為它不會是透明路徑。連線的裝置(FXO)將嘗試相互發出訊號。如果將語音路徑設定為始終開啟,則可能使此設計生效。將signal-type ext-signal配置為VoIP撥號對等體,並且路由器將不再等待信令而開啟語音路徑。
預設情況下,連線中繼T1 CAS到E1 CAS的對映不起作用。必須根據各種ABCD位信令的PBX支援,在網關上執行位順序操作,並且不一定始終有效。
連線中繼允許在FXO和FXS埠之間使用專用線路、自動關閉場外擴展(PLAR-OPX)型別的功能。這允許遠端站點(連線到FXS埠)在PBX中顯示為物理連線的站點。如果此遠端站未應答呼叫,則可以將呼叫轉接至集中語音郵件(如果在PBX上配置了該呼叫)。
連線中繼(例如PLAR)不需要路由器從電話裝置收集數字。永久性VoIP呼叫是在路由器啟動並建立IP連線時建立的。因此,現有客戶撥號方案不必更改。
連線中繼可以傳遞某些電話訊號,例如hookflash,但它不會傳遞專有PBX訊號。這不是透明CCS(T-CSS)功能。
每個語音埠定義一個連線中繼,例如PLAR。這表示語音連線埠不能在連線中繼模式和收集撥出數字模式中操作。唯一可能並不完全期望的例項是在遠端辦公室中,該遠端辦公室也需要在本地分機之間撥號,而無需使用集中式PBX。這將要求呼叫的路徑通過VoIP網路回退,而不是在路由器內進行交換。通常,這不應成為問題。
必須在中繼的兩端配置連線中繼。使用模擬介面配置連線中繼時,必須按語音埠定義該連線中繼。使用數字介面配置連線中繼時,有以下幾種選擇:
您可以為每個DS0(每個時隙)定義單獨的ds0-group命令,並且可以使用connection trunk命令定義建立的每個語音埠。這可確保在數字中繼上保留DS0到DS0的對映。
您可以定義單個ds0-group命令來處理所有DS0,也可以在語音埠上定義單個connection trunk命令。這減少了所需的手動配置量,但是無法保證中繼任一端的DS0一對一對映。此外,每次路由器重新載入時,對映可能與上次不同。此外,此配置使故障排除更加複雜,因為如果不斷開整個中繼組,您將無法將問題隔離到單個(甚至幾個)時隙。對於在PBX的任一端具有專有信令的T-CCS,也不建議使用此配置,因為如果沒有一對一對映,它無法可靠地傳送信令通道。
建議使用connection trunk string命令後指定的answer-mode關鍵字配置連線的一端。這使得樹幹的一面成為「主面」。 含有answer-mode關鍵字的閘道(路由器)然後是「從屬端」。 answer-mode命令指定網關不會嘗試啟動中繼連線,而是會在建立中繼之前等待傳入呼叫。此配置方案可最大程度地減少路由器啟動中繼所需的時間,並確保當兩個網關之間的連線斷開時,中繼會斷開。否則,當連線再次啟動時,網關可能不會嘗試重新建立中繼。
注意:當您發出connection trunk命令時,必須在語音埠上執行shutdown/no shutdown命令序列。
本檔案使用以下兩種網路設定:
上圖說明數位到數位的情況,其中路由器兩端都有數位連結。
上圖說明了數字到模擬場景,一端是數字,另一端是模擬。
本檔案會使用以下設定:
數位到數位
數模轉換
第一個配置(數字到數字)顯示了具有數字T1介面的兩個路由器之間的連線中繼的典型配置。在本示例中,路由器在PBX之間提供真正的連線線替換。
數字到數字 — maui-slt-01 |
---|
version 12.2 service timestamps debug datetime msec service timestamps log datetime msec service password-encryption ! hostname maui-slt-01 ! voice-card 1 ! controller T1 1/0 framing esf linecode b8zs ds0-group 1 timeslots 1 type e & m-wink-start ds0-group 2 timeslots 2 type e & m-wink-start clock source line !--- The ds0-group command creates the logical voice-ports: !--- voice-port 1/0:1 and voice-port 1/0:2. ! voice-port 1/0:1 connection trunk 2000 !--- “master side” !--- This starts the trunk connection using digits 2000 to match !--- a VoIP dial-peer. The digits are generated internally by the !--- router and are not received from the voice-port. ! voice-port 1/0:2 connection trunk 2001 ! dial-peer voice 2 voip destination-pattern 200. !--- Matches connection trunk string 2000 and 2001. dtmf-relay h245-alphanumeric session target ipv4:192.168.100.2 ip qos dscp cs5 media ! dial-peer voice 1 pots destination-pattern 1000 port 1/0:1 !--- This dial-peer maps to maui-rtr-07’s voice-port 1/0:1. ! dial-peer voice 3 pots destination-pattern 1001 port 1/0:2 !--- This dial-peer maps to maui-rtr-07’s voice-port 1/0:2. ! interface Serial0/1 ip address 192.168.100.1 255.255.255.0 |
數字到數字 — maui-rtr-07 |
---|
version 12.2 service timestamps debug uptime service timestamps log uptime service password-encryption ! hostname maui-rtr-07 ! voice-card 1 ! controller T1 1/0 framing esf linecode b8zs ds0-group 1 timeslots 1 type e & m-wink-start ds0-group 2 timeslots 2 type e & m-wink-start clock source line ! voice-port 1/0:1 connection trunk 1000 answer-mode !--- “slave side” !--- The answer-mode specifies that the router should not attempt !--- to initiate a trunk connection, but it should wait for an !--- incoming call before it establishes the trunk. ! voice-port 1/0:2 connection trunk 1001 answer-mode ! dial-peer voice 1 voip destination-pattern 100. dtmf-relay h245-alphanumeric session target ipv4:192.168.100.1 ip qos dscp cs5 media ! dial-peer voice 2 pots destination-pattern 2000 port 1/0:1 !--- This dial-peer terminates the connection !--- from maui-slt-01 voice-port 1/0:1. ! dial-peer voice 3 pots destination-pattern 2001 port 1/0:2 !--- This dial-peer terminates the connection !--- from maui-slt-01 voice-port 1/0:2. ! interface Serial0/1 ip address 192.168.100.2 255.255.255.0 clockrate 128000 ! |
第二個配置(數位到模擬)顯示兩台相似路由器(一台具有數字T1介面,另一台具有模擬介面)之間的連線中繼的典型配置。介面型別必須相同(例如,E & M切換到E & M切換,E & M切換到E & M立即切換,FXO切換到FXS切換)。 在我們的示例中,FXO環啟動是在數字T1介面上發出信令,並且在相應端存在具有FXS環啟動信令的模擬FXS埠。
數位到模擬 — maui-slt-01 |
---|
version 12.2 service timestamps debug datetime msec service timestamps log datetime msec service password-encryption ! hostname maui-slt-01 ! voice vad-time 40000 ! voice-card 1 ! controller T1 1/0 framing esf linecode b8zs ds0-group 1 timeslots 1 type fxo-loopstart clock source line !--- The ds0-group command creates the logical voice-ports: !--- voice-port 1/0:1 and voice-port 1/0:2. ! voice-port 1/0:1 connection trunk 2000 !--- “master side” !--- This starts the trunk connection using digits 2000 to match !--- a VoIP dial-peer. The digits are generated internally by the !--- router and are not received from the voice-port. ! ! ! dial-peer voice 2 voip destination-pattern 200. !--- Matches connection trunk string 2000 and 2001. dtmf-relay h245-alphanumeric session target ipv4:192.168.100.2 ip qos dscp cs5 media ! dial-peer voice 1 pots destination-pattern 1000 port 1/0:1 !--- This dial-peer maps to maui-rtr-07's voice-port 1/0/0. ! ! ! interface Serial0/1 ip address 192.168.100.1 255.255.255.0 ! |
數字到模擬 — maui-rtr-07 |
---|
version 12.2 service timestamps debug uptime service timestamps log uptime service password-encryption ! hostname maui-rtr-07 ! ! voice-port 1/0/0 connection trunk 1000 answer-mode !--- “slave side” !--- The answer-mode specifies that the router should not attempt !--- to initiate a trunk connection, but it should wait for an !--- incoming call before it establishes the trunk. ! ! dial-peer voice 1 voip destination-pattern 100. dtmf-relay h245-alphanumeric session target ipv4:192.168.100.1 ip qos dscp cs5 media ! dial-peer voice 2 pots destination-pattern 2000 port 1/0/0 !--- This dial-peer terminates the connection !--- from maui-slt-01 voice-port 1/0:1. ! ! ! interface Serial0/1 ip address 192.168.100.2 255.255.255.0 clockrate 128000 ! |
本節提供的資訊可用於確認您的組態是否正常運作。
輸出直譯器工具(僅供註冊客戶使用)支援某些show命令,此工具可讓您檢視show命令輸出的分析。
show voice call summary — 用於驗證所有中繼是否都已啟動並處於S_CONNECT狀態。
當中繼啟動時,控制檯將顯示消息%HTSP-5-UPDOWN:Trunk port(channel)[1/0:1(1)] is up。
以下是show voice call summary命令的輸出示例:
PORT CODEC VAD VTSP STATE VPM STATE ============ ======== === ==================== ====================== 3/0:0.1 g729r8 n S_CONNECT S_TRUNKED 3/0:1.2 g729r8 n S_CONNECT S_TRUNKED 3/0:2.3 g729r8 n S_CONNECT S_TRUNKED
未啟動的中繼將顯示為S_TRUNK_PEND:
PORT CODEC VAD VTSP STATE VPM STATE ============ ======== === ==================== ====================== 3/0:0.1 - - - S_TRUNK_PEND 3/0:1.2 g729r8 n S_CONNECT S_TRUNKED 3/0:2.3 g729r8 n S_CONNECT S_TRUNKED
本節提供的資訊可用於對組態進行疑難排解。
輸出直譯器工具(僅供註冊客戶使用)支援某些show命令,此工具可讓您檢視show命令輸出的分析。
注意:發出debug指令之前,請先參閱有關Debug指令的重要資訊。
顯示呼叫歷史記錄語音 | Include DisconnectText — 顯示最近幾次失敗呼叫的斷開原因。
show voice call summary — 顯示兩個呼叫段上的活動呼叫。
show voice dsp — 顯示數位訊號處理器(DSP)正在使用中並且正在處理資料包。
有關VoIP呼叫故障排除的詳細資訊,請參閱VoIP呼叫基礎故障排除和調試和VoIP調試命令。
配置連線中繼後,兩台路由器上的關聯語音埠必須是shutdown/no shutdown。如果您將使用者忙碌視為斷開連線的原因,則此操作也會清除語音埠。
以下是show voice dsp命令的輸出示例:
BOOT PAK TYPE DSP CH CODEC VERS STATE STATE RST AI PORT TS ABORT TX/RX-PAK-CNT ==== === == ======= ==== ===== ====== === == ======= == ===== =============== C549 000 01 g729r8 3.4 busy idle 0 0 3/0:12 13 0 3522765/3578769 00 g729r8 .41 busy idle 0 0 3/0:0 1 0 3505023/3560759 C549 001 01 g729r8 3.4 busy idle 0 0 3/0:13 14 0 3522761/3578601 00 g729r8 .41 busy idle 0 0 3/0:1 2 0 3522794/3578579
下一個示例輸出是debug voip ccapi inout命令最常見的調試輸出。此調試是在被叫端缺少POTS對等體的常見錯誤下進行的。在本例中,模擬端路由器沒有POTS對等體來終止中繼;在這種情況下,數字呼叫端將進行以下調試:
maui-slt-01# *Mar 1 00:11:19.903: cc_api_call_setup_ind (vdbPtr=0x620B2DE8, callInfo={called=2000,called_oct3=0x81,calling=,calling_oct3=0x0, calling_oct3a=0x0,calling_xlated=false,subscriber_type_str=RegularLine ,fdest=1,peer_tag=2, prog_ind=3},callID=0x621C45F0) *Mar 1 00:11:19.903: cc_api_call_setup_ind type 3 , prot 0 *Mar 1 00:11:19.903: cc_process_call_setup_ind (event=0x62332908) *Mar 1 00:11:19.903: >>>>CCAPI handed cid 3 with tag 2 to app "DEFAULT" *Mar 1 00:11:19.907: sess_appl: ev(24=CC_EV_CALL_SETUP_IND), cid(3), disp(0) *Mar 1 00:11:19.907: sess_appl: ev(SSA_EV_CALL_SETUP_IND), cid(3), disp(0) *Mar 1 00:11:19.907: ssaCallSetupInd *Mar 1 00:11:19.907: ccCallSetContext (callID=0x3, context=0x621C4E90) *Mar 1 00:11:19.907: ssaCallSetupInd cid(3), st(SSA_CS_MAPPING),oldst(0), ev(24)ev->e.evCallSetupInd.nCallInfo.finalDestFlag = 1 *Mar 1 00:11:19.907: ssaCallSetupInd finalDest cllng(1000), clled(2000) *Mar 1 00:11:19.907: ssaCallSetupInd cid(3), st(SSA_CS_CALL_SETTING), oldst(0), ev(24)dpMatchPeersMoreArg result= 0 *Mar 1 00:11:19.907: ssaSetupPeer cid(3) peer list: tag(1) called number (2000) *Mar 1 00:11:19.907: ssaSetupPeer cid(3), destPat(2000), matched(1), prefix(), peer(61EE565C), peer->encapType (2) *Mar 1 00:11:19.907: ccCallProceeding (callID=0x3, prog_ind=0x0) *Mar 1 00:11:19.907: ccCallSetupRequest (Inbound call = 0x3, outbound peer =1, dest=, params=0x6233BD30 mode=0, *callID=0x6233C098, prog_ind = 3) *Mar 1 00:11:19.907: ccCallSetupRequest numbering_type 0x81 *Mar 1 00:11:19.907: ccCallSetupRequest encapType 2 clid_restrict_disable 1 null_orig_clg 1 clid_transparent 0 callingNumber 1000 *Mar 1 00:11:19.907: dest pattern 2..., called 2000, digit_strip 0 *Mar 1 00:11:19.907: callingNumber=1000, calledNumber=2000, redirectNumber= display_info= calling_oct3a=0 *Mar 1 00:11:19.907: accountNumber=, finalDestFlag=1, guid=1d0d.9a0f.14f0.11cc.8008.b3df.433e.6402 *Mar 1 00:11:19.911: peer_tag=1 *Mar 1 00:11:19.911: ccIFCallSetupRequestPrivate: (vdbPtr=0x621D74DC, dest=, callParams={called=2000,called_oct3=0x81, calling=1000,calling_oct3=0x0, calling_xlated=false, subscriber_type_str=RegularLine, fdest=1, voice_peer_tag=1}, mode=0x0) vdbPtr type = 1 *Mar 1 00:11:19.911: ccIFCallSetupRequestPrivate: (vdbPtr=0x621D74DC, dest=, callParams={called=2000, called_oct3 0x81, calling=1000,calling_oct3 0x0, calling_xlated=false, fdest=1, voice_peer_tag=1}, mode=0x0, xltrc=-5) *Mar 1 00:11:19.911: ccSaveDialpeerTag (callID=0x3, dialpeer_tag=0x1) *Mar 1 00:11:19.911: ccCallSetContext (callID=0x4, context=0x624C3094) *Mar 1 00:11:19.911: ccCallReportDigits (callID=0x3, enable=0x0) *Mar 1 00:11:19.911: cc_api_call_report_digits_done (vdbPtr=0x620B2DE8, callID=0x3, disp=0) *Mar 1 00:11:19.911: sess_appl: ev(52=CC_EV_CALL_REPORT_DIGITS_DONE), cid(3), disp(0) *Mar 1 00:11:19.911: cid(3)st(SSA_CS_CALL_SETTING)ev (SSA_EV_CALL_REPORT_DIGITS_DONE)oldst(SSA_CS_MAPPING) cfid(-1)csize(0)in(1)fDest(1) *Mar 1 00:11:19.911: -cid2(4)st2(SSA_CS_CALL_SETTING)oldst2(SSA_CS_MAPPING) *Mar 1 00:11:19.911: ssaReportDigitsDone cid(3) peer list: (empty) *Mar 1 00:11:19.911: ssaReportDigitsDone callid=3 Reporting disabled. *Mar 1 00:11:19.947: cc_api_call_disconnected(vdbPtr=0x621D74DC, callID=0x4, cause=0x1) *Mar 1 00:11:19.947: sess_appl: ev(11=CC_EV_CALL_DISCONNECTED), cid(4), disp(0) *Mar 1 00:11:19.947: cid(4)st(SSA_CS_CALL_SETTING)ev(SSA_EV_CALL_DISCONNECTED) oldst(SSA_CS_MAPPING)cfid(-1)csize(0)in(0)fDest(0) *Mar 1 00:11:19.947: -cid2(3)st2(SSA_CS_CALL_SETTING)oldst2(SSA_CS_CALL_SETTING) *Mar 1 00:11:19.951: ssaDiscSetting *Mar 1 00:11:19.951: ssa: Disconnected cid(4) state(1) cause(0x1) *Mar 1 00:11:19.951: ccCallDisconnect (callID=0x4, cause=0x1 tag=0x0) *Mar 1 00:11:19.951: ccCallDisconnect (callID=0x3, cause=0x1 tag=0x0) *Mar 1 00:11:19.951: cc_api_call_disconnect_done(vdbPtr=0x620B2DE8, callID=0x3, disp=0, tag=0x0) *Mar 1 00:11:19.955: sess_appl: ev(12=CC_EV_CALL_DISCONNECT_DONE), cid(3), disp(0) *Mar 1 00:11:19.955: cid(3)st(SSA_CS_DISCONNECTING)ev (SSA_EV_CALL_DISCONNECT_DONE)oldst(SSA_CS_CALL_SETTING) cfid(-1)csize(0)in(1)fDest(1) *Mar 1 00:11:19.955: -cid2(4)st2(SSA_CS_DISCONNECTING)oldst2(SSA_CS_CALL_SETTING) *Mar 1 00:11:19.955: ssaDisconnectDone *Mar 1 00:11:19.963: cc_api_icpif: expect factor = 0 *Mar 1 00:11:19.963: cc_api_call_disconnect_done(vdbPtr=0x621D74DC, callID=0x4, disp=0, tag=0x0) *Mar 1 00:11:19.967: sess_appl: ev(12=CC_EV_CALL_DISCONNECT_DONE), cid(4), disp(0) *Mar 1 00:11:19.967: cid(4)st(SSA_CS_DISCONNECTING)ev (SSA_EV_CALL_DISCONNECT_DONE)oldst(SSA_CS_CALL_SETTING) cfid(-1)csize(1)in(0)fDest(0) *Mar 1 00:11:19.967: ssaDisconnectDone
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
23-Jan-2006 |
初始版本 |