NameCheap-Hosting

استفد من الخصومات على خدمات الاستضافة بمختلف انواعها

VPS hosting: up to 30% off!

‏إظهار الرسائل ذات التسميات نقل الصوت عبر الانترنت (VoIP). إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات نقل الصوت عبر الانترنت (VoIP). إظهار كافة الرسائل

الأحد، 6 ديسمبر 2020

استخدام Translation Rule

 استخدام Translation Rule

هذا الموضوع سيتناول بند من الأعمال المطلوبة في أحد المشاريع التي نفذتها في مجال Collaboration (VoIP)، كان الغاية من المشروع استبدال أنظمة التلفونات التقليدية بأنظمة حديثة تعتمد تقنيات TCP/IP. المشروع يشمل عدة أنظمة Collaboration منها:

·        Cisco router voice gateway with PRI interface

·        Cisco CUCM

العمل المطلوب لهذا البند هو تحويل المكالمات الواردة من قبل  مجموعة من الأرقام الداخلية 210-219 والصادرة باتجاه  شبكة التلفونات الارضية عبر PRI interface ليظهر الرقم الطالب للمكالمة الرقم (654abcde)  ( رقم غير حقيقي) وهو أحد الارقام ضمن نطاق الأرقام المخصصة لهذا PRI.




فكانت الاعدادت المناسبة لهذا البند، على النحو التالي:

1- انشاء translation rule  على voice gateway

voice translation-rule 18

 rule 1 /^21.$/ /654abcde      

2- انشاء dial-peer لتوجيه المكالمة مع تضمين translation rule 18

dial-peer voice 8 pots

 translate-outgoing calling 18

 destination-pattern 0[23456].......$

 port 0/0/0:15

 forward-digits all

 

 

 

 

الأحد، 13 مايو 2018

خاصية Mobile Voice Access (MVA)

خاصية Mobile Voice Access (MVA)
من المزايا المهمة في تقنيات VoIP والتي تتيح امكانية اجراء مكالمة من الهاتف الشخصي (متنقل او ثابت) مع طرف آخر بحيث تظهر المكالمة وكأنها قادمة من أرقام الهواتف الخاصة بالشركة. حيث يقوم الشخص بالاتصال برقم معين لشركته ثم يقوم بطلب رقم خارجي وكأنه يقوم بتلك العملية من خلال هاتف مكتبه في الشركة .
تحتاج الشركات للتواصل فيما بينها في كثير من الاحيان لتنظيم آليات الاتصال، فمثلا شركة ما تتعامل مع شركة أخرى للدعم الفني، حيث يجب أن يتم التبليغ عن الاعطال من قبل تلك الشركة مستخدمة رقم هاتف محدد من ارقام الهاتف التي لديها ومن خلال شخص محدد (ضابط ارتباط).
 
هذه الامكانية تتيح لضابط الارتباط الاتصال بشركة الدعم الفني عبر هاتفه المتنقل بحيث يظهر رقم الشركة -المتفق عليه مسبقا- كرقم المتصل بدلا من رقم هاتفه المتنقل، بحيث يقوم ضابط الارتباط بالاتصال بمقسم الشركة التي يعمل بها ثم من خلال خدمة الرد الآلي، ثم يقوم بادخال رقم سري للمصادقة authentication  ثم يقوم بطلب شركة الدعم الفني وكأنه يقوم بالاتصال من داخل شركته مستخدما تلك الامكانية MVA.
تتم عملية المصادقة اعتمادا على رقم هاتف ضابط الارتباط وكلمة السر، بحيث يتم اعداد المقسم مسبقا بهذه الاعدادات لضمان توفر مستوى عالي من الأمن والحماية لهذه الخدمة.


الأحد، 24 ديسمبر 2017

شرح Regular Expression (Regex)


 Regex

ما هو Regular Expression (Regex)

من المواضيع المهمة في مجال الشبكات المختلفة security, VoIP, SDN وغيرها بالاضافة لأهميتها في مجال البرمجيات.
توفر regex آلية للبحث داخل النصوص عن صيغة معينة pattern بمحتوى منوع من الحروف والارقام المسافات حسب موقعها داخل النص. وعندما نذكر النصوص لا نقصد ملف بل أية بيانات سواء كانت داخل ملف أو ضمن  packet.

