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

Сохранение номера при переадресации FreePBX

Обо всем касательно TrixBox, Elastix, AstPBX и всех других дистрибутивов

Модератор: april22

Сохранение номера при переадресации FreePBX

Сообщение awsswa » 31 июл 2017, 08:57

Сохранение номера при переводе к консультацией, условный перевод. Перевод по ##
Как сделать в старом Elastix тут - http://awsswa.livejournal.com/35179.html
Хочу в FreePBX ... и раз и монстер тайм
Прежде всего номер надо сохранить в какой нибудь переменной и она должна быть глобальной что бы не потерялась при переводе
смотрим код, ищем куда приходит начальный звонок
а приходит он вот сюда
[sub-record-check]
и где уже есть наша переменная в которую вносится номер и она глобальная
exten => s,n,Set(__FROMEXTEN=${IF($[${LEN(${AMPUSER})}]?${AMPUSER}:${IF($[${LEN(${REALCALLERIDNUM})}]?${REALCALLERIDNUM}:unknown)})})
УРА !!!! а вот и нет, не ура. Если смотреть лог то изначально она глобальная но дальше у же нет и идет присвоение простой переменной и при переадресации она теряется
exten => in,n,Set(FROMEXTEN=unknown)
exten => in,n,ExecIf($[${LEN(${CALLERID(num)})}]?Set(FROMEXTEN=${CALLERID(num)}))
Значит надо переписывать ...
ищем весь кусок [sub-record-check]
и копируем от начала до конца в extensions_override_freepbx.conf
меняем две строчки
exten => in,n,Set(__FROMEXTEN=unknown)
exten => in,n,ExecIf($[${LEN(${CALLERID(num)})}]?Set(__FROMEXTEN=${CALLERID(num)}))
А дальше уже как в Elastix
копируем весь [macro-user-callerid] в extensions_override_freepbx.conf
находим уже нужную часть и в конце перед строчкой exten => s,n,Set(CHANNEL(language)=${MASTER_CHANNEL(CHANNEL(language))}) делаем так:
Выглядит в живом виде вот так.
[macro-user-callerid]
include => macro-user-callerid-custom
exten => s,1,Set(TOUCH_MONITOR=${UNIQUEID})
и далее
Начало наше вставки
exten => s,n,NoOp(=========================================================================================)
exten => s,n,NoOp(==Свой кусок==${FROMEXTEN}==${TRANSFERERNAME}==${CALLERID(number)}==)
exten => s,n,ExecIf($[${LEN(${TRANSFERERNAME})} > 0]?Set(CALLERID(number)=${FROMEXTEN}))
; Если хотим и имя как номер телефона раскомментируем следующую строчку
; exten => s,n,ExecIf($[${LEN(${TRANSFERERNAME})} > 0]?Set(CALLERID(name)=${FROMEXTEN}))
exten => s,n,NoOp(==${CALLERID(number)}==${CALLERID(name)}==)
exten => s,n,NoOp(=========================================================================================)

Конец вставки
exten => s,n,Set(CHANNEL(language)=${MASTER_CHANNEL(CHANNEL(language))})
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2306
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Вернуться в Готовые VoIP дистрибутивы

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2008 — 2018 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH