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

В контекст через AMI

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

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

Max
Сообщения: 13
Зарегистрирован: 14 апр 2014, 12:44
Откуда: Украина

В контекст через AMI

Сообщение Max »

Всем добрый день. Пытаюсь реализовать простейшую логику исходящего звонка, инициируя его из AMI.

Вот пример контекста:

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

[outgoing_test]
exten => _X.,1,Answer()
        same => n,NoOp(${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M)}-${CALLERID(number)}-${EXTEN})
        same => n,Dial(${OUTBOUNDTRUNK}/${EXTEN},40,rL(300000:15000))
        same => n,Playback(welcome)
        same => n,Hangup()
И пример AMI-задания:

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

Action: Originate
Channel: SIP/Cisco2600/2838719
Callerid: 2363299
MaxRetries: 10
RetryTime: 5
WaitTime: 20
Context: outgoing_test
Priority: 1
В ответ AMI отправляет
Response: Error
Message: Extension does not exist.

При этом через этот же контекст можно инициировать звонок через SIP-клиент. Значит он составлен правильно. Как правильно инициировать звонок через AMI и при этом задействовать контекст?
Max
Сообщения: 13
Зарегистрирован: 14 апр 2014, 12:44
Откуда: Украина

Re: В контекст через AMI

Сообщение Max »

Попробовал с Exten и без номера после слеша. Вот что вышло:

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

Response: Error
Message: Originate failed

Event: Newchannel
Privilege: call,all
Channel: SIP/Cisco2600-00000013
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum:
CallerIDName:
AccountCode:
Exten:
Context: incoming
Uniqueid: 1412605107.19

Event: VarSet
Privilege: dialplan,all
Channel: SIP/Cisco2600-00000013
Variable: SIPCALLID
Value: 781dedae27d23d9d0cd4fb47270dce13@10.40.32.10:5060
Uniqueid: 1412605107.19

Event: ChannelUpdate
Privilege: system,all
Channel: SIP/Cisco2600-00000013
Uniqueid: 1412605107.19
Channeltype: SIP
SIPcallid: 781dedae27d23d9d0cd4fb47270dce13@10.40.32.10:5060
SIPfullcontact:

Event: ChannelUpdate
Privilege: system,all
Channel: SIP/Cisco2600-00000013
Channeltype: SIP
SIPcallid: 781dedae27d23d9d0cd4fb47270dce13@10.40.32.10:5060
SIPfullcontact:
Peername: Cisco2600

Event: NewAccountCode
Privilege: call,all
Channel: SIP/Cisco2600-00000013
Uniqueid: 1412605107.19
AccountCode:
OldAccountCode:

Event: NewCallerid
Privilege: call,all
Channel: SIP/Cisco2600-00000013
CallerIDNum: 2363299
CallerIDName:
Uniqueid: 1412605107.19
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

Event: Hangup
Privilege: call,all
Channel: SIP/Cisco2600-00000013
Uniqueid: 1412605107.19
CallerIDNum: 2363299
CallerIDName: <unknown>
ConnectedLineNum: 2363299
ConnectedLineName: <unknown>
AccountCode:
Cause: 127
Cause-txt: Interworking, unspecified
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: В контекст через AMI

Сообщение zzuz »

http://www.voip-info.org/wiki/view/Aste ... +Originate

Читать до просветления.
Линия24 - Системы Массового Телефонного Обслуживания
Max
Сообщения: 13
Зарегистрирован: 14 апр 2014, 12:44
Откуда: Украина

Re: В контекст через AMI

Сообщение Max »

Ребята, я сегодня пол дня это изучал и экспериментировал.
И не получил ожидаемого результата.

Самое интересное, что всё прекрасно работает, если не указывать контекст и приоритет. Указываешь в одном из форматов транк и екстеншн - и звонок выполняется.

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

Action: Originate
Callerid: 12345678
Channel: SIP/Cisco2600/876543
Application: Playback
Data: welcome
И что интересно

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

Event: Newchannel
Privilege: call,all
Channel: SIP/Cisco2600-0000001e
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum:
CallerIDName:
AccountCode:
Exten:
Context: incoming
Uniqueid: 1412691986.30
Каким-то боком сюда вплетается incoming, который занимается совершенно другими вещами.

Указываешь контекст - ни в какую. В книге "Будущее телефонии" подобное не рассматривается. Стоит больше экспериментировать с каналом Local или есть ещё что-то, что на той странице не разъясняется?
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: В контекст через AMI

Сообщение zzuz »