مثال:  \d{3}\s\w{5}
هنا نبحث عن صيغة داخل النص هيئتها على الشكل التالي:
\d{3}   الصيغة مكونة من ثلاثة أرقام
\s     متبوعة بمسافة فارغة (سواء كانت مسافة space أو tab)
\w{5}   متبوعة برقم مكون من خمس خانات
 
Regex موضوع واسع جدا وخياراته متنوعة وله استخدامات واسعة جدا، وتاليا أبرز الادوات التي تستخدم لتكوين الصيغ:
1)     الحروف الرمزية Meta-characters
وتستخدم لمطابقة محتوى حسب صنفه، فقد يكون المطلوب هو البحث عن أرقام فقط، أو مسافات فارغة داخل النصوص. ومن هذ الحروف الرمزية ما يلي:
\d   مطابقة الارقام 0-9
\w   مطابقة الحروف والارقام 0-9  a-z  A-Z
\s   مطابقة المسافات الفارغة مثل المسافة، نهاية السطر،  أو tab
.   (النقطة) مطابقة أي شيء ما عدا سطر جديد new line

2)     التكرار Quantifier
وتهدف لبحث عن الصيغة داخل النص حسب صنفها (أرقام، حروف، الخ) وبعدد مرات من التكرار يحدد بعدد أو مدى معين، كأن نبحث عن حرف e مكرر مرتين متتاليين.
*   تعبر عن تكرار صفر مرة أو أكثر
+   تعبر عن التكرار مرة واحدة أو أكثر
?   تعبر عن التكرار صفرمرة أو مرة واحدة
{min,max} تعبر عن تكرار لعدد معين من المرات ، العدد يقع بين حد أدنى وحد أعلى
{number} تكرار لعدد معين من المرات على الأقل

3)     الموقع Position
وتستخدم لتحديد موقع الصيغة المراد مطابقتها، كأن نبحث عن صيفة في بداية السطر، أو في نهايته أو في بداية ونهاية السطر.
^  المطابقة في بداية السطر
$   المطابقة في نهاية السطر
\b  المطابقة عند حدود السطر (البداية أو النهاية)

                       

.

الأحد، 14 سبتمبر 2014

تشغيل حساب SIP على جهاز سيسكو CME

يعتبر بروتوكول SIP واحد من بروتوكولات VoIP والتي تقوم بوظيفة تهيئة الاتصال (call setup) قبل بدء المكالمة. يوفر هذا البروتوكول مزايا أكثر من نظرائه ومرونة أكبر إذ أنه يستخدم لكلا النوعين من المكالمات: المكالمات الصوتية فقط ومكالمات الصوت والصورة، هذا بالاضافة للقدرة على ارسال الرسائل النصية.

يوفر بروتوكول SIP امكانية انشاء اسم استخدام لكل مستخدم وتحديد رقم أو ارقام هاتف لكل اسم استخدام. حيث يعمل هذا البروتوكول بنظام (client/server) إذ يقوم كل مستخدم بانهاء عملية التسجيل (registration) قبل الاستفادة من الخدمات المحددة له. وتكون الرسائل المتناقلة بين المستخدم والخادم لعملية التسجيل وكذلك عملية تهيئة الاتصال عبارة عن رسائل نصية غير مشفرة (clear-text) مشابهة للطريقة المتبعة في بروتوكول (HTTP). بحيث تكون المعلومات المرسلة بين الطرفين تحمل عناوين الخوادم واسم الاستخدام وكلمة المرور للمستخدم ومعلومات عن رقم المتصل والرقم المتصل   به وتفاصيل أخرى عديدة.
هيئة عناوين SIP
 قد تتخذ العناوين المخصصة لمستخدمي أنظمة SIP عدة اشكال لكنها تكون على هيئة واحدة شبيهة بتلك المستخدمة في عناوين حسابات البريد الالكتروني. وتسمى هذه العناوين (Uniform Resource Identifier URI) وهي عناوين معرفة بالمستخدم وتتخذ الهيئة التالية:
SIP-URI = sip:x@y:Port  

