इंटरनेट पर कुछ अनुकूलन उदाहरण हैं। लेकिन उनमें से किसी ने भी मेरे लिए काम नहीं किया जैसा कि करना चाहिए। समस्याओं में से एक मुझे आने वाली कॉल के साथ लाइन की गलत परिभाषा थी। एक समय पर, मुझे इस समस्या को हल करने के लिए एक मैनुअल नहीं मिला। इसलिए, मैंने अपने निर्देशों के संस्करण को यहां पोस्ट करने का निर्णय लिया। उसी समय, और भविष्य के लिए अपने लिए एक पालना।
GoIP सेटअप
"विन्यास" - "प्राथमिकताएँ"
जीएसएम प्रवेश द्वार इंटरनेट के उपयोग के बिना एक स्थानीय क्षेत्र नेटवर्क में है। समय वितरित करने के लिए स्थानीय नेटवर्क पर NTP सर्वर सेट करें। रिबूट करने पर, जीएसएम गेटवे सिंक्रनाइज़ करता है और सही ढंग से वर्तमान समय को प्रदर्शित करता है। आप इस चरण को छोड़ सकते हैं, फिर आपको मैन्युअल रूप से गेटवे पर समय निर्धारित करना होगा। यदि आपके पास इंटरनेट तक पहुंच है, तो सार्वजनिक एनटीपी सर्वरों में से एक को निर्दिष्ट करें।
- Time Server में, NTP सर्वर का IP पता लिखें।
- समय क्षेत्र निर्दिष्ट करें, मेरे पास समय क्षेत्र है: GMT + 6।
- ऑटो रिबूट को अक्षम करें। नवीनतम फर्मवेयर संस्करण के साथ, जीएसएम गेटवे के ठंड के साथ समस्याएं नहीं देखी जाती हैं।
- आईवीआर को अक्षम करें।

"विन्यास" - "नेटवर्क"
- लैन पोर्ट - स्टेटिक आईपी
- IP पता - गेटवे का स्थिर IP पता निर्दिष्ट करें
"विन्यास" - "बेसिक वीओआईपी"
कॉन्फ़िगरेशन मोड - लाइन द्वारा कॉन्फ़िगर करें।
पहले चैनल के लिए जहां "लाइन 1 रूटिंग प्रीफ़िक्स" हम 1 निर्दिष्ट करते हैं, दूसरे 2, तीसरे 3, आदि के लिए।
प्रमाणीकरण आईडी: सिम कार्ड नंबर पंजीकृत करें (मैंने इसे 8/7 के बिना पंजीकृत किया है), उदाहरण के लिए 9651234567
SIP रजिस्ट्रार सर्वर: SIP सर्वर का आईपी पता (192.168.0.10)
Line 1 Authentication ID: 9651234567 Password: Routing Prefix: 1 Sip Proxy: SIP Registrar Server: 192.168.0.10:5160 Phone Nymber: 9651234567 Display Name: 9651234567
हम बाकी लाइनों के साथ भी ऐसा ही करते हैं।

"विन्यास" - "अग्रिम वीओआईपी"

"विन्यास" - "कॉल आउट"
प्रत्येक पंक्ति के लिए, एस्टेरिस्क के साथ आने वाले उपसर्ग को निर्दिष्ट करें और आउटगोइंग कॉल करने से पहले गेटवे चैनल पर हटा दिया जाएगा: उदाहरण के लिए, CH1 डायल योजना के लिए: 1: -1, CH2 डायल योजना: 2: -2, आदि।
Dial Plan: 1:-1

"कॉन्फ़िगरेशन" - "कॉल करें"
सेटअप निर्देश CID फॉरवर्ड मोड के लिए सुझाते हैं: आने वाली संख्या को सही ढंग से निर्धारित करने के लिए SID कॉलर आईडी के रूप में CID का उपयोग करें का चयन करें। मैंने Use Remote Party Id का चयन किया है। यह उस रेखा को सही ढंग से निर्धारित करने के लिए किया गया था जिसके साथ कॉल आया था। आने वाली संख्या सही ढंग से निर्धारित की जाती है।

यह GoIP सेटअप को पूरा करता है।
FreePBX 14 को कॉन्फ़िगर करना
कनेक्शन - चड्डी
"SIP (chan_sip) ट्रंक जोड़ें" चुनें।
जनरल टैब

टैब पर जाएं "डायलिंग मैनीपुलेशन रूल्स"
टेम्प्लेट लिखें। प्रत्येक ट्रंक के लिए उपसर्ग निर्दिष्ट करें। पहली पंक्ति 1 के लिए, दूसरी 2 के लिए, आदि।

टैब सिप सामान्य सेटिंग्स
निवर्तमान
Asterisk कई खातों के लिए एक ही पोर्ट का उपयोग करता है। यह उस रेखा को निर्धारित करने में एक समस्या पैदा करता है जिसके साथ कॉल आया था। एक इनकमिंग कॉल के साथ, अंतिम पंजीकृत दावत का उपयोग हमेशा किया जाता है और परिणामस्वरूप, गो लाइन जहां से कॉल आया था गलत तरीके से निर्धारित किया जाता है। लाइन को सही ढंग से निर्धारित करने के लिए, GoIP मोड का
उपयोग रिमोट पार्टी आईडी , और Astrisk,
Trustrpid = yes पर किया गया था ।
host=dynamic username=7712020077 secret=Djfgkjgfd!!!!234%$^%# type=friend context=from-trunk-sip-9651234567-custom trustrpid=yes

