Балансировка нагрузки звездочки с помощью openser/opensips

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

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

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, второй - тип маршрутизации.

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

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

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

Другие вопросы по тегам