حيث يكون الجزء (x) هو اسم الاستخدام ويكون على صيغة اسم من حروف (name) أو رقم تلفون، أما الجزء (y) فهو مخصص لعنوان الخادم الذي يستضيف اسم الاستخدام ويكون هذا العنوان إما (ip address) أو اسم نطاق (domain name)، أما (port) فهو يمثل رقم المنفذ جهة الخادم المخصص لخدمة SIP. والامثلة التالية توضح هيئة العنوان المستخدمة في بروتوكول SIP

sip:masters@221.123.1.213
sip:masters@voip.provider.com
sip:2244@voip.provider.com:6000

مكونات نظام SIP
تنقسم الأجهزة العاملة على بروتوكول SIP  لنوعين رئيسيين:
-         أجهزة تكون بمثابة (User Agent Client) وتمثل أجهزة المستخدمين وهي التي ترسل طلبات الاستفادة من خدمات خادم SIP ويمكن أن تكون جهاز IP phone أو Call Manager Express
-         أجهزة تعمل دور الخادم (User Agent Server) وهي الطرف الذي يقدم الخدمات للمستخدمين بمختلف اشكالها. حيث تتنوع أجهزة الخوادم (SIP servers) حسب نوع الخدمة التي تقدمها. وتنقسم الخدمات لأربعة أنواع:
1-     Registrar Server يقوم بعملية التسجيل للمستخدمين للتحقق من هويتهم وتوفير الخدمات المحددة لكل مستخدم
2-     Proxy Server يقوم باستقبال الطلبات من المستخدم واعادة ارسالها لخادم آخر نيابة عن المستخدم. ويمكن أن يقدم هذا الخادم وظائف أخرى مثل authentication، authorization، network access control.
3-     Redirect Server يقوم بابلاغ المستخدمين بوجهة الاتصال التالية اعتمادا على مكان المستخدم أو الرقم المطلوب
4-     Location Server يقوم بعملية حفظ عناوين المستخدمين والتي تتغير باستمرار وهذا يوفر امكانية تنقل المستخدمين (mobility) وعدم تحديد وجودهم داخل شبكة واحدة.
تشغيل حساب استخدامSIP  على جهاز CME
سنتناول في هذا الموضوع كيفية تشغيل حساب استخدام (SIP account) على جهاز سيسكو (Call Manger Express CME) حيث تتمكن نقاط اتصال خارجية من التواصل مع شبكة الهواتف الداخلية لشركة ما، وفيما يلي سندرس تفاصيل هذه الحالة.
المتطلبات الأولية للحالة
شركة لديها فروع في عدة دول (الاردن، لبنان، مصر، السعودية) مركزها الرئيسي الأردن ولها زبائن في هذه الدول بلاضافة للعراق، تتطلب طبيعة الخدمات التي تقدمها الشركة وجود اتصالات هاتفية من الزبائن مع الشركة. وترغب الشركة بايجاد لحل للمكالمات الدولية التي يجريها زبائنها في العراق مع ادارتها الرئيسية في الأردن لتتمكن الشركة من توسيع نطاق خدماتها هناك عن طريق توفير سبل اتصالت بتكاليف قليلة.
الحل المقّدم
سنقوم أولا بعمل اشتراك لهاتف مع أحدى شركات الاتصالات في العراق وليكن (0763002400) وعمل اشتراك آخر لـ (SIP account) لدى نفس الشركة وليكن اسم الاستخدام لهذا الحساب (masters) وكلمة السر (abc$$123). بحيث تقوم شركة الاتصالات بتحويل المكالمات (call forwarding) الواردة للرقم السابق لحساب (masters).
ثم سنقوم بتفعيل الحساب على سيسكو (CME) الموجود في الادارة الرئيسية في الأردن، حيث سيقوم الـ (CME) بتسجيل نفسه (registration) لدى خادم (SIP) لدى شركة الاتصالات ليكون بمثابة جهاز المستخدم لهذا الحساب واسيتمكن من ستقبال المكالمات الواردة للحساب والمحولة اصلا من الرقم (0763002400).
أي أنه سيكون بمقدور أي زبون في العراق طلب الرقم المحلي (0763002400) ثم ستقوم شركة الاتصالات بتحويل المكالمة لحساب (masters) المفعل على جهاز (CME). وعند وصول المكالمات لجهاز (CME) سيتم تحويل المكالمة للأرقام الدخلية لهواتف الشركة.




