SIP / SDP

画像情報特論 (11)
- インターネット電話の実際 (2)
• ITU-T H.323 と IETF SIP/SDP
2001.06.26
電子情報通信学科 甲藤二郎
E-Mail: [email protected]
ITU-T H.323 (続き)
H.323 のシステム制御プロトコル
• Q.931、
、H.245、
、RAS
音声
ビデオ
G.72X
H.26X
制御
RTCP
RAS
(GK)
データ
Q.931
H.245
(呼接続) (能力交換)
RTP
IETFプロトコルを
そのまま採用
UDP
TCP
IP (多重化)
各種ネットワーク
T.120
システム制御の例 (1)
• H.320、
、H.324 の場合
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 (呼設定)
着信局
IAM (アドレス)
SETUP (呼設定)
CALLPROC
ALERT (呼出中)
CONNECT (応答)
ACM (アドレス完了)
ANM (応答)
ALERT (呼出中)
呼接続
CONNECT (応答)
通話
DISC (切断)
REL (切断)
DISC (切断)
REL (解放)
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: 発信者番号
ISDNで使用される情報要素
H.323にとっては、ISDN端末
との「相互接続」のために必要
Channeldentification: 使用チャネルの指定
Display: 付加情報 (名前など)
情報要素の構成
Facility: 付加サービス
HighLayerCompatibility: 上位レイヤの互換性
情報要素識別コード
LowLayerCompatibility: 下位レイヤの互換性
情報要素長
NotificationIndicator: 呼の中断・再開
ProgressIndicator: 呼の設定状態
Signal: 呼出し音などの発生指示
...
情報要素の詳細
User-user: ユーザ・ユーザ情報
H.323独自拡張
独自拡張 (H323-UUIE)
IE: Information Element
H323-UUIE の使い方
• H.323 独自拡張メッセージ
H323-UUIE メッセージの例:
[基本]
エイリアス (相手メールアドレス等)
H323H323UUIE
UUIE
SETUP (呼設定)
H245 アドレス (IPアドレス、ポート番号)
端末の種類 (端末, GK, GW, MCU)
CONNECT (応答)
会議の目的 (create, join, invite)
など
能力交換
...
[拡張]
通話
チャネルオープン (FastStart)
端末能力 (FastCap)
REL COMP (解放)
H323H323UUIE
UUIE
H.245
• H.32X シリーズ共通のシステム制御メッセージ
H245 メッセージの例:
目的
名称
詳細
多重化能力 (RTP/RTCP 等)
能力交換
TerminalCapabilitySet
マスター・スレーブ決定
MasterSlaveDetermination
論理チャネルオープン
OpenLogicalChannel
オーディオ符号化能力
ビデオ符号化能力
データ符号化能力
メディア毎のチャネルオープン
符号化タイプ (符号化能力に対応)
多重化パラメータ (多重化能力に対応)
論理チャネルクローズ
各種コマンド
CloseLogicalChannel
フロー制御、セッション終了、など
Request / Response / Command / Indication
H.245 手順の例
Q.931
呼接続 (ポート1720)
TerminalCapSet
TerminalCapSetAck
能力交換
MasterSlave
H.245
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)
ゲートキーパー
端末
端末
ARQ
ACF
(2) 間接型 (GK-routed)
ゲートキーパー
端末
端末
ARQ
ポート番号1719
SETUP
ACF
SETUP
CALL PROC
CALL PROC
ポート番号1719
SETUP
CALL PROC
ARQ
ARQ
ACF
ACF
ALERTING
ALERTING
CONNECT
ALERTING
CONNECT
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 記述
ASN.1 記述の例
H245 メッセージより抜粋:
VideoCapability
{
nonStandard
h261VideoCapability
h262VideoCapability
h263VideoCapability
is11172VideoCapability
...
genericVideoCapability
}
IS11172VideoCapability
{
constrainedBitstream
videoBitRate
videoBufferSize
pictureRate
...
}
...
::= CHOICE (選択)
NonStandardParameter,
H261VideoCapability,
H262VideoCapability,
H263VideoCapability,
IS11172VideoCapability,
GenericCapability
詳細定義
ビデオ符号化能力
::= SEQUENCE (系列)
BOOLEAN,
INTEGER (0..107341823)
INTEGER (0..262143)
INTEGER (0..15)
OPTIONAL,
OPTIONAL,
OPTIONAL,
MPEG1 ビデオ符号化能力
補足
FastConnect / FasterConnect
端末A
Q.931
端末B
SETUP
CALL PROC
端末
端末BBの
の
FastStart
FastStart
端末
端末AAの
の
FastStart
FastStart
* H245手順のスキップ
H245メッセージ
(OpenLogicalChannel)
ALERTING
CONNECT
(ACKを兼ねる)
FastConnect (H245 トンネリング):
トンネリング :
(H.245)
RTP
必要ない場合は
スキップ
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.
N.A.
制御
RTCP
データ
SIP / SDP
N.A.
(RFC 2543 / 2347)
RTP
UDP
TCP
IP (多重化)
各種ネットワーク
SIP
* Session Initiation Protocol
・ 呼制御プロトコル (サーバ・クライアント・モデル
サーバ・クライアント・モデル)
サーバ・クライアント・モデル
SIP サーバ (プロキシ、登録、リダイレクト) ~ SIP クライアント (エージェント)
HTTP を踏襲 (メッセージとレスポンス)
メッセージ:
INVITE
INVITE メッセージ:
セッション参加要求
ACK
確認応答
BYE
接続終了
OPTIONS
REGISTER
CANCEL
SIPサーバへの問い合わせ
f From (要求元)
t To (招待先)
s Subject (タイトル)
c コンテントタイプ (SDP)
i 呼ID番号
v 経路中の SIP サーバ
+
SDPによるセッション記述
SIPサーバへの登録
登録の取り消し
レスポンス:
レスポンス 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
SIP/SDP の使い方 (1) 基本モード
• Direct
Q.931/H.245 の FastConnect と同様の手順
SDP
SDP
INVITE (呼設定)
100 Trying
180 Ringing
対比:
SIP/SDP
200 OK
Q931/H245
ACK (確認応答)
INVITE
100 Trying
180 Ringing
200 OK
ACK
...
BYE
SETUP + H245
CALLPROC
ALERT
CONNECT + H245
H245 (OpenLogicalChannelAck)
通話
BYE
200 OK
H245 + RELCOMP
SDP
SDP
SIP/SDP の使い方 (2) プロキシモード
端末A
① INVITE
⑤ OK
① INVITE
⑤ OK
ネットワーク
① INVITE
事前に登録
⑤ OK
② query
端末B
④ INVITE
SIP 登録サーバ
⑤ OK
③ response
SIP プロキシサーバ
ACKは省略
SIP/SDP の使い方 (3) リダイレクトモード
端末A
① INVITE
⑤ INVITE
④ moved
⑥ OK
端末B
① INVITE
⑤ INVITE
④ moved
⑥ OK
⑥ OK
⑤ INVITE
移動先
ネットワーク
① INVITE
事前に登録
④ moved
② query
SIP 登録サーバ
③ response
SIP リダイレクトサーバ
ACKは省略
SIP/SDP と H.323 (1)
• 制御メッセージ機能、サーバ機能の比較
SIP/SDP
H.323
SIP メッセージ
SIP レスポンス
RAS
Q.931
H.245
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実験
標準化とはこういうもの?