画像情報特論 (11) - インターネット電話の実際 (2) ITU-T H.323 と IETF SIP/SDP 2001.06.26 電子情報通信学科甲藤二郎 E-Mail: katto@katto.comm.waseda.ac.jp
ITU-T H.323 ( 続き )
H.323 のシステム制御プロトコル Q.931 H.245 RAS 音声 ビデオ 制御 データ G.72X H.26X RTCP RAS (GK) Q.931 ( 呼接続 ) H.245 ( 能力交換 ) T.120 RTP IETF プロトコルをそのまま採用 UDP TCP IP ( 多重化 ) 各種ネットワーク
H.320 H.324 の場合 システム制御の例 (1) ISDN 移動体 PHS 発信局 着信局 Q.931 SS7 Q.931 呼接続 能力交換 (H.245) end-to-end マルチメディア通話 Q.931 SS7 Q.931 呼解放
各制御 各メディアが各々のポート番号を使用 システム制御の例 (2) H.323 の場合 インターネット (1) Direct (2) GK routed ゲートキーパー Q.931 呼接続 RAS & Q.931 RAS & Q.931 能力交換 (H.245) 能力交換 (H.245) マルチメディア通話 マルチメディア通話 Q.931 呼解放 RAS & Q.931 RAS & Q.931
Q.931 ISDN の呼制御メッセージ ISDN 移動体 PHS ISDN における呼接続 解放手順 : 発信局 着信局 SETUP ( 呼設定 ) CALLPROC ALERT ( 呼出中 ) CONNECT ( 応答 ) IAM ( アドレス ) ACM ( アドレス完了 ) ANM ( 応答 ) SETUP ( 呼設定 ) ALERT ( 呼出中 ) CONNECT ( 応答 ) 呼接続 通話 DISC ( 切断 ) REL ( 解放 ) REL ( 切断 ) DISC ( 切断 ) REL ( 解放 ) 呼解放 Q.931 SS7 Q.931
Q.931 メッセージ 呼設定 : SETUP ( 呼設定要求 ) ALERTING ( 呼出し中 ) CONNECT ( 応答 ) CALL PROCEEDING ( 呼処理中 ) PROGRESS ( 経過表示 ) 通話中 : USER INFORMATION ( ユーザ ユーザ ) 呼解放 : DISCONNECT ( 切断 ) * H.323 では使用しない RELEASE ( 解放 ) * RELEASE COMPLETE ( 解放完了 ) その他 : FACILITY ( 付加サービス : Q.932) STATUS ( 状態 )... メッセージの構成共通ヘッダ (4 byte) メッセージタイプ (1 byte) 情報要素
Q.931 メッセージの 情報要素 BearerCapability: 情報転送能力 CalledPartyAddress: 着信者番号 CallingPartyAddress: 発信者番号 Channeldentification: 使用チャネルの指定 Display: 付加情報 ( 名前など ) Facility: 付加サービス HighLayerCompatibility: 上位レイヤの互換性 LowLayerCompatibility: 下位レイヤの互換性 NotificationIndicator: 呼の中断 再開 ProgressIndicator: 呼の設定状態 Signal: 呼出し音などの発生指示... User-user: ユーザ ユーザ情報 H.323 独自拡張 (H323-UUIE) ISDN で使用される情報要素 H.323 にとっては ISDN 端末との 相互接続 のために必要 情報要素の構成 情報要素識別コード 情報要素長 情報要素の詳細 IE: Information Element
H323-UUIE の使い方 H.323 独自拡張メッセージ H323-UUIE メッセージの例 : [ 基本 ] エイリアス ( 相手メールアドレス等 ) H245 アドレス (IPアドレス ポート番号) 端末の種類 ( 端末, GK, GW, MCU) 会議の目的 (create, join, invite) SETUP ( 呼設定 ) CONNECT ( 応答 ) H323- UUIE H323- UUIE など 能力交換... [ 拡張 ] 通話 チャネルオープン (FastStart) 端末能力 (FastCap) REL COMP ( 解放 )
H.245 H.32X シリーズ共通のシステム制御メッセージ H245 メッセージの例 : 目的名称詳細 能力交換マスター スレーブ決定論理チャネルオープン論理チャネルクローズ TerminalCapabilitySet MasterSlaveDetermination OpenLogicalChannel CloseLogicalChannel 多重化能力 (RTP/RTCP 等 ) オーディオ符号化能力ビデオ符号化能力データ符号化能力 メディア毎のチャネルオープン符号化タイプ ( 符号化能力に対応 ) 多重化パラメータ ( 多重化能力に対応 ) 各種コマンド フロー制御 セッション終了 など Request / Response / Command / Indication
H.245 手順の例 Q.931 呼接続 ( ポート 1720) TerminalCapSet TerminalCapSetAck 能力交換 H.245 MasterSlave MasterSlaveAck マスタ スレーブ決定 OpenLogicalChannel OpenLogicalChannelAck チャネル オープン RTP 通話 (RTP / RTCP)
RAS ゲートキーパー 端末間の交換メッセージ ゲートキーパーの目的 : ドメイン管理 ( ユーザ登録 アドミッション制御 帯域管理 ) 4 ゲートキーパー探索 (GRQ / GCF / GRJ) Gatekeeper 4 端末の登録 (RRQ / RCF / RRJ) Registration 4 端末登録の解除 (URQ / UCF / URJ) Unregistration 4 エイリアス名からのアドレス解決 (LRQ / LCF / LRJ) Location 4 帯域要求と接続許可 (ARQ / ACF / ARJ) Admission 4 帯域変更 (BRQ / BCF / BRJ) Bandwidth 4 通信の終了 (DRQ / DCF / DRJ) Disengage 4 通信ステータスの要求 (IRQ / IRR) Info RAS: Registration, Admission and Status
RAS 手順の例 アドミッション制御の例 : (1) 直接型 (direct-routed) (2) 間接型 (GK-routed) 端末 ゲートキーパー 端末 端末 ゲートキーパー 端末 ARQ ACF ARQ ポート番号 1719 ACF ポート番号 1719 CALL PROC ALERTING CONNECT SETUP ARQ ACF SETUP CALL PROC ALERTING CONNECT SETUP CALL PROC ARQ ACF ALERTING CONNECT
ASN.1 H323-UUIE H245 RAS の記述に使われる言語 計算機に依存しないプロトコルデータの表現手法 ( プレゼンテーション層 ) ITU-T X.680 (ISO/IEC と ITU-T のジョイント規格 ) Abstract Syntax Notation One ( 抽象構文記法 ) 符号化ルール ITU-T X.690 (BER: Basic Encoding Rule) ITU-T X.691 (PER: Packed Encoding Rule) H323-UUIE H245 RAS PER エンコード バイナリ化 ASN.1 記述
H245 メッセージより抜粋 : ASN.1 記述の例 VideoCapability ::= CHOICE ( 選択 ) { nonstandard NonStandardParameter, h261videocapability H261VideoCapability, h262videocapability H262VideoCapability, h263videocapability H263VideoCapability, is11172videocapability IS11172VideoCapability,... genericvideocapability GenericCapability } 詳細定義 ビデオ符号化能力 IS11172VideoCapability ::= SEQUENCE ( 系列 ) { constrainedbitstream BOOLEAN, videobitrate INTEGER (0..107341823) OPTIONAL, videobuffersize INTEGER (0..262143) OPTIONAL, picturerate INTEGER (0..15) OPTIONAL,... }... MPEG1 ビデオ符号化能力
FastConnect / FasterConnect 補足 端末 A 端末 B * H245 手順のスキップ Q.931 SETUP CALL PROC 端末端末 A の FastStart FastStart H245 メッセージ (OpenLogicalChannel) 端末端末 B の FastStart FastStart (ACKを兼ねる) ALERTING CONNECT (H.245) RTP 必要ない場合はスキップ FastConnect (H245 トンネリング ): Q931メッセージにH245メッセージを含めてしまい H245 手順を省略 FasterConnect: TCP を UDP + タイムアウトに置換
H.323 勧告に関する補足 (1) H.323 勧告でも Q.931 が使われる理由 H.323 端末 ( インターネット端末 ) と ISDN 端末との相互接続を実現するため H.323 勧告のスタートは 既存の電話との相互接続の実現が目的 (2) H.32X シリーズで共通して H.245 が使われる理由 異なる H.32X 端末間の相互接続を実現しやすくするため (3) H.323 で新たに RAS ( ゲートキーパー ) が必要とされた理由 インターネットのサーバ クライアント モデルの踏襲 インターネット QoS アーキテクチャとの親和性 ITU 勧告 : 既存の勧告との相互接続性を重視する勧告
IETF SIP/SDP
IETF 純正のプロトコル階層 SIP SDP 音声 ビデオ 制御 データ N.A. RTP N.A. RTCP SIP / SDP (RFC 2543 / 2347) N.A. UDP TCP IP ( 多重化 ) 各種ネットワーク
SIP * Session Initiation Protocol 呼制御プロトコル ( サーバ クライアント モデル ) SIP サーバ ( プロキシ 登録 リダイレクト ) ~ SIP クライアント ( エージェント ) HTTP を踏襲 ( メッセージとレスポンス ) メッセージ : INVITE ACK BYE OPTIONS REGISTER CANCEL セッション参加要求確認応答接続終了 SIPサーバへの問い合わせ SIPサーバへの登録登録の取り消し INVITE メッセージ : f From ( 要求元 ) t To ( 招待先 ) s Subject ( タイトル ) c コンテントタイプ (SDP) i 呼 ID 番号 v 経路中の SIP サーバ + SDP によるセッション記述 レスポンス : 1xx: 情報 2xx: 成功 3xx: リダイレクト 4xx: クライアントエラー 5xx: サーバエラー RFC2543
SDP * Session Description Protocol セッション記述フォーマット SDP フォーマットの例 : プロトコル となっているが 実体は 記述フォーマット v= バージョン o= 作成者 s= セッション名 I= セッション情報 e= メールアドレス c= 接続アドレス (e.g. IN IP4 224.0.10.1/127) b= 帯域幅 t= 開始時刻終了時刻 m= メディア情報 (e.g. audio 9999 RTP/AVP 0) a= 属性情報 (e.g. recvonly) b= 帯域幅 圧縮アルゴリズムとRTPの記述 : [audio video application] [ ポート番号 ] [ 転送プロトコル RTP/AVP] [ ペイロードのタイプ ] RFC2347
Direct SIP/SDP の使い方 (1) 基本モード Q.931/H.245 の FastConnect と同様の手順 SDP INVITE ( 呼設定 ) 100 Trying 180 Ringing 対比 : SIP/SDP Q931/H245 200 OK ACK ( 確認応答 ) SDP INVITE SETUP + H245 100 Trying CALLPROC 180 Ringing ALERT 200 OK CONNECT + H245 ACK H245 (OpenLogicalChannelAck)... BYE H245 + RELCOMP 通話 BYE 200 OK
SIP/SDP の使い方 (2) プロキシモード 端末 A 1 INVITE 5 OK 1 INVITE 5 OK ネットワーク 1 INVITE 事前に登録 2 query 5 OK 4 INVITE 端末 B SIP 登録サーバ 3 response SIP プロキシサーバ 5 OK ACK は省略
SIP/SDP の使い方 (3) リダイレクトモード 端末 A 1 INVITE 5 INVITE 端末 B 4 moved 6 OK 1 INVITE 5 INVITE 6 OK 4 moved 6 OK 5 INVITE 移動先 ネットワーク 1 INVITE 事前に登録 4 moved 2 query SIP 登録サーバ 3 response SIP リダイレクトサーバ ACK は省略
SIP/SDP と H.323 (1) 制御メッセージ機能 サーバ機能の比較 SIP/SDP H.323 SIP メッセージ SIP レスポンス Q.931 H.245 RAS SDP 登録サーバ リダイレクトサーバ ゲートキーパ プロキシサーバ あまり変わらない
SIP/SDP と H.323 (2) メッセージ記述手段の比較 Q.931/H.245/RAS: PER 符号化によるバイナリ記述 SIP/SDP: テキスト記述 データサイズ理解しやすさ複雑性 機能 Q931/H245/RAS (ITU-T) SIP/SDP (IETF) 一長一短
SIP/SDP と H.323 (3) 歴史的な違い H.323 Q.931 / H.245 RTP ISDN 電話との相互接続 H.32X との相互接続 H.332 H.248 (megaco)? IETF SIP / SDP インターネット上の AV 実験 標準化とはこういうもの?