Подключение GSM шлюза GOIP4
Это четырехпортовый шлюз, предназначенный для постоянного соединения между сетью GSM и сетью VoIP. С помощью GoIP4 пользователи могут осуществлять восходящие и нисходящие вызовы между этими сетями.
Выполните резервное копирование настроек шлюза.
Сбросьте шлюз к заводским настройкам.
В нашем примере шлюз GoIP4 будет регистрироваться на АТС MikoPBX. Для этого на АТС создадим учетную запись провайдера(SIP), со следующими параметрами:
Название провайдера - укажем подходящее название, к примеру GoIP4.
Тип учетной записи - «Входящая регистрация».
Логин - будет установлен равным ID провайдера, поменять возможности нет, пример логина «SIP-TRUNK-3A13EB43».
Пароль - укажем и запомним сложный пароль, с ним шлюз будет регистрироваться на MikoPBX.
В расширенных настройках провайдера, в поле "Дополнительные параметры", укажите:
[endpoint]
trust_id_inbound=yes
Нажмите "Сохранить".
Перейдем к настройка в web-интерфейсе шлюза GoIP:
Перейдем на вкладку Configurations - Preferences. Необходимо установить подходящий часовой пояс, отключить использование IVR:
Перейдем на вкладку Basic VoIP, укажем настройки подключения к АТС:
"Config Mode" - Single Server Mode
"Authentication ID", "Phone Number", "Display Name" - укажите ID (логин) учетной записи провайдера в формате SIP-TRUNK-XXXXXXXX…
"Password" - укажем пароль из учетной записи провайдера
"SIP Proxy", "SIP Registrar", "Home Domain" - укажем IP адрес MikoPBX
"Delete Callee Prefix while Dialing" - устанавливаем в значение Disable
"Routing Prefix" - для Line1 префикс 1, для Line2 префикс 2 и т.д.
Перейдем на вкладку Call Out.
Перед совершением исходящего звонка необходимо обработать номер телефона и удалить префикс, с которым пришел номер от АТС.
Для CH1, в поле Dial Plan настроим правило 1:-1
Для CH2, в поле Dial Plan настроим правило 2:-2
Так для каждого канал «CH*», где * - порядковый номер SIM канала
Для CH8, в поле Dial Plan настроим правило 8:-8
Правило dialplan ««1:-1» означает,что если номер начинается на 1, то первая цифра будет удалена, отсекаем префикс
ерейдем на страницу Call In для настройки переадресации входящих звонков на SIP линию.
CID Forward Mode выставляем значение «Use Remoe Party ID».
Для каждого GSM канала CH1, CH2… CH*, в поле Forwarding to VoIP Number, укажем номер телефона SIM без (только цифры).
На этом настройка шлюза завершена.
Перейдем на страницу Status - Summary. В колонке VoIP отображается статус подключения шлюза к АТС MikoPBX, Y - шлюз успешно зарегистрировался на АТС(по 4 линии статус N, т.к. на ней не установлена sim):
В интерфейсе АТС MikoPBX, перейдите на страницу "Маршрутизация" -> "Входящие маршруты".
Добавьте новое правило входящих звонков с первого канала GSM шлюза:
"Провайдер" - укажите ранее созданного провайдера GoIP4
"Дополнительный номер(DID)" - укажите номер, который Вы заполнили в поле Forwarding to VoIP Number для первого канала в настройках входящих звонков шлюза. В нашем случае это номер телефона первой sim карты
"Вызов будет переадресован на" - укажите номер, на который Вы хотите направить входящие звонки. В нашем случае это трубка с номером 911.
Нажмите "Сохранить".
Перейдите на страницу "Маршрутизация" -> "Исходящие маршруты".
Добавьте новое правило для звонков через первую sim:
Звонки на номера соответствующие шаблону 8911XXXXXXX или 7911XXXXXXX, будем отправлять через провайдера GoIP4, перед набором к номеру будем добавлять префикс 1+.
Номер начинается с - укажем начало набираемого номера, в нашем случае (7|8)911
Остальная часть номера состоит… - 7 цифр
Перед тем как начать звонок отсекаем - 1 цифр
Затем добавляем к номеру - 1+
Нажмите "Сохранить".
Добавим новое правило для звонков через вторую sim:
Звонки на номера с шаблоном 8926XXXXXXX или 7926XXXXXXX, будем отправлять через провайдера GoIP4, перед набором к номеру будем добавлять префикс 2+.
Аналогичным образом можно настроить правила для звонков через другие sim.
На этом настройка подключения шлюза к MikoPBX завершена. Можно тестировать входящие и исходящие звонки через GSM шлюз.
Используя модуль "Группы пользователей" можно назначить каждому сотруднику свою SIM карту для исходящих.
Настройка SMS в Telegram для шлюза GoIP4
Для начала через чат Telegram следует написать боту @BotFather. Этот бот позволит создать и настроить вашего нового бота для интеграции с MIKOPBX.
Отправляем боту команду
/start
Команда создания нового бота:
/newbot
Отправляем имя нашего нового бота. К примеру:
MIKOPBX_NEW_BOT
Сохраните значение «token»: он понадобится для настройки со стороны АТС.
Создайте новую «группу».
Перешлите любое сообщение из группы боту @getmypid_bot
Сохраните значение «chat ID», для пользователя значение вида "190389360", для группы - отрицательное, вида: "-4190389360".
В разделе «Модули» - «Приложения диалплан» создадите новое приложения, со следующими параметрами:
"Название" - Переслать 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
Перейдите в раздел «Configurations» - «SMS»
Для каждого канала CH1 / CH2 … CHN выполните настройку:
«SMS to VoIP» (верхнее) - «Call Function»
«Call mode» - «Mode 1»
«SMS to VoIP» (нижнее) - укажите номер телефона sim карты