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

Чей Hangup?

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

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

Ответить
pavel shlag
Сообщения: 21
Зарегистрирован: 08 авг 2011, 09:54

Чей Hangup?

Сообщение pavel shlag »

В asterisk 1.8 у команды Dial появились две хорошие опции - g и F.
Вопрос как, используя их одновременно, узнать кто положил трубку (SIP-каналы)?
Через h узнать можно, но этот вариант мне не подходит.
Аватара пользователя
Obi Van
Сообщения: 340
Зарегистрирован: 03 сен 2010, 11:21

Re: Чей Hangup?

Сообщение Obi Van »

Через h узнать можно, но этот вариант мне не подходит.
Интересно, а чем? :|
pavel shlag
Сообщения: 21
Зарегистрирован: 08 авг 2011, 09:54

Re: Чей Hangup?

Сообщение pavel shlag »

через CHANNEL(checkhangup)
pavel shlag
Сообщения: 21
Зарегистрирован: 08 авг 2011, 09:54

Re: Чей Hangup?

Сообщение pavel shlag »

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

[local]
exten => 100,1,Dial(SIP/100,,gF)
101 набрал 100, после разговора как таки узнать кто из них трубку то положил?
ded
Сообщения: 15622
Зарегистрирован: 26 авг 2010, 19:00

Re: Чей Hangup?

Сообщение ded »

exten => 100,1,Dial(SIP/100,,gF)
exten => 100,n,NoOp(${CHANNEL(checkhangup)})
exten => 100,n,Hangup()
pavel shlag
Сообщения: 21
Зарегистрирован: 08 авг 2011, 09:54

Re: Чей Hangup?

Сообщение pavel shlag »

выше я уже писал про CHANNEL(checkhangup), всегда возвращает 0 при таком звонке.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Чей Hangup?

Сообщение Vlad1983 »

если так
exten => _XXX,n,Dial(SIP/${EXTEN})
exten => _XXX,n,NoOp(SIP return code : ${HASH(SIP_CAUSE,${CDR(dstchannel)})})
что показывает NoOp при разных вариантах

вообще поидее если опция g: When the called party hangs up, continue to execute commands in the current context at the next priority.
и есть переход на следующий приоритет то положил трубу ответивший
а F надо с параметрами, а не просто F
F(context^exten^pri): When the caller hangs up, transfer the called party to the specified context and extension and continue execution.
ЛС: @rostel
pavel shlag
Сообщения: 21
Зарегистрирован: 08 авг 2011, 09:54

Re: Чей Hangup?

Сообщение pavel shlag »

это тож пробовал, ничего не возвращает
F: Proceed with dialplan execution at the next priority in the current
extension if the source channel hangs up.

g: Proceed with dialplan execution at the next priority in the current
extension if the destination channel hangs up.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Чей Hangup?

Сообщение Vlad1983 »

я вам про то что надо юзать c параметрами чтоб не прыгать в одно место
попробуйте так
exten => _XXX,n,Dial(SIP/${EXTEN},,gF(cgh))
exten => _XXX,n,NoOp(Called Hangup)
exten => _XXX,n,Goto(h,1)
exten => _XXX,n(cgh),NoOp(Caller Hangup)
exten => _XXX,n,Goto(h,1)
exten => h,1,Hangup
ЛС: @rostel
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH