猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

SIPお勉強 その3

RFC3263から大切そうな用語をつまみ食いしました。日本語約は大変助かりますが、AORの訳が不明瞭なため私が直しました。

SIP URIコンポーネントSIPS URIコンポーネント

userinfoは省略できるけどhostは略せないのね。一見変なようだけど、これは下のAORの記載を読めばむしろ納得がいきます。

sip:user:password@host:port;uri-parameters?headers

BNF形式で定義されており許されるSIP URIの記載レベルは多岐にわたる。

SIP-URI = "sip:" [ userinfo ] hostport uri-parameters [ headers ]
userinfo = ( user / telephone-subscriber ) [ ":" password ] "@"
hostport = host [ ":" port ]
uri-parameters = *( ";" uri-parameter)
uri-parameter = transport-param / user-param / method-param/ ttl-param / maddr-param / lr-param / other-param

Address-of-Record:

ようするにAORは「ロケーションサービスのあるドメイン」であり「そのサービスに問い合わせればユーザのURIを取得が期待できる」ということだと思う。

Address-of-Record(AOR)とは、ロケーションサービスのあるドメインを指し示すSIPまたはSIPSURIである。そのロケーションサービスは、そのURIをユーザが利用するかもしれない別のURIマッピングすることができる。

コールステートフル(Call Stateful):

プロキシは、ダイアログを開始するINVITEから終了するBYEリクエストまでのあいだダイアログのステートを保持するとき、コールステートフルである。コールステートフルなプロキシは常にトランザクションステートフルであるが、その逆は必ずしも真ではない。

暫定応答(Provisional Response):

進行状況を示すためにサーバーが使用する応答。この応答はSIPトランザクションを終了しない。1xx応答は暫定応答であり、その他の応答は最終応答とみなされる。

最終応答(Final Response):

SIPトランザクションを終了しない暫定応答(Provisional Response)とは逆に、SIPトランザクションを終了する応答。2xx、3xx、4xx、5xx、および6xxはすべて最終応答である。

ルースルーティング(Loose Routing):

Kamailioにそういう機能があるけど、正直意味がわからん...。

プロキシがRouteヘッダーフィールドの処理のために、この仕様で定義されている手順に従う場合、そのプロキシはルースルーティングであるといわれる。この手順は、デスティネーションに向かう途中で訪れる必要があるプロキシのセット(Routeヘッダーフィールド中に存在する)から、リクエストのデスティネーション(Request-URI中に存在する)を分離する。これらの仕組みに準拠するプロキシはルースルータ(Loose Router)
としても知られている。

パラレルサーチ(Parallel Search):

パラレルサーチでは、送られてくるリクエストを受け取ると、プロキシはユーザーのいると思われる複数の場所にいくつかのリクエストを発行する。シーケンシャルサーチのように一つのリクエストを発行して、最終応答を待ってから次のリクエストを発行するのではなく、パラレルサーチでは、すでに発行したリクエストの結果を待たずに複数のリクエストを発行する。