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

لذلك توصلت إلى استنتاج مفاده أنني بحاجة إلى هاتفي الخاص. يمكن للمرء اختيار أي من خدمات الاتصال الهاتفي SIP الموجودة بأعداد كبيرة في السوق. ولكن كان لدي قائمة بالمتطلبات التي لم يستوفِها أي من المشغلين:
- الاختيار المستقل للأرقام الداخلية
- الوصول إلى خطوط الاتصال الخارجية مع إمكانية إجراء مكالمات إلى أرقام الهواتف الأرضية والخلوية
- إمكانية اختيار عامل يوفر المهاتفة عبر بروتوكول الإنترنت
- القدرة على استخدام بطاقة SIM الخاصة بالمشغل المحدد مع تعرفة "الهاتف" المعتادة
- وجود قائمة الصوت لإعادة توجيه مكالمة واردة إلى المشترك الضروري
- الحد الأدنى أو صفر من تكلفة الخدمة / الحفاظ على الاتصال الداخلي
يوفر العديد من المشغلين بدالة هاتف افتراضية وحتى قائمة صوتية. ولكن هذه الخدمة مدفوعة بالفعل. يسمح بعض المشغلين بالاتصال داخل شبكتهم مجانًا ، ولكن هناك مشكلة في طلب أرقام طويلة. وبالتأكيد لا أحد يسمح لك باستخدام بطاقة SIM الخاصة بالمشغل المحدد بأقل تكلفة للمكالمات أو الدقائق المدفوعة مسبقًا. لذلك قررت أن أكون مشغل الاتصالات الخاص بي بنفسي.
الخطوة الأولى. اختيار المنصة: المحاكاة الافتراضيةنظرًا لأنني كنت أتعامل بالفعل مع المهاتفة عبر بروتوكول الإنترنت ، فقد تقرر رفع PBX الخاص بي استنادًا إلى العلامة النجمية - إنه مجاني ، وهناك الكثير من المنتديات والأدلة و ... لماذا لا؟ حصلت على عدد قليل من الهواتف بدعم SIP وبدأت أفكر في النظام الأساسي للعمل على النجمة. لوضعه في الغيوم أو على خادم افتراضي ، هذا يعني أنه يجب عليك الدفع عاجلاً أم آجلاً ، ولكن بعد ذلك فكرة جعل الاتصال الهاتفي ينهار مجانًا. لذلك ، قررت استخدام وظيفة المحاكاة الافتراضية على جهاز NAS QNAP TS-451. لقد كتبت بالفعل عن شريحة محرك أقراص الشبكة هذه ، حتى تتمكن من
قراءة المزيد . كان أداء النظام كافيًا ليس فقط لعمل النجمة نفسها ، ولكن أيضًا لواجهة الويب ، لذلك قررت استخدام توزيع Elastix. يجب أن أقول أن آخر توزيع متاح على موقع Elastix.org الرسمي على الرقم 5 هو برنامج تجريبي بالفعل ، لذا أوصيك بالبحث عن السيول الإصدار 4 على السيول - كان مجانيًا وموزعًا بحرية ، ولكنه الآن غير متوفر على الموقع.
يتم وصف إنشاء المستخدمين في Elastix عدة مرات ، ولكن لا يتم تغطية الباقي بالتفصيل على الشبكة. لذلك ، سأصف اتصال موفر Multifon SIP من Megafon وإنشاء قائمة صوتية مع إعادة توجيه المكالمات.
إنشاء صندوق مع معلمات حسابك في Multifon. يمكنك توصيل هذا الخيار بأي رقم مشغل Megafon. لا يعتمد الخصم على خطة التعريفة المحددة ويتم إعداده لكل دقيقة من مكالمة صادرة. Inbox مجاني. يتم دعم سطرين من المحادثة في وقت واحد. بالإضافة إلى ذلك ، يمكنك تكوين أن المكالمات الواردة تذهب فقط إلى الهاتف ، الهاتف + هاتف متعدد ، فقط إلى هاتف متعدد.
إعدادات النص لأولئك الذين يرغبون في إضافة جذع multifon لأنفسهم:
جذع مولتونتفاصيل الأقران:
username = phone_number
النوع = نظير
secret = password
المنفذ = 5060
نات = نعم
غير آمن = المنفذ ، دعوة
host = sbc.megafon.ru
fromuser = رقم الهاتف
fromdomain = multifon.ru
dtmfmode = inband
السياق = من جذع
سلسلة التسجيل:
phone_number: password@multifon.ru/ phone_number
لذا ، نحن متصلون بموفر SIP ، والآن يمكننا إعادة توجيه المكالمة الواردة إلى أي من أرقام التمديد. ولكن ماذا لو كنت تريد أن يختار المتصل أي رقم داخلي يطلبه؟ يمكنك إنشاء قائمة صوت باختيار المستلم. سأقدم وصفا خطوة بخطوة.
إنشاء قائمة صوت في Elastixانتقل إلى تسجيلات النظام. هنا معلمات التسجيل الصوتي التي يجب القيام بها مكتوبة بالفعل: PCM ، 16 بت ، 8000 هرتز. يمكن القيام بذلك في أداة التسجيل القياسية وفي برامج الجهات الخارجية مثل SoundForge.

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

