分散型ユニバーサル番号検出(DUNDi)は、Asteriskシステムにディレクトリサービスを提供するVoIPルーティングプロトコルです。DUNDiでは、ピアリングされたノード間でダイヤルプラン情報が共有されます。このプロトコルは実際に通話を伝送するのではなく、アドレス情報を提供するものです。
DUNDiクラスタ内のピアは、ユーザーが呼び出しを要求した電話番号を他のピアに問い合わせます。問い合わせの結果は、AsteriskアプリケーションのDial用のダイヤル文字列です。
DUNDiを使用するAsterisk PBXシステムは、DUNDiノードの協調システムとしてピアリングされ、各ノードは少なくとも1つの他のノード上のDUNDIインスタンスにアクセスするための特定の構成を備えています。
DUNDi の設定では、 TTLを設定することで、ピア間の連続ルックアップの数を制限できます。
DUNDiの各ピアは、自身の内線番号とそのコンテキストをアドバタイズできます。例えば、ローカルのE.164番号に接続できる場合、それらをアドバタイズできます。
DUNDiの設定では、アドバタイズされる各内線番号に優先度ウェイトが割り当てられます。値が低いほど優先度が高く、検索で複数の回答が得られた場合は、その値が最初に選択されます。
Asterisk CLIでは、手動でルックアップを実行して、DUNDiの設定が機能するかどうかをテストできます。
アスタリスク1*CLI> dundi lookup 301@priv bypass 1. 0 IAX2/priv:ByWFbOGKgGmZbM43BJHSZw@192.168.1.2/301 (存在) 00:0c:29:d2:d8:ec から開始、3600秒後に期限切れ DUNDi検索が113ミリ秒で完了しました。
上記の DUNDi ルックアップは、PBX に対して、既知のピアに「priv」ネットワーク内の内線番号 301 への到達方法を知っているかどうかを問い合わせるように指示します。回答は 6 つの部分から構成されます。
ネットワークの過負荷を防ぎ、同時に応答速度をできるだけ速くするために、関係するピアは受信したルックアップをキャッシュします。使用されたキーは一定期間後に無効になる可能性があるため、各ルックアップには有効期限が設定されています。デフォルトでは1時間です。
検索時にコンテキストが指定されていない場合、DUNDi はデフォルトでE.164コンテキストを使用します。これは、0031201234567 (オランダのアムステルダムにある架空の番号) のような通常の (国際) 電話番号を検索していることを意味します。これを行うには、E164 トラスト グループ内の少なくとも 1 つのピアとピアリングする必要があります。このグループのピアは、Digium GPA (Digium General Peering Agreement) ( PDF )に拘束されます。