Title: インターネット電話(H.323)とインターネットFAX(T.37)端末を利用したENUM実験 Author(s): 本間 秀樹(honma@wide.ad.jp) Date: 7/22/2004 1. 概要 本実験では,NAPTRレコードを複数記述したENUMアドレスから 最適なプロトコルのアドレスを検索するENUMクライアントを実装し, 接続実験を行った. 2. 背景 ENUMでは,NAPTRレコードへさまざまなアプリケーションの登録が 可能である.1つのENUMアドレスに複数のプロトコルを記述して, 最適なプロトコルを選択して接続する必要があり,NAPTRレコードの 選択方法の検証が必要であると考える. インターネット電話(H.323[1])とインターネットFAX(T.37[2])の 2つのプロトコルが利用可能な機器であるDN-C100に実装し実験を 行った. 3. 実装 ENUMのNAPTRレコードは,下記のnamedフォーマットで記述される. IN NAPTR order preference flags service regexp replacement NAPTRでは,機能識別のためにservice名称を定義しており,機能名称として 下記の名称を採用した. - H.323のservice名称(ENUM Service Registration for H.323 URL[3]) E2U+h323 - T.37のサービス名称(IFAX service of ENUM[4]) E2U+ifax 3-1. ENUMクライアントの実装 機器(DN-C100)におけるNAPTRレコードの検索について 1つのENUM番号にh323とifaxのURIを登録し,通信方法を自動選択する. 機器(DN-C100)に,下記のアドレスを設定した. 機器1(ENUM番号 10001) H.323: tel@iptu1.enum.jp T.37: fax@iptu1.enum.jp 機器2(ENUM番号 10009) H.323: tel@iptu2.enum.jp T.37: fax@iptu2.enum.jp 機器(DN-C100)のT.37とH.323を切り替えるため、T.37を使用する場合, ENUM番号の前に2を付加した. ENUMクライアントのENUMアドレス検索方法 (1) order, preference によるソート (2) 機器が利用可能なプロトコルをserviceから検索 (3) 電話番号をregexpに適用してURI取得 (4) URIを元に相手に接続を行う 3-2. ENUMサーバのNAPTRレコードの登録 ENUMサーバの設定 $ORIGIN enum.jp. 1.0.0.0.1 NAPTR 100 10 "u" "E2U+h323" "!^.*$!h323:tel@iptu1.enum.jp!" . NAPTR 100 10 "u" "E2U+ifax" "!^.*$!mailto:fax@iptu1.enum.jp!" . NAPTR 99 10 "u" "E2U+mailto" "!^.*$!mailto:honma@wide.ad.jp!" . 1.0.0.0.1.2 NAPTR 100 10 "u" "E2U+h323" "!^.*$!h323:tel@iptu1.enum.jp!" . NAPTR 100 10 "u" "E2U+ifax" "!^.*$!mailto:fax@iptu1.enum.jp!" . NAPTR 99 10 "u" "E2U+mailto" "!^.*$!mailto:honma@wide.ad.jp!" . 9.0.0.0.1 NAPTR 100 10 "u" "E2U+h323" "!^.*$!h323:tel@iptu2.enum.jp!" . NAPTR 90 10 "u" "E2U+mailto" "!^.*$!mailto:honma@wide.ad.jp!" . NAPTR 100 10 "u" "E2U+ifax" "!^.*$!mailto:fax@iptu2.enum.jp!" . 9.0.0.0.1.2 NAPTR 100 10 "u" "E2U+h323" "!^.*$!h323:tel@iptu2.enum.jp!" . NAPTR 90 10 "u" "E2U+mailto" "!^.*$!mailto:honma@wide.ad.jp!" . NAPTR 100 10 "u" "E2U+ifax" "!^.*$!mailto:fax@iptu2.enum.jp!" . 5.0.0.0.1.2 NAPTR 100 10 "u" "E2U+mailto" "!^.*$!mailto:honma@wide.ad.jp!" . 4. 実験 本実験では,図1の構成でローカルネットワーク環境に, 2台のDN-C100(H.323+T.37)とDNSサーバ(ENUM)とSMTPサーバとPCを用意した. 4-1. H.323の接続実験 機器1からENUMで機器2のアドレスを検索して,H.323アドレスを取得して接続する 4-2. T.37の接続実験(機器1・機器2) 機器1からENUMで機器2のアドレスを検索して,T.37アドレスを取得して機器2へ送信する 4-3. T.37の接続実験(機器1・PC) 機器1からENUMでPCのメールアドレスを検索して,T.37のデータをPCのメールアドレスへ送信する 本実験では,H.323ゲートキーパを使用しない. +------------+ | DNS サーバ | | SMTP/POP | | サーバ | +-----++-----+ || ======++==========++===++===========++========= Ethernet || || || +---++---+ +---++---+ +------++------+ | 機器1 | | 機器2 | |PCクライアント| | H.323 | | H.323 | | (電子メール) | | T.37 | | T.37 | +--------------+ +--------+ +--------+ 図1 構成図 5. 実験結果 ENUMの登録確認  digコマンドを使用して,NAPTRレコードを検索する. elements{117}% dig 1.0.0.0.1.e164.enum.jp NAPTR ; <<>> DiG 8.3 <<>> 1.0.0.0.1.e164.enum.jp NAPTR ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13474 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 0 ;; QUERY SECTION: ;; 1.0.0.0.1.e164.enum.jp, type = NAPTR, class = IN ;; ANSWER SECTION: 1.0.0.0.1.e164.enum.jp. 1H IN NAPTR 100 10 "u" "E2U+h323" "!^.*$!h323:tel@iptu1.enum.jp!" . 1.0.0.0.1.e164.enum.jp. 1H IN NAPTR 100 10 "u" "E2U+ifax" "!^.*$!mailto:fax@iptu1.enum.jp!" . 1.0.0.0.1.e164.enum.jp. 1H IN NAPTR 99 10 "u" "E2U+mailto" "!^.*$!mailto:honma@wide.ad.jp!" . ;; AUTHORITY SECTION: e164.enum.jp. 1H IN NS elements.enum.jp. ;; Total query time: 1 msec ;; FROM: elements.enum.jp to SERVER: 127.0.0.1 ;; WHEN: Tue Oct 22 19:40:42 2003 ;; MSG SIZE sent: 47 rcvd: 226 5-1. H.323の接続結果 (1) 機器1から 10009(機器2) をダイヤルする (2) 9.0.0.0.1.enum.jp のNAPTRレコードをDNSサーバに問い合わせる (3) NAPTRレコードから,サービスを検索する E2U+H323の登録がない場合,エラーとなり,ビジー音を発生 (4) DNSサーバからのレスポンスを検索,regexpフィールドからURIを取り出す (5) URIのホスト名からIPアドレスをDNSサーバへ問い合わせる (6) H.323により機器2へ接続 (7) 機器1と機器2での通話が成功したことを確認した. 5-2. T.37の接続手順(機器1・機器2) (1) 機器1から 210009(機器2) をダイヤルする (2) 9.0.0.0.1.2.enum.jp のNAPTRレコードをDNSサーバに問い合わせる (3) NAPTRレコードから,サービスを検索する E2U+ifaxを探した後,E2U+mailtoを検索,無い場合は,ビジー音を発生 (4) DNSサーバからのレスポンスを検索,regexpフィールドからURIを取り出す (5) メールアドレスでT.37のデータをSMTPサーバに送信する (6) SMTPサーバから機器2へT.37のデータを送る (7) 機器1から送ったFAXデータが機器2より印刷を確認した. 5-3. T.37の接続手順(機器1・PC) (1) 機器1から 210005(機器2) をダイヤルする (2) 5.0.0.0.1.2.enum.jp のNAPTRレコードをDNSサーバに問い合わせる (3) NAPTRレコードから,サービスを検索する E2U+ifaxを探した後,E2U+mailtoを検索,無い場合は,ビジー音を発生 (4) DNSサーバからのレスポンスを検索,regexpフィールドからURIを取り出す (5) メールアドレスでT.37のデータをSMTPサーバに送信する (6) PCからSMTP/POPサーバへメール(T.37のデータ)を取り出す (7) 機器1から送ったFAXデータがPCのメールクライアントで表示確認した. 5. まとめ ENUMクライアントによる,H.323,T.37の相互通信テストと T.37でPCのメールクライアントへの送信も問題なく利用できた. regexpの実装は,行ったが送信先の振り分けやサーバの変更などの 実験は,至らなかった.今後,tierやregexpなどを含めた実験を 進めていく必要があると考える. 6. 参考文献 [1] H.323 - Packet-based multimedia communications systems [2] T.37 - Store and Forward Fax Over Network [3] ENUM Service Registration for H.323 URL, Orit Levin, 27-Jun-03. [4] IFAX service of ENUM, K. Toyoda, D. Crocker, Internet Draft, 2003 March Copyright Notice Copyright (C) WIDE Project (2004). All Rights Reserved.