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

2 SIP-канала

Newbies/FAQ Forum 9 сообщений 16.08.2011 06:44 - 19.08.2011 10:41
#1 16.08.2011 06:44

2 SIP-канала


Добрый день! Астериск 1.4 на SUSE. Вначале предисловие. Подключили у провайдера один многоканальный номер 3740474. На этот номер поступают звонки для нашей службы поддержки, которые обрабатываются в порядке очереди. Все в принципе нормальо работает. Появилась нужда для подключения еще одной группы номеров, чтобы туда поступали звонки для другого отдела. Купили номер 3740454. Вот что я делаю:Ниже кусок конфига:

[general]
context=default
allowguest=no
bindport=5060
bindaddr=0.0.0.0
disallow=all
allow=ulaw
allow=alaw
language=ru
register=3740474:ххххххх@comstar/3740474
register=3740454:ххххххх@abon/3740454

[comstar]
type=friend
;username=3740474
secret=ххххххх
;callerid=comstar
host=83.242.ххх.хх
nat=yes
insecure=invite
context=callcenter

[abon]
type=friend
;username=3740454
secret=ххххххх
;callerid=abon
host=83.242.ххх.хх
nat=yes
insecure=invite
context=AbonOtdel

Провайдер один и тот же, хост тоже один
Сейчас когда пытаюсь делать звонки на номер 3740454 все вроде бы нормально работают, звонки поступают, встают в очередь и т.д. Но когда звоню на первый номер 3740474, то выходит ошибка
NOTICE[4196]: chan_sip.c:14035 handle_request_invite: Call from 'abon' to extension '3740474' rejected because extension not found.

И вроде бы все правильно - в контексте AbonOtdel нет екстена 3740474. Но этот екстен в другом контексте acllcenter. Я хочу чтобы на разных номерах работали разные контексты. Как это все побороть и правильно сделать?
#2 16.08.2011 07:03

А в extensions.conf что вообще написано?
#3 16.08.2011 07:15

[callcenter]
exten => 3740474,1,Answer()
exten => 3740474,n,BackGround(Privetstvie3)
exten => 3740474,n,Wait(2)
exten => 3740474,n,Set(MONITOR_FILENAME=${STRFTIME(${EPOCH},,%Y_%m_%d_%H-%M)})
exten => 3740474,n,Queue(myqueue)
exten => 3740474,n,Hangup()
exten => 500,1,Dial(SIP/500,,t)
exten => 501,1,Dial(SIP/501,,t)
exten => 502,1,Dial(SIP/502)
exten => 503,1,Dial(SIP/503,,t)
exten => 504,1,Dial(SIP/504,,o)
exten => 505,1,Dial(SIP/505,,o)
exten => 506,1,Dial(SIP/506,,o)

[AbonOtdel]
exten => 3740454,1,Wait,1
exten => 3740454,n,Answer()
exten => 3740454,n,BackGround(AO)
exten => 3740454,n,Wait(2)
exten => 3740454,n,Set(MONITOR_FILENAME=${STRFTIME(${EPOCH},,%Y_%m_%d_%H-%M)})
exten => 3740454,n,Queue(abonotd)
exten => 3740454,n,Hangup()
exten => 516,1,Dial(SIP/516,,o)
exten => 517,1,Dial(SIP/517,,o)

Как-то так
#4 18.08.2011 16:27

Чет молчат старшие товарищи...
Вроде где-то на форуме говорили, что с одного IP все попадает в один контекст.
#5 19.08.2011 06:29

Диллема решена. Спасибо Cache !!!
#6 19.08.2011 08:18

а решение можно озвучить ?
_________________
Debian Squeeze + Asterisk 1.8.5.0
#7 19.08.2011 08:52

Как уже было отвечено выше, все что приходит с одного IP попадет в один контекст, который прописан для данного пира, с данным IP, и который находтся "выше".
Так что звонки в таких случаях надо разруливать в одном контексте, по extention например. Вы же в строке с регистрацией указываете в какой extention звонки посылать.
#8 19.08.2011 10:34

Все звонки с обоих номеров у меня теперь попадают в один контекст. И оттуда уже расходятся по нужным веткам.
#9 19.08.2011 10:41

а, я думал может просто что то другое сделали Smile
_________________
Debian Squeeze + Asterisk 1.8.5.0