By Mark Spencer <[email protected]> and the Asterisk.org developer community.
Copyright (C) 2001-2021 Sangoma Technologies Corporation and other copyright holders.
من الضروري أن تقرأ محتويات مستند معلومات الأمان وتفهمها بالكامل قبل محاولة تكوين خادم Asterisk وتشغيله.
راجع اعتبارات الأمان المهمة لمزيد من المعلومات.
Asterisk عبارة عن مجموعة أدوات PBX مفتوحة المصدر ومجموعة أدوات للاتصالات الهاتفية. إنها، بمعنى ما، وسيطة بين قنوات الإنترنت والهاتف في الأسفل، وتطبيقات الإنترنت والهاتف في الأعلى. ومع ذلك، تدعم النجمة واجهات هاتفية أكثر من مجرد الاتصال الهاتفي عبر الإنترنت. تتمتع Asterisk أيضًا بقدر كبير من الدعم للاتصالات الهاتفية التقليدية عبر PSTN أيضًا.
لمزيد من المعلومات حول المشروع نفسه، يرجى زيارة الصفحة الرئيسية لـ Asterisk والوثائق الرسمية. بالإضافة إلى ذلك، ستجد الكثير من المعلومات التي جمعها مجتمع Asterisk على voip-info.org.
يوجد كتاب عن النجمة تم نشره بواسطة O'Reilly بموجب ترخيص المشاع الإبداعي. وهو متوفر في متاجر الكتب وكذلك في نسخة قابلة للتنزيل على موقع الويب asteriskdocs.org.
تم تطوير واختبار Asterisk Open Source PBX بشكل أساسي على نظام التشغيل GNU/Linux، وهو مدعوم في كل توزيعات GNU/Linux الرئيسية.
تم أيضًا "نقل" النجمة ويقال إنها تعمل بشكل صحيح على أنظمة التشغيل الأخرى أيضًا، بما في ذلك Sun Solaris وApple's Mac OS X وCygwin ومتغيرات BSD.
أولاً، تأكد من حصولك على أجهزة مدعومة (ولكن لاحظ أنك لا تحتاج إلى أي أجهزة خاصة، ولا حتى بطاقة صوت) لتثبيت Asterisk وتشغيله.
تتضمن أجهزة الهاتف المدعومة ما يلي:
إذا كنت تقوم بالتحديث من إصدار سابق من Asterisk، فتأكد من قراءة ملف UPGRADE.txt في الدليل المصدر. هناك بعض الملفات وخيارات التكوين التي سيتعين عليك تغييرها، على الرغم من أننا بذلنا كل جهد ممكن للحفاظ على التوافق مع الإصدارات السابقة.
من أجل اكتشاف ميزات جديدة لاستخدامها، يرجى التحقق من أمثلة التكوين في دليل التكوينات لتوزيع التعليمات البرمجية المصدر. للحصول على قائمة بالميزات الجديدة في هذا الإصدار من Asterisk، راجع ملف التغييرات.
تأكد من أن نظامك يحتوي على مترجم ومكتبات تطوير متوافقة. تتطلب العلامة النجمية إما إصدار GNU Compiler Collection (GCC) 4.1 أو أعلى، أو مترجم يدعم مواصفات C99 وبعض ملحقات لغة مجلس التعاون الخليجي. بالإضافة إلى ذلك، يحتاج نظامك إلى توفر رؤوس مكتبة C، ورؤوس ومكتبات ncurses.
هناك العديد من الوحدات التي لها تبعيات إضافية. لمعرفة المكتبات التي يتم البحث عنها، راجع ./configure --help
، أو قم بتشغيل make menuselect
لعرض التبعيات لوحدات معينة.
في العديد من التوزيعات، يتم تثبيت هذه التبعيات بواسطة حزم بأسماء مثل "glibc-devel" و"ncurses-devel" و"openssl-devel" و"zlib-devel" أو ما شابه ذلك.
لذلك، دعونا المضي قدما:
هناك مستندات أكثر من هذه في دليل المستندات. قد ترغب أيضًا في التحقق من ملفات التكوين التي تحتوي على أمثلة وأدلة مرجعية في دليل التكوينات.
./configure
قم بتنفيذ البرنامج النصي للتكوين لتخمين قيم المتغيرات المعتمدة على النظام المستخدمة أثناء التجميع. إذا أشار البرنامج النصي إلى أن بعض المكونات المطلوبة مفقودة، فيمكنك تشغيل ./contrib/scripts/install_prereq install
لتثبيت المكونات الضرورية. لاحظ أن هذا سيؤدي إلى تثبيت كافة التبعيات لكل وظيفة من وظائف Asterisk. بعد تشغيل البرنامج النصي، سوف تحتاج إلى إعادة تشغيل ./configure
.
make menuselect
[اختياري]يعد ذلك ضروريًا إذا كنت تريد تحديد الوحدات التي سيتم تجميعها والتحقق من التبعيات للوحدات الاختيارية المختلفة.
make
بافتراض اكتمال البناء بنجاح:
make install
إذا كانت هذه هي المرة الأولى التي تعمل فيها مع Asterisk، فقد ترغب في تثبيت نموذج PBX، مع ملحقات العرض التوضيحي، وما إلى ذلك. إذا كان الأمر كذلك، قم بتشغيل:
make samples
سيؤدي القيام بذلك إلى استبدال أي ملفات تكوين موجودة قمت بتثبيتها.
# asterisk -vvvc
ستشاهد مجموعة من الرسائل المطولة تظهر على شاشتك أثناء تهيئة العلامة النجمية (وهذا هو الوضع "المطول جدًا"). عندما يكون جاهزًا، إذا قمت بتحديد "c"، فستحصل على وحدة تحكم سطر الأوامر، التي تبدو كما يلي:
*CLI>
يمكنك كتابة "المساعدة الأساسية للعرض" في أي وقت للحصول على المساعدة في النظام. للحصول على مساعدة بشأن أمر محدد، اكتب "core show help". لبدء تشغيل PBX باستخدام بطاقة الصوت الخاصة بك، يمكنك كتابة "Console Dial" لطلب PBX. ثم يمكنك استخدام "الإجابة على وحدة التحكم" و"قطع الاتصال بوحدة التحكم" و"الاتصال بوحدة التحكم" لمحاكاة تصرفات الهاتف. تذكر أنه إذا لم يكن لديك بطاقة صوت مزدوجة كاملة (وسوف تخبرك Asterisk في مكان ما في رسائلها المطولة إذا كنت تفعل ذلك/لا تفعل ذلك)، فلن تعمل بشكل صحيح (ليس بعد).
ستمنحك "man asterisk" في موجه أوامر Unix/Linux معلومات مفصلة حول كيفية بدء تشغيل Asterisk وإيقافها، بالإضافة إلى جميع خيارات سطر الأوامر لبدء تشغيل Asterisk.
لا تتردد في الاطلاع على ملفات التكوين في /etc/asterisk
، حيث ستجد الكثير من المعلومات حول ما يمكنك فعله باستخدام Asterisk.
تشترك جميع ملفات تكوين Asterisk في تنسيق مشترك. التعليقات محددة بـ ';' (نظرًا لأن "#" بالطبع هو رقم DTMF، فقد يظهر في العديد من الأماكن). يتم تقسيم ملف التكوين إلى أقسام تظهر أسماؤها في []'s. يحتوي كل قسم عادةً على نوعين من العبارات، تلك الخاصة بالنموذج "متغير = قيمة"، وتلك الخاصة بالنموذج "object => Parameters". داخليًا، استخدام '=' و'=>' هو نفسه تمامًا، لذا يتم استخدامهما فقط للمساعدة في تسهيل فهم ملف التكوين، ولا يؤثران على كيفية تحليله فعليًا.
تقوم إدخالات النموذج "متغير = قيمة" بتعيين قيمة بعض المعلمات بالعلامة النجمية. على سبيل المثال، في chan_dahdi.conf، يمكن تحديد ما يلي:
switchtype=national
للإشارة إلى النجمة أن المحول الذي يتصلون به هو من النوع "وطني". بشكل عام، سيتم تطبيق المعلمة على عمليات الإنشاء التي تحدث دون المواصفات الخاصة بها. على سبيل المثال، إذا كان ملف التكوين يقرأ:
switchtype = national
channel => 1-4
channel => 10-12
switchtype = dms100
channel => 25-47
سيتم تطبيق نوع المحول "الوطني" على القنوات من 1 إلى 4 والقنوات من 10 إلى 12، في حين سيتم تطبيق نوع المحول "dms100" على القنوات من 25 إلى 47.
تقوم "object => بارامترات" بإنشاء كائن باستخدام المعلمات المحددة. على سبيل المثال، يقوم السطر "channel => 25-47" بإنشاء كائنات للقنوات من 25 إلى 47 للبطاقة، مع الحصول على الإعدادات من المتغيرات المحددة أعلاه.
يجب على أولئك الذين يستخدمون هواتف SIP أن يدركوا أن Asterisk حساس للقفزات الكبيرة في الوقت المناسب. قد يؤدي تغيير وقت النظام يدويًا باستخدام التاريخ (1) (أو أوامر أخرى مشابهة) إلى فشل تسجيلات SIP والعمليات الداخلية الأخرى. إذا لم يتمكن نظامك من الحفاظ على الوقت الدقيق بمفرده، فاستخدم NTP للحفاظ على مزامنة ساعة النظام مع "الوقت الحقيقي". تم تصميم NTP للحفاظ على مزامنة ساعة النظام عن طريق تسريع أو إبطاء ساعة النظام حتى تتم مزامنتها مع "الوقت الحقيقي" بدلاً من القفز على الوقت والتسبب في انقطاعات. تشتمل معظم توزيعات Linux على إصدارات مجمعة مسبقًا من NTP. احذر من بعض أساليب مزامنة الوقت التي تحصل على الوقت الحقيقي الصحيح بشكل دوري ثم تقوم بضبط ساعة النظام يدويًا.
التغييرات الواضحة في الوقت بسبب التوقيت الصيفي هي مجرد ذلك. يعد استخدام التوقيت الصيفي في نظام Linux مجرد مشكلة في واجهة المستخدم ولا يؤثر على تشغيل Linux kernel أو Asterisk. تعمل ساعة النظام على نواة Linux بالتوقيت العالمي المنسق (UTC). UTC لا يستخدم التوقيت الصيفي.
لاحظ أيضًا أن هذه المشكلة منفصلة عن تسجيل الوقت لقنوات TDM، ومن المعروف أنها تؤثر على تسجيلات SIP على الأقل.
اعتمادًا على حجم نظامك وتكوينك، يمكن أن تستهلك النجمة عددًا كبيرًا من واصفات الملفات. في UNIX، يتم استخدام واصفات الملفات لأكثر من مجرد ملفات على القرص. تُستخدم واصفات الملفات أيضًا للتعامل مع اتصالات الشبكة (مثل مكالمات SIP أو IAX2 أو H.323) والوصول إلى الأجهزة (مثل أجهزة الاتصال التناظرية والرقمية). تصل العلامة النجمية إلى العديد من الملفات الموجودة على القرص لكل شيء بدءًا من معلومات التكوين وحتى تخزين البريد الصوتي.
تحدد معظم الأنظمة عدد واصفات الملفات التي يمكن أن تفتحها Asterisk في المرة الواحدة. يمكن أن يحد هذا من عدد المكالمات المتزامنة التي يمكن لنظامك التعامل معها. على سبيل المثال، إذا تم تعيين الحد على 1024 (قيمة افتراضية شائعة)، فيمكن لـ Asterisk التعامل مع 150 مكالمة SIP تقريبًا في وقت واحد. لتغيير عدد واصفات الملفات، اتبع الإرشادات الخاصة بنظامك أدناه:
إذا كان نظامك يستخدم PAM (وحدات المصادقة القابلة للتوصيل)، فقم بتحرير /etc/security/limits.conf
. أضف هذه الأسطر إلى أسفل الملف:
root soft nofile 4096
root hard nofile 8196
asterisk soft nofile 4096
asterisk hard nofile 8196
(اضبط الأرقام حسب الذوق). قد تحتاج إلى إعادة تشغيل النظام حتى تدخل هذه التغييرات حيز التنفيذ.
إذا لم تكن هناك تعليمات مخصصة لنظامك أعلاه، فيمكنك محاولة إضافة الأمر ulimit -n 8192
إلى البرنامج النصي الذي يبدأ تشغيل Asterisk.
راجع دليل المستندات لمزيد من الوثائق حول الميزات المتنوعة. مرة أخرى، يرجى قراءة كافة نماذج التكوين التي تتضمن وثائق حول خيارات التكوين.
أخيرًا، قد ترغب في زيارة موقع الدعم والانضمام إلى القائمة البريدية إذا كنت مهتمًا بالحصول على مزيد من المعلومات.
مرحبًا بك في المجتمع العالمي المتنامي لمستخدمي Asterisk!
Mark Spencer, and the Asterisk.org development community
النجمة هي علامة تجارية لشركة Sangoma Technologies Corporation