المحتويات

المقدمة

الخلفية

سيناريو تدفق المكالمات العامة

سكربت تطبيع SIP

التحقق من رسائل إرسال إشارات SIP

دعوة SIP الواردة من MotoPBX

تم إرسال الدعوة ذات الطابع العادي إلى CUCM بعد إزالة المعلمة "rport"

200 موافق الاستجابة الصادرة إلى MotoPBX قبل التطبيع

إستجابة OK ل 200 NORMAL Outbound

المقدمة

يصف هذا المستند مشاكل قابلية التشغيل البيني فيما يتعلق بتكامل بروتوكول بدء جلسة عمل (SIP) لأنظمة Cisco Unified Communications Manager (CUCM) و Motorola PBX (MotoPBX). أنظمة MotoPBX متوافقة مع SIP RFC 3581، بينما CUCM متوافق مع SIP RFC 3261. نظرا لمشكلة التوافق مع RFC هذه، هناك مشكلات في إعداد مكالمات SIP بين كل من خوادم معالجة المكالمات، أي CUCM و Motorola PBX.

الخلفية

تحتوي Motorola PBX على معلمة "rport" في حقل الرأس "Via" الخاص بدعوة SIP التي تسمح للعميل بطلب أن يرسل الخادم الاستجابة مرة أخرى إلى عنوان IP المصدر والمنفذ الذي تم إنشاء الطلب منه والمضمن في RFC 3581. المعلمة "rport" مماثلة للمعلمة "received" باستثناء أن "rport" يحتوي على رقم منفذ، وليس عنوان IP. معلمة التقرير هذه ليست جزءا من RFC 3261 وبالتالي لا يحتوي CUCM على المعلمة في حقل رأس إرسال إشارات SIP "Via".

سيناريو تدفق المكالمات العامة

في السيناريو المذكور أعلاه، هناك مشاكل تتعلق بإعداد مكالمات SIP الواردة بين CUCM ونظام MotoPBX مع نقطة نهاية سماعة الهاتف Wireless Talki. عندما يستلم CUCM دعوة SIP من MotoPBX مع المعلمة "rport"، فإنه يرسل إستجابة 200 OK دون المعلمة "rport" في حقل الرأس "Via". كما تتم إضافة بضعة حقول أخرى مثل حقل الرأس "Remote-Party-ID"، وحقل الرأس "P-Confirmed-Identity"، ومعلومات النطاق الترددي في نص رسالة بروتوكول وصف جلسة العمل (SDP) التي لا يقرها MotoPBX. يفشل إعداد المكالمة بسبب مشكلة في التوافق مع RFC. لذلك، للحد من مشكلة إعداد المكالمة، يوجد برنامج نصي لتطبيع SIP مصمم لإزالة المعلمة "rport" من "دعوة SIP" الواردة وإلحاق المعلمة "rport" في إستجابة 200 OK الصادرة لنفس "دعوة SIP" التي تم إرسالها بواسطة MotoPBX. يزيل البرنامج النصي أيضا حقول الرأس الأخرى كما ذكر سابقا.

سكربت تطبيع 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

تم إرسال الدعوة ذات الطابع العادي إلى CUCM بعد إزالة المعلمة "rport"

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 موافق الاستجابة الصادرة إلى 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"

Remote-Party-ID: "Kosal-LT"

;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

إستجابة OK ل 200 NORMAL Outbound

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 دون أي مشاكل.