ENUM
ENUM (E.164 NUmber Mapping) は、公衆交換電話網の電話番号体系をインターネットのIPアドレス体系と統合する電話番号マッピング (telephone number mapping) の代表的な規格。電話番号はE.164規格で体系化されており、インターネットはIPアドレスや他のリソース情報とドメイン名のリンクに Domain Name System (DNS) を用いる。電話番号マッピングシステムは、DNSを単に参照することで与えられた電話番号に対応したサービスを提供するインターネット上のサーバを決定するものである。ENUMでは特別なDNSレコードタイプを使い、電話番号からインターネット通信に使える Uniform Resource Identifier やIPアドレスに変換する。
顧客が期待するような形で電話番号をダイヤルできることは、従来の電話サービス(PSTN)とIP電話(VoIP)の集中・収斂にとって重要であり、新たなIPマルチメディアサービスの開発にとっても重要である。複数の通信サービスでの単一の汎用個人識別子の問題は、様々な手法で解決できる。1つの単純な手法としてENUMがある。これはIETFが既存のE.164電話番号体系、プロトコル、基盤を使って策定したもので、単一の個人識別子を使って各種サービスに間接的にアクセスできるようにしている。ENUMはまた、IP側から電話網にシームレスに接続する手段も提供する。
ENUM加入者がENUMサービスを活性化して使うには、登録者から以下の3つの要素を得る必要がある。
個人の Uniform Resource Identifier (URI) - ネットワークのIP部分で使用(後述)
個人URIと対応したE.164の通常の電話番号 - ネットワークのPSTN部分で使用
権限のある者が、その個人URIでアクセスできるNAPTRレコードに、呼の転送/終端設定を書き込む。
動作手順は次の通りである。登録者は加入者(被登録者)にドメイン名とURIを提供し、それをDNSサーバに渡すことでNAPTRレコードとE.164の電話番号(ENUM番号)をフェッチする。そのURIのドメイン名と加入者のENUM番号は1対1に対応している。このとき加入者のURIに対応したNAPTRレコードには、その加入者の呼の転送/終端の設定が含まれている。
したがって、発呼側がPSTN網で着呼側のENUM番号をダイヤルすると、その番号はENUMゲートウェイが対応するURIに変換する。このURIはNAPTRレコードを参照しフェッチするのに使われ、それによって被呼加入者が呼を転送したいのか着信したいのかを知ることができる。これをアクセス情報と呼び、被登録者(被呼加入者)がNAPTRレコードに自身の選択を書いて指定する。NAPTRレコードとは、RFC 2915 に定義された "Naming Authority Pointer Resource Records" であり、電子メールアドレス、FAX番号、個人ウェブサイト、VoIP番号、携帯電話番号、ボイスメールシステム、IP電話アドレス、ウェブページ、GPS座標、転送、インスタントメッセージなどが指定できる。一方、発呼側がIP側にいるとき、ダイヤラーソフトウェアの一部であるユーザエージェント (UA) がE.164番号をダイヤルするが、ダイヤラーUAがそれをURIに変換し、ENUMゲートウェイのDNSを参照してNAPTRレコードを取得して被呼加入者が呼を転送したいのか着信したいのかを知る。なお、被呼加入者はPSTN側でもIP側でも構わない。
新たな個人用E.164番号(ENUM番号)を使ってデータベースを参照する場合、これを indirect calling support service と呼ぶ。
ITU ENUM には特別なゾーン "e164.arpa" がIP側ネットワークでの ENUM E.164番号用に割り当てられている。RFC 3761 には任意のENUM番号をURIに変換する方法が定義されている。それは番号を逆に綴り、各桁の間にドットを挟み、e164.arpa を最後尾につけるというものである。例えば、+1 555 42 42 なら 2.4.2.4.5.5.5.1.e164.arpa となる。
このURIをつかってDNSを参照すると、SIP VoIP 電話などのサービスのインターネットアドレスが得られる。また、NAPTRレコードで加入者の転送/着信設定がわかる。したがって、システム全体でE.164アドレスからSIPアドレスへの変換が可能である。NAPTRレコードは例えば次のようになっている。
$ORIGIN 2.4.2.4.5.5.5.1.e164.arpa.
IN NAPTR 100 10 "u" "E2U+sip"  "!^.*$!sip:phoneme@example.net!" .
IN NAPTR 102 10 "u" "E2U+mailto" "!^.*$!mailto:myemail@example.com!" .
この例では、"E2U+sip" サービスを使いたい場合、アドレスとして sip:phoneme@example.net を使うべきであることがわかる。正規表現部分は電話会社が全顧客のアドレスを容易に割り当てられるようにしている。例えば、番号が +15554242 なら、SIPアドレスは sip:4242@555telco.example.net、+15551234 なら sip:1234@555telco.example.net となる。
次の図はENUMの動作例を示したものである。加入者Aが加入者Bに発呼する場合である。
ENUMが使える加入者端末装置やPBXやゲートウェイのユーザエージェントが +34 98 765 4321 という番号を RFC 3761 にある規則に従い、ENUMドメイン 1.2.3.4.5.6.7.8.9.4.3.e164.arpa に変換する。
DNSに要求を送り、ENUMドメイン 1.2.3.4.5.6.7.8.9.4.3.e164.arpa を参照する。
クエリ結果として RFC 3403 にある Naming Authority Pointer Resource レコード (NAPTR) が得られる。この例では、VoIPプロトコルとして RFC 3261 のSIP を使いインターネット内で到達可能なアドレスが返ってきたとする。
端末アプリケーションが通信リンクを設定し、インターネット上で呼がルーティングされる。
これらは全てユーザエージェントが自動的に行うため、ENUMユーザーはDNS参照が行われていることには気づかない。実際、ENUM対応エージェントを持つウェブブラウザで電話番号を入力した場合、探している情報の種類(電子メールアドレス、電話番号、ウェブアドレスなど)をPCや端末上で示せば、番号がドメイン名に変換される。これがインターネット上のENUMサーバに送られ、そのドメイン名に対応したNAPTRレコードが返ってくる。このようにENUMは電話番号を要求したアドレスや番号に対応したドメイン名に変換する機構だが、ユーザー自身には見えないところでDNSを使っている。
ENUMによる呼の転送の一方式を次の図に示す。発信者は別の加入者の番号を電話機でダイヤルする。するとENUM参照が行われる。DNSはVoIP通信、電話番号、電子メールアドレスなどについてのNAPTRレコードを返す。そして、VoIPについてのレコードを使い、通話相手との接続を確立しようとする。相手がオンラインでない場合、PSTNや携帯電話への接続が選択されることになる。これらも失敗した場合、電子メールアドレスにボイスメールを送ることになる。
e164.arpa のサブドメインはITUにより国番号ごとに割り当てられている。通常、各国の政府機関がその範囲の管理を分担しており、どう運営するかは各国に任されている。通常、一般的なDNSレジストリ-登録者モデルを使う。国単位のENUMレジストリは 国番号.e164.arpa というサブドメインのDNS基盤を管理運営する。エンドユーザーの依頼を受けて登録者がENUMの登録を行う。登録者はVoIP事業者や通信事業者であり、VoIPサービスに一環としてENUM登録を行う。ENUMを使ったVoIPサービスでは、被登録者の既存の電話番号をダイヤルすると、PSTNではなくインターネットを使った(被登録者の)IP電話に着信する。ENUMを使っていない人の番号をダイヤルすると、通常通りPSTN内で呼が完結する。
ENUM相当の他のサービスとして  などもある。それらのサービスはPSTN番号を照合する場合もあり、e164.arpa に加えて使うことができる。しかし、このために複雑となり混乱が生じる。複数のDNS参照が必要となり、E.164番号がどのENUM相当のツリーに登録されているかを知ることは決して単純ではない。あるE.164番号が複数のツリーに登録されている場合、返ってくる情報が相互に矛盾している可能性もある。さらに、あるE.164番号を「所有」している加入者が、その番号がどのENUMツリーにどのように登録されているかを知らないという状況もありうる。
ENUMは被呼加入者 (called party) 機能と見ることもできる。基本的にPSTNとVoIPがシームレスに機能するよう設計された間接ダイヤルサービスであり、E.164番号が広く採用され認知されているという事実に基づいている。
電話をする相手がENUMを使うと決めた場合、ENUM番号を公開していて、呼をどのように着信したいかをNAPTR経由で入力しているだろう。それは単なるVoIP識別子かもしれないが、固定電話、携帯電話、ボイスメールサービスなどIP側かPSTN側のいずれかにある一連の転送先を示すことが多い。ENUMを使い、着信方法の希望を電話してくる人に知らせるかどうかは被呼加入者の自由である。
今日、普通に電話をかけるとき、相手とどういう方法で接続するかを決める必要がある。VoIPなのか、固定電話なのか、携帯電話なのか、URI入力や番号のダイヤルでそれらを選択している。ENUMを使った間接ダイヤル方式では、どの手段で接続するかは被呼加入者が選択することになる。間接ダイヤル方式のもう1つの利点は、被呼加入者が電話会社、ウェブページ、電子メールなどの通信サービスを変えても、関係者にそれをいちいち知らせる必要がないという点である。
プレゼンス情報とENUMを組み合わせると、個人の居場所に合わせて転送/着信の設定を自動的に変更することも考えられる。VoIPと携帯電話の自動的な切り替えという意味では、これが最も便利な着信設定方法と言える。
ENUMを語る際に混乱の元になるのは、今日のENUMの実装として様々なものが存在している点である。ENUMと言った場合、以下のいずれかを指していることがほとんどである。
汎用かつ公共のディレクトリ型データベースという元々のENUMの考え方であり、加入者の登録機能と e164.arpa ドメイン内の国番号レベルでの委譲がある。これを「ユーザーENUM」とも呼ぶ。
通信事業者、VoIP運用者、ISPなどが自身のネットワーク内でENUMの技術を使うことがある。この場合DNSもそのネットワーク内で同様に使われる。
通信事業者のグループが加入者情報をENUMで共有するもの。加入者個人ではなく、事業者が加入者情報を制御する。これを「インフラストラクチャENUM」とも呼び、音声ピアリングをサポートしようとしている新たなIETF勧告の主題になっている。