Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
faq:goip [2023/03/21 09:08] Портнов Алексей [Учетная запись провайдера на MikoPBX] |
faq:goip [2024/03/04 09:04] (текущий) Портнов Алексей [Кастомизация системных файлов] |
||
---|---|---|---|
Строка 102: | Строка 102: | ||
На этом настройка подключения шлюза к MikoPBX завершена. Можно тестировать входящие и исходящие звонки через 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:|Обратно к инструкциям]] | ||