これは非常に単純な質問のように見えるかもしれませんが、インターネット上で答えを見つけることができませんでした。
SIP ドメインに対して NAPTR クエリを実行する方法を教えてください。(これは主にDNSルックアップ用です)、または私にとっても素晴らしい参照です(これはrfc2915にあります)。
おそらくターミナルやその他のツールを使用して、さらにJavaを使用して実行したいので、コードの一部が非常に役立つ場合.
探しているRFCは、「Session Initiation Protocol(SIP):LocatingSIPServers」です。
トランスポートプロトコルを選択してSIPサーバーアドレスを解決する方法の概要を次に示します。
現実の世界では、実質的にSIPプロバイダーはNAPTRレコードを使用せず、おそらく半分以下がSRVレコードを使用し、残りはAレコードのみに依存しています。私自身のSIPソフトウェアでは、時間が無駄になったためNAPTRルックアップをオフにしました。また、SIPプロバイダーがわざわざNAPTRレコードを設定した場合、標準のSRVレコードも設定する可能性が高くなります。
後から考えると、SIPプロトコルの設計者は、SIPサーバーのアドレス解決全体をそのままにして、実装者が標準のIP負荷分散およびフェイルオーバーメカニズムを使用できるようにする必要があります。SIPクライアントがすべてSRVレコードをサポートしているわけではないため、私の経験では半分以下ですが、そのようなレコードを使用することは何もないよりはましですが、フェイルオーバーや負荷分散のための優れたソリューションではありません。
SIP NAPTRレコードを含むホスト名を探している場合は、前回、両方にいくつかあることを確認したときに、columbia.eduとsnom.comを試してください。
DNS の NAPTR レコードは、DNSの他のレコード(SRV、CNAME など)と同じです。
NAPTR レコードは、インターネット テレフォニーのアプリケーションで最も一般的に使用されます。たとえば、Session Initiation Protocol (SIP) でのサーバーとユーザー アドレスのマッピングなどです。NAPTR レコードとサービス レコード (SRV) を組み合わせることで、複数のレコードを連鎖させて、新しいドメイン ラベルまたは Uniform Resource Identifier (URI) を生成する複雑な書き換えルールを形成できます。
NAPTR レコードの DNS タイプ コードは 35 です。
それらをクエリするには、コマンド ライン ツールdig
を使用し、スイッチを使用してクエリのタイプを指定します-t
。例えば:
$ dig -t naptr 4.4.2.2.3.3.5.6.8.1.4.4.e164.arpa
; <<>> DiG 9.10.6 <<>> -t naptr 4.4.2.2.3.3.5.6.8.1.4.4.e164.arpa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64886
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;4.4.2.2.3.3.5.6.8.1.4.4.e164.arpa. IN NAPTR
;; ANSWER SECTION:
4.4.2.2.3.3.5.6.8.1.4.4.e164.arpa. 86400 IN NAPTR 100 20 "u" "E2U+pstn:tel" "!^(.*)$!tel:\\1!" .
4.4.2.2.3.3.5.6.8.1.4.4.e164.arpa. 86400 IN NAPTR 100 10 "u" "E2U+sip" "!^\\+441865332(.*)$!sip:\\1@nominet.org.uk!" .
;; Query time: 356 msec
;; SERVER: 192.168.1.85#53(192.168.1.85)
;; WHEN: Sat Oct 13 12:31:29 EDT 2018
;; MSG SIZE rcvd: 179
興味があれば、E.164 と ENUM の詳細を読むことができます。
NAPTR レコードと SRV レコードは、LTE (4G) ソリューションで一般的です。EPC ノード (ネットワーク ノード) は、DNS を使用して、S-NAPTR および SRV レコードを使用して他の EPC ノードを選択します。これにより、オペレーターは、MME ノードの構成を変更することなく、ノードの追加/削除を自由に行うことができます。3gpp 標準の 29.003 または 23.401 の一部を参照するか、トピック「DNS を使用した epc ノード選択」でグーグルを参照できます。https://ericlajoie.com/nodeselection.html