Один из вариантов интеграции позволяет получать данные о звонках пользователей по протоколу RADIUS. В этом варианте сервис eltex-ngw ожидает пакет radacct-stop (Acct-Status-Type = Stop), в котором в параметре Calling-Station-Id содержится номер телефона позвонившего пользователя.
Настройка:
1. В /etc/eltex-ngw/rtk_sbc.conf в параметре NUMBERS_FOR_INCOMING_CALLS нужно указать номер шлюза, который ожидает звонка от клиента. В параметрах и указывается прослушиваемый порт и radius-secret. Пример конфигурации:
RADIUS_PORT=8041 RADIUS_SECRET=1234 # 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
3. После этого необходимо перезапустить сервис eltex-ngw.
Проверка:
Для теста можно отправить acct-stop при помощи утилиты radclient:
echo 'Acct-Status-Type = Stop, Calling-Station-Id = "<sip:+79234567890@exmple.ru>"' | radclient localhost:8041 acct eltexsecret
Обратите внимание, что сервсис eltex-ngw при использовании конфигурации rtk_sbc ожидает номер именно в формате <sip:номер телефона@какой_то_текст> (например <sip:79234567890@a> ). Если формат номера будет не соответствовать, то возникнет ошибка обработки, в логах будет выведено сообщение:
2017-10-10 00:00:00.001 [SbcRadiusReceiver] WARN SbcRadiusReceiver:151 - Could not extract phone from Calling-Station-Id "79234567890"
Пример пакета radacct, который должен прилететь на eltex-ngw:
Дамп трафика с примером пакета: