1 |
wakaba |
1.3 |
[1] [[SIP]] では[[contact URI]]の処理などのために[[URLの比較]]の方法を定めています。
|
2 |
|
|
|
3 |
|
|
* 仕様書
|
4 |
|
|
|
5 |
|
|
- [2] [[RFC 3261]] [CITE@en[SIP: Session Initiation Protocol]]
|
6 |
wakaba |
1.4 |
-- [6] '''[CSECTION@en[19.1.4 URI Comparison]]'''
|
7 |
wakaba |
1.3 |
<http://tools.ietf.org/html/rfc3261#section-19.1.4>
|
8 |
wakaba |
1.4 |
- [5061] [[RFC 5954]] [CITE@en[Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261]]
|
9 |
|
|
<http://tools.ietf.org/html/rfc5954>
|
10 |
wakaba |
1.3 |
|
11 |
|
|
* 定義
|
12 |
|
|
|
13 |
|
|
[7] [SRC[>>6]]
|
14 |
|
|
- [8] [[SIP]] と [[SIPS]] は必ず等しくありません。
|
15 |
|
|
- [9] [CODE(ABNF)@en[[[userinfo]]]] は[[大文字・小文字を区別する]]比較を行い、それ以外は原則として[[大文字・小文字を区別しない]]比較を行います。
|
16 |
|
|
- [10] [RUBYB[[[引数]]]@en[parameter]]と[RUBYB[[[頭欄]]]@en[header field]]の順序は [[SIP]] や [[SIPS]] では意味を持ちません。
|
17 |
|
|
- [11] [CODE(ABNF)@en[[[reserved]]]] に含まれる[[文字]]''以外''は[[百分率符号化]]してもしなくても同じです。
|
18 |
|
|
- [12] [[ホスト名]]とそれを [[DNS]] で引いた [[IPアドレス]]は一致しません。
|
19 |
|
|
- [13] 2つの[[URL]]が等しいためには、 [CODE(ABNF)@en[[[user]]]], [CODE(ABNF)@en[[[password]]]], [CODE(ABNF)@en[[[host]]]], [CODE(ABNF)@en[[[port]]]] が一致しなければなりません。
|
20 |
|
|
-- [14] [CODE(ABNF)@en[[[user]]]] や [CODE(ABNF)@en[[[password]]]]
|
21 |
|
|
を含む [[URL]] と含まない [[URL]] は一致しません。
|
22 |
|
|
-- [15] [[既定値]]が省略された [[URL]] と明示された [[URL]] は一致しません。
|
23 |
wakaba |
1.4 |
-- [5062] [CODE(ABNF)@en[[[host]]]] が[[IPアドレス]]の場合、文字列ではなく、それが表す[[バイナリー]]が等しいかどうかで考えます。 [SRC[>>5061]]
|
24 |
wakaba |
1.3 |
- [16] [CODE(ABNF)@en[[[uri-parameter]]]] はそれぞれ一致しなければなりません。
|
25 |
|
|
-- [17] [CODE@en[[[user]]]], [CODE@en[[[ttl]]]], [CODE@en[[[method]]]] が片方だけに現れる場合は、
|
26 |
|
|
その値が[[既定値]]であるとしても、一致しません。
|
27 |
|
|
-- [18] [CODE@en[[[maddr]]]] を含む [[URL]] と含まない [[URL]] は一致しません。
|
28 |
wakaba |
1.4 |
-- [19] その他の 「CODE(ABNF)@en[[[uri-parameter]]]] は片方だけに現れる場合は無視します。
|
29 |
wakaba |
1.3 |
- [20] [CODE(ABNF)@en[[[header]]]] は無視せず、それぞれ一致しなければ[['''なりません''']]。
|
30 |
|
|
一致の規則はそれぞれ個別に規定されています。
|
31 |
|
|
|
32 |
|
|
* 歴史
|
33 |
|
|
|
34 |
|
|
[21] この [[URL]] の一致の定義は単独で章立てされたのは [[RFC 3261]]
|
35 |
|
|
からですが、仕組み上、同様の機能は存在していました。[[RFC 2543]]
|
36 |
|
|
では[[ポート番号]]の省略は [[5060]] 番ポートと指定されたのと等価とされていましたが、
|
37 |
|
|
[[RFC 3261]] では [[DNS SRV]] の利用を想定して等価とはしないと変更されています
|
38 |
|
|
[SRC[>>6]]。
|
39 |
|
|
|
40 |
wakaba |
1.4 |
[5063] 元々 [[IPアドレス]]の一致については規定が特にありませんでしたが、 [[RFC 5954]]
|
41 |
|
|
[SRC[>>5061]] で文字列表現ではなくバイナリー表現の一致とするとされています。
|
42 |
|
|
|
43 |
wakaba |
1.3 |
* 例
|
44 |
|
|
|
45 |
|
|
[22] 以下はそれぞれ等しいです [SRC[>>6]]。
|
46 |
|
|
|
47 |
|
|
[23]
|
48 |
|
|
- sip:%61lice@atlanta.com;transport=TCP
|
49 |
|
|
- sip:alice@AtLanTa.CoM;Transport=tcp
|
50 |
|
|
|
51 |
|
|
[24]
|
52 |
|
|
- sip:carol@chicago.com
|
53 |
|
|
- sip:carol@chicago.com;newparam=5
|
54 |
|
|
- sip:carol@chicago.com;security=on
|
55 |
|
|
|
56 |
|
|
[25]
|
57 |
|
|
- sip:biloxi.com;transport=tcp;method=REGISTER?to=sip:bob%40biloxi.com
|
58 |
|
|
- sip:biloxi.com;method=REGISTER;transport=tcp?to=sip:bob%40biloxi.com
|
59 |
|
|
|
60 |
|
|
[26]
|
61 |
|
|
- sip:alice@atlanta.com?subject=project%20x&priority=urgent
|
62 |
|
|
- sip:alice@atlanta.com?priority=urgent&subject=project%20x
|
63 |
|
|
|
64 |
|
|
[27] 以下は等しく''ありません'' [SRC[>>6]]。
|
65 |
|
|
|
66 |
|
|
[28] [CODE(ABNF)@en[[[user]]]] が違います。
|
67 |
|
|
- SIP:ALICE@AtLanTa.CoM;Transport=udp
|
68 |
|
|
- sip:alice@AtLanTa.CoM;Transport=UDP
|
69 |
|
|
|
70 |
|
|
[29] [[ポート番号]]が違います。
|
71 |
|
|
- sip:bob@biloxi.com
|
72 |
|
|
- sip:bob@biloxi.com:5060
|
73 |
|
|
|
74 |
|
|
[30] [CODE(URI)@en[[[transport]]]] が違います。
|
75 |
|
|
- sip:bob@biloxi.com
|
76 |
|
|
- sip:bob@biloxi.com;transport=udp
|
77 |
|
|
|
78 |
|
|
[31] [[ポート番号]]と [CODE(URI)@en[[[transport]]]] が違います。
|
79 |
|
|
- sip:bob@biloxi.com
|
80 |
|
|
- sip:bob@biloxi.com:6000;transport=tcp
|
81 |
|
|
|
82 |
|
|
[32] [CODE(ABNF)@en[[[header]]]] が違います。
|
83 |
|
|
- sip:carol@chicago.com
|
84 |
|
|
- sip:carol@chicago.com?Subject=next%20meeting
|
85 |
|
|
|
86 |
|
|
[33] [[ドメイン名]]と[[IPアドレス]]は違います。
|
87 |
|
|
- sip:bob@phone21.boxesbybob.com
|
88 |
|
|
- sip:bob@192.0.2.4
|
89 |
|
|
|
90 |
|
|
[34] 注意! [[等しさ]]は[[推移的]]では''ありません''。 [SRC[>>6]]
|
91 |
|
|
|
92 |
|
|
- [CODE(URI)@en[sip:carol@chicago.com]] と [CODE(URI)@en[sip:carol@chicago.com;security=on]] は等価
|
93 |
|
|
- [CODE(URI)@en[sip:carol@chicago.com]] と [CODE(URI)@en[sip:carol@chicago.com;security=off]] は等価
|
94 |
|
|
- [CODE(URI)@en[sip:carol@chicago.com;security=on]] と [CODE(URI)@en[sip:carol@chicago.com;security=off]] は等価では''ない''
|