AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Сообщение о неправильно набранном номере

Newbies/FAQ Forum 4 сообщений 22.12.2010 07:45 - 23.12.2010 07:58
#1 22.12.2010 07:45

Сообщение о неправильно набранном номере


методом exten => i для входящих звонков реализовал, а вот для внутренних sip абонентов не работает Sad
т.е. добавляю в конец контекста внутренних номеров exten=>i,1,Playback(pbx-invalid), входящий звонок попадает в этот контекст и при неправильном наборе слышит сообщение об этом, а вот если внутренний абонент в этом же контексте i не обрабатывает, в консоли стандартное сообщение о не найденном екстеншене

Code:
[Dec 22 11:37:01] NOTICE[3055]: chan_sip.c:20200 handle_request_invite: Call from '142' to extension '999' rejected because extension not found in context 'phones_town'.



как реализовать?

мде.... сам туплю.... i и t обрабатываются приложением waitexten же, так что тут надо как то по другому это делать, но вопрос остаётся не решенным, как сообщать внутреннему обоненту о неправильном номере?
#2 22.12.2010 15:44

У меня 3-х значные номера на "1" и сделано так:
Code:

[on_inbound]
....
exten => _1XX,1,Macro(in,${EXTEN})

exten => _X.,1,Macro(in,${EXTEN})

[macro-in]
...
exten => s,n,ExecIf($[LEN(${MACRO_EXTEN})>3 | LEN(${MACRO_EXTEN}) s,n(ring),Ringing()
exten => s,n,Dial(SIP/${MACRO_EXTEN},30,Ttm)
...
exten => error,1,Progress()
exten => error,n,Playtones(congestion)
exten => error,n,Wait(2)
exten => error,n,Playback(privacy-incorrect,noanswer)
exten => error,n,Playtones(congestion)
exten => error,n,Wait(2)
exten => error,n,Hangup()

Итого, за исключение некоторых опущенных строк, имеем. Поступающий звонок с намерением звонить на 1ХХ номера, попадает в макрос, где определяется его длина. Если она больше или меньше трёх, то звонок валится на error, где говорится о том, что номер неверен. В иных случаях идёт дозвон на внутренний номер абонента. Smile
#3 22.12.2010 18:22

увы не исключающий вариант, ведь не факт что каждый из 3х значных экстеншенов используется.
#4 23.12.2010 07:58

Стоит же маска _1XX, которая пропустит только номера 100-199. Номера 225, 1545 и прочая чушь будут отваливаться с
exten => error,n,Playback(privacy-incorrect,noanswer)
Что не так? Shocked
Если же номер не зарегестрирован, занят, не берут трубку, то для этого у меня в этом же контексте есть отдельные средства для обработки.