2 сервера - одна realtime база
Сообщений: 104
|
2 сервера - одна realtime база
Добрый день, есть два сервера астериск, используют одну базу логинов.
Пользователь может зарегистрироваться то там то там.
Проблема:
юзер 111 на 1 сервере зарегился
юзер 112 на втором
экстеншены на сервере 1:
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _XXX,2,GotoIf($[$["${DIALSTATUS}" = "CHANUNAVAIL"]|$["${DIALSTATUS}"
exten => _XXX,3,Dial(IAX2/server2/${EXTEN})
экстеншены на сервере 2:
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _XXX,2,GotoIf($[$["${DIALSTATUS}" = "CHANUNAVAIL"]|$["${DIALSTATUS}"
exten => _XXX,3,Dial(IAX2/server1/${EXTEN})
так вот как то оно работает непонятно.
когда от базы кэшируется информация, то при наборе 112 с первого сервера, звонок идет прямо с этого сервера пользователю. но зачастую получаю тишину в ответ.
Вопрос:
Как сделать правильное распределение? что бы юзеры могли звонить друг другу без проблем?
ЗЫ Гугл + форумы перелопачены, вменяемого примера не нашёл :( в основном позиция такова что на 1 сервере экстеншены начинаются на 1, на втором на 2 и тд...
заранее спасибо за помощь
|
Откуда: Уфа
Сообщений: 5856
|
Re: 2 сервера - одна realtime база
dundi + regcontext
|
Сообщений: 1573
|
Re: 2 сервера - одна realtime база
rtautoclear?
|
Сообщений: 104
|
Re: 2 сервера - одна realtime база
;rtautoclear=yes
закоментирована, поставить в yes? или лучше в секунды(сколько)?
можно будет не использовать dundi?
|
Сообщений: 104
|
Re: 2 сервера - одна realtime база
Сделал вот по этому примеру: http://readlist.com/lists/lists.digium.com/asterisk-users/3/16438.html
вроде работает, но смущает одно:
когда с юзер с сервера 1 звонит юзеру через сервер 2, пользователю приходит звонок от 2 сервера, пользователь отбивает звонок и следом приходит звонок от 1 сервер :(
|
Сообщений: 104
|
Re: 2 сервера - одна realtime база
Сделал вот по этому примеру: http://readlist.com/lists/lists.digium.com/asterisk-users/3/16438.html
вроде работает, но смущает одно:
когда с юзер с сервера 1 звонит юзеру через сервер 2, пользователю приходит звонок от 2 сервера, пользователь отбивает звонок и следом приходит звонок от 1 сервер :(
|
Сообщений: 104
|
Re: 2 сервера - одна realtime база
[dundi-priv-local]
include=>sip_local
exten => _XXXXX,2,Dial(SIP/${EXTEN})
exten => _XXXXX,3,Hangup
Разобрался детальнее, так вот тут, если на другом сервере есть экстеншн и на телефоне нажать сброс, то на первом сервере все равно попадает на приорити 2 - почему не могу разобраться.
|
Откуда: Уфа
Сообщений: 5856
|
Re: 2 сервера - одна realtime база
dialplan show dundi-priv-local
|
Сообщений: 104
|
Re: 2 сервера - одна realtime база
dialplan show dundi-priv-local
[ Context 'dundi-priv-local' created by 'pbx_config' ]
'_XXXXX' => 2. Dial(SIP/${EXTEN}) [pbx_config]
3. Hangup() [pbx_config]
Include => 'sip_local' [pbx_config]
-= 1 extension (2 priorities) in 1 context. =-
PS но если делаю, на телефоне поднять, потом сбросить, то всё оки, звонок обрывается и никуда далее не идёт
|
Откуда: Уфа
Сообщений: 5856
|
Re: 2 сервера - одна realtime база
поидее зареганый телефон дает в regcontext инструкцию
exten => _X.,1,noop
после которой уже вставляешь все, что надо
в твоем случае ничего нет, телефон не зарегался
посмотри в sip-local
может быть ситуация, когда во вложенном контексте есть первый приоритет, но втой приоритет - уже в контексте более высокого уровня, вот туда и уходит
|
|