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

Re: Set CID

Добавлено: 18 ноя 2016, 16:19
skynetyar
Я так вижу что у Вас не 13 FreePBX ?!
В 13 одно из изменений как раз коснулось этого модуля, THIS WIKI HAS BEEN UPDATED FOR VERSION 13 OF YOUR PBX GUI
Как теперь его крутить вертеть не понятно ...

Re: Set CID

Добавлено: 18 ноя 2016, 16:32
ded
У нас есть всякие.

Re: Set CID

Добавлено: 21 ноя 2016, 11:33
skynetyar
Странно, вопрос остается открытым и непонятным для PBX 13 ...

Re: Set CID

Добавлено: 21 ноя 2016, 12:20
asterisker
Использую freepbx13.
Для своих целей сделал такой макрос:

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

[macro-fixclid]
exten => s,1,Set(WHOCALLS=${CALLERID(num)})
exten => s,n,GotoIf($["${WHOCALLS}" = "anonymous"]?end)
exten => s,n,Set(WHOCALLS=$[${IF($["${WHOCALLS:0:2}" = "+7"]?8${WHOCALLS:2}:${WHOCALLS})}])
exten => s,n,Set(WHOCALLS=$[${IF($["${LEN(${WHOCALLS})}" = "11" & "${WHOCALLS:0:1}" = "7"]?8${WHOCALLS:1}:${WHOCALLS})}])
exten => s,n,Set(WHOCALLS=$[${IF($["${LEN(${WHOCALLS})}" = "10"]?8${WHOCALLS}:${WHOCALLS})}])
exten => s,n,GotoIf($["${LEN(${WHOCALLS})}" > "11" | "${LEN(${WHOCALLS})}" < "10"]?end)
exten => s,n,Set(CALLERID(num)=${WHOCALLS})
exten => s,n(end),Noop

С международным форматом не заморачивался. Как использовать данный функционал через веб интерфейс - даже думать не хочу, маршрутизацию пишу руками.
Использование:

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

....
exten => s,n,Macro(fixclid)
....

Re: Set CID

Добавлено: 22 ноя 2016, 13:50
aleksashechka
Как то я не решился заморачиваться с ломанием логики freepbx и написал так:
[from-trunk-remove-plus]
exten => _X!,1,GotoIf($["${CALLERID(num):0:1}" != "+"]?noplus)
exten => _X!,n,Set(CALLERID(num)=${CALLERID(num):1})
exten => _X!,n,GotoIf($["${CALLERID(num):0:1}" != "7"]?noplus)
exten => _X!,n,Set(CALLERID(num)=${CALLERID(num):1})
exten => _X!,n(noplus),Goto(from-trunk,${EXTEN},1)

А потом в настройку транка уже в вебморде прописал этот контекст.
Не думаю, что это хорошее решение, но можете попробовать сделать так же.

Re: Set CID

Добавлено: 22 ноя 2016, 13:57
ded
Зачем так сложно?

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

[from-trunk-remove-plus]
exten => _+ZX.,1,Set(CALLERID(num)=${CALLERID(num):1})

Re: Set CID

Добавлено: 22 ноя 2016, 14:03
aleksashechka
ded, не очень часто в контексты залезаю поэтому так "тупенько" пишу.
Спасибо, разберусь и затем исправлю.

Re: Set CID

Добавлено: 23 ноя 2016, 11:06
skynetyar
ded писал(а):Зачем так сложно?

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

[from-trunk-remove-plus]
exten => _+ZX.,1,Set(CALLERID(num)=${CALLERID(num):1})
Поясните пожалуйста что это делает?
У нас вот например несколько SIP операторов и все они присылают в разных форматах кто то с +7ХХ кто с 8ХХ и просто 7ХХ и даже без плюсов и 7,8 , не вижу конструкцию иную от

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

[from-pstn-custom]
exten => _X.,1,ExecIF($[${VALID_EXTEN(fix-cid,${CALLERID(num)})}]?Gosub(fix-cid,${CALLERID(num)},1))

[fix-cid]
exten => _.,1,Set(CALLERID(all)=+7${CALLERID(num):-10:10})
exten => _.,n,Set(CALLERID(ANI-all)=${CALLERID(num)})
exten => _.,n,Return()
Может я не так все таки делаю?

Re: Set CID

Добавлено: 23 ноя 2016, 12:02
ded
skynetyar писал(а):Поясните пожалуйста что это делает?
Поясните пожалуйста - почему Вы до сих пор Книгу о будущем телефонии не прочли? Это необходимое условие на этом форуме для новичков. Там это всё описано.
skynetyar писал(а):Может я не так все таки делаю?
Может и не так.

Re: Set CID

Добавлено: 23 ноя 2016, 12:26
Zavr2008
ТС, Asterisk 13 стоит изучать ПОСЛЕ Asterisk 11. Ветка 13 пока еще СЫРОВАТА (IMHO).
Но еще полезнее - начать изучать именно Asterisk, а не FreePBX.