برنامج IP-PBX واختبار التحميل

يوم جيد للجميع! منذ عدة سنوات ، انخرطت في المهاتفة عبر بروتوكول الإنترنت وبدأت ألاحظ أنه على الرغم من أن الإنترنت مليء بالمعلومات ، فأنا لا أتحدث فقط عن الجزء الروسي ، ولكن في بعض الأحيان يمكنك العثور على الجزء الذي تحتاجه فقط في بعض "المنتدى المهجور" ، أو أنه ليس على الإطلاق . إذا كان هناك الكثير من المعلومات حول المهاتفة عبر بروتوكول الإنترنت وبروتوكول sip نفسه ، فلا توجد بيانات حول كيفية بناء برنامج IP-PBX ، وكيف يتم اختباره وتصحيحه ، أو أنه كذلك ، ولكن مكتوب بهذه اللغة التي لا يستطيع سوى شخص يبلغ من العمر سنوات فهمها يعمل في هذا المجال.



قررت سد هذه الثغرات وتقديم مساهمتي الخاصة ، وستكون هذه المعلومات مفيدة ومفيدة للمبتدئين ، ويمكن للمستخدمين الأكثر خبرة التأكيد على شيء جديد لأنفسهم ، على أي حال سنكون جميعًا في الأسود. الخطط في الوقت الحالي كبيرة - لكتابة دورة من المشاركات ، وتلخيص المعرفة التي اكتسبتها ، لأسباب واضحة لن أنشر التجميعات ، أو الأجهزة الافتراضية ، إلخ.



ربما يكفي من الكلمات ، لنبدأ كما هو الحال دائمًا مع النظرية. نظرًا لأن هذا المنشور سيقرأه المستخدمون بمستوى مختلف من المعرفة ، فسأحاول أن أجعله قصيرًا وواضحًا.



المقدمة



برنامج IP-PBX هو مقسم هاتفي آلي يعتمد على بروتوكول IP ، "دماغه" هو برنامج خاص ينفذ التبديل الصوتي (في هذه الحالة ، حزم الصوت) والخدمات الأخرى المقدمة للمشتركين.



الآن دعنا نرى كيف يعمل كل شيء ، سأجري حجزًا بالتفصيل على الفور ، ولن أخوضه ، سيستغرق وقتًا طويلاً جدًا ، وبالتالي سيكون هناك بعض الخطأ والسهو.



يلتقط المشترك الهاتف ويدخل الرقم ، ويتم تشغيل الإشارات على الفور ، والتي ستتحكم في جلسة البث الصوتي ، ولهذا يوجد عدد من البروتوكولات التي يمكن تمييز اثنين منها SIP و H.323. في الوقت الحالي اكتسب SIP الكثير من الشعبية وفي هذا المنشور سيتم النظر فيه. علاوة على ذلك ، نفترض أنه باستخدام بروتوكول SIP تم إنشاء اتصال منطقي بين المشتركين ، ثم هناك حاجة إلى صوت.



المشترك يتحدث إلى جهاز الاستقبال - يتم ترميز صوته باستخدام برنامج أو برنامج ترميز الأجهزة في مجموعة من البتات. الترميز هو خوارزمية ضغط الصوت ، أبسط وأكثر شيوعًا PCMA. ثم يتم إرسال هذه البتات إلى المرسل إليه باستخدام بروتوكول RTP.



لتلخيص كل ما سبق ، لدينا بروتوكول SIP الذي يتحكم في جلسة الاتصال ، ويتضمن بروتوكول SDP ، الذي يصف الجلسة (برامج الترميز المستخدمة والمتاحة والمعلومات الأخرى) ، وهذه البروتوكولات معبأة في نقل TCP أو UDP واستخدام IP ترسل في الاتجاه المشار إليه. بمجرد إنشاء اتصال منطقي ، يتم ضغط الصوت باستخدام برنامج الترميز وتعبئته في RTP وإرساله إلى المرسل إليه باستخدام بروتوكول IP.



الآن دعونا نحاول الإجابة على السؤال الرئيسي ، من يتحكم في كل هذا؟ مفتاح البرنامج ، أو مفتاح التبديل ، هو "دماغ" برنامج IP PBX ، الذي يدير جميع الاتصالات الداخلية والخارجية. سوفت سويتش معروفة لنا ، لقد سمع الجميع عن النجمة وفريشويتش. هناك مدفوعة ، هناك مجانية ، هناك واجهة رسومية ، هناك بدون.



