SMS в Telegram
Настройка SMS в Telegram для шлюза GoIP4
Настройки в Telegram
Для начала через чат Telegram следует написать боту @BotFather. Этот бот позволит создать и настроить вашего нового бота для интеграции с MIKOPBX.
Отправляем боту команду
/start
Команда создания нового бота:
/newbot
Отправляем имя нашего нового бота. К примеру:
MIKOPBX_NEW_BOT
Сохраните значение «token»: он понадобится для настройки со стороны АТС.
Создайте новую «группу».
Перешлите любое сообщение из группы боту @getmypid_bot
Сохраните значение «chat ID», для пользователя значение вида "190389360", для группы - отрицательное, вида: "-4190389360".
Настройки в MikoPBX
Приложение Dialplan
В разделе «Модули» - «Приложения диалплан» создадите новое приложения, со следующими параметрами:
"Название" - Переслать sms в telegram (произвольное).
"Тип кода" - PHP-AGI
Программный код:
<?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){
}

В адресной строке браузера нужно скопировать идентификатор приложения, он имеет вид: «DIALPLAN-APP-8B0D0964»:

Кастомизация системных файлов
Перейдите в раздел "Система" -> "Кастомизация системных файлов":

Перейдите к редактированию файла "/etc/asterisk/extensions.conf", установите режим "Добавлять в конец файла". Используйте следующий код:
[messages-from-goip]
exten => _[0-9*#+a-zA-Z]!,1,AGI(DIALPLAN-APP-8B0D0964.php, "${MESSAGE(body)}")
same => n,hangup()
exten => _[hit],1,Hangup()

Провайдер
Перейдите в раздел "Маршрутизация" -> "Провайдеры телефонии". Добавьте нового SIP-провайдера, со следующими параметрами:
"Название" - произвольное
"Тип учетной записи" - Аутентификация по IP адресу, без пароля.
"Хост или IP адрес" - IP-адрес Вашего шлюза

В "Расширенные настройки" -> "Дополнительные параметры" пропишите:
[endpoint]
message_context = messages-from-goip

Настройка GoIP
Перейдите в раздел «Configurations» - «SMS»
Для каждого канала CH1 / CH2 … CHN выполните настройку:
«SMS to VoIP» (верхнее) - «Call Function»
«Call mode» - «Mode 1»
«SMS to VoIP» (нижнее) - укажите номер телефона sim карты

Last updated
Was this helpful?