Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

kamailio настройка балансировки

Использование и настройка других открытых VoIP PBX

Модератор: april22

kamailio настройка балансировки

Сообщение maksimovkv » 18 ноя 2015, 13:22

Добрый день!
Хочу собрать следующую схему. Пользователи регистрируются на kamailio, звонки от них от них балансируются на ноды астериска.
То есть приходит звонок от пользователя на kamailio, он посылает его на на одну из нод астериска .
Астериск принимает вызов, выполняет какое-то приложение если надо и отправляет вызов обратно к kamailio и он свою очередь отдает этот вызов конечно пользователю.
При тесте у меня получается что-то типа петли инвайтов.То есть инвайт от пользователя летит на камалио, он отправляет его на ноду, вызов возвращается и опять попадает в секцию инвайт и вызов опять уходит на астер, а не на конечного пользователя.Не могу понять как правильно это дело смашрутизировать, может нужно какие-то условия написать для каждых инвайтов или т.п.
Пересмотрел кучу конфигов, но не могу понять саму концепцию.
Вот что в конфиге
if (is_method("INVITE"))
{
record_route();
sl_send_reply("100","Trying");
ds_select_dst("1", "4");
forward();
xlog("L_NOTICE", "Balancing call to asterisk => $du, from $fU \n");
route(LOCATION);
route(RELAY);
}
}
maksimovkv
 
Сообщений: 5
Зарегистрирован: 18 ноя 2015, 12:32

Re: kamailio настройка балансировки

Сообщение Pechen » 18 ноя 2015, 15:28

Pechen
 
Сообщений: 118
Зарегистрирован: 29 дек 2013, 23:16

Re: kamailio настройка балансировки

Сообщение maksimovkv » 18 ноя 2015, 16:16

Уже читал эту статью, сделано примерно тоже самое.Но почему-то инвайты которые приходят от нод попадают опять в секцию где описано балансировка и опять летят на эти же ноды, и в итоге получается петля.Как адресовать инвайты от нод, которые приходят от камалио конечным пользователем, не могу понять
if (is_method("INVITE"))
{
record_route();
sl_send_reply("100","Trying");
ds_select_dst("1", "4");
forward();

пришел инвайт на камалио и ушел на ноды.От нод идет инвайт и попадет сюда же и опять уходит на ноды.
Почему не уходит сюда
route(LOCATION);
route(RELAY);
}
}

секция
maksimovkv
 
Сообщений: 5
Зарегистрирован: 18 ноя 2015, 12:32

Re: kamailio настройка балансировки

Сообщение maksimovkv » 19 ноя 2015, 14:44

Разобрался, можно закрыть тему.
maksimovkv
 
Сообщений: 5
Зарегистрирован: 18 ноя 2015, 12:32

Re: kamailio настройка балансировки

Сообщение april22 » 19 ноя 2015, 14:50

напишите для потомков
Своими вопросами , вы загоняете меня в ГУГЛЬ.
april22
 
Сообщений: 1792
Зарегистрирован: 09 июл 2012, 09:47

Re: kamailio настройка балансировки

Сообщение Samael28 » 21 ноя 2015, 13:34

Дайте угадаю, через что-то типа
if (ds_is_in_list("$si", ..) {
...
}
в смысле проверять, если адрес реквеста - одна из нод, тогда отсылаем на юзера? )
Мой профайл на Upwork
Samael28
 
Сообщений: 1046
Зарегистрирован: 08 янв 2011, 19:32
Откуда: Киев

Re: kamailio настройка балансировки

Сообщение maksimovkv » 24 ноя 2015, 15:19

да верно, нужно было написать условие, если приходит инвайт приходит от нод, направлять его конечного пользователя.
На писал так
if (is_method("INVITE")) {
if(src_ip==ip_одной из нод & method=="INVITE"){
log("the message was sent from localhost!\n");
route(LOCATION);
route(RELAY);
}
else
{if(src_ip==ip_одной из нод & method=="INVITE"){
log("the message was sent from localhost!\n");
route(LOCATION);
route(RELAY);
}

С kamailio только разбираюсь , по началу было сложно понять саму концепцию.Вот как интересно будет работать перехват вызова в данной схеме, пока не понятно. Наверно надо использовать конкретный модуль для реализации.
maksimovkv
 
Сообщений: 5
Зарегистрирован: 18 ноя 2015, 12:32

Re: kamailio настройка балансировки

Сообщение virus_net » 25 ноя 2015, 09:14

Интересная тема. Сам давно хочу попробовать, но все руки не доходят.
Помимо перехватов как минимум есть ещё вопросы про очереди и работу BLF в такой схеме.

maksimovkv писал(а):звонки от них от них балансируются на ноды астериска.

А звонки к ним ?
мой SIP URI sip:virus_net@asterisk.ru или sip:dn@postmet.com
bitname.ru - Домены .bit (namecoin)
Аватар пользователя
virus_net
 
Сообщений: 1922
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: kamailio настройка балансировки

Сообщение maksimovkv » 25 ноя 2015, 09:38

Да даже если рассматривать какой то внутренний звонок.приходит вызов его нужно перехватить с другого аппарата - понятно что оба телефона должны быть в одной группе.
Где прописывается принадлежность того или иного юзера к группе, и как это сохранить при балансировке вызова.
На счет очереди - если на всех нодах поднять очередь, причем через базу - наверно все заработает, в том числе и синхронизация позиций в очереди, ведь для всех нод (астериск) она будет в базе.
maksimovkv
 
Сообщений: 5
Зарегистрирован: 18 ноя 2015, 12:32


Вернуться в FreeSwitch, SER, Yate и другие

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2008 — 2017 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH