Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Диалплан

Диалплан

1 2>
Откуда: Казахстан, Петропавловск
Сообщений: 69

Диалплан

Здравствуйте, уважаемые профи!
Столкнулся с астериском (также как с линуксом) впервые, до этого имел дело лишь с панасониками. Первоначальная задача: разобраться с функционированием и программированием оного. Для облегчения "старта" был приглашен человек, разбирающийся в вопросе, он установил линукс с астериском и завел один из двух сип-номеров местного провайдера и один - от sipnet.ru. Второй сип заводил уже я сам, не без его помощи. Пытаюсь разобраться с диалпланом и регистрацией сип номеров (файлы sip.conf и extension.conf). Логика работы прояснилась благодаря книге "астерикс - будущее ip- телефонии" и экспериментам, но не полностью. Входящая-исходящая связь работает, трабл возник когда я решил развести входящие звонки по своим, разным сценариям (изначально они одинаково прописаны). Привожу оба файла:

[general]
context=office
allowguest=no
bindport=5060
bindaddr=0.0.0.0
allow=g711

register=sashakz:xxxxxx@sipnet.ru
register=760265963:yyyyyy@sip.telecom.kz/idphone ; номер2
register=573610945:zzzzzz@sip.telecom.kz/idphone ; номер1

[sipnet]
type=friend
username=sashakz
secret=xxxxxx
callerid=0020443269
host=sipnet.ru
nat=no
fromuser=0020443269
fromdomain=sipnet.ru
dtmfmode=rfc2833
insecure=very
context=sipnet

[idphone1]
type=friend
username=573610945
secret=zzzzzz
host=sip.telecom.kz
nat=no
fromuser=573610945
fromdomain=sip.telecom.kz
dtmfmode=rfc2833
insecure=very
context=idphone1

[idphone2]
type=friend
username=760265963
secret=yyyyyy
host=sip.telecom.kz
nat=no
fromuser=760265963
fromdomain=sip.telecom.kz
dtmfmode=rfc2833
insecure=very
context=idphone2


[200] ; xlite phone
type=friend
host=dynamic
username=200
secret=12345
nat=no
canreinvite=no
context=office
callerid=”User1″ <200>
mailbox=200@default
[201] ; xlite phone
type=friend
host=dynamic
username=201
secret=12345
nat=no
canreinvite=no
context=office
callerid=”User2″ <201>
mailbox=201@default
[202] ; xlite phone
type=friend
host=dynamic
username=202
secret=12345
nat=no
canreinvite=no
context=office
callerid=”User3″ <202>
mailbox=202@default
[203] ; xlite phone
type=friend
host=dynamic
username=203
secret=12345
nat=no
canreinvite=no
context=office
mailbox=203@default
callerid=”User4″ <203>



[office]
exten => idphone,1,Wait, 1
exten => idphone,2, Answer
exten => idphone,3, BackGround(dir-instr)
exten => idphone,4, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,5, BackGround(dir-instr)
exten => idphone,6, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,7, BackGround(dir-instr)
exten => idphone,8, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,9, Voicemail(200)
exten => idphone,10, Hangup()
exten => _2XX,1,Dial(SIP/${EXTEN},20,t)
exten => _2XX,2,Voicemail(${EXTEN})
exten => _2XX,3,Hangup()
exten => _+7.,1,Dial(SIP/sipnet/${EXTEN},30,m)
exten => _+7.,2,Hangup()
exten => _8.,1,Dial(SIP/sipnet/${EXTEN:1},30,m)
exten => _8.,2,Hangup()
exten => _XXXXXX,1,Dial(SIP/idphone1/${EXTEN},30,m)
exten => _XXXXXX,2,Dial(SIP/idphone2/${EXTEN},30,m)
exten => _XXXXXX,3,Hangup()
exten => 8500, 1, VoiceMailMain

[sipnet]
exten => s,1,Wait, 1
exten => s,2, Answer
exten => s,3, BackGround(dir-instr)
exten => s,4, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => s,5, BackGround(dir-instr)
exten => s,6, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => s,7, BackGround(dir-instr)
exten => s,8, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => s,9, Voicemail(200)
exten => s,10, Hangup()
exten => _2XX,1,Dial(SIP/${EXTEN},20,t)
exten => _2XX,2,Voicemail(${EXTEN})
exten => _2XX,3,Hangup()
exten => 8500, 1, VoiceMailMain
exten => i,1,Goto(s|2)

[idphone1]
exten => idphone,1,Wait, 1
exten => idphone,2, Answer
exten => idphone,3, BackGround(dir-instr)
exten => idphone,4, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,5, BackGround(dir-instr)
exten => idphone,6, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,7, BackGround(dir-instr)
exten => idphone,8, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,9, Voicemail(200)
exten => idphone,10, Hangup()
exten => _2XX,1,Dial(SIP/${EXTEN},20,t)
exten => _2XX,2,Voicemail(${EXTEN})
exten => _2XX,3,Hangup()
exten => 8500, 1, VoiceMailMain
exten => i,1,Goto(s|2)

