本文档介绍通过思科统一边界元素(CUBE)的组播通话等待音乐(MMoH)的操作、配置和故障排除信息。
虽然本文档的重点是组播通话等待音乐(MoH),但主要部分致力于描述MoH的一般工作方式。此附加信息有助于为初学者建立基础知识,以便更好地认识和理解特定于MoH的问题。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
每当呼叫者被置于保持状态时,都会播放MoH。呼叫保持由用户或网络在实施补充服务流程时发起,例如呼叫前转或转接。前者称为用户发起的暂候、用户暂候或用户。后者被改为网络发起的保持、网络保持或网络。
下面回顾了MoH如何与时分复用(TDM)网关配合工作。此图显示了呼叫保持方案涉及的组件和连接:
要保留呼叫,需要分两步进行。此图说明了涉及的两个步骤:
MoH源
保持呼叫的用户称为保留者,被保持呼叫(并听到MoH)的用户称为保留者。每一方决定播放的音乐的某些方面。
音乐源由保持器确定。确定遵循以下层级:
有两组音乐源,称为用户保持和网络保持。无论何时引用音乐源,都可能意味着用户保留或网络保留音乐源。
MoH终端
对于MoH,CUCM端的终端是MoH服务器。这一点非常重要,因为编解码器确定(基于区域间编解码器配置)基于:
一般建议为MoH服务器分配一个专用区域,以便该区域和所有其他区域之间的区域间编解码器为g.711(或要流出以用于MoH的其他编解码器)。
从CUCM的角度来看,呼叫所涉及的终端不是两部电话,而是:
因此,CUCM将指向相关网关/CUBE的中继视为终端,并查看与其关联的资源,以确定如何呈现音乐流。
MoH VoIP协议
MoH,按定义,是单向音频对话。信号的发送方式取决于使用的VoIP协议。例如,在SIP上,这通过方向属性传达。在H.323上,CUCM在H.245开放逻辑通道确认(OLCAck)消息中将000000000指定为网络地址,将0指定为MoH服务器的端口(tsapIdentifier)。
在涉及CUBE的呼叫流中,CUCM不了解CUBE和互联网电话服务提供商(ITSP)之间的呼叫段。 CUCM仅关注IP电话和SIP中继(通向CUBE)之间的呼叫段。
MoH信令过程类似于新会话信令过程,范围缩小。例如,在SIP中,会话在已存在的对话的上下文中进行。[1]
前面提到的两步流程的第一步是禁用媒体流。
下图说明媒体流如何在SIP中禁用:
SIP实施取决于一个属性还是两个属性(?a=?)和?C=IN ?),以指示媒体流已禁用。
下图说明了H.323中如何禁用媒体流:
前面提到的两步过程的第二步是连接到MoH。禁用音频流后,CUCM向单向MoH会话发出信号,该会话导致被保留者收听MoH源。
在此过程中,CUCM在确定流传输参数之前,会考虑被保留者的媒体功能以及与中继关联的媒体资源组列表(MRGL)。因此,此的信令始终是延迟提供(DO)[2](在SIP中)。
INVITE事务的实际数量不同。例如,CUCM仅通过一个DO INVITE事务将被保留者连接到MoH。或者,使用DO INVITE来收集持有者的媒体功能,并且使用后续的EO INVITE来将持有者实际连接到MoH。
下图说明SIP的事务:
下图说明H.323的事务:
此图显示了互通环境中的信令消息序列(例如,当CUBE的一端是SIP而另一端是H.323时):
媒体资源(媒体终端点(MTP)/转码器)可屏蔽CUBE到IT服务提供商(ITSP)呼叫段的大部分。当通过CUBE在呼叫中使用媒体资源时,MoH的信令大多涉及CUCM和媒体资源之间的瘦客户端控制协议(SCCP)消息。请注意,处于保持状态的是媒体资源,而不是CUBE中继。在MTP/转码器被发出信号侦听MoH(假设为SIP)后,CUCM将SIP UPDATE消息发送到CUBE。这将更新branch参数,该参数用于标识新事务(MOH会话)。
恢复过程与暂候过程类似,但订单已撤消:
为简化集群间中继(ICT)[3],引入了会话描述协议(SDP)中的X-cisco-media:umoh属性[3]。CUCM使用不同协议的终端之间实现互操作,通常执行不直观的笨拙中间信令。为避免猜测,并使信令上下文显式化,使用名为X-cisco-media的专有SDP属性。
使用CUCM 8.5及更高版本,可以通过将此属性设置为单播通话等待音乐(UMoH)或MMoH来发出MoH信号,从而消除对伪端口值的依赖,以向保持方指示MoH方案。
使用CUBE时,基本流程保持不变;但是,必须考虑到,[5] CUBE在Cisco IOS之前不会转码MoH?版本15.3T。这意味着您必须注意影响CUCM到CUBE支路中编解码器选择的因素,以免需要转码器。
一般来说,影响CUCM到CUBE支路中使用的编解码器的因素有多种,但MoH适用以下注意事项:
MoH可节省系统资源和带宽。组播允许多个用户使用相同的音频源流,以提供通话等待音乐。在带宽节省非常重要的任何企业网络中,MoH都是理想选择。
以下是CUBE通过Internet将MoH传递给ITSP时的一些问题和问题:
CUBE支持MoH的方式如下:
如RFC 3264中所述:
“如果会话描述包含的组播媒体流仅列为接收(发送),则意味着参与者(包括提供者和应答者)只能接收(发送)该流。这与单播视图不同,单播视图的方向性是指提供商和应答者之间的介质流。除此说明外,提供的组播流的语义与RFC 2327 [1]中描述的完全相同。”
因此,当CUCM发送带组播IP地址的re-INVITE时,将方向属性设置为recvonly;但是,由于CUBE将组播数据包转换为单播数据包,因此它必须将ITSP的支路上的方向属性设置为sendonly。
下图说明了逻辑:
在为将ITSP呼叫方连接到MoH源而发送的DO[6] re-INVITE中,CUBE在SIP SDP C=IN字段中发送自己的IP地址。这是单播地址。
此图像提供端到端视图:
通过TDM网关,可通过从网关直接流传输组播音乐来节省额外的广域网带宽。因此,如果MoH服务器位于总部,而网关位于通过WAN连接的远程分支机构,则传送MoH的组播流量不必穿过WAN(从总部到分支机构)并使用宝贵的广域网带宽。
CUBE是中继端设备,不能流传输源自本地闪存或通过任何模拟TDM接口的MoH。WAN带宽仍有可能实现。这可以通过在远程分支机构使用另一个支持语音的路由器作为MMoH流的源来实现。此路由器从闪存流MMoH。然后,可以向CUBE发出信号,以接收这些数据包,转换它们,并将它们作为单播数据包传送。
为了从实时源进行流传输,必须配置另一台路由器,因为CUBE不是线路端设备,如前一节所述。
本节介绍如何在支持CUBE、CUCM和L3的交换机上配置MoH。
在CUBE上配置MoH
使用以下命令在CUBE上配置MoH:
ccm-manager music-on-hold
ip multicast-routing
在CUCM上配置MoH
要在CUCM上配置MMoH,请执行以下步骤:
在支持L3的交换机上配置MoH
在支持L3的交换机上,使用以下命令配置MoH:
ip routing
ip multicast-routing
MTP不支持组播音乐。被持人只接受死亡。[7]
所有MMOH数据包在Cisco IOS中进行进程交换。这对于小型部署来说很合适,但对大型安装的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电话。
首先,确保在问题[5]的SIP中继上未禁用要求SDP非活动交换进行呼叫中媒体更改。这是CUCM在SDP中发送带a=inactive的重新邀请的原因,以中断现有的介质路径。
当呼叫处于保持状态时,如果为SIP中继启用Send-receive SDP in mid-call INVITE复选框,则CUCM不会发送具有非活动SDP的re-INVITE以中断媒体路径[8]。该配置仅在介质模式设置为非活动状态后,对无法提供完整(send-recv)提供的设备进行检查。
以下图片说明了可用的复选框:
症状 — 呼叫方被置于保持状态而非MoH时,只有提示音。
通常,这表明CUCM未分配MMoH。
症状 — 当呼叫者被置于保持状态时,仅听到死气。
请确保:
症状 — 呼叫在呼叫保持和恢复的绕流模式下失败。
为了支持绕流,您必须从IPIPGW发送重新邀请或更新;但是,目前不支持此功能。因此,不支持DO-EO呼叫的流动。如果市场营销中存在此类呼叫流要求,将考虑支持。思科漏洞SIP SIP SS DO-EO:呼叫在呼叫保持和恢复的“绕流”模式下失败,标记为增强功能,以备将来考虑。
[1]这可能令人困惑 — 您如何在对话中进行不同的对话?在SIP中,对话框是指3-tupe <To tag, From tag, and Call-ID>。此3管在保持阶段保持不变。
[2] DO — 延迟优惠。
[3] 集群间中继线
[4]从CUCM 8.5开始。
[5]在Cisco IOS版本15.3T及更高版本中,代码转换适用于MMoH。
[6] DO — 延迟提供
[8] 这些是用于配置SIP中继的SIP配置文件上的设置。