Не получается подключить Askozia к Битрикс24

74 просмотров
спросил 07 Окт от Всеволод (420 баллов) в категории Тонкая настройка
редактировать 08 Окт от Всеволод

Здравствуйте!

Делаю всё по документации, в АТС вижу, что модуль успешно подключён к битрикс24.

Но сделать исходящий звонок из битрикс24 не могу.

На маршрутизаторе вижу, что входящие соединения идут, трафик не блокируется.

Куда смотреть? Что настраивать? Как решить? :)

Спасибо.

1 Ответ

0 голосов
ответил 07 Окт от boffart (47,110 баллов)
редактировать 09 Окт от boffart

https://wiki.mikopbx.com/modules:b24crm:bitrixapp

Перейдите в раздел «Телефония» - «Настройки» (Пункт может быть спрятан в кнопке «Еще»). Настройте «Номер для исходящего звонка по-умолчанию» - укажите созданный ранее вебхук

P.S. Обнаружили два критичных бага в модуле. Будут исправлены в новой версии. 

оставил комментарий 09 Окт от Всеволод (420 баллов)
sip2*CLI> dialplan show internal-originate
[ Context 'internal-originate' created by 'pbx_config' ]
  '_X!' =>          1. NoOP(Hint ${HINT} exten ${EXTEN} )         [pbx_config]
                    2. ExecIf($["${extenfrom1c}x" != "x"]?NoCDR()) [pbx_config]
                    3. ExecIf($["${extenfrom1c}x" != "x"]?Set(CALLERID(num)=${pt1c_cid})) [pbx_config]
                    4. ExecIf($["${extenfrom1c}x" != "x"]?Set(CALLERID(name)=${pt1c_cid})) [pbx_config]
                    5. ExecIf($["${SIPADDHEADER}x" != "x"]?SIPaddheader(${SIPADDHEADER})) [pbx_config]
                    6. ExecIf($["${peer_mobile}x" != "x"]?Set(ADDITIONAL_PEER=&Local/${peer_mobile}@outgoing/n)) [pbx_config]
                    7. GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN}),1}" == "1"]?${CONTEXT}-custom,${EXTEN},1) [pbx_config]
                    8. Dial(Local/${EXTEN}@internal-users/n${ADDITIONAL_PEER},60,TteKkHhb(originate_create_chan,s,1)) [pbx_config]

-= 1 extension (8 priorities) in 1 context. =-


>Для выполнения описанной выше команды выполните инструкции:
>https://wiki.mikopbx.com/faq:putty_log

Сделал, но при попытке позвонить из битрикс24 в консоли астериск ни одного сообщения.

Обновление до 2019.4.5 не изменило ситуацию.
оставил комментарий 09 Окт от boffart (47,110 баллов)
Давайте проверим:
Звонок совершается от имени пользователя
https://<PORTAL>/company/personal/user/584/

584 - это ID пользователя.

Набираемый номер телефона:
168

Токен web хука "application_token" начинается с:
oy62r731a5zh0xx

анализируем логи:

logread | grep 'Try call to'
должно быть пусто


Проверяем существует ли внутренний номер в плане набора АТС:
dialplan show 168@all_peers

По логу я не вижу внутреннего номера пользователя битрикс. Но для него лучше выполнить аналогичную проверку:
dialplan show <NUM>@internal-users
оставил комментарий 09 Окт от Всеволод (420 баллов)
Какие данные требуются от меня?
Просто через АТС я могу звонить на 168 и 170, между ними и на десятки других.
Если пробую сделать это с портала битрикс24. то ничего не получается.