الآن نحن بحاجة لجعل المكالمة الواردة تصل إلى قائمة الصوت لدينا. ننتقل إلى عنصر المسارات الداخلية وننشئ قاعدة جديدة. في الفقرة الأخيرة من "تعيين الوجهة" ، حدد IVR وقائمة الانتظار التي تم إنشاؤها مسبقًا ، والتي أطلق عليها اسم "dozvon".
نحفظ ونستخدم. كل هذا عمل لمدة شهر تقريبًا دون إخفاقات ، لكن هذا بدا لي غير كافٍ. بعد كل شيء ، ليس لدى كل منزل NAS مع جهاز افتراضي أو خادم يمكنك من خلاله رفع علامة النجمة ، ولكن كل منزل تقريبًا لديه جهاز توجيه!
المشاكل المحتملة وحلها مع خادم افتراضيفي عملية إنشاء الخادم وإعادة توجيه المنفذ ، اتضح أن تشغيل جهازين افتراضيين وخادم فعلي واحد على نفس منفذ الشبكة ليس فعالًا للغاية. كان الحل الأبسط هو الاستفادة من نظام المحاكاة الافتراضية واختيار واجهة شبكة منفصلة لجهاز افتراضي. اتضح أنه من السهل جدًا القيام بذلك باستخدام أدوات QNAP المضمنة. بعد ذلك ، بقي الجهاز الظاهري NAS + 1 نفسه على واجهة الشبكة الأولى ، والجهاز الظاهري الثاني على واجهة الشبكة الثانية.
الخطوة الثانية: رفع النجمة على جهاز التوجيهحدث أن أستخدم موفر Yota ، لكنني لا أستخدم أجهزة التوجيه الأصلية الخاصة بهم. لقد استقرت لفترة طويلة على جهاز توجيه ممتاز من Zyxel - Keenetic LTE. قبل عامين ، اختبرته بالفعل في أقسى ظروف المناطق النائية ، وكنت راضيًا تمامًا - هناك
مادة منفصلة حول هذا الأمر في حبري.
في أحدث البرامج الثابتة لـ NDMS ، أو بشكل أكثر دقة ، بدءًا من البرامج الثابتة 2.08.B ، يتم تضمين دعم حزم OPKG لعائلة Zyxel Keenetic من أجهزة التوجيه. هذا يعني أنه يمكنك وضع البرامج الأكثر تنوعًا. (هناك الكثير من
البرامج التي تم تكييفها لموجهات Zyxel) فلماذا لا تضع النجمة هناك؟
من المهم أن يحتوي جهاز التوجيه على 128 ميجابايت على الأقل من ذاكرة الوصول العشوائي. لم يقل من فعله.
الأمر أكثر متعة لأن متخصصي Zyxel قاموا حتى بإعداد
دليل لنشر العلامة النجمية لأجهزة التوجيه الخاصة بهم. من حيث المبدأ ، لنشر الاتصالات الهاتفية على جهاز توجيه ، يكفي اتباع التعليمات خطوة بخطوة. وسأخبرك كيف تحسّنت وأدخلت عمل هذا النظام إلى النظام الذي كان يدور على خادم افتراضي منفصل.
أول شيء صادفته كان مشكلة غير واضحة في بدء تشغيل جهاز التوجيه بعد إعادة تشغيل البرنامج. اتضح أن محرك الأقراص المحمول الخاص بي ، المتصل بمنفذ USB لجهاز التوجيه ، يستهلك التيار حتى 0.16A. تبين أن هذا كافٍ بحيث لا يمكن لمودم LTE في جهاز التوجيه Zyxel Keenetic LTE أن يبدأ بشكل دوري. تم علاج كل شيء عن طريق توصيل محرك أقراص محمول عبر لوحة وصل USB خارجية بطاقة إضافية. استغرق اختبار الزمن من قبل العديد من الناس
D-Link DUB-H7 . هذا أنهى المشاكل. أعتقد أن أجهزة التوجيه مع زوج من منافذ USB ستعمل بدون هذه العكازات.
الآن دعنا ننزل إلى إعدادات النجمة. هنا تحتاج بالفعل إلى تحرير جميع الأقلام. هناك طريقتان: راجع SSH وقم بالتحرير هناك (MC موجود) أو انتقل حول الكرة إلى عنوان IP لجهاز التوجيه وتحرير الملفات باستخدام Notepad ++. كلا الخيارين يناسبني وبدأت العمل. تمت إضافة المستخدمين المسجلين في الملف متعدد الملفات في ملف sip.conf. يبقى فقط لجعل طابور صوتي. قمت بوضع ملف الصوت الترحيبي في
\\ 192.168.1.1 \ Asterisk-blue \ var \ lib \ asterisk \ voice
\ ru ، وأدخلت التغييرات التالية على ملف extension.conf.
جعل قائمة صوت في النجمة[الخارجية الصادرة]
؛ ------------------ Multifon - exten => _8 ..........، 1، NoOp ()
exten => _8 ..........، n، Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _8 ..........، n، Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _8 ..........، n، Answer ()
exten => _8 ..........، n، انتظر (2)
exten => _8 ..........، n، Playback (/ opt / var / lib / asterisk / voice / itsp_names / multifon)
exten => _8 ..........، n، Dial (SIP / Multifon / 7 $ {EXTEN: 1} ،، T)
exten => _8 ..........، n، Hangup ()
[multifon-الواردة] ؛ ===== مكالمة واردة من Multifon =====
exten => _________، 1، NoOp ()
exten => _________ ، n ، انتظر (4)
exten => _________، n، Answer ()
exten => _________، n (play)، NoOp ()
exten => _________ ، n ، انتظر (1)
exten => _________ ، n ، تشغيل (مرحبًا)
exten => _________ ، n ، انتظر (0.5)
exten => _________ ، n ، تشغيل (خاص)
exten => _________، n، Set (TIMEOUT (number) = 1)
exten => _________ ، n ، NoOp ()
exten => _________، n، WaitExten (7)
exten => _1،1، NoOp ()
exten => _1، n، Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _1، n، Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _1، n، Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _1، n (dial_ext)، Dial (SIP / 101.60، mt)
exten => _2،1، NoOp ()
exten => _2، n، Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _2، n، Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _2، n، Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _2، n (dial_ext)، Dial (SIP / 302.60، mt)
exten => _3،1، NoOp ()
exten => _3، n، Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _3، n، Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _3، n، Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _3، n (dial_ext)، Dial (SIP / 304.60، mt)
لذلك عملت. تمر المكالمات الصادرة عبر Multifon ، والمكالمات الداخلية بين المشتركين مجانية ، ويمكن توجيه المكالمات الواردة عبر Multifon إلى أي من المشتركين الثلاثة. لكن بدا لي أنه لا يكفي. ومن المؤسف أن مكبر الصوت فقط يعطي اتصال SIP بديلاً لخط خلوي. ماذا لو كنت تريد استخدام مزود خدمة جوال آخر؟ هناك حل للمشكلة!
الخطوة الثالثة: نعلق أي شركة اتصالات على النجمةكانت الخطوة الأخيرة هي ربط أي شركة اتصالات بخادم الاتصالات الهاتفية الخاص بنا. الحل الأكثر منطقية هو توصيل بوابة GSM-SIP ، والتي تعطي جذع SIP عند الإخراج. لكن تكلفة هذه الأجهزة لكل بطاقة SIM تبدأ من 9 آلاف روبل ، لذلك تقرر الذهاب في الاتجاه الآخر. نجد مودم مع دعم صوتي. في حالتنا ، اتضح أنه Huawei E3131. لقد تم وصف كيفية إلغاء قفله وتمكين ميزات الصوت بشكل متكرر على الشبكة ، لذلك لن أكون مشتتًا بسبب ذلك. نقوم بإدخال بطاقة SIM التي نحتاجها في منفذ لوحة وصل USB ، وقبل كل شيء ، قم بإيقاف تشغيله كمودم 3G في القائمة.

