Инструменты пользователя

Инструменты сайта


faq:goip

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
faq:goip [2022/08/04 14:47]
Портнов Алексей [Учетная запись провайдера на MikoPBX]
faq:goip [2024/03/04 09:04] (текущий)
Портнов Алексей [Кастомизация системных файлов]
Строка 19: Строка 19:
   * **Пароль** - укажем и запомним сложный пароль,​ с ним шлюз будет регистрироваться на MikoPBX   * **Пароль** - укажем и запомним сложный пароль,​ с ним шлюз будет регистрироваться на MikoPBX
  
 +===== Установка корректного CID клиента =====
 +
 +  - Откройте меню "​**Система**"​ - "​**Кастомизация системных файлов**" ​
 +  - Откройте на редактирование файл "​**/​etc/​asterisk/​extensions.conf**"​
 +  - Выберите режим "​**Добавлять в конец файла**"​
 +  - Добавьте следующий код: <​code>​[SIP-1659624077-incoming-custom]
 +exten => _[0-9*#​+a-zA-Z][0-9*#​+a-zA-Z]!,​1,​NoOp(------)
 + same => n,​Set(tmpRpid=${PJSIP_HEADER(read,​Remote-Party-ID)})
 + same => n,​ExecIf($["​x${tmpRpid}"​ != "​x"​]?​Set(fromCid=${CUT(CUT(tmpRpid,​@,​1),:,​2)}))
 + same => n,​ExecIf($["​${fromCid}x"​ != "​x"​]?​Set(CALLERID(num)=${fromCid}))
 + same => n,​ExecIf($["​${fromCid}x"​ != "​x"​]?​Set(CALLERID(name)=${fromCid}))
 + same => n,return
 + </​code>​
 +  - Идентификатор "​**SIP-1659624077**"​ замените на тот, что отображается в поле "​**Логин**"​. ​
 ===== Настройка шлюза ===== ===== Настройка шлюза =====
  
Строка 32: Строка 46:
  
   * **Config Mode** - выберем **Single Server Mode**   * **Config Mode** - выберем **Single Server Mode**
-  * **Authentication ID**, **Phone Number**, **Display Name** - укажем имя учетной записи провайдера ​аскозии ​в формате **SIP-PROVIDER-XXXXXXXXXXXXX…** +  * **Authentication ID**, **Phone Number**, **Display Name** - укажем ​ID (логин) учетной записи провайдера в формате **SIP-XXXXXXXXXXXXX…** 
-  * **Password** - укажем пароль из учетной записи провайдера, созданного на аскозии +  * **Password** - укажем пароль из учетной записи провайдера 
-  * **SIP Proxy**, **SIP Registrar**,​ **Home Domain** - укажем IP адрес ​аскозии+  * **SIP Proxy**, **SIP Registrar**,​ **Home Domain** - укажем IP адрес ​MikoPBX
  
-Далее в настройке **Routing Prefix** необходимо настроить префиксы номеров для выбора линии при исходящем вызове. Для Line1 укажем префикс 1, для Line2 укажем префикс 2 и т.д. Позже ​на аскозии ​мы добавим маршруты исходящих звонков для каждой SIM карты, перед набором к номеру будет добавляться необходимый префикс.+Далее в настройке **Routing Prefix** необходимо настроить префиксы номеров для выбора линии при исходящем вызове. Для Line1 укажем префикс 1, для Line2 укажем префикс 2 и т.д. Позже мы добавим маршруты исходящих звонков для каждой SIM карты, перед набором к номеру будет добавляться необходимый префикс.
  
 3) Перейдем на вкладку **Call Out**. Перед совершением исходящего звонка необходимо обработать номер телефона и удалить префикс,​ с которым пришел номер от АТС. Для первого канала **CH1** в поле **Dial Plan** укажем правило "​1:​-1"​ (если номер начинается на 1, то первая цифра будет удалена,​ и вызов уйдет через первый канал). Переключимся на **CH2**, в поле **Dial Plan** укажем правило "​2:​-2"​ (если номер начинается на 2, то первая цифра будет удалена,​ и вызов уйдет через второй канал). И так далее. 3) Перейдем на вкладку **Call Out**. Перед совершением исходящего звонка необходимо обработать номер телефона и удалить префикс,​ с которым пришел номер от АТС. Для первого канала **CH1** в поле **Dial Plan** укажем правило "​1:​-1"​ (если номер начинается на 1, то первая цифра будет удалена,​ и вызов уйдет через первый канал). Переключимся на **CH2**, в поле **Dial Plan** укажем правило "​2:​-2"​ (если номер начинается на 2, то первая цифра будет удалена,​ и вызов уйдет через второй канал). И так далее.
