DUNDi ( — распределённое универсальное распознавание номеров) — протокол маршрутизации VoIP, который обеспечивает службу каталогов, похожую на ENUM. DUNDi позволяет подключённым узлам делиться друг с другом информацией о плане нумерации. Может быть рассмотрен как P2P-реализация единой телефонной книги.
Протокол изобрёл Марк Спенсер, известный также разработкой Asterisk PBX. Синтаксис выдачи DUNDi-запроса может быть сразу использован для вызова в плане нумерации Asterisk.
Узлы Для работы протокола, каждый DUNDi-клиент должен знать хотя бы ещё одного DUNDi-клиента. Так как DUNDi-клиенты принадлежат одной сети, они называются узлами. Также хоть один достижимый узел должен знать, как обеспечить требуемое расширение плана нумерации.
В конфигурации DUNDi есть ограничение на число последовательных запросов между узлами установкой TTL. TTL = 1 означает что только вы можете запрашивать узлы, другие не могут запрашивать дальше. TTL = n означает что опрашиваемые узлы могут перенаправить запрос другим им известным узлам n-1 раз.
Публикация расширений
Каждый узел DUNDi может публиковать свои расширения контекста, например, можно подключиться к номерам E.164 или публиковать их.
Каждое публикуемое расширение (ряд расширений) имеет свой вес (чем вес ниже, тем выбор предпочтительней).
Примеры
В интерфейсе командной строки 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-запрос выдаёт PBX известные узлы для достижения расширения 301 сети «priv». Ответ состоит из 6 частей: Используемый протокол связи IAX2. Контекстное имя «priv». ByW[…]HSZw — секретный ключ PBX, переадресующий на расширение 301 (меняется периодически). Адрес PBX — 192.168.1.2 (или domainname, должно быть достижимо стороной вызова) Расширение для звонка 301 (может отличаться от того, что вы запрашивали, то есть когда внешние звонки не разрешены внутреннему расширению) «EXISTS» говорит, что PBX публикует этот номер. Возможно, PBX публикует больше расширений, чем действительно подключено, так что гарантии достижимости все равно нет.
В порядке предотвращения перегрузки сети и чтобы сделать запросы быстрыми насколько возможно, вовлеченные узлы кешируют увиденные запросы. Из-за устаревания ключей каждый запрос имеет срок годности (по умолчанию — 1 час).
Когда нет контекста на запрос, DUNDi сбрасывается в контекст E.164. Это значит будет выдан обычный (международный) номер как 0031201234567. Для этого нужен узел, связанный хоть с одним узлом из E164 trust group. Узлы этой группы ограничиваются Digium GPA (Digium General Peering Agreement)Digium General Peering Agreement (PDF).
Примечания
Ссылки DUNDi Home Page
Категория:Сетевые протоколы Категория:Протоколы VoIP