VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

FreePBX, добавление буквенного префикса

WEB GUI и не только WEB

Модераторы: stas2k, april22, Zavr2008

Ответить
alexusbbb
Сообщения: 3
Зарегистрирован: 12 мар 2025, 12:53

FreePBX, добавление буквенного префикса

Сообщение alexusbbb »

Приветствую
Вопрос от начинающего
Провайдер хочет получить буквы в префиксе. Есть ли возможность во FreePBX 16 передать буквеный префикс?


Есть ли у вас возможность в номере В указывать RN (формат D7720) или идентификатор региона (формат CE77)?
Glukinho
Сообщения: 678
Зарегистрирован: 07 янв 2011, 20:05

Re: FreePBX, добавление буквенного префикса

Сообщение Glukinho »

Если не получается через веб, я бы пробовал что-то писать в extensions_custom.conf в контексты [outbound-allroutes-custom], [outrt-<N>-custom] (где <N> - номер outbound route, смотреть в extensions_additional.conf - контекст [outbound-allroutes]), [macro-dialout-trunk-custom]

Правда, там все транки и маршруты идентифицируются номерами начиная с 1, поэтому всё это слетит при изменении состава транков/маршрутов.
Glukinho
Сообщения: 678
Зарегистрирован: 07 янв 2011, 20:05

Re: FreePBX, добавление буквенного префикса

Сообщение 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
Glukinho
Сообщения: 678
Зарегистрирован: 07 янв 2011, 20:05

Re: FreePBX, добавление буквенного префикса

Сообщение 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,)
Glukinho
Сообщения: 678
Зарегистрирован: 07 янв 2011, 20:05

Re: FreePBX, добавление буквенного префикса

Сообщение Glukinho »

ещё пришло в голову, что можно же просто сделать custom trunk (вместо sip/pjsip) и в custom dial string прописать что-то типа: SIP/provider/abc$OUTNUM$xyz
где abc, xyz - нужные вам префиксы/суффиксы
и уже на этот custom trunk направитьь исходящий маршрут.
alexusbbb
Сообщения: 3
Зарегистрирован: 12 мар 2025, 12:53

Re: FreePBX, добавление буквенного префикса

Сообщение alexusbbb »

Спасибо, сегодня попробую предложенные варианты
alexusbbb
Сообщения: 3
Зарегистрирован: 12 мар 2025, 12:53

Re: FreePBX, добавление буквенного префикса

Сообщение alexusbbb »

В настройках транка на вкладке "Dial Number Manipulation Rules" есть опция строка Outbound Dial Prefix
В ней можно указать цифробуквенный префикс и подмена произойдёт корректно, по крайней мере в sngrep отобразился верный номер. Попробовал разные варианты, все равнополучаю 403 - forbidden, пока жду ответа от T2.
huga56
Сообщения: 1
Зарегистрирован: 20 мар 2025, 04:58

Re: FreePBX, добавление буквенного префикса

Сообщение 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 и посмотреть, какие параметры передаются провайдеру.
Snow Rider 3D universe
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH