Правило FreePBX/Asterisk для розділення заголовка 'To:' Telefonica/O2

FreePBX / Asterisk використовує контекст транку для вилучення номера DID, який потім зіставляється з номерами DID вхідних маршрутів.

При використанні транку від Telefonica/O2 заголовок To: вхідного SIP-повідомлення INVITE виглядає так:

to_header_example.txt
sip:0891234567;phone-context=telefonica.de@telefonica.de;user=phone

але при наборі E.164 FQTN він також може виглядати так:

to_header_e164_example.txt
sip:0891234567;phone-context=telefonica.de@telefonica.de;user=phone

При вилученні через контекст from-pstn-toheader отриманий DID буде 0891234567;phone-context=telefonica.de.

Це неможливо зіставити з DID, оскільки DID вхідних маршрутів можуть складатися лише з цифр, а не з крапок з комою.

Тому я написав цей власний контекст, який правильно вилучає DID:

from-pstn-toheader-o2.conf
[from-pstn-toheader-o2]
exten => _.,1,Goto(from-pstn,${CUT(CUT(CUT(PJSIP_HEADER(read,To),\;,1),@,1),:,2)},1)

Щоб установити цей контекст, додайте його до /etc/asterisk/extensions_custom.conf у FreePBX або Asterisk і перезавантажте Asterisk (якщо ви не знаєте, як це зробити, див. How to restart Asterisk in FreePBX, або просто перезапустіть ваш FreePBX)

Щоб використати цей контекст, перейдіть до налаштувань транку і встановіть Context у from-pstn-toheader-o2. Потім застосуйте конфігурацію.

Після цього ваш DID буде зіставлено правильно (0891234567 для прикладу вище), частина ;phone-context=telefonica.de буде проігнорована.


Дивіться схожі статті за категоріями: FreePBX Asterisk