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

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

0

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

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

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

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

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

спросил Sep 10 '12

exseos Gravatar exseos
1 5 6

2 Ответа

1

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

core show application Queue

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

ответил Sep 10 '12

komrad123 Gravatar komrad123
3810 5 3 44

обновил Sep 10 '12

Comments

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

exseos (Sep 10 '12)edit
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. не знаю почему, но както не очень люблю людей котоыре заняты поддержкой колцентров а сами ничего не хотят читать.

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

ответил Sep 10 '12

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 (Sep 10 '12)edit

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

meral (Sep 10 '12)edit

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

exseos (Sep 11 '12)edit

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

meral (Sep 11 '12)edit

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

exseos (Sep 12 '12)edit

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

meral (Sep 12 '12)edit

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

exseos (Sep 13 '12)edit

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

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

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

Статистика

Задан: Sep 10 '12

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

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

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