Распределенное обнаружение универсального номера
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2018 г. ) |
Распределенное обнаружение универсального номера ( DUNDi ) — это протокол маршрутизации VoIP , который предоставляет службы каталогов для Asterisk систем . С помощью DUNDi одноранговые узлы обмениваются информацией о диалплане друг с другом. Протокол фактически не передает никаких вызовов, а скорее предоставляет информацию об адресации.
Одноранговые узлы в кластере DUNDi запрашивают у других одноранговых узлов номер телефона , на который запрашивает звонок пользователь. Результатом запроса является строка набора для приложения Asterisk Dial .
Протокол был изобретен Марком Спенсером , автором Asterisk .
Сверстники
[ редактировать ]Системы Asterisk PBX, использующие DUNDi, рассматриваются как взаимодействующая система узлов DUNDi, каждый из которых имеет определенную конфигурацию для доступа к экземпляру DUNDI как минимум на одном другом узле.
В конфигурации DUNDi можно ограничить количество последовательных поисков между узлами, установив TTL .
- Значение TTL, равное 1, означает, что вы можете задавать вопросы только тем узлам, которых вы знаете, и они не могут спрашивать дальше.
- Значение TTL, равное n, означает, что узел, которому вы запрашиваете поиск, может перенаправить ваш поиск на известные ему узлы, только с TTL, равным n-1.
Рекламные расширения
[ редактировать ]Каждый узел DUNDi может рекламировать свои собственные расширения и их контекст. Например, если вы можете подключить какой-либо местный номер(а) E.164 , вы можете рекламировать их.
Конфигурация DUNDi присваивает вес приоритета каждому объявленному расширению. Низкие значения представляют собой высокий приоритет и должны быть выбраны в первую очередь, если в результате поиска получено более одного ответа.
Пример
[ редактировать ]В интерфейсе командной строки Asterisk можно выполнить поиск вручную, чтобы проверить, работает ли конфигурация DUNDi.
asterisk1*CLI> dundi lookup 301@priv bypass 1. 0 IAX2/priv:[email protected]/301 (EXISTS) from 00:0c:29:d2:d8:ec, expires in 3600 s DUNDi lookup completed in 113 ms
Приведенный выше поиск DUNDi сообщает УАТС запросить у известных одноранговых узлов, знают ли они, как связаться с добавочным номером 301 в «частной» сети. Ответ состоит из 6 частей:
- Используемый протокол для связи — IAX2.
- Имя контекста — «priv».
- Секретный ключ АТС, который может перенаправить вас на номер 301: ByW[...]HSZw (периодически меняется)
- Адрес этой АТС — 192.168.1.2 (или другое доменное имя, которое должно быть доступно вызывающей стороне).
- Внутренний номер для звонка: 301 (он может отличаться от того, который вы запрашивали, например, когда вызовы извне не разрешены непосредственно на внутренний внутренний номер)
- «EXISTS» сообщает нам, что УАТС рекламирует этот номер. Возможно, УАТС рекламирует гораздо больше добавочных номеров, чем на самом деле подключено, поэтому нет никакой гарантии, что добавочный номер будет доступен.
Чтобы предотвратить перегрузку сети и в то же время обеспечить максимально быстрое получение ответов, участвующие узлы кэшируют запросы, которые они видят. Поскольку использованные ключи могут стать недействительными через некоторое время, каждый поиск имеет определенную дату истечения срока действия . По умолчанию это один час.
Если при поиске контекст не указан, DUNDi по умолчанию использует контекст E.164 . Это означает, что вы ищете обычные (международные) номера телефонов, например 0031201234567 (какой-то поддельный номер в Амстердаме, Нидерланды). Для этого вам необходимо установить связь хотя бы с одним другим узлом в группе доверия E164 . Пиры в этой группе привязаны к Digium GPA (Генеральному соглашению о пиринге Digium) ( PDF )