Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Поймать событие приёма вызова в queue [закрыт]

0

Задача: По факту приёма вызова оператором в queue исполнить нужную команду

Скажем в CLI такое событие:

[Sep 10 15:48:08]     -- SIP/testtel-0001a3ce answered SIP/1624-0001a3cd

Как на уровне диалплана исполнить нужную команду в такой момент?

Очень уж не хочется отлавливать события через agi, т.к. это будет внешний процесс.

удалить переоткрыть спам изменить тег редактировать

спросил 2012-09-10 13:55:59 +0400

exseos Gravatar exseos
1 5 6

2 Ответа

1

в относительно новых астерисках в Queue тоже можно макрос/agi вызвать при ответе.

core show application Queue

ссылка удалить спам редактировать

ответил 2012-09-10 14:36:01 +0400

komrad123 Gravatar komrad123
3810 5 3 44

обновил 2012-09-10 14:36:45 +0400

Comments

Опачки! Всё, вопрос решён. Куда копать - я понял. Благодарю :)

exseos ( 2012-09-10 14:40:54 +0400 )редактировать
0
asterisk -rx "core show application dial"

там есть флаг макроса

 M(macro[^arg[^...]]): 
        macro - Name of the macro that should be executed.
        arg - Macro arguments
    Execute the specified <macro> for the *called* channel  before
    connecting to the calling channel. Arguments can be specified to the Macro
    using '^' as a delimiter. The macro can set the variable ${MACRO_RESULT}
    to specify the following actions after the macro is finished executing:
        ${MACRO_RESULT}: If set, this action will be taken after
        the macro finished executing.
            ABORT: Hangup both legs of the call
            CONGESTION: Behave as if line congestion was
            encountered
            BUSY: Behave as if a busy signal was encountered
            CONTINUE: Hangup the called party and allow the
            calling party to continue dialplan execution at the next priority
            GOTO:<context>^<exten>^<priority>: Transfer the call
            to the specified destination.

ps. не знаю почему, но както не очень люблю людей котоыре заняты поддержкой колцентров а сами ничего не хотят читать.

ссылка удалить спам редактировать

ответил 2012-09-10 14:11:01 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Уважаемый, или ты меня не понял, или самому бы почитать маны. :) Я не dial'ом вызов в очередь кидаю, а через queue Dial'ом вызывается клиент, и при принятии вызова, вызывается экстеншн с постановкой в очередь

exten => 383587,1,Answer()

same => n,Queue(spravka)

same => n,Hangup()

М-флаг М-флагом, но мне он тут не нужен.

exseos ( 2012-09-10 14:32:45 +0400 )редактировать

это не меняет сути вопроса. как я говорил ваш уровень не позволяет понять ответ. при принятии вызова кидайте его в контекст в котором делается dial в очередь или в очереди ставте агентов через local/. или вообще по другому. зависит от того что вам надо. обьяснили вы фигово.

meral ( 2012-09-10 16:50:18 +0400 )редактировать

Да мог бы уже не продолжать троллить. -) Я всё узнал, что нужно. Диал в очередь - это, кстати, весьма изящный костыль. -)

exseos ( 2012-09-11 08:18:58 +0400 )редактировать

dial(local/ вполне стандартный костыль. в freepbx он везде используется. и даже в примераз в станадртном extensions.conf.sample есть

meral ( 2012-09-11 21:02:20 +0400 )редактировать

Ровная отчётность нужна в производстве? Мне да. Или после каждой такой свалки нужно будет вычищать строке в мускуле и вписывать свою? Этим костыли и плохи.

exseos ( 2012-09-12 08:21:46 +0400 )редактировать

freepbx их для отчетности и добавляет

meral ( 2012-09-12 17:39:24 +0400 )редактировать

Юзаю чистый Астер 1.8.7.1 без всяких примясей.

exseos ( 2012-09-13 07:44:25 +0400 )редактировать

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-09-10 13:55:59 +0400

Просмотрен: 1,429 раз

Обновлен: Sep 10 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.