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

Запутался... Хелп...

Asterisk IP PBX 18 сообщений -
#1

Привет всем!
Такас проблема... делаю чтобы звонок приходил и переадресовывался на конкретный 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 звонок не идёт... что за фигня?
#2

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

Видимо дело в передаче управления на данный контекст.
#3

${CALLINGPRES}?
#4

Chris писал(а):
${CALLINGPRES}?

эта переменная определяет реакцию на принимаемый CallerID (судя по ее описанию).

нет, я думаю, ошибка вкрадывается в момент передачи управления, - ее видимо надо сделать иначе.
#5

Тогда как сделать? Чтобы звонок шел на exten который набрали в качестве номера?
#6

Chris писал(а):
Тогда как сделать? Чтобы звонок шел на exten который набрали в качестве номера?


Всегда думал, что так:
exten => твой_номер,4,Dial(SIP/твой-номер)
#7

Именно когда звонишь на * то попадаешь на s
а дальше, впринципе если как меню, то вводишь доьбавочный... но у меня задача сделать несколько входящих номеров с разными меню... а вот как автоматом обрабатывать.... вот в чем вопрос
#8

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...
#9

Ввариант Smile Спасибо! Smile

Слушай, а как перенаправить в мир через H323 звонки? если у меня региться на GKпользователь
root
prefix=.


Если уходят скажем с префиксом 9?
Тоже есть какой то контекст? А перенаправлять просто Dial(H323/root)?
#10

И последнее, а контекст как задаешь? В h323.conf - context=incomming?
#11

Chris писал(а):
Ввариант Smile Спасибо! Smile

Слушай, а как перенаправить в мир через 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
....
#12

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?
#13

[trunklocal]
;
; Local seven-digit dialing accessed through trunk interface
;
exten => _9XXXXXXX,1,Dial(H323/${EXTEN:${TRUNKMSD}})
exten => _9XXXXXXX,2,Congestion

ну не работает и всё... не отправляет он на GK.... Sad
#14

а оно вообще в этот экстеншн заходит?
можно попробовать вот такое:

Код:

[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

и смотрим что говорит система при звонках
#15

Okey... какой context должен быть в sip.conf у пользователя... Может в этом дело?
#16

Chris писал(а):
Okey... какой context должен быть в sip.conf у пользователя... Может в этом дело?

откуда я знаю? Smile
зависит от твоего extensions.conf

он должен быть таким, что бы из него был выход на
exten => _9XXXXXXX,1,Dial(H323/${EXTEN:${TRUNKMSD}})
#17

Okey... какой context должен быть в sip.conf у пользователя... Может в этом дело?
#18

sergey писал(а):
Chris писал(а):
Okey... какой context должен быть в sip.conf у пользователя... Может в этом дело?

откуда я знаю? Smile
зависит от твоего extensions.conf

он должен быть таким, что бы из него был выход на
exten => _9XXXXXXX,1,Dial(H323/${EXTEN:${TRUNKMSD}})