Такас проблема... делаю чтобы звонок приходил и переадресовывался на конкретный exten после чего там уже для каждого прописано всё... Вот конфиг:
exten => s,1,Wait,1
exten => s,2,SetLanguage(ru)
exten => s,3,Answer
exten => s,4,Dial(SIP/${EXTEN})
exten => s-NOANSWER,1,Voicemail(u${EXTEN})
exten => s-NOANSWER,2,Goto(default,s,1)
exten => s-BUSY,1,Voicemail(b${EXTEN})
exten => s-BUSY,2,Goto(default,s,1)
exten => _s-.,1,Goto(s-NOANSWER,1)
Пытаюсь звонить с H323 на номер 1000:
a005f107e6128fa1cc975e86e5be11b@192.168.0.99 for seqno 102 (Non-critical Request)
May 3 12:03:31 WARNING[912]: No such host: s
May 3 12:03:31 NOTICE[912]: Unable to create channel of type 'SIP'
Почему отдаёт s в качестве ${EXTEN}? А не номер на который звоню?
Также ниже прописал:
exten => _9.,1,Dial(H323/root:${EXTEN})
когда звоню через девятку в город.. на Gatekeeper звонок не идёт... что за фигня?
| Chris писал(а): |
| exten => s,4,Dial(SIP/${EXTEN}) .... Почему отдаёт s в качестве ${EXTEN}? А не номер на который звоню? |
http://www.voip-info.org/wiki-Asterisk+Variables
| Код: |
| exten => pattern,priority,Command(parameters) ${EXTEN}: The current extension |
Т.е. смысл переменной ${EXTEN}, в том что бы содержать текущее екстеншн, у тебя экстеншн - s - поэтому и звонить пытается на SIP/s
Видимо дело в передаче управления на данный контекст.
| Chris писал(а): |
| ${CALLINGPRES}? |
эта переменная определяет реакцию на принимаемый CallerID (судя по ее описанию).
нет, я думаю, ошибка вкрадывается в момент передачи управления, - ее видимо надо сделать иначе.
| Chris писал(а): |
| Тогда как сделать? Чтобы звонок шел на exten который набрали в качестве номера? |
Всегда думал, что так:
exten => твой_номер,4,Dial(SIP/твой-номер)
а дальше, впринципе если как меню, то вводишь доьбавочный... но у меня задача сделать несколько входящих номеров с разными меню... а вот как автоматом обрабатывать.... вот в чем вопрос
| Chris писал(а): |
| Именно когда звонишь на * то попадаешь на s |
Нет, когда звонишь на * попадаешь в конекст, который ты определил для входящих звонков с какого-либо канала.
| Chris писал(а): |
| а дальше, впринципе если как меню, то вводишь доьбавочный... но у меня задача сделать несколько входящих номеров с разными меню... а вот как автоматом обрабатывать.... вот в чем вопрос |
У меня, например, входящие попадают в контекст incoming и далее распихиваются по задачам для каждого номера примерно так:
[incomming]
exten => 100,2,Goto(100,s,1)
exten => 101,2,Goto(101,s,1)
exten => 102,2,Goto(102,s,1)
etc...
Слушай, а как перенаправить в мир через H323 звонки? если у меня региться на GKпользователь
root
prefix=.
Если уходят скажем с префиксом 9?
Тоже есть какой то контекст? А перенаправлять просто Dial(H323/root)?
| Chris писал(а): |
| Ввариант Слушай, а как перенаправить в мир через H323 звонки? если у меня региться на GKпользователь root prefix=. Если уходят скажем с префиксом 9? Тоже есть какой то контекст? А перенаправлять просто Dial(H323/root)? |
Контексты ты определяешь все сам (кроме general) тебе просто надог задать екстеншн с соотетствующим паттерном (шаблоном) и все звонки соответствующие этому шаблону подвергнуться соответствующему действию (например будут перенаправлены на h323 канал)
в хендбуке есть пример, думаю он подойдет и тебе (с соответствующими изменениями естественно)
| Код: |
| .... [directdial] ignorepat => 9 exten => 9,1,Dial(Zap/g2/) exten => 9,2,Congestion [international] ignorepat => 9 exten => _9011.,1,Dial(Zap/g2/${EXTEN:1}) exten => _9011.,2,Congestion include => longdistance [longdistance] ignorepat => 9 exten => _91NXXNXXXXXX,1,Dial(Zap/g2/${EXTEN:1}) exten => _91NXXNXXXXXX,2,Congestion include => local [local] ignorepat => 9 exten => _9NXXXXXX,1,Dial(Zap/g2/${EXTEN:1}) exten => _9NXXXXXX,2,Congestion include => default .... |
| ys писал(а): |
| [incomming] exten => 100,2,Goto(100,s,1) exten => 101,2,Goto(101,s,1) exten => 102,2,Goto(102,s,1) etc... |
Нихрена пока не получается... всё равно лезет на default и в неём на exten s....
как ему контекст то задать нормально? что если звонки с h323?
;
; Local seven-digit dialing accessed through trunk interface
;
exten => _9XXXXXXX,1,Dial(H323/${EXTEN:${TRUNKMSD}})
exten => _9XXXXXXX,2,Congestion
ну не работает и всё... не отправляет он на GK....
можно попробовать вот такое:
| Код: |
| [trunklocal] ; ; Local seven-digit dialing accessed through trunk interface ; exten => _9XXXXXXX,1,NoOp(${EXTEN}) exten => _9XXXXXXX,2,Dial(H323/${EXTEN:${TRUNKMSD}}) exten => _9XXXXXXX,3,Congestion |
Если в экстеншн заходит, значит проблема в h323.conf
Так что /usr/sbin/asterisk -cvvvvv
и смотрим что говорит система при звонках
| Chris писал(а): |
| Okey... какой context должен быть в sip.conf у пользователя... Может в этом дело? |
откуда я знаю?
зависит от твоего extensions.conf
он должен быть таким, что бы из него был выход на
exten => _9XXXXXXX,1,Dial(H323/${EXTEN:${TRUNKMSD}})
| sergey писал(а): | ||
| Chris писал(а): |
| Okey... какой context должен быть в sip.conf у пользователя... Может в этом дело? |
откуда я знаю?
зависит от твоего extensions.conf
он должен быть таким, что бы из него был выход на
exten => _9XXXXXXX,1,Dial(H323/${EXTEN:${TRUNKMSD}})