FreePBX / Asterisk використовує контекст транку для вилучення номера DID, який потім зіставляється з номерами DID вхідних маршрутів.
При використанні транку від Telefonica/O2 заголовок To: вхідного SIP-повідомлення INVITE виглядає так:
sip:0891234567;phone-context=telefonica.de@telefonica.de;user=phoneале при наборі E.164 FQTN він також може виглядати так:
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]
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 буде проігнорована.