Страница 1 из 1

callerid только на одном транке

Добавлено: 10 июл 2015, 14:50
april22
Здравствуйте !
хотел поделится соей работой .

дано FreePBX-distro
много всяких транков .
задача на одном из транков , в зависимости от абонента ( транзитный \не транзитный ) необходимо присваивать разные CallerID При выходе с этого транка, на других транках надо сохранить.

скопировал полностью macro-dialout-trunk в extensions_override_freepbx.conf

нашёл строчку

Код: Выделить всё

exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS})
в разделе Global нашёл имя транка им оказался OUT_3.
перед Диалом
написал

Код: Выделить всё

exten => s,n,ExecIF($["${OUT_${DIAL_TRUNK}}"="${OUT_3}"]?Macro(cal-id,${CALLERID(number)})
и в кастомном

Код: Выделить всё

macro-cal-id
exten => s,1,NoOp(-------${ARG1}-----------------------------${CALLERID(number)}----------------)
exten => s,n,Set(CALLERID(number)=1)
exten => s,n,NoOp(тут будет всякая подстановка определителя ); процедура доставания из ASTDB номера (своя ветка) \или запрос в MySql
exten => s,n,Execif($["${CALLERID(number)}"="1"]?Set(CALLERID(number)=00000000))
Не пинайте сильно , если решение кривое - удалите тему
если есть решение более красивое - готов выслушать .

всем спасибо

Re: callerid только на одном транке

Добавлено: 10 июл 2015, 15:06
ded
в зависимости от абонента ( транзитный \не транзитный ) необходимо присваивать разные CallerID:
локальным (не транзитным) укажите нужный CID в поле Outbound CallerID
а на транке укажите общий закрывающий, для транзитных.
Локальные будут выбегать со своим CID, транзитные - со своим.

Re: callerid только на одном транке

Добавлено: 10 июл 2015, 15:11
april22
ded писал(а):локальным (не транзитным) укажите нужный CID в поле Outbound CallerID
Это хорошо, а если этот локальный абонент звонит по другому транку ?
он уйдет с тем CallerID, который у него прописан - а это не надо.

Re: callerid только на одном транке

Добавлено: 10 июл 2015, 18:52
ded
Всё регулируется установками Caller ID на
- абонентах
- маршрутах
- транках
Читайте документацию как наследуются приоритеты!

Re: callerid только на одном транке

Добавлено: 10 июл 2015, 20:33
april22
а как быть если транзитному номеру в транк 1
1222 надо уйти 74997050001
а
1223 надо уйти 74997050002

а в транк3
без изменений .

номера "приехали" в астериск по E1

Re: callerid только на одном транке

Добавлено: 10 июл 2015, 21:25
ded
По какому критерию транзитные номера 1222 и 1223 уходят в транк 1, транк 2 и транк 3?
Используй модуль Set Caller ID, его можно встраивать в цепочки условий.

Re: callerid только на одном транке

Добавлено: 10 июл 2015, 22:19
april22
в зависимости от набираемого номера

на транк 1 - 89Х.
на транк 2 - 4х,

но не понял как его использовать , не могли бы пояснить

Re: callerid только на одном транке

Добавлено: 10 июл 2015, 22:59
ded
Я подумал - придумал как без этого модуля. Надо использовать специфические маршруты с фильтром по CID)
Создаём исходящий маршрут
на транк 1 - 89Х./1222 и ставим
Caller ID (CID) для маршрута 74997050001

Создаём исходящий маршрут
на транк 2 - 4Х./1222, и ставим
Caller ID (CID) для маршрута 74951234567

Создаём исходящий маршрут
на транк 1 - 89Х./1223 и ставим
Caller ID (CID) для маршрута 74997050002
и т.д.

Re: callerid только на одном транке

Добавлено: 11 июл 2015, 06:41
april22
Приклоняю колено ... о таком решении я не додумался . Плюс его в том что можно использовать еще и маски в написании маршрутов .