本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
如今,電信行業正在從長期建立交換和傳輸技術向基於IP的傳輸和邊緣裝置過渡。IP通訊革命已開始對中小型企業產生巨大的商業影響。這些中小型企業意識到IP的使用非常高效,因為IP可以在一個網路上使用語音、影片和資料功能,而不是使用三個單獨的特殊用途網路。圖1顯示了面向IP中繼的IP電話部署趨勢。
圖1 - IP電話系統
IP PBX開始在語音技術業務中佔據主導地位,而TDM PBX不再是兩個語音網路之間的交叉的主要來源。在過去的幾年中,TDM PBX的使用率有所下降,IP PBX的使用正成為對IP LAN和WAN的良好投資。為了連線到PSTN,PBX需要某種中繼線,例如TDM(T1/E1)或模擬線路。IP PBX可以使用這些型別的中繼訪問PSTN,但需要將IP語音流量轉換為傳統PSTN的媒體網關,這有時會導致從IP域連續轉換到TDM域。這些連續的轉換增加了網關的維護成本、增加了延遲並降低語音品質。
為了避免這些問題,IP PBX使用協定進行會話發起和管理,其中最突出的是會話發起協定(SIP)。 本文提供有關SIP中繼和Cisco CallManager Express(CME)的說明,以及使用SIP中繼為入站和出站呼叫實施基於IP的電話系統的配置。
嘗試此組態之前,請確保符合以下要求:
已安裝CME 4.1版
路由器上存在Cisco IOS®軟體版本12.4(11)XJ或IOS 12.4(6th)T的映像
隨CUE版本2.3.4安裝NM-CUE模組
本文中的資訊係根據以下軟體和硬體版本:
Cisco IOS軟體版本12.4(11)XJ上的Cisco 3825路由器
Cisco IOS軟體版本12.4上的Cisco Catalyst 3550交換器
Cisco IP 7960電話
Cisco CallManager Express 4.1
Cisco Unity Express 2.3.4
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
SIP是一種基於ASCII的應用層控制協定,可用於建立、維護和終止兩個或多個端點之間的呼叫。SIP迅速成為IP通訊中的標準通訊協定,因為它是多媒體通訊協定,除了語音之外,可用於視訊作業階段和即時訊息。此外,SIP還可以處理會議會話和廣播,以及一對一會話。SIP在轉變和發展人們通訊方式方面具有巨大潛力。因此,思科一直並將繼續發揮重要的作用,率先開發使SIP及其應用成為IP通訊標準的新技術。
SIP中繼類似於電話線路,不同之處在於SIP中繼使用IP網路而不是PSTN。此外,SIP中繼允許將語音和資料融合到常見的全IP連線上。為了使用SIP中繼訪問IP網路,必須在服務提供商以及客戶端進行配置。客戶需要設定和配置CME,CME是能夠充分解釋SIP訊號並成功傳遞流量的PBX。服務提供商需要配置SIP代理伺服器。但是,SIP中繼比常規PSTN中繼更複雜。原因在於,客戶面臨以下挑戰:處理裝置供應商對SIP的不同解釋和實施;提供安全性;管理服務品質(QoS);啟用網路地址轉換(NAT)和防火牆穿越;以及確保運營商級的可靠性和服務的連續性。
以下各點說明了為什麼SIP中繼在中小型企業中變得如此明顯:
快速輕鬆的部署
提高網路容量的利用率
整合和降低電話成本的潛力
經濟型直接撥入(DID)
業務連續性
Cisco CME是一種直接整合到Cisco IOS軟體中的IP電話解決方案。CME允許中小型企業在一個平台上部署語音、資料和影片。IP電話網路設定簡單,因為CME在單個路由器上運行,該路由器為企業提供PBX功能。因此,通過使用CME,中小型企業可以使用單個融合解決方案以最低的成本提供IP電話和資料路由。
CME 3.1發佈後,CME開始支援SIP中繼。但是,當SIP電話呼叫SCCP電話或嘗試訪問語音郵件時,存在一些問題。問題在於連線到CME的SCCP電話需要使用帶外DTMF中繼在VoIP連線中傳輸DTMF(數字),而SIP電話使用帶內傳輸。兩台裝置之間存在DTMF失真。CME 3.2發佈後,DTMF中繼新增了支援。SCCP中的DTMF數字可以通過RFC2833或Notify方法轉換為帶內DTMF中繼機制。
CME目前支援以下用於SIP到SIP呼叫的DTMF網際網路清單:
自12.4(4)T起通知<—>
RFC2833 <—>自12.4(4)T起通知
自12.4(4)T起通知<—> RFC2833
自12.4(11)T起頻內G711 <—>[需要轉碼器]
CME目前支援此DTMF網際網路,用於SIP到SCCP呼叫:
SCCP帶外 — 12.4(4)T以後的SIP通知/RFC2833
設定SIP中繼時要考慮的另一個重要方面是支援的編解碼器。編解碼器表示語音訊率中訊號的脈衝編碼調制取樣。SIP中繼支援以下編解碼器:G.711和G.729。但是,對於Cisco Unity Express(CUE)和保留音樂(MOH)等不同功能,僅支援編解碼器G.711。這意味著使用使用編解碼器G.729的SIP中繼的語音呼叫無法訪問CUE,除非存在允許語音流的壓縮和解壓縮與CUE功能匹配的轉碼器。MOH也可以使用編解碼器G.729來節省頻寬,但編解碼器無法提供足夠品質的MOH流。這是因為G.729已經針對語音進行了最佳化。因此,必須強制MOH使用G.711。
當呼叫在SIP中繼上進入並被轉發(CFNA/CFB/CFA)時,預設行為是CME將302「臨時移動」SIP消息傳送到服務提供商(SP)代理。可能需要轉換302消息中聯絡人報頭的使用者部分,以反映SP代理可以路由到的DID。應修改302消息中聯絡報頭的主機部分,以反映記錄地址(AOR),使用sip-ua下的host-registrar CLI和進入CUE的VoIP撥號對等體下的b2bua CLI。
某些SIP代理可能不支援此操作。如果均為0,則需要新增以下內容:
Router(config)#voice service voip
Router(conf-voi-serv)#no supplementary-service sip moved-temporarily
圖2顯示了禁用302消息時CME系統的行為。
圖2 — 禁用了302消息的來電轉駁忙(CFB)流程
此方法將允許在CME上對呼叫前轉的302 SIP消息進行迴轉傳輸。如果某些分機沒有DID對映,則也需要執行上述操作,因為SP代理可能不知道如何路由此類呼叫。如果禁用3xx響應,calling-number initiator可用於保留原始呼叫方的呼叫方ID。
當呼叫通過SIP中繼進入SCCP電話或CUE自動總機(AA)並轉接時,CME預設會向SP代理傳送SIP REFER消息。大多數SP代理伺服器不支援REFER方法。需要進行配置以強制CME髮夾呼叫:
Router(config)#voice service voip
Router(conf-voi-serv)#no supplementary-service sip refer
圖3顯示了禁用REFER方法的CME系統的行為。
圖3 — 禁用REFER後傳輸
如果SIP代理支援REFER,則必須將Refer-To和Referred-By的使用者部分轉換為SP代理能夠理解的DID。「參考方」和「參考方」欄位的主機部分必須是SP代理也可以路由到的IP地址或DNS(預設情況下在CME 4.1上會出現此情況)。
如果SCCP電話將來自PSTN的呼叫置於保留狀態,則CME會在本地更改介質。SIP中繼上不傳送任何SIP消息。將根據CME配置通過SIP中繼向使用者播放保留音樂。
本節提供用於設定本文件中所述功能的資訊。
本檔案會使用以下網路設定:
這些配置元素概述了使用SIP中繼配置CME所需的步驟:
基礎架構元素:介面、TFTP和DHCP服務、NTP等
Telephony-service:在CME平台上啟用IOS「PBX」呼叫控制,包括電話管理元素
Ephones和Ephones-dns:定義IP電話及其電話號碼
撥號計畫:撥號對等體、分機、語音轉換規則
IOS SIP配置:啟用SIP、使用SIP代理進行電話註冊、通過中繼進行呼叫路由等
語音郵件支援:Cisco Unity Express
交換機Catalyst配置:IP地址、介面等
以下是使用SIP中繼部署CME系統所需的完整配置:
路由器 — CME配置 |
---|
! AUSNML-3825-01#show run Building configuration... Current configuration : 8634 bytes ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname AUSNML-3825-01 ! boot-start-marker boot-end-marker ! enable secret 5 $1$vBU1$MCMG1rXM5ejME8Wap6W0H1 ! no aaa new-model clock timezone central -8 clock summer-time central recurring ip cef ! !--- DHCP Configuration --- ip dhcp pool Voice network 172.22.100.0 255.255.255.0 option 150 ip 172.22.1.107 default-router 172.22.100.1 ! ip dhcp pool Data network 172.22.101.0 255.255.255.0 option 150 ip 172.22.1.107 default-router 172.22.101.1 ! ! ip domain name cisco.com ip name-server 205.152.0.20 multilink bundle-name authenticated ! voice-card 0 no dspfarm ! ! ! ! !--- Voice Class and Service VoIP Configuration --- voice service voip allow-connections sip to sip no supplementary-service sip moved-temporarily !---Disable 302 sending no supplementary-service sip refer !---Disable REFER sending sip registrar server expires max 3600 min 3600 localhost dns:domain.test.com ! ! voice class codec 1 codec preference 1 g711ulaw ! ! ! ! ! ! ! ! ! ! ! !--- Voice Translation Rules --- voice translation-rule 1 rule 1 /5123781291/ /601/ !--- An inbound rule for AA pilot "601 rule 2 /5123781290/ /600/ !--- An inbound rule for the voicemail pilot "600" ! voice translation-rule 2 rule 1 /^911$/ /911/ !--- An outbound rule to allow "911" rule 2 /^9\(.*\)/ /\1/ !--- An outbound rule to strip "9" from PSTN calls ! voice translation-rule 3 rule 1 /^.*/ /5123781291/ !--- An outbound rule to change calling-number CLID to a |
路由器 — CUE配置 |
---|
se-172-22-1-253#show run Generating configuration: clock timezone America/Chicago hostname se-172-22-1-253 ip domain-name localdomain groupname Administrators create groupname Broadcasters create !--- Users --- username Enrique create username John create username Enrique phonenumberE164 "5123781202" username John phonenumberE164 "5123781201" username Enrique phonenumber "202" username John phonenumber "201" !--- AutoAttendant --- ccn application autoattendant description "**AutoAttendant**" enabled maxsessions 4 script "aa.aef" parameter "busOpenPrompt" "AABusinessOpen.wav" parameter "operExtn" "601" parameter "welcomePrompt" "AAWelcome.wav" parameter "disconnectAfterMenu" "false" parameter "busClosedPrompt" "AABusinessClosed.wav" parameter "allowExternalTransfers" "false" parameter "holidayPrompt" "AAHolidayPrompt.wav" parameter "businessSchedule" "systemschedule" parameter "MaxRetry" "3" end application !--- MWI --- ccn application ciscomwiapplication description "ciscomwiapplication" enabled maxsessions 8 script "setmwi.aef" parameter "CallControlGroupID" "0" parameter "strMWI_OFF_DN" "8001" parameter "strMWI_ON_DN" "8000" end application !--- Voicemail --- ccn application voicemail description "**Voicemail**" enabled maxsessions 4 script "voicebrowser.aef" parameter "uri" "http://localhost/voicemail/vxmlscripts/login.vxml" parameter "logoutUri" "http://localhost/voicemail/vxmlscripts/mbxLogout.jsp" end application !--- SIP --- ccn subsystem sip gateway address "172.22.100.1" !--- Must match the "ip source-address" in telephony-service dtmf-relay sip-notify mwi sip outcall !--- Subscribe / Notify and Unsolicited Notify have not been tested transfer-mode blind bye-also !--- Testing with REFER method on CUE has caused certain call flows to break end subsystem !--- Trigger Phones --- ccn trigger sip phonenumber 600 application "voicemail" enabled maxsessions 4 end trigger ccn trigger sip phonenumber 601 application "autoattendant" enabled maxsessions 4 end trigger service phone-authentication end phone-authentication service voiceview enable end voiceview !--- Voicemail Mailboxes --- voicemail default mailboxsize 21120 voicemail broadcast recording time 300 voicemail mailbox owner "Enrique" size 300 description "**Enrique_Mailbox**" expiration time 10 messagesize 120 end mailbox voicemail mailbox owner "John" size 300 description "**John'sMailbox**" expiration time 10 messagesize 120 end mailbox end |
交換器組態 |
---|
!--- Interface Connected to CME/CUE Router --- interface FastEthernet0/2 description Trunk to 3825 switchport trunk encapsulation dot1q switchport mode trunk no ip address duplex full speed 100 !--- Interfaces Connected to the IP Phones --- interface FastEthernet0/7 switchport trunk encapsulation dot1q switchport trunk native vlan 20 !--- Data Traffic --- switchport mode trunk switchport voice vlan 100 !--- Voice Traffic --- no ip address spanning-tree portfast interface FastEthernet0/8 switchport trunk encapsulation dot1q switchport trunk native vlan 20 switchport mode trunk switchport voice vlan 100 no ip address spanning-tree portfast !--- IP Address --- interface Vlan1 ip address 172.22.1.194 255.255.255.0 ! ip classless ip route 0.0.0.0 0.0.0.0 172.22.1.1 ip http server |
目前沒有適用於此組態的驗證程序。
本節提供的資訊可用於對組態進行疑難排解。
Cisco CLI Analyzer(僅供已註冊客戶使用)支援某些 show 指令。使用 Cisco CLI Analyzer 檢視 show 指令輸出的分析。
附註:使用 debug 指令之前,請先參閱有關 Debug 指令的重要資訊。
對CME上的SIP中繼進行故障排除涉及與IOS SIP GW故障排除和CME故障排除相同的命令。使用以下命令以檢查您的DN是否已註冊:
show sip-ua register status - 使用此命令顯示SIP網關已在外部主SIP註冊器註冊的E.164號碼的狀態。
debug ccsip message - 啟用所有SIP SPI消息跟蹤,例如SIP使用者代理客戶端(UAC)和接入伺服器之間交換的跟蹤。
用於通過SIP中繼進行呼叫故障排除的命令與用於常規SIP GW和CME故障排除的命令基本相同。
Show命令:
show ephone registered - 驗證ephone註冊。
show voip rtp connection - 顯示有關RTP命名事件資料包的資訊,例如本地和遠端端點的呼叫者ID號、IP地址和埠。
show sip-ua call - 顯示有關SIP呼叫的活動UAC和使用者代理伺服器(UAS)資訊。
show call active voice brief - 顯示進行中的語音呼叫或傳真傳輸的活動呼叫資訊。
Debug指令:
debug ccsip message - 啟用所有SIP SPI消息跟蹤,例如SIP UAC與接入伺服器之間交換的跟蹤。
debug voip ccapi inout - 通過呼叫控制API跟蹤執行路徑。
debug voice translation - 檢查轉換規則的功能。
debug ephone detail mac-address <mac of phone> - 為Cisco IP電話設定詳細調試。
debug voip rtp session named-events - 為即時傳輸協定(RTP)命名事件資料包啟用調試。
debug sccp message - 顯示SCCP消息的順序。