要約
- RFC 3680では、AORの登録状態と連絡先の集合は別々にモデル化される。登録済み連絡先が一件もなくても、AORには定義済みの
init状態がある。 - 通知は多くの場合、変化した連絡先だけを含む。受信側はバージョン順に差分を適用し、番号の飛びを検出したら全状態を再取得する。これは人の在席、端末の稼働、通話成功の証明ではない。
連絡先の一覧が空でも、状態まで空になるわけではなかった。RFC 3680は、Address-of-Record(AOR)に登録がない場合も init という状態を持たせた。状態機械はAORに属する。一方、個々の連絡先には別の状態機械があり、登録されている間だけ存在する。
2004年3月に公開されたRFC 3680は、SIPの reg イベントパッケージを定義した。認可された購読者が SUBSCRIBE を送ると、application/reginfo+xml 形式の登録情報が返る。初回通知は全体状態を含み得るが、その後は変化分だけを送ることが多い。文書には full または partial の区別とバージョン番号があり、購読ごとに0から始まり、文書ごとに1ずつ増える。
差分通知は効率的だが、受信側に状態の合成を任せる。変わらなかった連絡先は再掲されないため、購読者は表を維持し、通知を順番に適用する。次の番号なら処理を進められる。古い番号は破棄する。番号が飛んで届いた場合、RFC 3680は全状態通知を促すための更新要求を推奨する。これがなければ、ローカルの表は整って見えても更新を一つ取りこぼしている可能性がある。
AOR状態機械は、最後の連絡先が消えるときの意味を示す。最初の連絡先が登録されると init から active へ移り、一つでも連絡先が残る限り active を保つ。最後の連絡先が期限切れになるか削除されると、AORは terminated を経て直ちに init に戻る。この最後の遷移を NOTIFY で報告してはならない。連絡先自身の終了は変化として通知できる。連絡先は終わっても、AORの状態は解釈可能なままだ。
active が示すのは登録の状態であり、人の状態ではない。利用者が応答できること、端末が今稼働中であること、INVITE が届くことは保証しない。SIP PresenceはRFC 3856が別のイベントパッケージとして定義している。登録状態がPresenceを組み立てる材料になることはあっても、両者を同じものとして扱えない。また、標準が存在するだけでは実装の適合や普及も分からない。
RFC 3680の要点は、認可された観測者に登録変更を知らせながら、連絡先ゼロの状態と通知欠落からの復旧経路を残したことにある。運用で問うべきなのは「連絡先があるか」だけではない。「この表示は何番の通知まで反映したか、抜けはないか、登録という証拠から何まで結論できるか」も同じくらい重要だ。
参照資料
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加

