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

Re: FreePBX attended transfer

Добавлено: 26 сен 2019, 06:18
dos
Добрый день.
>Может всё таки include => card, а не my-card?
да my-card

>где первый шагexten => s,1, ??, s,1, специально сделано в macro-dialout-one-predial-hook что бы в последующем свободно добавлять другие переменные. можно и переделать.
[macro-dialout-one-predial-hook]
include => bx-card
exten => s,1,SET(BXTYPEDIAL=ONEDIAL)

полная версия
[bx-card]
exten => s,n,GotoIf($["${CALL_ID}" = ""]?bitrixstart,1)

exten => s,n,ExecIf($["${BXTYPEDIAL}" = "RINGALL"]?AGI(bx/trunk.php,BXDIAL=SHOWCARD,CALL_ID=${CALL_ID},CASE=GROUP,EXTEN=${GROUPBX}))
exten => s,n,ExecIf($["${BXTYPEDIAL}" = "ONEDIAL"]?AGI(bx/trunk.php,BXDIAL=SHOWCARD,CALL_ID=${CALL_ID},CASE=EXTEN,EXTEN=${EXTTOCALL}))

exten => bitrixstart,1,GotoIf($["${BXTYPEDIAL}" = "ONEDIAL"]?bxstartexten,1)
exten => bitrixstart,n,GotoIf($["${BXTYPEDIAL}" = "RINGALL"]?bxstartgroup,1)


exten => bxstartexten,1,ExecIf($["${CRM_DIRECTION}" = "INBOUND" ]?AGI(bx/trunk.php,FROM=${FROM},TO=${EXTTOCALL},LINE=${LINE},BXDIAL=start,TYPE=2))
exten => bxstartexten,n,AGI(bx/trunk.php,BXDIAL=SHOWCARD,CALL_ID=${CALL_ID},CASE=EXTEN,EXTEN=${TOBX})

exten => bxstartgroup,1,ExecIf($["${CRM_DIRECTION}" = "INBOUND" ]?AGI(bx/trunk.php,BXDIAL=GETASSIGNEDBX,EXTEN=${NODEST}))
exten => bxstartgroup,n,ExecIf($["${CRM_DIRECTION}" = "INBOUND" ]?AGI(bx/trunk.php,FROM=${FROM},TO=${ASSIGNEDGROUPBX},LINE=${LINE},BXDIAL=start,TY
exten => bxstartgroup,n,AGI(bx/trunk.php,BXDIAL=SHOWCARD,CALL_ID=${CALL_ID},CASE=GROUP,EXTEN=${GROUPBX})

Когда идут разногласия:
Первый говорит зачем все с нуля, лучше freepbx
Второму приходится разбираться с этой кучей контекстов для интеграции.
Спасибо дед, буду дальше искать.

Re: FreePBX attended transfer

Добавлено: 26 сен 2019, 11:00
Zavr2008
ТС использует макросы,
Ну и что. Он же Битрикс цепляет - там важно сохранить исходный CallerID и не потерять!
А это как раз и удобно делать через контекст.
Ну если уж совсем тугой случай - там же писать сразу в astdb вместе с уник id и далее уже вытаскивать.

Re: FreePBX attended transfer

Добавлено: 26 сен 2019, 11:30
dos
Да Вы правы, цепляю битрикс, самая загвоздка в том что не нужно создавать лид на определенные внутренние номера. Пример:
1. Звонок поступил на номер 800 попал в приемную (лид не создается)
2. Приемная переводит на менеджера с подтверждением звонка
3. и вот тут идет проверка куда переводят, если менеджер участвует в создании (лида .....) то в создаваемый канал передается номер входящего и линия. Создается лид, получаем caller_id показываем карточку.

Может логика подводит?. При слепом переводе работает все на УРА!

Re: FreePBX attended transfer

Добавлено: 26 сен 2019, 11:43
Zavr2008
Вопрос как переводите - астер тоже нужно донастроить, на sendrpid=pai настроить, да rpid_update=yes воткнуть. В самом телефоне тоже принимать PAI вперед From..

Мы обычно не самопалом стыкуем - успешно сделали несколько проектов с ребятами http://bx24asterisk.ru
Причем мы же шлюзом Alvis по E1 стыкуемся со всякими панасами да LDK , правда всё в последнее время Avaya да CUCM -:)
Ничего, видит всё в результате - только стоит избегать ловушек со всякими Local.
Битриксу важно видеть ОБА абонента - и тот кто звонит, и кто последний в цепочке принял звонок. Также есть политика что если оба номера - внутренние, то в битриксе не фиксируется СОВСЕМ, политически.

Re: FreePBX attended transfer

Добавлено: 26 сен 2019, 12:01
dos
Данную реализацию видел)

>Битриксу важно видеть ОБА абонента - и тот кто звонит, и кто последний в цепочке принял звонок. Также есть политика что если оба номера - внутренние, то в битриксе не фиксируется СОВСЕМ, политически.
Можно и на первичный вешать создание, захламлять не хотелось. Самый сок показа карточки клиенту не работает с attended)

Re: FreePBX attended transfer

Добавлено: 26 сен 2019, 12:10
Zavr2008
Главное ребята развиваются - новая приблуда с переводом прямо встройкой в карточке в битриксе огонь, да и саппорт норм в отличии от информюнити.

Re: FreePBX attended transfer

Добавлено: 26 сен 2019, 20:13
ded
dos писал(а):Когда идут разногласия:
Первый говорит зачем все с нуля, лучше freepbx
Второму приходится разбираться с этой кучей контекстов для интеграции.
freepbx решает массу задач, которые надо кодить руками в самостоятельно инсталлированном Астериске без оболочки, готовыми конструкциями. И беда в том, что бригада писателей-разработчиков freepbx творит всё более и более сложные конструкции, их много! А если браться за внедрение своих разработок во freepbx, то после простого Астериска мозг, конечно, плывёт от огромного количества переменных, инклюдов и аппликаций.
Есть на это только общие рекомендации (типа predial-hook), но вот для меня лично attended transfer - глупая приблуда сама по себе, а если к ней прикручивать механизм таскания карточки клиента - совсем тухлая задача, незавидная. Надо менять бизнес процесс.
Zavr2008 писал(а): новая приблуда с переводом прямо встройкой в карточке в битриксе огонь, да и саппорт норм в отличии от информюнити.
Это пока голодные. Обрастут проектами, клиентами, и саппорт будет тормозить адски, как и все саппорты почти.

Re: FreePBX attended transfer

Добавлено: 27 сен 2019, 06:08
dos
>Есть на это только общие рекомендации (типа predial-hook), но вот для меня лично attended transfer - глупая приблуда сама по себе, а если к ней прикручивать механизм таскания карточки клиента - совсем тухлая задача, незавидная. Надо менять бизнес процесс.

Спасибо ded, увидел главное "глупая приблуда сама по себе". Свое решение в одной конторе работает отлично, но там и логика звонков иная.

Re: FreePBX attended transfer

Добавлено: 28 сен 2019, 13:52
dos
Решение есть и очень простое как оказалось. Шарим на канал входящего звонка переменные, в процессе прохода звонков, отбираем первичный канал, достаем переменную.

Всем спасибо!

Re: FreePBX attended transfer

Добавлено: 28 сен 2019, 18:54
Zavr2008
Ну я это собственно и предложил, через контекст это было самое простое решение.