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

Работа с AMI. Выполнить reject звонка.

Добавлено: 17 июл 2013, 16:40
Dangreon
Выполняю след.команду для звонка на выбранный канал:

Код: Выделить всё

Action: Originate
Channel: SIP/1929
Exten: 1925
Priority: 1
Context: default
Но как сделать "отмену" звонка?
Пробовал Hangup вот так:

Код: Выделить всё

Action: Hangup
Channel: SIP/1929
Но это не помогает. Кто знает как это осуществить?

Re: Работа с AMI. Выполнить reject звонка.

Добавлено: 17 июл 2013, 17:51
Dangreon
У меня после команды Originate в Response приходит

Код: Выделить всё

Responce: Success
Message: Originate successfully queued
Каналов нет. Или я вас не правильно понял?

Re: Работа с AMI. Выполнить reject звонка.

Добавлено: 18 июл 2013, 13:22
ys1797
Событие == Event

Re: Работа с AMI. Выполнить reject звонка.

Добавлено: 18 июл 2013, 16:47
Dangreon
Понятно что Event. Дело в том, что Originate нужно было вызывать с параметром Async = true , в таком случае можно отловить нужное событие. Но я обрабатываю NewChannel.
Спасибо.

Re: Работа с AMI. Выполнить reject звонка.

Добавлено: 22 июл 2013, 00:07
noize
Астериск явно не передаёт событие об имени канала, приходится вставать на мини-костыли(пример ТЗ для внутренней разработки):
*Если астериск дозвонился до абонента, демон должен сделать следующее:
**После получения от астериска ивента OriginateResponse, взять из него значение параметра Channel. В данном значении будет сохранено имя канала Local
**После этого астериск сгенерирует ивенты, по которым можно будет вычислить реальное имя канала:

Событие OriginateResponse
Event: OriginateResponse
Privilege: call,all
ActionID: 2
Response: Success
Channel: Local/102@ext-out-08e1;1
Context: ext-hold
Exten: s
Reason: 4
Uniqueid: 1330093340.33
CallerIDNum: <unknown>
CallerIDName: <unknown>

...

События для получения реального имени канала
Event: Masquerade
Privilege: call,all
Clone: SIP/102-0000000b
CloneState: Up
Original: Local/102@ext-out-08e1;1
OriginalState: Up

...

Event: Rename
Privilege: call,all
Channel: Local/102@ext-out-08e1;1
Newname: SIP/102-0000000b
Uniqueid: 1330093340.33

Re: Работа с AMI. Выполнить reject звонка.

Добавлено: 22 июл 2013, 19:34
Dangreon
Я отлавливаю по newChannel

Re: Работа с AMI. Выполнить reject звонка.

Добавлено: 22 июл 2013, 21:17
noize
не помню, чего там да как было. Но при Originate через chan_local.so отловить реальное имя канала получилось только через конструкцию, описанную выше.