Event: Newchannel
Exten: ????


Не нужно , пожалуйста, нас обманывать .
Линия24 - Системы Массового Телефонного Обслуживания
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: В контекст через AMI

Сообщение zzuz »

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

Action: Originate
Channel: SIP/Cisco2600/2838719
Callerid: 2363299
MaxRetries: 10
RetryTime: 5
WaitTime: 20
Context: outgoing_test
Exten: 1234
Priority: 1
Линия24 - Системы Массового Телефонного Обслуживания
Max
Сообщения: 13
Зарегистрирован: 14 апр 2014, 12:44
Откуда: Украина

Re: В контекст через AMI

Сообщение Max »

zzuz писал(а):Event: Newchannel
Exten: ????


Не нужно, пожалуйста, нас обманывать.
Никто никого не обманывает. Просто мне надо было изначально привести пример общего "выхлопа", а не одного события, и другие примеры AMI-заданий, чтобы никого не путать.

Это действительно не правильный вариант даже если бы они и совпадали, то всё равно была бы ошибка, что экстеншн не описан:
zzuz писал(а):

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

Action: Originate
Channel: SIP/Cisco2600/2838719
Callerid: 2363299
MaxRetries: 10
RetryTime: 5
WaitTime: 20
Context: outgoing_test
Exten: 1234
Priority: 1
Пробовал сделать таким образом:

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

Action: Originate
Channel: SIP/Cisco2600
Callerid: 2364209
Exten: 2838719
Timeout: 30000
MaxRetries: 10
RetryTime: 5
WaitTime: 20
Priority: 1
Context: outgoing_calls
Вот что вышло:

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

Response: Error
Message: Originate failed

Event: Newchannel
Privilege: call,all
Channel: SIP/Cisco2600-00000026
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum:
CallerIDName:
AccountCode:
Exten:
Context: incoming
Uniqueid: 1412758120.38

Event: VarSet
Privilege: dialplan,all
Channel: SIP/Cisco2600-00000026
Variable: SIPCALLID
Value: 73d7b3cf462792c5481f7ee43b7563f8@10.40.12.100:5060
Uniqueid: 1412758120.38

Event: ChannelUpdate
Privilege: system,all
Channel: SIP/Cisco2600-00000026
Uniqueid: 1412758120.38
Channeltype: SIP
SIPcallid: 73d7b3cf462792c5481f7ee43b7563f8@10.40.12.100:5060
SIPfullcontact:

Event: ChannelUpdate
Privilege: system,all
Channel: SIP/Cisco2600-00000026
Channeltype: SIP
SIPcallid: 73d7b3cf462792c5481f7ee43b7563f8@10.40.12.100:5060
SIPfullcontact:
Peername: Cisco2600

Event: NewAccountCode
Privilege: call,all
Channel: SIP/Cisco2600-00000026
Uniqueid: 1412758120.38
AccountCode:
OldAccountCode:

Event: NewCallerid
Privilege: call,all
Channel: SIP/Cisco2600-00000026
CallerIDNum: 2364209
CallerIDName:
Uniqueid: 1412758120.38
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

Event: Hangup
Privilege: call,all
Channel: SIP/Cisco2600-00000026
Uniqueid: 1412758120.38
CallerIDNum: 2364209
CallerIDName: <unknown>
ConnectedLineNum: 2364209
ConnectedLineName: <unknown>
AccountCode:
Cause: 127
Cause-txt: Interworking, unspecified
Рабочим оказался вариант, когда задействован канал Local, причём весьма любопытным образом))
sushami
Сообщения: 1
Зарегистрирован: 22 ноя 2019, 16:42

Re: В контекст через AMI

Сообщение sushami »

Мне помогло, большое спасибо, что поделился! Сам две недели уже ковыряю...

[quote="Max"]Ребята, я сегодня пол дня это изучал и экспериментировал.
И не получил ожидаемого результата.

Самое интересное, что всё прекрасно работает, если не указывать контекст и приоритет. Указываешь в одном из форматов транк и екстеншн - и звонок выполняется.
ded
Сообщения: 15620
Зарегистрирован: 26 авг 2010, 19:00

Re: В контекст через AMI

Сообщение ded »

Вообще не интересно.
Пол-дня ковырялся! Тут все прямо набежали, ми-ми-ми, умилились, пожали руку по очереди.
Эксперименты из области "волшебный порошок" - посыпал - деревянный солдат Урфина Джуса не ожилю Плохой порошок, надо другой достать.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH