Страница 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
Где у Вас Exten в запросе ?

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

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
http://www.voip-info.org/wiki/view/Aste ... +Originate

Читать до просветления.

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
Вообще не интересно.
Пол-дня ковырялся! Тут все прямо набежали, ми-ми-ми, умилились, пожали руку по очереди.
Эксперименты из области "волшебный порошок" - посыпал - деревянный солдат Урфина Джуса не ожилю Плохой порошок, надо другой достать.