ثم نبدأ في تكوين ملفات النجمة. أولاً ، قم بتثبيت حزمة Dongle باستخدام الأمر في
opkg ، قم بتثبيت وحدة تحكم
asterisk11-chan-dongle . بعد التثبيت ، افتح ملف dongle.conf وقم بتحريره للحصول على ما يلي:
ملف العمل dongle.conf[دونجل]
الفاصل الزمني = 15
[التخلف]
السياق = الدونجل الوارد
rxgain = 0
txgain = 0
usecallingpres = نعم
انتظار المكالمات = لا
dtmf = inband
mindtmfgap = 45 ؛ الفاصل الزمني الأدنى من نهاية المعاينات DTMF من بداية التالي في مللي ثانية
mindtmfduration = 80 ؛ الحد الأدنى لمدة نغمة DTMF بالمللي ثانية
mindtmfinterval = 200 ؛ الفاصل الزمني الأدنى بين نهايات DTMF من نفس الأرقام في مللي ثانية
[GSM1]
الصوت = / dev / ttyUSB1
البيانات = / dev / ttyUSB2
imei = ***************** ، E3131 - أدخل مودم IMEI
احفظ الملف وانتقل إلى ملف extension.conf. يمكن التعليق على multifon وإضافته للعمل مع المودم.
نسجل لتشغيل المكالمات عبر مودم USB في ملف extension.conf[دونجل المنتهية ولايته] ؛ للمكالمات الصادرة:
؛ ------------------ GSM1 Donle - exten => _8 ..........، 1، NoOp ()
exten => _8 ..........، n، Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _8 ..........، n، Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _8 ..........، n، Answer ()
exten => _8 ..........، n، انتظر (2)
exten => _8 ..........، n، Playback (/ opt / var / lib / asterisk / voice / itsp_names / beeline-gsm)
exten => _8 ..........، n، Dial (DONGLE / GSM1 / 8 $ {EXTEN: 1} ،، T)
exten => _8 ..........، n، Hangup ()
[الدونجل الوارد] ؛ للمكالمات الواردة:
exten => s، 1، NoOp ()
exten => s ، n ، انتظر (4)
exten => s، n، Answer ()
exten => s، n (play)، NoOp ()
exten => s ، n ، انتظر (1)
exten => s ، n ، تشغيل (مرحبًا)
exten => s ، n ، انتظر (0.5)
exten => s ، n ، تشغيل (خاص)
exten => s، n، Set (TIMEOUT (digit) = 1)
exten => s، n، NoOp ()
exten => s، n، WaitExten (7)
exten => _1،1، NoOp ()
exten => _1، n، Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _1، n، Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _1، n، Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _1، n (dial_ext)، Dial (SIP / 101.60، mt)
exten => _2،1، NoOp ()
exten => _2، n، Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _2، n، Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _2، n، Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _2، n (dial_ext)، Dial (SIP / 302.60، mt)
exten => _3،1، NoOp ()
exten => _3، n، Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _3، n، Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _3، n، Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _3، n (dial_ext)، Dial (SIP / 304.60، mt)
الآن بدأ كل شيء وعمل كما ينبغي. يقبل النجمة المكالمات الواردة لرقم ويحدد المستخدم مكان الاتصال به عن طريق تحديد رقم. يتم إجراء مكالمة صادرة عبر أي مشغل للهاتف المحمول ، أينما كنت. أي أنه يمكنك إدخال بطاقة SIM في مودم USB والانتقال إلى أي مكان في العالم. هناك ما يكفي للوصول إلى الشبكة ، وعلى الهاتف الذكي / الكمبيوتر المحمول أن يكون لديك عميل SIP يتصل بخادم النجمة الخاص بك. يتم تشغيل الحل ويعمل. تمت معالجة مواطن الخلل الناتجة عن طريق إضافة لوحة وصل USB بالطاقة الخارجية واستبدال محرك الأقراص المحمول ، حيث تعطلت بعض محركات الأقراص. ستستغرق جميع الأعمال المتعلقة بتشغيل المهاتفة ليلة واحدة.
لمنع هذا العمل من الاختفاء ، يمكنك إنشاء نسخة احتياطية من العلامة النجمية بالكامل على محرك أقراص محمول باستخدام أمر واحد:
عمل نسخة احتياطية من النجمة على محرك أقراص محمولtar cvzf / opt / backup-`date "+٪ Y-٪ m-٪ d_٪ H-٪ M" .tar.gz -C / opt / bin etc lib home lib lost + found root sbin share share tmp usr var
مكافأة لأصحاب Zyxel Keenetic LTEوتجدر الإشارة إلى أن هذا الموجه مجهز أيضًا بعملي SIP مع منافذ FXS المادية ، والتي يمكنك توصيل أي هاتف تمثيلي بها. وهذا العميل يتصل بسهولة بخادم النجمة ، الذي يدور حوله.
مكافأة لأصحاب Zyxel Keenetic *إذا كنت لا ترغب في إنفاق المال على شراء هواتف SIP ، فإن خط أجهزة التوجيه Keenetic يدعم محول Zyxel DECT ، الذي يضيف وظيفة الاتصال الهاتفي SIP مع القدرة على توصيل أي هاتف لاسلكي DECT.
الخلاصةتم حل مشكلة الاتصال المجاني بين مشتركين متنوعين مع محادثات متكررة وطويلة. يتم أيضًا حل مهمة "وجود" المشترك في المدينة والتواصل المجاني مع مالك الرقم ، أينما كان المالك. يستفيد حل QNAP TS-451 NAS مع المحاكاة الافتراضية من القدرة على تكوين العلامة النجمية من خلال واجهة ويب. لكن الحل مع جهاز التوجيه لا يتطلب أي تكاليف تقريبًا. العلامة النجمية - إنها سهلة! لماذا تدفع مقابل التجوال عندما يكون الاتصال مجانيًا؟
أود أن أشكر فريق Zyxel بشكل منفصل على استجابته ومساعدته في التجريب وزيادة وظائف أجهزته.
ملحوظة: كما تم التعليق بشكل صحيح أدناه ، يحظر جميع مشغلي الهاتف المحمول تقريبًا استخدام بطاقة SIM لإنشاء بوابة GSM. في الواقع ، لن يمنعك أحد حتى تبدأ في التشغيل التجاري لبابتك. المؤلف ليس مسؤولا عن أفعالك.
ومع ذلك ، أعرف حالات استخدمت فيها الشركات عشرات بطاقات SIM في بوابات GSM لإجراء مكالمات رخيصة إلى أرقام الهواتف المحمولة.