[idphone2]
exten => idphone,1,Wait, 1
exten => idphone,2, Answer
exten => idphone,3, BackGround(dir-instr)
exten => idphone,4, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,5, BackGround(dir-instr)
exten => idphone,6, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,7, BackGround(dir-instr)
exten => idphone,8, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,9, Voicemail(200)
exten => idphone,10, Hangup()
exten => _2XX,1,Dial(SIP/${EXTEN},20,t)
exten => _2XX,2,Voicemail(${EXTEN})
exten => _2XX,3,Hangup()
exten => 8500, 1, VoiceMailMain
exten => i,1,Goto(s|2)


Для начала хочу сделать так, чтобы с одного сипа звонок попадал на приветствие, а с другого - софтофоны звонили сразу, без первого приветствия. Убираю у контекста первого номера
exten => idphone,3, BackGround(dir-instr)
exten => idphone,4, Dial(SIP/200&SIP/201&SIP/202,20,t)
все равно оба попадают на приветствие. Убрать первое приветствие можно лишь удалением такого же блока у идфона2, но убирается оно сраззу на двух номерах. Выходит, экстеншн для номера1 и номера2 - это идфон2? Но ведь явно прописаны разные контексты. Как быть, целый день просидел над этим, менял конфиги, но так и не нашел
2009-10-04 22:26

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Диалплан

плохо вы книгу читали, обычно у новичков не ранее чем через месяц просветление наступает.

если убираете
exten => idphone,3, BackGround(dir-instr)
exten => idphone,4, Dial(SIP/200&SIP/201&SIP/202,20,t)
то убирайте целиком, они у вас по три раза в каждом контексте. и не забудьте перенумеровать приоритеты
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-10-04 22:39

Откуда: Казахстан, Петропавловск
Сообщений: 69

Re: Диалплан

но ведь, второй номер нужно пускать через первое приветствие. Единственное, может блок office влияет. Не пойму, он дублирует звонковую часть и формирует исходящие звонки для всех внутренних абонентов
2009-10-04 22:44

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Диалплан

у вас в обоих контекстах одно и тоже, какое еще второе приветствие?
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-10-04 22:47

Откуда: Казахстан, Петропавловск
Сообщений: 69

Re: Диалплан

спасибо, буду пробовать
2009-10-04 22:50

Откуда: Казахстан, Петропавловск
Сообщений: 69

Re: Диалплан

неужели вставив background после нескольких первых гудков (по синтаксису) в результате этот background начинает воспроизводиться и в начале вызова?
2009-10-04 22:58

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Диалплан

а с чего вы взяли что вставили после нескольких первых гудков?
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-10-04 23:17

Сообщений: 6521

Re: Диалплан

Уважаемый Merk,
пока что нет у Вас понимания КАК это работает. Вы так и не объяснили зачем плодите одинаковые контексты?

exten => idphone,1,Wait(1)
exten => idphone,2, Answer
exten => idphone,3, BackGround(dir-instr)
exten => idphone,4, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,5, BackGround(dir-instr)
exten => idphone,6, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,7, BackGround(dir-instr)
exten => idphone,8, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,9, Voicemail(200)

в такой цепочке если на четвёртом шаге, когда зазвонят телефоны 200, 201, 202, и один из них ответит,
шаги 5, 6, 7,8 и 9 не будут выполняться.

[idphone1] ; с приветствием
exten => s,1,Answer
exten => s,n,Wait(1)
exten => s,n,BackGround(dir-instr)
exten => s,n,Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => s,n,Voicemail(200)
exten => _2XX,1,Dial(SIP/${EXTEN},20,t)
exten => _2XX,2,Voicemail(${EXTEN})
exten => _2XX,3,Hangup()
exten => 8500, 1, VoiceMailMain
exten => i,1,Goto(s|2)
exten => h,1,Hangup()

[idphone2] ; без приветствия
exten => s,1,Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => s,n,Voicemail(200)
exten => _2XX,1,Dial(SIP/${EXTEN},20,t)
exten => _2XX,2,Voicemail(${EXTEN})
exten => _2XX,3,Hangup()
exten => 8500, 1, VoiceMailMain
exten => i,1,Goto(s|2)
exten => h,1,Hangup()

Почитайте книгу ещё.
2009-10-04 23:49

Откуда: Казахстан, Петропавловск
Сообщений: 69

Re: Диалплан

понимания полного нет, я об этом сказал. Просто строки:
exten => idphone,1,Wait(1)
exten => idphone,2, Dial(SIP/200&SIP/201&SIP/202,20,t)
exten => idphone,3, BackGround(dir-instr)
exten => idphone,4, Dial(SIP/200&SIP/201&SIP/202,20,t)

как я думал, заставят сначала звонить телефоны в течение 20 секунд и, по неответу, снова зазвучит приветствие (ну или это будет уже какое либо сообщение-напоминание, с возможностью донабора).
Буду разбираться
2009-10-05 08:21

Сообщений: 6521

Re: Диалплан

ded:

Уважаемый Merk,
........зачем плодите одинаковые контексты?
2009-10-05 12:17

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru