балансировка нагрузки asterisk с помощью openser/opensips

Мне нужно сбалансировать входящие звонки на asterisk. Для этого я настроил перед ним сервер Openser и загрузил и настроил для этого модули диспетчера. Что я хочу сделать, так это то, что сервер Openser будет принимать звонки и направлять их на наименее «занятый» сервер Asterisk, который позаботится обо всем остальном (у меня есть меню IVR, настроенное на каждом из серверов). Я использую софтфон X-Lite для тестирования. Одни и те же пользователи зарегистрированы и в Asterisk, и в Openser. Когда я инициирую вызов, он просто проходит через сервер Openser и не перенаправляется ни на один из ящиков Asterisk. Мне интересно, не пропустил ли я какую-либо конфигурацию или шаг в моей настройке.

заранее спасибо


person Community    schedule 10.07.2009    source источник


Ответы (2)


Модуль диспетчера не может выполнять какую-либо балансировку нагрузки. Это модуль без сохранения состояния, что означает, что он не отслеживает, сколько вызовов отправлено на каждый ящик.

Вы можете выбрать различные типы логики маршрутизации, доступные типы:

“0” - hash over callid
“1” - hash over from uri.
“2” - hash over to uri.
“3” - hash over request-uri.
“4” - round-robin (next destination).
“5” - hash over authorization-username 
“6” - random (using rand()).
“7” - hash over the content of PVs string.
“X” - if the algorithm is not implemented, the first entry in set is chosen.

Наиболее вероятным для справедливого распределения нагрузки является круговой (вариант 5).

Чтобы использовать его, вызовите следующую функцию в разделе маршрута вашего openser.cnf:

ds_select_dst("1", "5");

Первый параметр — ваша группа GW, второй — тип маршрутизации.

Для получения дополнительной информации посетите эту страницу.

Надеюсь это поможет

person Alex Recarey    schedule 05.03.2010

Диспетчерский модуль не может этого сделать. Вам придется использовать (сюрприз!) модуль балансировки нагрузки.

person viraptor    schedule 05.03.2010