DUNDi (Distributed Universal Number Discovery) — это распределённый механизм маршрутизации вызовов в Asterisk, который позволяет серверам находить и маршрутизировать вызовы между собой без централизованной базы данных.
DUNDi не передаёт голосовой трафик, а только маршруты. Голосовая передача происходит через SIP, IAX2 или другие протоколы.
1. Архитектура сети с DUNDi
Основные компоненты:
- Несколько Asterisk-серверов (например,
asterisk-moscow
,asterisk-dubai
,asterisk-london
). - DUNDi для обмена маршрутами между серверами.
- SIP или IAX2 для передачи аудиопотока.
Каждый сервер хранит информацию только о локальных пользователях, но может запрашивать маршруты у других узлов сети.
2. Настройка DUNDi на Asterisk
Рассмотрим настройку на примере двух серверов:
asterisk-moscow
(10.10.10.1)asterisk-dubai
(10.10.20.1)
Шаг 1: Установите DUNDi
DUNDi встроен в Asterisk, но его нужно активировать:
Если модуля нет, загрузите его:
Шаг 2: Настройка ключей шифрования (для безопасности)
Генерируем ключи на обоих серверах:
Это создаст файлы dundi.pem и dundi.pub.
Скопируйте dundi.pub между серверами:
Шаг 3: Конфигурация
dundi.conf
Файл/etc/asterisk/dundi.conf
на asterisk-moscow (10.10.10.1):
Файл /etc/asterisk/dundi.conf
на asterisk-dubai (10.10.20.1):
Шаг 4: Настроим
extensions.conf
Добавляем в диалплан на asterisk-moscow:
На asterisk-dubai:
Шаг 5: Добавляем IAX2-соединение для голосового трафика Файл
/etc/asterisk/iax.conf
на asterisk-moscow:
На asterisk-dubai:
3. Проверка работы
1. Запускаем DUNDi и проверяем доступные маршруты
Вы должны увидеть список номеров и маршрутов.
2. Ищем номер в сети
Если номер найден, он будет направлен на нужный сервер.
3. Проверяем связь между серверами Попробуйте вызвать абонента с другого сервера:
Если всё работает, вызовы будут направляться автоматически.
4. Преимущества и недостатки DUNDi
✅ Преимущества:
- 🔹 Нет централизованной БД — маршруты находятся динамически.
- 🔹 Поддержка множества серверов — легко добавлять новые узлы.
- 🔹 Гибкая маршрутизация — звонки идут кратчайшим путём.
- 🔹 Высокая отказоустойчивость — если один сервер недоступен, вызов пойдёт по альтернативному маршруту.
❌ Недостатки:
- ⚠ DUNDi не передаёт голос, только маршруты — для голосового трафика нужен IAX/SIP.
- ⚠ Не работает через NAT без дополнительных настроек — требуется прямое соединение между серверами.
- ⚠ Требует настройки безопасности — иначе возможны атаки на маршруты.
5. Когда использовать DUNDi?
✔ Для распределённых VoIP-сетей с множеством офисов.
✔ Для отказоустойчивых решений (если один сервер выходит из строя, другие могут перенять вызовы).
✔ Для маршрутизации номеров между независимыми Asterisk-серверами без единого центра.
Комментариев нет:
Отправить комментарий