في الشكل 1 ، قمت بتصوير مخطط كتلة لبرنامج IP-PBX ، دعنا نفكر في ذلك بمزيد من التفاصيل. بادئ ذي بدء ، إنه نظام تشغيل (OS) ، يجب أن يكون متوافقًا مع الأجهزة ، وأن يكون لديه المستودعات الضرورية وأن يكون سهل الاستخدام. لن نتحدث عن الأجهزة ، فليكن خادمًا. بناءً على رغبات العميل (TOR) ، يتم تحديد "دماغ" IP-PBX - Softswitch ، ويمكن أن يكون نفس النجمة أو Freeswitch أو سوفت سويتش مكتوبة بخط اليد. في الشكل ، قسمت برنامج سوفت سويتش والبرمجيات ، في الواقع يمكن أن يكون تطبيقًا واحدًا ، كل هذا يتوقف على متطلبات العميل ، يمكنك أخذ برنامج Freeswitch الجاهز ، ونفس البرنامج ، وإدارته وتنفيذ وظائف إضافية أيضًا. كل شيء واضح مع خادم الويب ، نحن بحاجة إلى طبقة بين عميل http و Softswitch. حسنًا ، وبالتالي قاعدة البيانات ،لن نعيد كتابة ملفات التكوين باستمرار. يعطينا نظام التشغيل بيئة للعمل ، ومن الضروري أيضًا كتابة برامج تشغيل إضافية إذا أردنا توصيل لوحات FXO و E1.



صورة

الشكل 1. مخطط تخطيطي لبروتوكول IP-PBX



يمكنك الآن التنفس ، النظرية الموصوفة مكثفة للغاية ، لكنها ضرورية لمزيد من الفهم للمادة.



اختبار Sipp و StarTrinity SIP



قبل بضعة أسابيع ، تم تعيين المهمة - لاختبار الحمل الذي يمكن أن يتحمله برنامجنا IP-PBX. بعد الكثير من البحث ، عثرت على مولد مكالمات Sipp مجاني واختبار StarTrinity SIP مدفوع. أدناه سوف أصف بإيجاز قدرات هذه التطبيقات.



ربما سأبدأ مع أبسط شيء - StarTrinity SIP Tester. يعمل التطبيق فقط مع Windows ، ولديه عدد كبير من الاحتمالات ، وتسجيل المستخدم ، والعمل كخادم تسجيل ، وإرسال المكالمات الصادرة مع العديد من المعلمات ، وتلقي المكالمات الواردة وإرسال رسائل محددة ، في الواقع ، يمكنك كتابة البرنامج النصي بنفسك وسيساعدك التطبيق في ذلك. لكن كل الوظائف هي موضوع منشور منفصل ، نحن بحاجة إلى أبسط شيء للعمل - القدرة على إرسال المكالمات في فاصل زمني معين ، دون نسيان RTP. والآن أهم شيء هو أن هذا التطبيق مدفوع ، ولكن المطورين يقدمون أيضًا إصدارًا مجانيًا ومقلصًا قليلاً ، ولكن في الواقع ، يمكن حتى استخدام إصدار مجرد إذا كنت ذكيًا.



يتيح لك الإصدار المجاني إجراء 150 مكالمة ، بينما يمكن أن يكون هناك 50 اتصالًا متزامنًا. ولكن بعد إعادة التشغيل ، تتم إعادة تعيين العداد ويمكنك إرسال المكالمات مرة أخرى. يوضح الشكلان 2 و 3 تطبيق StarTrinity SIP Tester ، يمكننا معرفة العنوان ، إلى أي رقم ، ومن أي شخص ، ومن ما الترميز والفاصل الزمني والمعلومات الأخرى حول المكالمات. تجدر الإشارة أيضًا إلى وجود واجهة ويب والقدرة على عمل النصوص البرمجية بنفسي ، ولكن ما لم يعجبني هو أنه لا يمكنك عمل نصوص برمجية بمعلمات خاطئة.



صورة

الشكل 2. النسخة المدفوعة من StarTrinity SIP Tester



صورة

الشكل 3. نسخة مجانية من StarTrinity SIP Tester



إذا كان StarTrinity SIP Tester عبارة عن واجهة رسومية جميلة جاهزة للعمل خارج الصندوق ، فإن Sipp قدم لي نفسه كنوع من "الوحش" ، والذي تحتاج إلى تنزيله وتجميعه وإضافة الحزم الضرورية. ولكن كما اتضح ، لا داعي للخوف من ذلك ، فقد ترك المطورون دليلاً رائعًا على الموقع يصف عملية التثبيت وميزات هذا التطبيق. يحذرون على الفور من أن الأمر يستغرق عدة أيام لتعلم كيفية كتابة البرامج النصية ، ولكن هذا هو زائد ، سوف تفهم تمامًا بروتوكول sip نفسه وتدرس حقوله. بضع كلمات ، هناك نصوص مدمجة ، وهي الأكثر شيوعًا التي تم إرسالها وتلقيها مكالمة ، وما زلنا نبحث عن الباقي على الإنترنت ، وبعض المستخدمين يشاركون ، لكن كان علي أن أجلس وأدرس المواصفات وأكتب نصاتي. يتوفر Sipp لنظامي التشغيل Windows و Linux ، ولكنه يعمل بشكل أكثر استقرارًا مع نظام التشغيل Linux.



الآن إلى حد ما ، من المكلف تخصيص جهاز لـ Sipp فقط ، فنحن نأخذ ونصنع آلة افتراضية ، وأنا أستخدم VirtualBox تحت Ubuntu ، لم يكن لدي أي مشاكل. تم التثبيت وفقًا للدليل ، انتقل إلى مجلد التطبيق وقم بتشغيل التطبيق باستخدام المفاتيح الضرورية.



