Страница 1 из 1
FreePBX, добавление буквенного префикса
Добавлено: 12 мар 2025, 13:15
alexusbbb
Приветствую
Вопрос от начинающего
Провайдер хочет получить буквы в префиксе. Есть ли возможность во FreePBX 16 передать буквеный префикс?
Есть ли у вас возможность в номере В указывать RN (формат D7720) или идентификатор региона (формат CE77)?
Re: FreePBX, добавление буквенного префикса
Добавлено: 12 мар 2025, 18:04
Glukinho
Если не получается через веб, я бы пробовал что-то писать в extensions_custom.conf в контексты [outbound-allroutes-custom], [outrt-<N>-custom] (где <N> - номер outbound route, смотреть в extensions_additional.conf - контекст [outbound-allroutes]), [macro-dialout-trunk-custom]
Правда, там все транки и маршруты идентифицируются номерами начиная с 1, поэтому всё это слетит при изменении состава транков/маршрутов.
Re: FreePBX, добавление буквенного префикса
Добавлено: 12 мар 2025, 18:13
Glukinho
Еще можно в файле extensions_override_freepbx.conf полностью переписать маршрут, как-то так (внимание на выделенную жирным строку вместо закомментированной):
Код: Выделить всё
[outrt-1]
exten => _XXXXX.,1,Macro(user-callerid,LIMIT,EXTERNAL,)
exten => _XXXXX.,n,Noop(This is: "route_name" route. And pattern :_XXXXX.)
exten => _XXXXX.,n,Gosub(sub-record-check,s,1(out,${EXTEN},force))
exten => _XXXXX.,n,Set(__LAST_TRUNK=6)
exten => _XXXXX.,n,Gosub(sub-outrt_Iub24,${EXTEN},1(2,0,0,,,,${EXTEN}))
exten => _XXXXX.,n,ExecIf($[ "${CALLEE_ACCOUNCODE}" != "" ] ?Set(CDR(accountcode)=${CALLEE_ACCOUNCODE}))
exten => _XXXXX.,n,Set(_ROUTEID=2)
exten => _XXXXX.,n,Set(_ROUTENAME=route_name)
exten => _XXXXX.,n,Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})})
exten => _XXXXX.,n,ExecIf($["${KEEPCID}"!="TRUE" & ${LEN(${DB(AMPUSER/${AMPUSER}/outboundcid)})}=0 & ${LEN(${TRUNKCIDOVERRIDE})}=0]?Set(TRUNKCIDOVERRIDE=78007771020))
exten => _XXXXX.,n,Set(_CALLERIDNAMEINTERNAL=${CALLERID(name)})
exten => _XXXXX.,n,Set(_CALLERIDNUMINTERNAL=${CALLERID(num)})
exten => _XXXXX.,n,Set(_EMAILNOTIFICATION=FALSE)
exten => _XXXXX.,n,Set(_NODEST=)
;;;; exten => _XXXXX.,n,Macro(dialout-trunk,6,${EXTEN},,off)
[b]exten => _XXXXX.,n,Macro(dialout-trunk,6,abc${EXTEN}xyz,,off)[/b]
exten => _XXXXX.,n,Macro(outisbusy,)
В результате при звонке на номер 1234567 к провайдеру должо улететь:
abc1234567def
Re: FreePBX, добавление буквенного префикса
Добавлено: 12 мар 2025, 18:14
Glukinho
[outrt-1]
exten => _XXXXX.,1,Macro(user-callerid,LIMIT,EXTERNAL,)
exten => _XXXXX.,n,Noop(This is: "route_name" route. And pattern :_XXXXX.)
exten => _XXXXX.,n,Gosub(sub-record-check,s,1(out,${EXTEN},force))
exten => _XXXXX.,n,Set(__LAST_TRUNK=6)
exten => _XXXXX.,n,Gosub(sub-outrt_Iub24,${EXTEN},1(2,0,0,,,,${EXTEN}))
exten => _XXXXX.,n,ExecIf($[ "${CALLEE_ACCOUNCODE}" != "" ] ?Set(CDR(accountcode)=${CALLEE_ACCOUNCODE}))
exten => _XXXXX.,n,Set(_ROUTEID=2)
exten => _XXXXX.,n,Set(_ROUTENAME=route_name)
exten => _XXXXX.,n,Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})})
exten => _XXXXX.,n,ExecIf($["${KEEPCID}"!="TRUE" & ${LEN(${DB(AMPUSER/${AMPUSER}/outboundcid)})}=0 & ${LEN(${TRUNKCIDOVERRIDE})}=0]?Set(TRUNKCIDOVERRIDE=78007771020))
exten => _XXXXX.,n,Set(_CALLERIDNAMEINTERNAL=${CALLERID(name)})
exten => _XXXXX.,n,Set(_CALLERIDNUMINTERNAL=${CALLERID(num)})
exten => _XXXXX.,n,Set(_EMAILNOTIFICATION=FALSE)
exten => _XXXXX.,n,Set(_NODEST=)
;;;; exten => _XXXXX.,n,Macro(dialout-trunk,6,${EXTEN},,off)
exten => _XXXXX.,n,Macro(dialout-trunk,6,abc${EXTEN}xyz,,off)
exten => _XXXXX.,n,Macro(outisbusy,)
Re: FreePBX, добавление буквенного префикса
Добавлено: 12 мар 2025, 19:24
Glukinho
ещё пришло в голову, что можно же просто сделать custom trunk (вместо sip/pjsip) и в custom dial string прописать что-то типа: SIP/provider/abc$OUTNUM$xyz
где abc, xyz - нужные вам префиксы/суффиксы
и уже на этот custom trunk направитьь исходящий маршрут.
Re: FreePBX, добавление буквенного префикса
Добавлено: 13 мар 2025, 09:31
alexusbbb
Спасибо, сегодня попробую предложенные варианты
Re: FreePBX, добавление буквенного префикса
Добавлено: 13 мар 2025, 10:27
alexusbbb
В настройках транка на вкладке "Dial Number Manipulation Rules" есть опция строка Outbound Dial Prefix
В ней можно указать цифробуквенный префикс и подмена произойдёт корректно, по крайней мере в sngrep отобразился верный номер. Попробовал разные варианты, все равнополучаю 403 - forbidden, пока жду ответа от T2.
Re: FreePBX, добавление буквенного префикса
Добавлено: 20 мар 2025, 05:00
huga56
В extensions_custom.conf можно добавить обработку буквенных префиксов и трансляцию их в SIP-запросах. Некоторые провайдеры поддерживают вызовы по SIP URI, где можно передавать буквенные идентификаторы. Если провайдер требует, можно попробовать передавать идентификатор региона в Caller ID или SIP-заголовках.
Что касается RN (Routing Number) и CE (Country/Region Identifier), вам стоит уточнить у провайдера, в каком формате они ожидают эти данные и можно ли передавать их в SIP-запросах или в полях P-Asserted-Identity. Если у вас уже есть доступ к конфигурации FreePBX/Asterisk, можно попробовать отладить SIP-запросы через sip set debug on или pjsip set logger on и посмотреть, какие параметры передаются провайдеру.