sip2*CLI> dialplan show 168@all_peers
[ Context 'all_peers' created by 'pbx_config' ]
  '_.!' =>          1. ExecIf($[ "${EXTEN}" == "h" ]?Hangup())    [pbx_config]
                    2. Set(__FROM_CHAN=${CHANNEL})                [pbx_config]
                    3. ExecIf($["${OLD_LINKEDID}x" == "x"]?Set(__OLD_LINKEDID=${CDR(linkedid)})) [pbx_config]
                    4. ExecIf($["${CHANNEL(channeltype)}" != "Local"]?Gosub(set_from_peer,s,1)) [pbx_config]
                    5. ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Gosub(set_orign_chan,s,1)) [pbx_config]
                    6. ExecIf($["${CALLERID(num)}x" == "x"]?Set(CALLERID(num)=${FROM_PEER})) [pbx_config]
                    7. ExecIf($["${CALLERID(num)}x" == "x"]?Set(CALLERID(name)=${FROM_PEER})) [pbx_config]
                    8. ExecIf($["${CHANNEL(channeltype)}" == "Local" && "${FROM_PEER}x" == "x"]?Set(__FROM_PEER=${CALLERID(num)})) [pbx_config]
                    9. Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1) [pbx_config]
                    10. Gosub(${ISTRANSFER}dial,${EXTEN},1)       [pbx_config]
                    11. GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN}),1}" == "1"]?${CONTEXT}-custom,${EXTEN},1) [pbx_config]
                    12. Goto(peer_${FROM_PEER},${EXTEN},1)        [pbx_config]

-= 1 extension (12 priorities) in 1 context. =-


sip2*CLI> dialplan show 168@internal-users
[ Context 'internal-users' created by 'pbx_config' ]
  '_X!' =>          1. Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1) [pbx_config]
                    2. ExecIf($["${ISTRANSFER}x" != "x"]?Set(SIPADDHEADER01=${EMPTY_VAR}) [pbx_config]
                    3. ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Gosub(set_orign_chan,s,1)) [pbx_config]
                    4. Gosub(${ISTRANSFER}dial,${EXTEN},1)        [pbx_config]
                    5. ExecIf($["${SIPPEER(${EXTEN},status)}x" == "x"]?Goto(internal-num-undefined,${EXTEN},1)) [pbx_config]
                    6. ExecIf($["${DEVICE_STATE(SIP/${EXTEN})}" == "BUSY"]?Set(DIALSTATUS=BUSY)) [pbx_config]
                    7. GotoIf($["${DEVICE_STATE(SIP/${EXTEN})}" == "BUSY"]?fw_start) [pbx_config]
                    8. Set(ringlength=${DB(FW_TIME/${EXTEN})})    [pbx_config]
                    9. ExecIf($["${ringlength}x" == "x" || "${QUEUE_SRC_CHAN}x" != "x"]?Set(ringlength=600)) [pbx_config]
                    10. GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN}),1}" == "1"]?${CONTEXT}-custom,${EXTEN},1) [pbx_config]
                    11. Dial(SIP/${EXTEN},${ringlength},TtekKHhM(dial_answer)b(dial_create_chan,s,1)) [pbx_config]
     [fw_start]     12. NoOp(dial_hangup)                         [pbx_config]
                    13. ExecIf($["${DIALSTATUS}" != "ANSWER" && "${QUEUE_SRC_CHAN}x" == "x"]?Goto(internal-fw,${EXTEN},1)) [pbx_config]
                    14. ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER})) [pbx_config]
                    15. Hangup()                                  [pbx_config]

-= 1 extension (15 priorities) in 1 context. =-
оставил комментарий 09 Окт от boffart (47,110 баллов)
в сообщении выше описал, что необходимо проверить.
- на АТС в настройках модуля проверьте application_token код акторизации web хука
- откройте ссылку https://<PORTAL>/company/personal/user/584/ убедитесь что внутренний номер заполнен у пользователя

выполните команды
dialplan show 168@all_peers
dialplan show <NUM>@internal-users

<NUM> вероятно равно 170
оставил комментарий 09 Окт от Всеволод (420 баллов)
1. Да, application_token код акторизации web хука начинается с oy62r731a5zh0xx
2. Да, заполнен. Есть скрин-шот в первом сообщении с этим номером.
3. sip2*CLI> dialplan show 168@all_peers
[ Context 'all_peers' created by 'pbx_config' ]
  '_.!' =>          1. ExecIf($[ "${EXTEN}" == "h" ]?Hangup())    [pbx_config]
                    2. Set(__FROM_CHAN=${CHANNEL})                [pbx_config]
                    3. ExecIf($["${OLD_LINKEDID}x" == "x"]?Set(__OLD_LINKEDID=${CDR(linkedid)})) [pbx_config]
                    4. ExecIf($["${CHANNEL(channeltype)}" != "Local"]?Gosub(set_from_peer,s,1)) [pbx_config]
                    5. ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Gosub(set_orign_chan,s,1)) [pbx_config]
                    6. ExecIf($["${CALLERID(num)}x" == "x"]?Set(CALLERID(num)=${FROM_PEER})) [pbx_config]
                    7. ExecIf($["${CALLERID(num)}x" == "x"]?Set(CALLERID(name)=${FROM_PEER})) [pbx_config]
                    8. ExecIf($["${CHANNEL(channeltype)}" == "Local" && "${FROM_PEER}x" == "x"]?Set(__FROM_PEER=${CALLERID(num)})) [pbx_config]
                    9. Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1) [pbx_config]
                    10. Gosub(${ISTRANSFER}dial,${EXTEN},1)       [pbx_config]
                    11. GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN}),1}" == "1"]?${CONTEXT}-custom,${EXTEN},1) [pbx_config]
                    12. Goto(peer_${FROM_PEER},${EXTEN},1)        [pbx_config]