भेजे
in-9651234567 secret=Djfgkjgfd!!!!234%$^%# type=user context=from-trunk-sip-9651234567-custom

इसके बाद, एक्सटेंशन नंबर और कॉल समूह बनाएं। मैं यह नहीं बताऊंगा कि यह कैसे किया जाता है। FreePBX में, यह "एप्लिकेशन" मेनू - "एक्सटेंशन" और "एप्लिकेशन" - "कॉल समूह" के माध्यम से किया जाता है। सब कुछ काफी सरल और सहज है।
कनेक्शन - आउटबाउंड रूटिंग
"आउटबाउंड मार्ग जोड़ें" चुनें।
रूट सेटिंग्स टैब
मार्ग का नाम निर्दिष्ट करें, उदाहरण के लिए, all_line। अगला, हम उस क्रम में संकेत देते हैं जिसके माध्यम से आउटगोइंग कॉल की जाएगी।

टैब पर जाएं "डायलिंग नियम"
यहां हम आउटगोइंग नंबरों के लिए पैटर्न लिखते हैं।

शेष टैब डिफ़ॉल्ट रूप से छोड़ दिए जाते हैं। यह आउटगोइंग रूट के कॉन्फ़िगरेशन को पूरा करता है। आप कॉल करने का प्रयास कर सकते हैं।
यहां एक समस्या उत्पन्न हो सकती है कि कॉल उस क्रम में चड्डी के माध्यम से जाएंगे जिसमें उन्हें मार्ग में संकेत दिया गया है। जो बदले में इस तथ्य को जन्म देगा कि पहली तर्ज पर इकाइयां उन लोगों की तुलना में अधिक हो जाएंगी जो उनका पालन करते हैं। इस समस्या को हल करने के लिए, आप एक्सटेंशन_override_freepbx.conf का उपयोग करके आउटबाउंड मार्ग के नियमों को फिर से लिख सकते हैं।
लाइनों की संख्या के आधार पर, आप यादृच्छिक का उपयोग कर सकते हैं। दो पंक्तियों के लिए, उदाहरण के लिए, 1.2। मैं इस तरह कोड का उपयोग करता हूं
[outrt-sets](!) exten => _.,50,Set(a_rand_num=${RAND(1,2)}); same => n,GotoIf($["${a_rand_num}"<"2"]?${n}+1:${n}+2) same => n,GotoIf($["${GROUP_COUNT(OUT_1)}">="${OUTMAXCHANS_1}"]?${n}+1:out-1-cust) ... [outrt](outrt-sets) ; all_line exten => _+7XXXXXXXXXX,3,Goto(50) exten => _8XXXXXXXXXX,3,Goto(50)
कनेक्शन - इनबाउंड रूटिंग
इनबाउंड मार्ग जोड़ें।
जनरल टैब
इसके विवरण को निर्दिष्ट करें, उदाहरण के लिए - "इनबाउंड"।
अगला, अंतिम आइटम "सेट दिशा" चुनें, जिसमें हम मार्ग के अंतिम बिंदु का चयन करते हैं। मेरे मामले में, मैंने कॉल समूह को संकेत दिया ताकि कॉल किसी भी मुक्त ऑपरेटर के पास जाए।
वास्तव में, मेरे पास अधिक जटिल तर्क है। एक एजीआई स्क्रिप्ट का उपयोग करते हुए, मैं डेटाबेस में आने वाले नंबर की तलाश करता हूं, अगर मुझे यह मिल जाए, तो मैं इसे ऑपरेटर को भेज दूंगा जिसे इसे सौंपा गया है। जैबर के माध्यम से सिप क्लाइंट को कॉल प्राप्त करने से पहले मैं ऑपरेटर को ग्राहक के बारे में जानकारी के साथ एक संदेश भेजता हूं। यदि डेटाबेस में नंबर नहीं मिला है, तो कॉल समूह में जाता है।

यह सेटअप पूरा करता है। आप कॉल करने और प्राप्त करने का प्रयास कर सकते हैं।
निष्कर्ष
कई लोग FreePBX को कॉन्फ़िगर करना पसंद नहीं करते हैं, लेकिन एक नंगे तार डालते हैं। मुझे आईपी-टेलीफोनी के साथ शून्य अनुभव था, इसलिए एक समय पर पसंद FreePBX पर गिर गया। मुझे एडिटिंग कॉन्फिग्स की समस्या नहीं थी। कॉन्फिग फाइल एक्सटेंशन_custom.conf और एक्सटेंशन_override_freepbx.conf का उपयोग करके कोई भी बदलाव किया जा सकता है। यह पता लगाना इतना मुश्किल नहीं है। हमारा एक छोटा कॉल सेंटर है। GoIP सबसे बेहतर साबित हुआ। केवल एक चीज उनके मूल एसएमएस सर्वर द्वारा व्यवस्थित नहीं की गई थी। इसलिए, मेरा अपना लिखा गया था, जो एसएमएस संदेश भेजने और प्राप्त करने का समर्थन करता है, और एसएमएस वितरण की स्थिति भी दिखाता है। हमें फुल-फोन रिप्लेसमेंट मिला है।
एक सिप क्लाइंट के रूप में, हम JSSip लाइब्रेरी के आधार पर लिखे गए वेब फोन का उपयोग करते हैं, यह Firefox 68 और Chrome 76 में ठीक काम करता है। यदि मेरे पास समय है, तो मैं JsSip लाइब्रेरी का उपयोग करने पर अधिक विस्तृत निर्देश लिखूंगा। साथ ही अपना खुद का एसएमएस सर्वर बनाने पर एक अलग लेख।