本檔案介紹透過思科整合邊界元件(CUBE)進行多點傳送保留音樂(MMoH)的運作、組態和疑難排解資訊。
雖然本文的重點是組播通話等待音樂(MoH),但相當一部分內容專門用於描述MoH的一般工作方式。此附加資訊有助於為初學者構建基礎知識,以便更好地識別和理解MoH特有的問題。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
每當呼叫者處於保持狀態時都會播放MoH。呼叫保持由使用者或網路在實施附加服務過程(如來電轉駁或轉移)時發起。前者稱為使用者啟動的保持、使用者保持或使用者保持。後者被表示為network-initiated hold、network-hold或network hold。
以下是MoH如何與分時多工(TDM)網關配合使用的概述。此圖說明呼叫保持方案涉及的元件和連線:
要使呼叫處於保持狀態,需要執行兩步流程。此圖說明了涉及的兩個步驟:
MoH源
將呼叫置於保持狀態的使用者稱為holder,處於保持狀態(並聽到MoH)的使用者稱為holdee。每一端決定播放音樂的某些方面。
音樂源由保持器確定。決定遵循以下層次結構:
有兩組音樂源,稱為user-hold和network-hold。每當提到音樂來源時,它可能表示使用者保持或網路保持音樂來源。
MoH端點
對於MoH,CUCM端的終端為MoH伺服器。瞭解這一點很重要,因為編解碼器確定(基於區域間編解碼器配置)基於:
一般建議是為MoH伺服器分配一個專用區域,以便該區域與所有其他區域之間的區域間編解碼器為g.711(或您要流出MoH的其他編解碼器)。
從CUCM的角度來看,呼叫中涉及的終端不是兩部電話,而是:
因此,CUCM將指向相關網關/CUBE的中繼視為終端,並檢視與其關聯的資源,以確定如何呈現音樂流。
MoH VoIP協定
MoH的定義是單向音訊對話。其訊號方式取決於使用的VoIP協定。例如,在SIP上,這通過direction屬性進行傳送。在H.323上,CUCM在H.245 Open Logical Channel Ack(OLCAck)消息中指定0000000作為網路地址,指定0作為MoH伺服器的埠(tsapIdentifier)。
在涉及CUBE的呼叫流中,CUCM不瞭解CUBE和Internet電話服務提供商(ITSP)之間的呼叫段。 CUCM僅涉及IP電話和SIP中繼(通向CUBE)之間的呼叫段。
MoH的信令流程類似於新會話的信令,範圍縮小。例如,在SIP中,對話在已存在的對話方塊上下文中進行。[1]
上述兩步流程的第一步是禁用媒體流。
此圖說明在SIP中如何禁用媒體流:
SIP實施對於屬性之一或兩者都不同(?a=?和?C=IN ?)用於指示媒體流已禁用。
此圖說明H.323中媒體流如何禁用:
上述兩步過程的第二步是連線MoH。一旦音訊流被禁用,CUCM會發出單向MoH會話訊號,該會話會導致holdee收聽MoH源。
在此過程中,CUCM在確定流傳輸引數之前,會考慮持有者的媒體功能以及與中繼關聯的媒體資源組清單(MRGL)。因此,此的訊號總是延遲提供(DO)[2](在SIP中)。
INVITE事務的實際數量有所不同。例如,CUCM僅通過一個DO INVITE事務將holdee連線到MoH。或者,DO INVITE用於收集保持者的媒體能力,並且隨後的EO INVITE用於實際將保持者連線到MoH。
此圖說明SIP的事務處理:
此圖說明H.323的事務處理:
此圖說明互通環境中的信令消息序列(例如,當CUBE的一端是SIP而另一端是H.323時):
媒體資源(MediaTermination Point(MTP)/轉碼器)在大多數情況下保護CUBE到IT服務提供商(ITSP)呼叫段。在通過CUBE的呼叫中使用媒體資源時,MoH的信令大多涉及CUCM和媒體資源之間的瘦客戶端控制協定(SCCP)消息。請注意,被置於保持狀態的媒體資源不是CUBE中繼。MTP/Transcoder收到偵聽MoH(假設SIP)的訊號後,CUCM會向CUBE傳送SIP UPDATE消息。這將更新branch引數,該引數標識新事務(MOH會話)。
恢復流程與暫掛流程相似,不同之處在於順序顛倒:
作業階段說明通訊協定(SDP)中引入X-cisco-media:umoh屬性,以簡化跨叢集主幹(ICT)上的MoH訊號傳送[3]。通過使用不同協定的終端之間的互操作,CUCM通常執行不直觀的笨拙和中間信令。為了避免猜測,並使信令上下文顯性,使用名為X-cisco-media的專有SDP屬性。
在CUCM版本8.5及更高版本中,可以使用此屬性設定為Unicast Music on Hold(UMoH)或MMoH來向MoH發出信號,這樣可以消除對假埠值向被保留方指示MoH方案的依賴。
使用CUBE時,基本進程保持不變;但是,必須考慮[5] CUBE在Cisco IOS之前不轉碼MoH。版本15.3T。這意味著您必須小心影響CUCM到CUBE分支中的編解碼器選擇的因素,以便不需要轉碼器。
一般情況下,有幾個因素會影響CUCM到CUBE分支中使用的編解碼器,但這些注意事項適用於MoH:
MoH節省了系統資源和頻寬。組播允許多個使用者使用相同的音訊源流,以提供通話等待音樂。在任何需要頻寬節約很重要的企業網路中,都需要MoH。
以下是CUBE通過Internet將MMoH傳遞給ITSP時的一些關切和問題:
這就是CUBE支援MMoH的方式:
如RFC 3264中所述:
如果會話描述包含組播媒體流,該媒體流僅列為接收(傳送),則意味著參與者(包括發起者和傳送者)只能接收(傳送)該媒體流。這與單播檢視不同,單播檢視中的方向性是指提供商和應答者之間的媒體流。除此之外,提供的組播流的語義與RFC 2327 [1]中的描述完全相同」
因此,當CUCM傳送帶有組播IP地址的re-INVITE時,它將方向屬性設定為recvonly;但是,由於CUBE將組播資料包轉換為單播資料包,它必須將direction屬性設定為sendonly(僅對ITSP的支路執行)。
此圖說明了邏輯:
在DO[6] re-INVITE傳送中,CUBE在SIP SDP C=IN欄位中傳送自己的IP地址。這是一個單播地址。
此映像提供端到端檢視:
藉助TDM網關,可通過直接從網關流式傳輸組播音樂實現額外的WAN頻寬節省。因此,如果MoH伺服器位於總部,而網關位於通過WAN連線的遠端分支機構,則傳送MoH的組播流量不必經過WAN(從總部到分支)並使用寶貴的WAN頻寬。
CUBE是中繼端裝置,不能流式傳輸來自本地快閃記憶體或通過任何模擬TDM介面的MMoH。仍然可以實現廣域網頻寬。通過使用遠端分支處的另一個支援語音的路由器作為MomH流的源來實現這一點。此路由器通過快閃記憶體傳輸MMoH。然後,可以向CUBE發出訊號以接收這些資料包、轉換這些資料包並作為單播資料包傳遞。
為了從即時饋送進行流式傳輸,必須配置另一台路由器,因為CUBE不是線路端裝置,如上一節所述。
本節介紹如何在支援CUBE、CUCM和L3的交換機上配置MMoH。
在CUBE上配置MMoH
使用以下命令在CUBE上配置MMoH:
ccm-manager music-on-hold
ip multicast-routing
在CUCM上配置MMoH
按照以下步驟在CUCM上配置MMoH:
在支援L3的交換機上配置MoH
使用以下命令在支援L3的交換器上設定MMoH:
ip routing
ip multicast-routing
MTP不支援組播音樂。holdee只能收到空洞消息。[7]
在Cisco IOS中,所有MMOH資料包均進行進程交換。這對小型部署來說沒問題,但是對於大型安裝而言,這會對CUBE的效能產生重大影響。
以下是使用MoH的限制清單:
使用本節內容,對MoH進行疑難排解。
以下是show和debug命令及其含義的清單:
R1#show ccm-manager music
Current active multicast sessions : 1
Multicast RTP port Packets Call Codec Incoming
Address number in/out id Interface
===================================================================
239.176.201.1 16384 956/956 237 g711ulaw Se0/1/0
Show call active voice compact以下是第一個命令的示例輸出:
Show voip rtp conn
Show sip calls
R1#show call active voice compact
<callID> A/O FAX T<sec> Codec type Peer Address IP R<ip>:<udp>
Total call-legs: 2
236 ANS T53 g711ulaw VOIP P1003 239.176.201.1:16384
237 ORG T53 g711ulaw VOIP P919789362814 200.200.200.2:17808
0 : 236 29262010ms.1 (*22:34:23.659 UTC Fri May 10 2013)
+4190 pid:1000 Answer 1003 connected
dur 00:01:38 tx:919/147040 rx:918/146880 dscp:0 media:0 audio tos:0xB8 video tos:0x0
IP 239.176.201.1:16384 SRTP: off rtt:0ms pl:0/0ms lost:0/0/0 delay:0/0/0ms
g711ulaw TextRelay: off Transcoded: No
media inactive detected:n media contrl rcvd:n/a timestamp:n/a
long duration call detected:n long duration call duration:n/a timestamp:n/a
0 : 237 29262010ms.2 (*22:34:23.659 UTC Fri May 10 2013)
+4190 pid:2000 Originate 919789362814 connected
dur 00:01:38 tx:8910/1425600 rx:919/147040 dscp:0 media:0 audio tos:0xB8 video tos:0x0
IP 200.200.200.2:17808 SRTP: off rtt:0ms pl:0/0ms lost:0/0/0 delay:0/0/0ms
g711ulaw TextRelay: off Transcoded: No
media inactive detected:n media contrl rcvd:n/a timestamp:n/a
long duration call detected:n long duration call duration:n/a timestamp:n/a
admin:show perf query class "Cisco MOH Device"
==>query class :
- Perf class (Cisco MOH Device) has instances and values:
MOH_2 -> MOHHighestActiveResources = 0
MOH_2 -> MOHMulticastResourceActive = 0
MOH_2 -> MOHMulticastResourceAvailable = 250000
MOH_2 -> MOHOutOfResources = 1
MOH_2 -> MOHTotalMulticastResources = 250000
MOH_2 -> MOHTotalUnicastResources = 250
MOH_2 -> MOHUnicastResourceActive = 0
MOH_2 -> MOHUnicastResourceAvailable = 250
症狀 — 來自公共交換電話網路(PSTN)的呼叫與雙向音訊建立良好關係。但是,當IP電話將PSTN呼叫者置於保持狀態然後繼續呼叫時,單向音訊結果為:ip電話從PSTN聽到音訊,但PSTN使用者無法聽到IP電話。
首先,確保在有關的SIP中繼上未禁用Require SDP Inactive Exchange for Mid-Call Media Change[5]。這使CUCM能夠在SDP中傳送帶有a=inactive的re-INVITE,以便中斷存在的媒體路徑。
當呼叫處於保持狀態時,如果為SIP中繼[8]啟用了Send-receive SDP in mid-call INVITE複選框,則CUCM不會使用非活動SDP傳送重新INVITE以中斷媒體路徑。僅當介質模式設定為非活動狀態後無法提供完整(send-recv)服務的裝置才會檢查該配置。
以下是說明可用覈取方塊的影象:
症狀 — 當呼叫者處於保持狀態而不是MoH時,只有提示音。
一般來說,這表明CUCM沒有分配MMoH。
症狀 — 當呼叫者處於保持狀態時,僅會聽到死氣沈沈的聲音。
確保:
症狀 — 呼叫保持和恢復的循環模式中呼叫失敗。
為支援繞流,您必須從IPIPGW傳送重新邀請或更新;但是目前不支援這種設定。因此,不支援DO-EO呼叫的繞流。如果行銷部門有此類呼叫流程要求,將考慮提供支援。思科漏洞SIP SIP SS DO-EO:呼叫保持和恢復的呼叫在繞流模式中失敗,標籤為增強功能以供將來考慮。
[1]這可能令人困惑 — 您如何才能在對話中進行不同的對話?在SIP中,對話方塊指的是3個組<To tag, From tag, and Call-ID>。在保持階段,此3簇保持相同。
[2]執行 — 延遲提供。
[3] 集群間中繼
[4]從CUCM 8.5開始。
[5]轉碼在Cisco IOS版本15.3T及更高版本中適用於MMoH。
[6]執行 — 延遲提供
[8] 以下是用於配置SIP中繼的SIP配置檔案上的設定。