语音和统一通信 : Cisco Unified Communications Manager (CallManager)

MotoPBX和CUCM集成

2016 年 10 月 27 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈

简介

本文关于Cisco Unified Communications Manager (CUCM)和Motorola PBX描述互操作性问题(MotoPBX)的会话初始化协议(SIP)集成系统。MotoPBX系统是兼容的对SIP RFC 3581,而CUCM是兼容的对SIP RFC 3261。由于此RFC标准问题有与SIP呼叫建立的问题在两个呼叫处理服务器之间,即, CUCM和Motorola PBX。

贡献用Depinder Deol, Cisco TAC工程师。

背景

Motorola PBX安排一个“rport”参数在“通过”允许客户端请求服务器发送答复回到源IP地址和端口请求产生在RFC 3581包括SIP的报头字段邀请。“rport”参数是类似于“已接收”参数,除了“rport”包含端口编号,不是IP地址。此报告参数不作为RFC 3261的部分并且CUCM不包含在SIP信令的参数“通过”报头字段。

一般呼叫流方案

在上述方案中,有与流入SIP呼叫建立的问题在CUCM和MotoPBX系统之间有携带无线电话话筒的终端的。当CUCM接收时SIP从与“rport”参数的MotoPBX邀请,它派出一200 OK答复,不用在的“rport”参数“通过”报头字段。并且,一些个其他字段被添加例如“远程呼叫方id”, “P主张标识”报头字段和带宽信息在MotoPBX不确认的会话描述协议(SDP)消息主题中。呼叫建立发生故障由于RFC标准问题。因此,为了减轻呼叫建立问题,有从流入SIP删除“rport”参数邀请设计的SIP标准化脚本并且添附“rport”参数在对同样SIP MotoPBX发送的Invite的出站200 OK答复。脚本也删除其他报头字段如以前被提及。

SIP标准化脚本

M={}
function M.inbound_INVITE(msg)                     /*Incoming SIP Invite*/
local invite = msg:getHeader("Via")
local rport=string.gsub(invite,"rport","")         /*Remove rport parameter*/
msg:modifyHeader("Via", rport)
end
function M.outbound_200_INVITE(msg)                 /*Outgoing 200 OK response*/
msg:addHeaderValueParameter("Via","rport","5060")   /*Populating rport with 5060*/
msg:removeHeader("P-Asserted-Identity")             /*Removing headers
and bandwidth information*/
msg:removeHeader("Remote-Party-ID")
local sdp = msg:getSdp()
local sdpremove=string.gsub(sdp,"b=TIAS:%d%d%d%d%d","")
local sdp=string.gsub(sdpremove,"b=AS:%d%d","")
msg.setSdp(sdp)
end
return M

验证SIP信令消息

入站SIP从MotoPBX邀请

INVITE sip:8888@10.10.21.14;user=phone SIP/2.0

Via:SIP/2.0/UDP192.168.5.10:5060;
branch=z9hG4bK3ad3379d104e957767cf471e77bf2738;rport

在“rport”参数删除后,正常化请邀请发送对CUCM

INVITE sip:8888@10.10.21.14;user=phone SIP/2.0

Via: SIP/2.0/UDP 192.168.5.10:5060;
branch=z9hG4bK3ad3379d104e957767cf471e77bf2738;

200 OK答复出站对MotoPBX在标准化前

Via: SIP/2.0/UDP 192.168.5.10:5060;
branch=z9hG4bK3ad3379d104e957767cf471e77bf2738;

From: <sip:2202@192.168.5.10;user=phone>;
tag=60817f1777729d1062239475498676f4

To: <sip:8888@10.10.21.14;user=phone>;
tag=107~f59e0381-0cdb-4ad3-b769-99c8c3c177c4-20600964

Date: Thu, 27 Feb 2014 03:22:02 GMT

Call-ID: 3f42d82e786bf9f332567ca566f3c1dd

CSeq: 1 INVITE

Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY

Allow-Events: presence, kpml

Supported: replaces

Supported: X-cisco-srtp-fallback

Supported: Geolocation

Session-Expires: 5000;refresher=uas

Require: timer

P-Asserted-Identity: "Kosal-LT" <sip:8888@10.10.21.14>

Remote-Party-ID: "Kosal-LT" <sip:8888@10.10.21.14>;party=called;screen=yes;privacy=off

Contact: <sip:8888@10.10.21.14:5060>

Content-Type: application/sdp

Content-Length: 232

v=0

o=CiscoSystemsCCM-SIP 107 1 IN IP4 10.10.21.14

s=SIP Call

c=IN IP4 10.10.21.14

b=TIAS:64000

b=AS:64

正常化的出站200 OK答复

SIP/2.0 200 OK

Via: SIP/2.0/UDP 192.168.5.10:5060;
branch=z9hG4bK3ad3379d104e957767cf471e77bf2738;;rport=5060

From: <sip:2202@192.168.5.10;user=phone>;tag=60817f1777729d1062239475498676f4

To: <sip:8888@10.10.21.14;user=phone>;
tag=107~f59e0381-0cdb-4ad3-b769-99c8c3c177c4-20600964

Date: Thu, 27 Feb 2014 03:22:02 GMT

Call-ID: 3f42d82e786bf9f332567ca566f3c1dd

CSeq: 1 INVITE

Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY

Allow-Events: presence, kpml

Supported: replaces

Supported: X-cisco-srtp-fallback

Supported: Geolocation

Session-Expires: 5000;refresher=uas

Require: timer

Contact: <sip:8888@10.10.21.14:5060>

Content-Length: 213

Content-Type: application/sdp

v=0

o=CiscoSystemsCCM-SIP 107 1 IN IP4 10.10.21.14

s=SIP Call

c=IN IP4 10.10.21.14

t=0 0

前一个示例陈述了SIP标准化,当应用在SIP中继的SIP配置文件下,解决互操作性问题,并且SIP呼叫建立发生,不用其中任一问题。



Document ID: 118765