-= 1 extension (12 priorities) in 1 context. =-

4. sip2*CLI> dialplan show 170@internal-users
[ Context 'internal-users' created by 'pbx_config' ]
  '_X!' =>          1. Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1) [pbx_config]
                    2. ExecIf($["${ISTRANSFER}x" != "x"]?Set(SIPADDHEADER01=${EMPTY_VAR}) [pbx_config]
                    3. ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Gosub(set_orign_chan,s,1)) [pbx_config]
                    4. Gosub(${ISTRANSFER}dial,${EXTEN},1)        [pbx_config]
                    5. ExecIf($["${SIPPEER(${EXTEN},status)}x" == "x"]?Goto(internal-num-undefined,${EXTEN},1)) [pbx_config]
                    6. ExecIf($["${DEVICE_STATE(SIP/${EXTEN})}" == "BUSY"]?Set(DIALSTATUS=BUSY)) [pbx_config]
                    7. GotoIf($["${DEVICE_STATE(SIP/${EXTEN})}" == "BUSY"]?fw_start) [pbx_config]
                    8. Set(ringlength=${DB(FW_TIME/${EXTEN})})    [pbx_config]
                    9. ExecIf($["${ringlength}x" == "x" || "${QUEUE_SRC_CHAN}x" != "x"]?Set(ringlength=600)) [pbx_config]
                    10. GosubIf($["${DIALPLAN_EXISTS(${CONTEXT}-custom,${EXTEN}),1}" == "1"]?${CONTEXT}-custom,${EXTEN},1) [pbx_config]
                    11. Dial(SIP/${EXTEN},${ringlength},TtekKHhM(dial_answer)b(dial_create_chan,s,1)) [pbx_config]
     [fw_start]     12. NoOp(dial_hangup)                         [pbx_config]
                    13. ExecIf($["${DIALSTATUS}" != "ANSWER" && "${QUEUE_SRC_CHAN}x" == "x"]?Goto(internal-fw,${EXTEN},1)) [pbx_config]
                    14. ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER})) [pbx_config]
                    15. Hangup()                                  [pbx_config]

-= 1 extension (15 priorities) in 1 context. =-
Добро пожаловать на сайт Askozia Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Популярные теги

askozia провайдер запись-разговоров настройка ivr маршрут маршрутизация очередь askozia6 провайдеры askozia7 входящие-вызовы запись факс очередь-вызовов исходящие-звонки переадресация транк веб-интерфейс ascozia мобильный интеграция перехват-вызова провайдеров логи редактор разговоров история goip аон callerid обновление маршруты диалплан тишина smtp перевод-вызова звонок nat лицензия askozia-5 переадресация-мобильный префиксы телефонная-книга установка голосовая почта парковка перевод vmware мультифон мегафон панель настройка-провайдер статистика время голосовая-почта gsm перехват панель-телефонии-1с вызовов номер asterisk skype ssh 2 дополнительный-диск распределение донабор настройка-исходящие-исходящих-вызов-вызовов подменю goip4 отправка-факса grandstream beeline digium bruteforce взлом приложение fax web cdr времени pickup yealink ростелеком mango 8 количество web-интерфейс перенос-истории-звонков voip4 абонент_разговаривает вторая_линия восьмерка память файловый-менеджер 20fxo 4fxs

1,353 вопросов

1,178 ответов

2,748 комментариев

1,551 пользователей

...