1.3 тыс. просмотров
от (200 баллов) в категории Тонкая настройка

Продолжение темы http://www.telefon1c.ru/forum/forum24/topic482/. Будет ли блог?

1 Ответ

от (15.2 тыс. баллов)
выбран от
 
Лучший ответ
1,ExecIf($["${EXTEN}" = "h"]?Hangup())
n,GotoIf($["${CALLERID(num)}" != "7926555555"]?hangup)
n,Playback(call-forwarding)
n,Set(TMPFILE=/tmp/${MD5(${UNIQUEID})}.call)
n,Set(CALLFILEDIR=${ASTSPOOLDIR}/outgoing/)
n,System(touch ${TMPFILE})
n,System(echo "Channel: LOCAL/"${CALLERID(num)}"@internal" >> ${TMPFILE})
n,System(echo "MaxRetries: 1" >> ${TMPFILE})
n,System(echo "RetryTime: 10" >> ${TMPFILE})
n,System(echo "WaitTime: 20" >> ${TMPFILE})
n,System(echo "Context: internal" >> ${TMPFILE})
n,System(echo "Extension: 000067" >> ${TMPFILE})
n,System(echo "RetryTime: 10" >> ${TMPFILE})
n,System(echo "Priority: 1" >> ${TMPFILE})
n,System(echo "AlwaysDelete: Yes" >> ${TMPFILE})
n,System(echo >> ${TMPFILE})
n,System(cp ${TMPFILE} ${CALLFILEDIR})
n(hangup),Hangup()​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

 

Добавляете новое приложение, в коротом номер 7926555555 меняете на свой, и направляете все звонки с транка на это приложение, в итоге если ваш номер совпадает с указанным, Askozia сбросит вызов и наберет вам. После ответа набирайте нужный номер абонента, внутренний или внешний.

