Страница 1 из 3

Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 13:12
Masquare
Добрый день...столкнулся с проблемой:
exten => 503,1,Verbose(1|503)
exten => 503,n,GotoIf($[${CALLERID(num)} = 501]?sbros:zvonok)
exten => 503,n(zvonok),Dial(SIP/503)
exten => 503,n,Hangup()
exten => 503,n(sbros),Playback(vm-goodbye)
exten => 503,n,Hangup()

Все работает, все отлично, за исключением небольшого "НО" ....все работает, при условии, что абонент 503 не активен! когда же я захожу через SIP телефон с другого компьютера и авторизируюсь абонентом 503...то звоня с телефонов 501, 502...да и вообще любого другого номера..начинается соединение с абонентом, а в консоли программы никаких сообщений не выводится...

да и вообще я делал даже так...
;exten => 503,1,Verbose(1|503)
;exten => 503,n,GotoIf($[${CALLERID(num)} = 501]?sbros:zvonok)
;exten => 503,n(zvonok),Dial(SIP/503)
;exten => 503,n,Hangup()
;exten => 503,n(sbros),Playback(vm-goodbye)
;exten => 503,n,Hangup()

и все равно идет звонок.

Вот как зарегистрирован абонент 503, как впрочем и другие, в sip.conf:
[503]
type=friend
secret=123
context=phones
host=dynamic
allowoverlap=no
srvlookup=yes

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 13:18
zzuz
потому что в ковычках строки лучше держать.
exten => 503,n,GotoIf($["${CALLERID(num)}" = "501"]?sbros:zvonok)

и проблемы здесь не видно , если звонит не номер 501 , то звонок уходит на
exten => 503,n(zvonok),Dial(SIP/503)
если звонит 501 , то сброс.
что не так?

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 13:20
zzuz
И вообще в каком контексте ваш бредовый диаплан написан?

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 13:33
Masquare
разибраю примеры с книги)

написан в incoming
но в phones прописал, чтобы он инкоминг включал в себя

все равно идет звонок, хоть и поставил ковычки.... проблема в том, что условия выполняются, только если абонент не в сети.
Когда он не в сети, то в консоли астериска я отслеживаю все действия...когда же он в сети, в консоли никаких действий не выполняется, при этом идет соединение, с какого номера бы я не звонил

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 13:44
Vlad1983
grep switch -irn /etc/asterisk/exten*

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 14:02
zzuz
Нормальный такой ход - провернуть на форуме миссию по халявному выпрашиванию репетиторства , читая при этом книжку.

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 14:09
Vlad1983
просто неверный подход к обучению
учиться надо писать с пустых файлов, а не внедряться в готовый диалплан, в котором много непонятных строк

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 14:18
Masquare
zuzz, спасибо за помощь, я лишь описал проблему, а помочь ли с ее решением...это уже ваше дело.

Vlad1983, я создал пустые sip.conf, extensions.conf и в них пишу..
Ввел команду, что вы мне написали..Вывело мне кучу всего)) ссылки в основном идут на extensions.sample.conf который я вовсе не использую...

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 14:28
jugatsu
Отдебажь при помощи NoOp, ChanisAvail и DumpChan, например. Что значит всё работает? Выполняется проигрывание, условие?

Re: Не выполняются условия в диалплане

Добавлено: 28 дек 2011, 14:35
Masquare
jugatsu именно так, и проигрывание и условие, смотря с какого номера звоню...а когда 503 абонент авторизуется, то никаких условий не соблюдается, и звук не проигрывается...