Диалплан
Откуда: Казахстан, Петропавловск
Сообщений: 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? Но ведь явно прописаны разные контексты. Как быть, целый день просидел над этим, менял конфиги, но так и не нашел
|
Откуда: Уфа
Сообщений: 5856
|
Re: Диалплан
плохо вы книгу читали, обычно у новичков не ранее чем через месяц просветление наступает.
если убираете
exten => idphone,3, BackGround(dir-instr)
exten => idphone,4, Dial(SIP/200&SIP/201&SIP/202,20,t)
то убирайте целиком, они у вас по три раза в каждом контексте. и не забудьте перенумеровать приоритеты
|
Откуда: Казахстан, Петропавловск
Сообщений: 69
|
Re: Диалплан
но ведь, второй номер нужно пускать через первое приветствие. Единственное, может блок office влияет. Не пойму, он дублирует звонковую часть и формирует исходящие звонки для всех внутренних абонентов
|
Откуда: Уфа
Сообщений: 5856
|
Re: Диалплан
у вас в обоих контекстах одно и тоже, какое еще второе приветствие?
|
Откуда: Казахстан, Петропавловск
Сообщений: 69
|
Re: Диалплан
спасибо, буду пробовать
|
Откуда: Казахстан, Петропавловск
Сообщений: 69
|
Re: Диалплан
неужели вставив background после нескольких первых гудков (по синтаксису) в результате этот background начинает воспроизводиться и в начале вызова?
|
Откуда: Уфа
Сообщений: 5856
|
Re: Диалплан
а с чего вы взяли что вставили после нескольких первых гудков?
|
Сообщений: 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()
Почитайте книгу ещё.
|
Откуда: Казахстан, Петропавловск
Сообщений: 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 секунд и, по неответу, снова зазвучит приветствие (ну или это будет уже какое либо сообщение-напоминание, с возможностью донабора).
Буду разбираться
|
Сообщений: 6521
|
Re: Диалплан
ded: Уважаемый Merk,
........зачем плодите одинаковые контексты?
|
|