Строка 42: Строка 56:
 {{ :​faq:​goip4_callout.png |}} {{ :​faq:​goip4_callout.png |}}
  
-4) Настроим переадресацию входящих звонков на SIP линию. Перейдем на страницу **Call In**. Для каждого GSM канала в поле **Forwarding to VoIP Number** укажем номер телефона,​ с которым звонок будет направлен на АТС аскозию. В нашем случае для **CH1** мы указали мобильный номер, который соответствует этой sim. Аналогичным образом для **CH2, CH3, CH4** нужно указать номера соответствующих sim карт. ​+4) Настроим переадресацию входящих звонков на SIP линию. Перейдем на страницу **Call In**. Для каждого GSM канала в поле **Forwarding to VoIP Number** укажем номер телефона,​ с которым звонок будет направлен на MikoPBX. В нашем случае для **CH1** мы указали мобильный номер, который соответствует этой sim. Аналогичным образом для **CH2, CH3, CH4** нужно указать номера соответствующих sim карт. ​
  
 5) В разделе «**Misc**» 5) В разделе «**Misc**»
  
-« **CID Forward Mode**» выставляем значение «**Use ​CID as SIP Caller ​ID**» +« **CID Forward Mode**» выставляем значение «**Use ​Remoe Party ID**» 
-{{:faq:7misc.png?400|}} +{{ :faq:goip-rpid.png?600 |}}
  
  
Строка 68: Строка 81:
 2) Настроим исходящую маршрутизацию через каждую sim карту. Перейдем на страницу **Маршрутизация - Исходящие маршруты**. Добавим новое правило для звонков через первую sim: 2) Настроим исходящую маршрутизацию через каждую sim карту. Перейдем на страницу **Маршрутизация - Исходящие маршруты**. Добавим новое правило для звонков через первую sim:
  
-{{ :faq:goip4_ask_out_rout_mts.png |}}+{{ :faq:goip4_ask_out_rout_mts_2.png |}}
  
-Звонки на номера соответствующие шаблону 8911XXXXXXX,​ будем отправлять через провайдера GoIP4, перед набором к номеру будем добавлять префикс 1.+Звонки на номера соответствующие шаблону 8911XXXXXXX ​или 7911XXXXXXX, будем отправлять через провайдера GoIP4, перед набором к номеру будем добавлять префикс ​**1+**.
  
-  * **Номер начинается с** - укажем начало набираемого номера,​ в нашем случае ​8911+  * **Номер начинается с** - укажем начало набираемого номера,​ в нашем случае ​(7|8)911
   * **Остальная часть номера состоит...** - 7 цифр   * **Остальная часть номера состоит...** - 7 цифр
-  * **Перед тем как начать звонок отсекаем** - цифр +  * **Перед тем как начать звонок отсекаем** - цифр 
-  * **Затем добавляем к номеру** - 1+  * **Затем добавляем к номеру** - 1+
  
 Добавим новое правило для звонков через вторую sim: Добавим новое правило для звонков через вторую sim:
  
-{{ :faq:goip4_ask_out_rout_megafon.png |}}+{{ :faq:goip4_ask_out_rout_megafon_2.png |}}
  
-Звонки на номера с шаблоном 8926XXXXXXX,​ будем отправлять через провайдера GoIP4, перед набором к номеру будем добавлять префикс 2.+Звонки на номера с шаблоном 8926XXXXXXX ​или 7926XXXXXXX, будем отправлять через провайдера GoIP4, перед набором к номеру будем добавлять префикс ​**2+**.
  
 Аналогичным образом можно настроить правила для звонков через другие sim. Аналогичным образом можно настроить правила для звонков через другие sim.
Строка 87: Строка 100:
 Правила настройки исходящих маршрутов подробно описаны на [[https://​wiki.mikopbx.com/​outbound-routes|wiki]]. Правила настройки исходящих маршрутов подробно описаны на [[https://​wiki.mikopbx.com/​outbound-routes|wiki]].
  
-На этом настройка подключения шлюза к Аскозии ​завершена. Можно тестировать входящие и исходящие звонки через GSM шлюз.+На этом настройка подключения шлюза к MikoPBX ​завершена. Можно тестировать входящие и исходящие звонки через GSM шлюз. 
 + 
 +====== SMS to Telegram ====== 
 + 
 +===== Настройки Telegram ===== 
 + 
 +Для начала через чат Telegram следует написать боту **[[https://​t.me/​BotFather|@BotFather]]**. Этот бот позволит создать и настроить вашего нового бота для интеграции с MIKOPBX. 
 +  - Отправляем боту команду<​code>/​start</​code>​ 
 +  - Команда создания нового бота<​code>/​newbot</​code>​ 
 +  - Отправляем имя нашего нового бота. К примеру <​code>​MIKOPBX_NEW_BOT</​code>​ 
 +  - Сохраните значение «**token**» он понадобится для настройки со стороны АТС 
 +  - Создайте новую "​**группу**"​ 
 +  - Перешлите любое сообщение из группы боту [[https://​t.me/​getmyid_bot| @getmypid_bot]] 
 +  - Сохраните значение "chat ID", для пользователя значение вида **190389360**,​ для группы отрицательное **-4190389360** 
 + 
 +===== Настройка MikoPBX ===== 
 + 
 + 
 +==== Приложение Dialplan ==== 
 + 
 +  - В разделе "​**Модули**"​ - "​**Приложения диалплан**"​ создаем новое:​ 
 +  - Наименовеание - "​**Переслать sms в telegram**"​ 
 +  - Тип кода "​**PHP-AGI**"​ 
 +  - Программный код <​code><?​php 
 +require_once '​Globals.php';​ 
 +use \GuzzleHttp\Client;​ 
 + 
 +const API_KEY = '';​ 
 +const CHAT_ID = '';​ 
 + 
 +$agi = new MikoPBX\Core\Asterisk\AGI();​ 
 +$message ​ = str_replace( 
 +    ['​n'​],​ 
 +    ["​\n"​],​  
 +    $argv[1]??""​);;​ 
 +$did      = $agi->​request['​agi_extension'​];​ 
 +$agi->​verbose($message,​ 3); 
 + 
 +$TEXT = " 
 +SMS на номер: $did 
 +От: $message 
 +"; 
 + 
 +$apiURL = '​https://​api.telegram.org/​bot'​ . API_KEY . '/';​ 
 +$client = new Client([ 
 +    '​base_uri'​ => $apiURL, 
 +    '​timeout'​ => 1, 
 +    '​http_errors'​ => false, 
 +]); 
 +try { 
 +    $client->​post( '​sendMessage',​ ['​query'​ => ['​chat_id'​ => CHAT_ID, '​text'​ => $TEXT]] ); 
 +}catch (Throwable $e){ 
 +}</​code>​ 
 +  - Сохраните изменения 
 +  - В адресной строке браузера нужно скопировать идентификатор приложения,​ он имеет вид "​**DIALPLAN-APP-A4A4D30C**"​.  
 + 
 +<note tip>"​**API_KEY**"​ - токен телеграм бота  
 + 
 +"​**CHAT_ID**"​ - идентификатор телеграм чата (группы). см. статью</​note>​ 
 + 
 +==== Кастомизация системных файлов ==== 
 + 
 +  - Перейдем в раздел "​**Кастомизация системных файлов**"​ 
 +  - Добавьте в конец файла <​code>/​etc/​asterisk/​extensions.conf</​code>​  
 +  - Текст: <​code>​[messages-from-goip] 
 +exten => _[0-9*#​+a-zA-Z]!,​1,​AGI(DIALPLAN-APP-A4A4D30C.php,​ "​${MESSAGE(body)}"​) 
 +    same => n,​hangup() 
 +exten => _[hit],​1,​Hangup()</​code>​ 
 + 
 +<note tip>"​**DIALPLAN-APP-A4A4D30C**"​ - в данном коде - это идентификатор приложения.  
 +Сохраните изменения.</​note>​  
 + 
 +==== Провайдер ==== 
 + 
 +Для провайдера MikoPBX "​**Тип учетной записи**"​ - **Аутентификация по IP, без пароля** 
 +<note tip>​Если будет выбран другой тип, то при пересылке sms не будет пройдена авторизация.</​note>​ 
 + 
 +"​**Расширенные настройки**"​ для провайдера MikoPBX - нужно прописать:​ 
 +<​code>​ 
 +[endpoint] 
 +message_context = messages-from-goip 
 +</​code>​ 
 + 
 +==== Настройка GoIP ==== 
 +  - Перейдите в раздел "​**Configurations**"​ - "​**SMS**"​ 
 +  - Для каждого канала CH1 / CH2 ... CHN выполните настройку:​ 
 +  - "**SMS to VoIP**"​ (верхнее) - "​**Call Function**"​ 
 +  - "​**Call mode**"​ - "​**Mode 1**" 
 +  - "**SMS to VoIP**"​ (нижнее) - укажите номер телефона sim карты 
 +{{ :​faq:​1820055447-2-2.png?​700 |}}
  
 +[[faq:​|Обратно к инструкциям]]
  
faq/goip.1659624457.txt.gz · Последние изменения: 2022/08/04 14:47 — Портнов Алексей