Страница 1 из 2
В контекст через AMI
Добавлено: 06 окт 2014, 16:08
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 и при этом задействовать контекст?
Re: В контекст через AMI
Добавлено: 06 окт 2014, 17:22
gosha
Re: В контекст через AMI
Добавлено: 06 окт 2014, 18:20
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
Re: В контекст через AMI
Добавлено: 06 окт 2014, 18:31
zzuz
Re: В контекст через AMI
Добавлено: 07 окт 2014, 18:33
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 или есть ещё что-то, что на той странице не разъясняется?
Re: В контекст через AMI
Добавлено: 07 окт 2014, 18:45
zzuz
Event: Newchannel
Exten: ????
Не нужно , пожалуйста, нас обманывать .
Re: В контекст через AMI
Добавлено: 07 окт 2014, 18:47
zzuz
Код: Выделить всё
Action: Originate
Channel: SIP/Cisco2600/2838719
Callerid: 2363299
MaxRetries: 10
RetryTime: 5
WaitTime: 20
Context: outgoing_test
Exten: 1234
Priority: 1
Re: В контекст через AMI
Добавлено: 08 окт 2014, 13:23
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, причём весьма любопытным образом))
Re: В контекст через AMI
Добавлено: 22 ноя 2019, 16:45
sushami
Мне помогло, большое спасибо, что поделился! Сам две недели уже ковыряю...
[quote="Max"]Ребята, я сегодня пол дня это изучал и экспериментировал.
И не получил ожидаемого результата.
Самое интересное, что всё прекрасно работает, если не указывать контекст и приоритет. Указываешь в одном из форматов транк и екстеншн - и звонок выполняется.
Re: В контекст через AMI
Добавлено: 25 ноя 2019, 13:13
ded
Вообще не интересно.
Пол-дня ковырялся! Тут все прямо набежали, ми-ми-ми, умилились, пожали руку по очереди.
Эксперименты из области "волшебный порошок" - посыпал - деревянный солдат Урфина Джуса не ожилю Плохой порошок, надо другой достать.