VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
Dangreon
Сообщения: 24
Зарегистрирован: 16 июл 2013, 10:22

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

Сообщение Dangreon »

Выполняю след.команду для звонка на выбранный канал:

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

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

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

Action: Hangup
Channel: SIP/1929
Но это не помогает. Кто знает как это осуществить?
Dangreon
Сообщения: 24
Зарегистрирован: 16 июл 2013, 10:22

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

Сообщение Dangreon »

У меня после команды Originate в Response приходит

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

Responce: Success
Message: Originate successfully queued
Каналов нет. Или я вас не правильно понял?
ys1797
Сообщения: 240
Зарегистрирован: 28 июн 2011, 17:59

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

Сообщение ys1797 »

Событие == Event
Dangreon
Сообщения: 24
Зарегистрирован: 16 июл 2013, 10:22

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

Сообщение Dangreon »

Понятно что Event. Дело в том, что Originate нужно было вызывать с параметром Async = true , в таком случае можно отловить нужное событие. Но я обрабатываю NewChannel.
Спасибо.
Аватара пользователя
noize
Сообщения: 117
Зарегистрирован: 01 сен 2010, 11:29

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

Сообщение 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
Dangreon
Сообщения: 24
Зарегистрирован: 16 июл 2013, 10:22

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

Сообщение Dangreon »

Я отлавливаю по newChannel
Аватара пользователя
noize
Сообщения: 117
Зарегистрирован: 01 сен 2010, 11:29

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

Сообщение noize »

не помню, чего там да как было. Но при Originate через chan_local.so отловить реальное имя канала получилось только через конструкцию, описанную выше.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH