telスキームのメモ(HTML5メモ(1)の追補)
なんか引っかかるものがあるのは、携帯向けコンテンツを作ったことがない、というのは確実にあると思いますが。
具体的には、電話をかけるという機能、携帯のHTMLにおけるphoneto機能は、キャリアによって記述が異なるのでしょうか? 3キャリアについて記述方法をそれぞれ教えてください。(下記であっていますか?)にあるような以下の表記
<a href="tel:0312345678">03-1234-5678</a>
これは、RFCとして妥当なのかどうか?
3. URI構文 URIは、RFC 2234 [RFC2234]に記載されているABNF (augmented Backus-Naur form)を使用して定義され、そのコア定義の要素が使用される(RFC 2234の付録 A)。 (中略) 「tel」URIの構文を次に示す。 telephone-uri = "tel:" telephone-subscriber telephone-subscriber = global-number / local-number global-number = global-number-digits *par global-number-digits = "+" *phonedigit DIGIT *phonedigit phonedigit = DIGIT / [ visual-separator ] visual-separator = "-" / "." / "(" / ")"
5. 電話番号とそのコンテキスト 5.1. 電話番号 URIの「telephone-subscriber」部は番号を示す。電話番号は、グローバル(E. 164)表記またはローカル表記で表すことができる。すべての電話番号は、グ ローバル形式で表すことができない場合を除き、グローバル形式を使用しなけ ればならない[MUST]。緊急番号(「911」、「112」)や何らかの電話番号案内の 番号(例: 「411」)といったプライベートな付番計画による番号、およびその 他のサービスコード(米国におけるN11形式の番号)は、グローバル形式で表す ことができない[訳注]。そのため、コンテキスト付きのローカル番号として 表す必要がある。ローカル番号は、「phone-context」(セクション5.1.5)でタ グを付けなければならない[MUST]。 [訳注: 「911」は米国など、「112」はEU各国などで使用されている緊急 通報先で、日本では「110」または「119」に相当します。 「411」は米国などの電話番号案内で、日本では「104」に相当しま す。 「N11」は、211や711など911以外の番号を公的情報サービスの番号 に割り当てる計画です。]
E.164形式というのは「E.164」とは:ITproによれば、
- 一つは「81+市外局番(先頭の0を除く)+市内局番(市外局番と合わせて4〜5けた)+加入者番号(4けた)」の加入電話番号
- もう一つは「81+A0(0A0から先頭の0を除いたもの。A=2,5,7,8,9)+事業者番号(3けた)+加入者番号(5けた)」という携帯電話やPHS,IP電話などの電話番号である。
とまあ、国際電話をかけるような電話番号のこと(だと思う)。
5.1.5. ローカル番号 ローカル番号とは、特定の地域内、または電話網の特定部分(PBX (Private Branch Exchange)、州や地方、特定地域の交換キャリア、または特定の国な ど)でのみ一意な番号である。ローカル電話番号が含まれるURIは、その番号を ダイヤルソフトウェアに渡すと、すべてのローカルエンティティが通話を確立 できる環境でのみ、使用すべきである。たとえば、外線にアクセスするときに 必要な数字は、ローカル番号に含まれない。ローカル番号は、グローバル番号 として表す方法がない場合を除き、使用すべきではない[SHOULD NOT]。 ローカル番号は、いくつかの理由から使用すべきではない[SHOULD NOT]。ロー カル番号は、正しいコンテキスト記述を挿入および認識することができるよう に、発信元または受信者を適切に設定する必要がある。同じ記述子を単独で選 択するアルゴリズムはないため、コンテキストで番号にラベルを付ける場合、 誤設定の可能性が高くなる。結果的に、有効な識別子が誤って拒否される。記 述子を選択するアルゴリズムは、偶然による衝突がほとんど発生しないように 選択されたが、完全になくすことはできていない。
これは私たちが馴染みのある、電話番号そのもの(090-ABCD-EFGH)のこと(だと思う)。
ということは、グローバル表記なURIとしては、こうでいいのか?
<a href="tel:+81-90-ABC-DEFGH">tel:+81-90-ABC-DEFGH</a>
ただ残念ながら、手元のau(W53CA/EZweb)ではかかることはなかった…。
ローカル表記なURIとしてはこうのはず。
<a href="tel:090-ABC-DEFGH">tel:090-ABC-DEFGH</a>
これは当然の如く?かかった。
電話がかけられることと、一意な識別子は別ってことでしょうが、どうにもしっくりこない…