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

AMI Hangup и регулярные выражения

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

AMI Hangup и регулярные выражения

Сообщение svd »

Дня доброго,

Существует потребность, по команде из внешнего приложения послать команду asterisk для завершения звонка, звонок перед этим инициируется командой Originate.

Название канала система не знает, (не говорю что не может узнать)

сначала о подопытном:

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

Asterisk 1.8.11.0 built by palosanto @ rpmbuild64-2.elastix.palosanto.com on a x86_64 running Linux on 2012-03-29 22:29:09 UTC
далее пытаюсь положить трубку для экстеншена 103 разными методами

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

Action: Hangup
UseRegex: Yes
Channel: ....103-........


Action: Hangup
Channel: /^SIP/103-.*$/
Попадалась информация что для команды hangup вместо имени канала можно использовать регулярное выражение.

но получается что не получается
прилагаю листинг
Event: Newchannel
Privilege: call,all
Channel: SIP/103-000003a0
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 103
CallerIDName: device
AccountCode:
Exten:
Context: from-internal
Uniqueid: 1405014479.930

Event: NewAccountCode
Privilege: call,all
Channel: SIP/103-000003a0
Uniqueid: 1405014479.930
AccountCode:
OldAccountCode:

Event: NewCallerid
Privilege: call,all
Channel: SIP/103-000003a0
CallerIDNum: 103
CallerIDName: device
Uniqueid: 1405014479.930
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

Event: ExtensionStatus
Privilege: call,all
Exten: 103
Context: ext-local
Hint: SIP/103
Status: 8

Event: Newstate
Privilege: call,all
Channel: SIP/103-000003a0
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 103
CallerIDName: device
ConnectedLineNum: 103
ConnectedLineName:
Uniqueid: 1405014479.930

Event: ExtensionStatus
Privilege: call,all
Exten: 103
Context: ext-local
Hint: SIP/103
Status: 1

Event: Newstate
Privilege: call,all
Channel: SIP/103-000003a0
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 103
CallerIDName: device
ConnectedLineNum: 103
ConnectedLineName:
Uniqueid: 1405014479.930

Event: NewCallerid
Privilege: call,all
Channel: SIP/103-000003a0
CallerIDNum: 103
CallerIDName: Roma
Uniqueid: 1405014479.930
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

Event: Newchannel
Privilege: call,all
Channel: SIP/soft33-000003a1
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum:
CallerIDName:
AccountCode:
Exten:
Context: from-internal
Uniqueid: 1405014479.931

Event: NewCallerid
Privilege: call,all
Channel: SIP/soft33-000003a1
CallerIDNum: 0033
CallerIDName:
Uniqueid: 1405014479.931
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: SIP/103-000003a0
Destination: SIP/soft33-000003a1
CallerIDNum: 103
CallerIDName: Roma
ConnectedLineNum: 103
ConnectedLineName: <unknown>
UniqueID: 1405014479.930
DestUniqueID: 1405014479.931
Dialstring: soft33/033

Event: Newstate
Privilege: call,all
Channel: SIP/soft33-000003a1
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 0033
CallerIDName:
ConnectedLineNum: 103
ConnectedLineName: Roma
Uniqueid: 1405014479.931

Event: Newstate
Privilege: call,all
Channel: SIP/soft33-000003a1
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 0033
CallerIDName:
ConnectedLineNum: 103
ConnectedLineName: Roma
Uniqueid: 1405014479.931

Event: NewAccountCode
Privilege: call,all
Channel: SIP/soft33-000003a1
Uniqueid: 1405014479.931
AccountCode:
OldAccountCode:

Event: Bridge
Privilege: call,all
Bridgestate: Link
Bridgetype: core
Channel1: SIP/103-000003a0
Channel2: SIP/soft33-000003a1
Uniqueid1: 1405014479.930
Uniqueid2: 1405014479.931
CallerID1: 103
CallerID2: 0033

Action: Hangup
UseRegex: Yes
Channel: ....103-........

Response: Error
Message: No such channel
если кто-то знает или догадывается в чём затычка, подскажите.

регулярное выражение тестил notepad++, согласен что не самый индустриальный метод, но вроде оно соответствует
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: AMI Hangup и регулярные выражения

Сообщение ded »

А вы слушайте название канала по AMI, а hangup делайте системной командой
asterisk -rx ' channel request hangup SIP/103-****'
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: AMI Hangup и регулярные выражения

Сообщение virus_net »

svd писал(а):Попадалась информация что для команды hangup вместо имени канала можно использовать регулярное выражение.
не встречал такой, имя канала нужно указывать полностью

так же можно попробовать через AMI, но с помощью

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

ACTION: Command
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: AMI Hangup и регулярные выражения

Сообщение svd »

ded писал(а):А вы слушайте название канала по AMI, а hangup делайте системной командой
asterisk -rx ' channel request hangup SIP/103-****'
Если слушать название канала по AMI то и HangUp через AMI сделать по точному имени канала не будет,
можно даже к такой команде не прибегать.

Пытаюсь подружить 1С - ROM-Asterisk - Asterisk

и вот у них на странице описания команды хэнгап такое было http://wiki.simplit.info/doku.php/doc/ami/action#hangup

есть подозрение что версия астериска нужна 10+ или что-то типа того
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

Re: AMI Hangup и регулярные выражения

Сообщение gosha »

в 11 там регекспы появились.
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: AMI Hangup и регулярные выражения

Сообщение svd »

Спасибо за ответ,

не наш случай, будем получать список активных каналов.
при случае тестану эти вещи на 11-м астериске
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH