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

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

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

Модератор: april22

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

Сообщение Max » 06 окт 2014, 16:08

Всем добрый день. Пытаюсь реализовать простейшую логику исходящего звонка, инициируя его из 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

Сообщение gosha » 06 окт 2014, 17:22

Где у Вас Exten в запросе ?

http://www.voip-info.org/wiki/view/Aste ... +Originate
gosha
 
Сообщений: 347
Зарегистрирован: 06 сен 2010, 17:41

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

Сообщение Max » 06 окт 2014, 18:20

Попробовал с 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
Max
 
Сообщений: 13
Зарегистрирован: 14 апр 2014, 12:44
Откуда: Украина

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

Сообщение zzuz » 06 окт 2014, 18:31

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

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

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

Сообщение Max » 07 окт 2014, 18:33

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

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

Код: выделить все
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 или есть ещё что-то, что на той странице не разъясняется?
Max
 
Сообщений: 13
Зарегистрирован: 14 апр 2014, 12:44
Откуда: Украина

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

Сообщение zzuz » 07 окт 2014, 18:45

Event: Newchannel
Exten: ????


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

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

Сообщение zzuz » 07 окт 2014, 18:47

Код: выделить все
Action: Originate
Channel: SIP/Cisco2600/2838719
Callerid: 2363299
MaxRetries: 10
RetryTime: 5
WaitTime: 20
Context: outgoing_test
Exten: 1234
Priority: 1
Линия24 - Системы Массового Телефонного Обслуживания
Аватар пользователя
zzuz
 
Сообщений: 1516
Зарегистрирован: 21 сен 2010, 13:33

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

Сообщение Max » 08 окт 2014, 13:23

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, причём весьма любопытным образом))
Max
 
Сообщений: 13
Зарегистрирован: 14 апр 2014, 12:44
Откуда: Украина


Вернуться в Разработка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

© 2008 — 2018 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH