Один из вариантов интеграции позволяет получать данные о звонках пользователей по протоколу RADIUS. В этом варианте сервис eltex-ngw ожидает пакет radacct-stop (Acct-Status-Type = Stop), в котором в параметре Calling-Station-Id содержится номер телефона позвонившего пользователя.
Настройка:
1. В Настроить файлы конфигурации на сервере:
В файле /etc/eltex-ngw/application.conf укажите конфигурационный файл для исходящих СМС:
Блок кода | ||||||
---|---|---|---|---|---|---|
|
...
Без форматирования | |
---|---|
| |
call {
// Incoming (user to service) call config
incoming.config = "sbc.conf"
// Outgoing (service to user) call config
outgoing.config = ""
} |
В файле /etc/eltex-ngw/gateway.d/sbc.conf укажите порт, secret и номер выделенного телефона:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
connection { port = 8041 secret = 1234 } common { incoming_call_numbers=[88001230123] # prefix to be applied to the phone number in Calling-Station-Id attribute PHONE_NUMBER_PREFIX= # numbers for receiving incoming calls # comma is a separator NUMBERS_FOR_INCOMING_CALLS=88001230123 |
2. в файле /etc/eltex-ngw/notification.properties нужно указать параметр:
Без форматирования |
---|
sms.gate.incoming.call.config=rtk_sbc.conf |
...
prefix=""
} |
Раздел connection:
port = порт который слушает sbc шлюз;
secret = radius-secret, который настроен на sbc шлюзе;
Раздел common:
incoming_sms_numbers = номер, выделенного телефона;
prefix = параметр добавляет заданный префикс в аккаунтинг-оповещения о входящих звонках с SBC.
Перезапустите службу NGW командой:
Блок кода | ||||
---|---|---|---|---|
| ||||
sudo service eltex-ngw restart |
Проверка:
Для теста можно отправить acct-stop при помощи утилиты radclient:
Без форматирования | ||||
---|---|---|---|---|
Блок кода | ||||
| ||||
echo 'Acct-Status-Type = Stop, Calling-Station-Id = "<sip:+79234567890@exmple.ru>"' | radclient localhost:8041 acct eltexsecret |
Обратите внимание, что сервсис сервис eltex-ngw при использовании конфигурации rtk_sbc ожидает .conf ожидает номер именно в формате <sip:номер телефона@какой_то_текст> (например <sip:79234567890@a> ). Если формат номера будет не соответствовать, то возникнет ошибка обработки, в логах будет выведено сообщение:
Без форматирования | ||||
---|---|---|---|---|
Блок кода | ||||
| ||||
2017-10-10 00:00:00.001 [SbcRadiusReceiver] WARN SbcRadiusReceiver:151 - Could not extract phone from Calling-Station-Id "79234567890" |
...
Scroll Ignore | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Дамп трафика с примером пакета:
|