صورة

الشكل 4. منشئ مكالمات Sipp



لن أصف وظيفة Sipp ، فهي تشبه StarTrinity SIP Tester ، أي تطبيق أفضل ، ولا توجد إجابة محددة ، توصلت إلى استنتاج مفاده أنها تكمل بعضها البعض بشكل مثالي.



اختبار الإجهاد



الآن نحن نعرف ما هو برنامج IP-PBX وكيف يعمل ، نحن نعرف أيضًا وظائف مولدات المكالمات.



مرة أخرى ، عند الاختبار ، يجب أن نفهم وضع التشغيل الخاص بالبرنامج IP-PBX: وضع الوكيل (RTP + التشفير هو وكيل) ، وشبه الوكيل (التشوير هو الوكيل فقط) ، طلب إعادة التوجيه (الرسالة 300). سيعتمد ذلك على ما إذا كنا بحاجة إلى تمكين RTP في بعض السيناريوهات أم لا. في الشكل 5 ، قمت برسم عدة حالات اختبار.



الخيار 1 - نقوم باختبار برنامج IP-PBX في وضع النقل ، لذلك نحتاج إلى جهازي كمبيوتر مختلفين. نحن نسجل مسارًا على PBX ، على التوالي ، من اختبار SIP / StarTrinity SIP واحد ننشئ مكالمات إلى اختبار Sipp / StarTrinity SIP آخر. سأقول على الفور مع StarTrinity SIP Tester on Sipp (أو لكل ثورة) لم أحاول إنشاء مكالمات ، ولكن من الناحية النظرية البحتة يجب أن تكون متوافقة تمامًا.



الخيار 2 - نقوم باختبار برنامج IP-PBX في وضع النقل ، لذلك نحتاج إلى جهازي كمبيوتر مختلفين. نحن نسجل مسارًا على PBX ، على التوالي ، من اختبار Sipp / StarTrinity SIP واحد نقوم بإنشاء مكالمات إلى النجمة. بالنسبة لـ Asterisk ، أستخدم الجهاز الظاهري VirtualBox تحت Ubuntu ، ليس لدي أي مشاكل. في مخطط طلب النجمة ، اكتب ما يلي:



صورة



عند الاتصال بهذا الرقم ، ترد النجمة وترسل جميع الأصوات المستلمة.



صورة

الشكل 5. خيارات تكوين المعدات لاختبار الحمل



الخيار 3 - نقوم باختبار البرنامج IP-PBX في وضع المحطة الطرفية ، لذلك نحتاج إلى جهاز كمبيوتر واحد وهواتف IP ، نقوم بتثبيت الرد التلقائي على الهواتف. نسجل هواتف IP في PBX ، على التوالي ، من اختبار Sipp / StarTrinity SIP واحد نقوم بإنشاء مكالمات منها.



الخيار 4 - نقوم باختبار برنامج IP-PBX في وضع المحطة الطرفية ، لذلك نحتاج إلى جهاز كمبيوتر واحد و TA تناظري. أنشأنا TAs التماثلية على PBX ، على التوالي ، من اختبار SIP / StarTrinity SIP الذي ننشئ مكالمات لهم. على حد علمي ، لكنني لم أواجهها ، هناك أجهزة معينة تتصل بخطوط تناظرية ويمكن برمجتها ، على سبيل المثال ، لالتقاط الهاتف عند الاتصال ، ولكن إذا لم يكن هناك مثل هذا الاحتمال ، فسيتعين عليك التقاط الهواتف يدويًا.



هذا كل شيء ، بالطبع ، على برنامج IP-PBX ، قم بتشغيل السجلات ، أو اعرض وحدة التحكم مع التصحيح وانظر إلى الأخطاء التي حدثت. هذه هي الطريقة التي يمكن بها تحديد حدود الأداء والفشل. بالمناسبة ، نصيحة ، قم بتثبيت Wireshark ، tshark ، tcpdump على الجهاز الظاهري ، حتى تتمكن من مراقبة وتحليل كل حركة المرور على واجهتك في الوقت الحقيقي.



تلخيص



للتلخيص ، تعرّفنا بشكل سطحي على بناء برنامج IP-PBX و Sipp و StarTrinity SIP Tester Tester وتعلمنا محاكاة الحمل. إذا كنت تفكر في ذلك ، يمكنك اختبار مكدس Sip بالكامل بأمان مع مولدات المكالمات هذه.



هذا كل شيء اليوم ، أنا في انتظار تعليقاتك وتعليقاتك ، إذا كنت ترغب في مشاركة تجربتك ، فسأكون سعيدًا فقط. جارٍ



التحميل ...



الروابط



1.Sipp sipp.readthedocs.io/en/v3.6.0/#

2.StarTrinity SIP Tester startrinity.com/VoIP/SipTester/SipTester.aspx

3. الكتب والمعلومات الأخرى asterisk.ru/knowledgebase/books



All Articles