وهناك حل آخر وذلك بتفعيل حساب الاستخدام SIP على هاتف محدد (IP phone) بدلا من جهاز (CME) بحيث يقوم الهاتف باجراء عملية التسجيل لدى الخادم وبالتالي استقبال المكالمات المحولة من شركة الاتصالات. لكن في هذه الحالة سيعمل هذا الهاتف بمعزل عن شبكة الهواتف الداخلية وبالتالي فقدان العديد من المزايا مثل تحويل المكالمات لهاتف آخر في حال عدم الاجابة او في حال كان مشغول.
طريقة التشغيل
سنقوم بتفعيل حساب الاستخدام لـ SIP على الـ (CME) حيث سندخل اسم الاستخدام وكلمة المرور الخاصة به، وعنوان الخادم (SIP registrar server)، وباقي الإعدادات مثل عدد مرات المحاولات (Retry) لاجراء المكالمة وفترة المؤقت (timer) الخاص بتهيئة المكالمة، وذلك باستخدام الأوامر التالية:

Router(config)# sip-ua   
Router(config-sip)# credentials username masters password abc$$123 realm voip.provider.com
Router(config-sip)# authentication username insurance password 7 abc$$123
Router(config-sip)# retry invite 7
Router(config-sip)# timers expires 1800000
Router(config-sip)# timers connection aging 30
Router(config-sip)# registrar dns:voip.provider.com expires 1800
Router(config-sip)# sip-server dns:voip.provider.com
Router(config-sip)# host-registrar

سيقوم ال (CME) باجراء عملية التسجيل لدى الخادم (voip.provider.com) لاسم الاستخدام وكلمة المرور المدخلة بالاعدادات حيث يجب أن تتطابق باقي الاعدادات مع تلك المعدة جهة الخادم.
سنقوم بانشاء (voice class) يحمل اسم (sip-account) ويعمل على بروتوكول SIP وذلك من أجل الاهتمام باسم الاستخدام (masters) المرسل ضمن جزء (URI) في الرسالة المرسلة من الخادم ل (CME).
Router(config)# voice class uri sip-account sip
Router(config-voice-uri-class)# user-id masters
وكذلك نقوم بانشاء قاعدة لتحويل الارقام بحيث نحول الرقم المطلوب أيا كانت قيمته ليصبح (6450) وستحمل هذه القاعدة اسم (sip-translation)
Router(config)# voice translation-rule 206450
Router(cfg-translation-rule)# rule 1 /.*/ /6450/
Router(config)# voice translation-profile sip-translation
Router(cfg-translation-profile)# translate called 206450
سنقوم بعد ذلك بعمل (dial-peer) على الـ (CME) وذلك من أجل عمل مطابقة (matching) للمكالمات الواردة من حساب الاستخدام (masters) دون غيرها من المكالمات ليصار إلى تحويلها للرقم الداخلي (6450). حيث ترد ل (CME) مكالمات من عدة مصادر أخرى غير تلك الواردة من (SIP account). سنقوم بانشاء (dial peer) تحمل الرقم (206450) وذلك لعمل مطابقة للمكالمات الواردة الخادم (voip.provider.com) والتي تتضمن اسم الاستخدام (masters)، حيث سنقوم بتغيير (translation) الرقم المطلوب في هذه المكالمة ليصبح رقم (6450) حسب مضمون قاعدة التحويل المنشأة سابقا والمسماة (sip-translation).  
Router(config)# dial-peer voice 206450 voip
Router(config-dial-peer)# translation-profile incoming sip-translation
Router(config-dial-peer)# session protocol sipv2
Router(config-dial-peer)# session target dns:voip.provider.com
Router(config-dial-peer)# incoming uri to sip-account
Router(config-dial-peer)# dtmf-relay rtp-nte sip-notify sip-kpml
Router(config-dial-peer)# codec g729br8  
هنا لا بد من التأكيد على أن ال (CME) لديه رقم في دليل ارقام الهواتف (directory numbers) خاص بالرقم (6450)، حسب الأمر التالي:
 Router(config)# ephone-dn 78
Router(config-ephone-dn)# number 6450