от (200 баллов)
Это все здорово - а куда это городить? в extesion.conf? И, допустим, если нужно на все телефоны перезванивать, то просто
n,GotoIf($["${CALLERID(num)}" != "7926555555"]?hangup)
надо пропустить?
от (200 баллов)
редактировать от
Поспешил комментировать. Внимательно не прочитал про приложение.
Как сделать просто callback на любой входящий номер тогда?
При входящем звонке с определенного провайдера (куда как раз подключен GSM шлюз)
от (123 тыс. баллов)
судя по всему достаточно закомментировать 2ую строку
проверка ${CALLERID(num)}
номер телефона абонента
от (200 баллов)
редактировать от
Вроде разобрался - форвард на приложение идет. В трубку слышно call_forwarding, но после этого тишина. Внутренний номер приложения 00000005. В логах следующее:

  == Using SIP RTP CoS mark 5
    -- Executing [00000005@SIP-PROVIDER-429842182516bce0d909b8-incoming:1] NoOp("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "incoming call from provider: GSM to 00000005") in new stack
    -- Executing [00000005@SIP-PROVIDER-429842182516bce0d909b8-incoming:2] Set("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "CDR(UserField)=inbound") in new stack
    -- Executing [00000005@SIP-PROVIDER-429842182516bce0d909b8-incoming:3] Set("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "CDR(accountcode)=95996602") in new stack
    -- Executing [00000005@SIP-PROVIDER-429842182516bce0d909b8-incoming:4] Set("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "RecFile=in_+79172552323_2013-07-12-21-45-05") in new stack
    -- Executing [00000005@SIP-PROVIDER-429842182516bce0d909b8-incoming:5] Set("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "CDR(userfield)=in_+79172552323_2013-07-12-21-45-05.gsm") in new stack
    -- Executing [00000005@SIP-PROVIDER-429842182516bce0d909b8-incoming:6] Monitor("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "gsm,in_+79172552323_2013-07-12-21-45-05,bm") in new stack
    -- Executing [00000005@SIP-PROVIDER-429842182516bce0d909b8-incoming:7] Set("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "CDR(InternalCalleridNum)=_[0-9*#]!") in new stack
    -- Executing [00000005@SIP-PROVIDER-429842182516bce0d909b8-incoming:8] Goto("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "DIALPLAN-APPLICATION-11750145951e03bf799070,00000005,1") in new stack
    -- Goto (DIALPLAN-APPLICATION-11750145951e03bf799070,00000005,1)
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:1] ExecIf("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "0?Hangup()") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:2] Playback("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "call-forwarding") in new stack
    -- <SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016> Playing 'call-forwarding.ulaw' (language 'ru-ru')
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:3] Set("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "TMPFILE=/tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:4] Set("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "CALLFILEDIR=/outgoing/") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:5] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "touch /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:6] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "Channel: LOCAL/"+79172552323"@internal" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:7] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "MaxRetries: 1" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:8] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "RetryTime: 10" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:9] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "WaitTime: 20" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:10] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "Context: internal" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:11] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "Extension: 000067" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:12] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "RetryTime: 10" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:13] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "Priority: 1" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:14] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo "AlwaysDelete: Yes" >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:15] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "echo >> /tmp/30448f202b559882c6a79799c3a44d0d.call") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:16] System("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "cp /tmp/30448f202b559882c6a79799c3a44d0d.call /outgoing/") in new stack
    -- Executing [00000005@DIALPLAN-APPLICATION-11750145951e03bf799070:17] Hangup("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "") in new stack
  == Spawn extension (DIALPLAN-APPLICATION-11750145951e03bf799070, 00000005, 17) exited non-zero on 'SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016'
    -- Executing [h@DIALPLAN-APPLICATION-11750145951e03bf799070:1] ExecIf("SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016", "1?Hangup()") in new stack
  == Spawn extension (DIALPLAN-APPLICATION-11750145951e03bf799070, h, 1) exited non-zero on 'SIP/SIP-PROVIDER-429842182516bce0d909b8-00000016'

Я так понимаю формируется файл "перезвона" и кладется в outgoing, но почему-то не звонит :(
от (120 баллов)
Добрый день, коллеги!
Имеется Askozia 5.2.0 MIKO edition
Задача:
1. Человек набирает номер приложения каллбэка
2. Ему перезванивает АТС и соединяет с нужным маршрутом\экстеншеном или внешним номером.

Подскажите, кто-то может быть уже делал нечто подобное?
Поделитесь, пожалуйста опытом

По поводу выше написанного скрипта
У меня не получается его допилить, либо оно работает не корректно
от (123 тыс. баллов)
n,GotoIf($["${CALLERID(num)}" != "7926555555"]?hangup)
это строка означает ,что если callerid абонента отличен от 7926555555 - вызов будет завершен, обратного звонка не будет

"Channel: LOCAL/"${CALLERID(num)}"@internal"
эта строка означает, что обратный звонок возможен только на номер, объявленный в контексте internal. Как правило, это следующие виды номеров:
-- Внутренние SIP
-- "Внешние"

Если хотите, чтобы перезвон сработал, нужно описать внешние номера для всех мобильных телефонов сотрудников.
от (120 баллов)
n,GotoIf($["${CALLERID(num)}" != "7926555555"]?hangup)
От данной строки я избавился

"Channel: LOCAL/"${CALLERID(num)}"@internal"
здесь у меня идет перезвон только на внутренние, на внешние не проходит.
Описать внешние номера, можно тут по подробнее

При перезвоне на внутренний тишина 3сек и hangup. Как задать ему с каким маршрутом соединиться?

Спасибо
от (123 тыс. баллов)
Как описать внешний номер, описано тут:
http://wiki.askozia.ru/handbook:accounts#vneshnie_telefony

n,System(echo "Extension: 000067" >> ${TMPFILE})
в этой строке Вы должны описать номер маршрута / приложения
от (120 баллов)
Добавил внешний телефон, в консоли вижу это:

2018-01-29 15:53:35 asterisk[22616]: NOTICE[3062]: channel.c:5629 in __ast_request_and_dial: Unable to call channel LOCAL/798*****@internal
2018-01-29 15:53:35 asterisk[22616]: NOTICE[3062]: pbx_spool.c:360 in attempt_thread: Call failed to go through, reason (0) Call Failure (not BUSY, and not NO_ANSWER, maybe Circuit busy or down?)

Возможно я сделал что-то не так?
Спасибо
от (123 тыс. баллов)
n,Set(TMPFILE=/tmp/${MD5(${UNIQUEID})}.call)
данные команды хранятся в описанном файле. приложите его содержимое
от (120 баллов)
редактировать от
Channel: LOCAL/798******@internal
MaxRetries: 1
RetryTime: 10
WaitTime: 20
Context: internal
Extension: 00022
RetryTime: 10
Priority: 1
AlwaysDelete: Yes
от (120 баллов)
2018-01-29 16:08:11 asterisk[22616]: NOTICE[24606]: chan_local.c:955 in local_call: No such extension/context 798****@internal while calling Local channel
2018-01-29 16:08:11 asterisk[22616]: NOTICE[24606]: channel.c:5629 in __ast_request_and_dial: Unable to call channel LOCAL/798*****@internal
2018-01-29 16:08:11 asterisk[22616]: NOTICE[24606]: pbx_spool.c:360 in attempt_thread: Call failed to go through, reason (0) Call Failure (not BUSY, and not NO_ANSWER, maybe Circuit busy or down?)
от (120 баллов)
Внешний телефон добавлен
от (123 тыс. баллов)
выполните команду
asterisk -rx'dialplan show 798******@internal'

существует ли такой план набора.
как описали внешний номер? должен быть указан именно в таком же формате 798******
от (120 баллов)
от (120 баллов)
Разобрался, Спасибо большое!
от (120 баллов)
В итоге вписал 798******@SIP-PROVIDER-****
На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

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

askozia входящие-вызовы настройка исходящие маршрутизация провайдер запись-разговоров входящие ivr исходящие-звонки обновление битрикс24 ошибка очередь провайдеры очередь-вызовов переадресация запись установка маршрут история-звонков mikopbx транк панель-телефонии-1с перевод-вызова перевод askozia7 askozia6 битрикс callerid интеграция голосовая-почта логи модуль перехват-вызова ростелеком нерабочее-время bitrix24 факс nat docker запись-разговора веб-интерфейс goip настройка-провайдер история диалплан почта журнал-звонков релиз gsm вызовы звонок внешние-номера web-интерфейс zabbix маршруты cdr sip панель pjsip переадресация-мобильный voicemail ascozia телефонная-книга аон мобильный звонков лицензирование вызовов редактор номер asterisk лицензия ami регистрация оповещения провайдеров время голосовая fax trunk разговоров группы-пользователей #mikopbx пропущенные-звонки донабор beeline monitoring тишина smtp cisco мобильные мультифон мегафон шлюз не-работает электронная-почта не-слышно-звук

2.8 тыс. вопросов

2.4 тыс. ответов

6.7 тыс. комментариев

465 тыс. пользователей

...