※当サイトの記事には、広告・プロモーションが含まれます。

『NGN時代のSIP入門』を読んで

NGNNext Generation Network、次世代ネットワーク)とは

IP技術を用いて、これまでサービス別に構築されてきた固定電話と移動通信、通信と放送など、様々な情報通信サービスを1つのネットワーク上で融合する通信事業者のネットワークです。

回線交換技術を使う電話網が将来廃棄された時、替わって社会インフラとなる通信網の提供を目指してます。

ユビキタス・ネットワーク社会を実現することを目的としています。

固定通信網移動通信網の融合をFMCFixed Mobile Convergence)と呼びます。

パケット通信を使いながら、電話網の『スイッチ』方式を採用してます。

アプリケーションに対して、ネットワークの機能を積極的に公開するためにANIというインターフェースが用意されます。

 

回線交換方式(スイッチ)』と『パケット交換方式』

回線交換方式 ⇒ 

データを連続して送信。端末(電話機)と端末(電話機)の間は交換機というスイッチで確実に接続され、通信が混み合ってきても、通信の品質は保証されます。

 

パケット交換方式 ⇒ 

ルータがパケット単位のデータをバケツリレーのように、順次転送し、世界中の端末と相互に通信できる仕組みです。

ルータが混み合ってくると、遅延時間(相手にパケットが届く時間の送れ)や、途中でパケットの紛失が起きたりします。

このような通信品質が保証されていない方式のことは、

ベストエフォート方式』=『最大努力方式

と呼ばれることもあります。

 

 

ユビキタス

 いたるところに存在(偏在)するという意味のラテン語が語源。

ユビキタス・ネットワークは『いつでも、どこからでもつながる環境』という意味と言えます。

 

ANIApplication to Network Interface、アプリケーションとネットワーク間のインターフェース

 

 

インターフェースinterface I/F / IF

インターフェースとは、接点、境界面、接触面、接合面、仲立ち、橋渡しなどの意味を持つ英単語。

IT関連では、二つのものが接続・接触する箇所や、両者の間で情報や信号などをやりとりするための手順や規約を定めたものを意味する。

  • 『ハードウェアインターフェース』
  • 『ソフトウェアインターフェース』
  • 『ユーザインターフェース』

の三つに大別できる。

ハードウェアインターフェース』⇒ 複数の装置を接続して通信する際の規約で、コネクタの形状や電気信号の形式などを定めているもの。コンピュータ内部のデータ伝送、コンピュータと周辺機器のデータ伝送、コンピュータ間の通信など、用途に合わせて様々なインターフェースが存在する。

 

ソフトウェアインターフェース』⇒ プログラム間でデータをやり取りする手順や形式を定めたもの。特に、OSやミドルウェアライブラリなどの機能を外部から呼び出して利用するための規約をAPIApplication Programming Interface)という。ファイル形式なども広い意味ではソフトウェアインターフェースに含まれるとも考えられるが、通常はAPIのことを指す場合が多い。

 

ユーザインターフェースUI)』⇒ コンピュータが利用者に対して情報を表示する方式や、逆に、利用者が情報を入力するための方式を定めたもので、長年文字ベースの手段(CUI:Character User Interface)が使われてきたが、コンピュータの性能向上・大衆化を受けて、図形や画像による表示、マウス操作などを多用したグラフィカルユーザインターフェース(GUI:Graphical User Interface)が広く使われるようになっている。

 

 

SIP(Session Initiation Protocol、セッション開始プロトコル』)とは

 インターネット上でさまざまなデータや音声・映像などをリアルタイムに行うために、通信をする2者、または、オンライン会議のように3者以上の間で

  1. 通信アプリケーションの関連付け(通信の開始)を行ったり、
  2. その関係を終了(通信の切断)したりする

ために利用するプロトコル通信規約)です。

『インターネットのレイヤ構造』において『アプリケーション・レイヤ』に分類されるプロトコルです。

 

『アプリケーションレイヤ』のプロトコルの例

SMTPSimple Mail Transfer Protocolメール転送プロトコル)⇒

電子メールを受信するためのプロトコル

HTMLHyperText Markup Languageハイパーテキストマークアップ言語)⇒

Webページを記述するための言語。

 

ISO(International Standardization Organization、国際標準化機構)が標準化したOSI(Open Systems Interconnection開放型システム間相互接続)参照モデル:7階層

コンピュータなどのオープンシステム相互接続する際に適用する通信プロトコルを規定するに当たって参照されてるもの。

レイヤ名(OSI) 内容
レイヤ7 アプリケーション層 電子メール、Web参照、ファイル転送などのアプリケーションが直接利用する通信プロトコルや通信サービスを提供するレイヤ
レイヤ6 プレゼンテーション層 アプリケーション間でやり取りするデータの表現形式を定めるレイヤ
レイヤ5 セッション層 アプリケーション間で通信の開始/終了手順や通信中のデータの同期手順などを提供するレイヤ
レイヤ4 トランスポート層 コンピュータ間で通信の開始/終了手順や通信中のデータの同期手順などを提供するレイヤ
レイヤ3 ネットワーク層 ネットワークにおける通信経路の選択(ルーチング)に必要な手順を提供するレイヤ
レイヤ2 データリンク層 隣接するコンピュータや通信機器間で直接信号を受け渡す機能を提供するレイヤ
レイヤ1 物理層 データリンク層がやり取りする信号を電気信号に変換して伝達するレイヤ

 

IETFが定めるインターネットのTCP/IPプロトコル:4階層

インターネット技術の標準化団体のIETFInternet Engineering Task Forceインターネット技術標準化委員会)は、インターネット・ホストが実装するプロトコル4階層のレイヤに分類。

レイヤ名(インターネット) 内容
アプリケーション・レイヤ OSI参照モデルのセッション・レイヤからアプリケーション・レイヤまでの機能を持つ。代表的なプロトコル
  • Telnet(遠隔ログイン)
  • FTP(ファイル転送)
  • SMTP(電子メール転送)
  • HTTP(ホームページ転送)
  • SIP
などがあります。
トランスポート・レイヤ(TCP/UDP インターネット・ホスト上のアプリケーションが利用するポート間でエンド・ツー・エンドの通信を提供します。
代表的なプロトコル
  • TCP(Transmission Control Protocol)
  • UDP(User Datagram Protocol)
があります。
インターネット・レイヤ(IP) インターネット・ホスト間で接続を提供し、IPアドレスの提供、サービス・タイプの規定、IPパケットの分割と組み立てなどの機能を持つ。
代表的なプロトコル
  • IP(Internet Protocol)
です。
リンク・レイヤ インターネット・ホストと直接接続するネットワークとのインターフェース機能を提供する。
リンク・レイヤのプロトコルIETFでは直接規定せず、イーサネットをはじめとするIPに対応したさまざまな通信インターフェースが利用できる。

 

SIP』はIETFが規定したもの

TCP/IPプロトコル:4階層 のアプリケーション・レイヤに分類されてるため、OSI参照モデルにおけるセッション層(OSIのレイヤ5)よりも幅広い機能を持ちます。

 

Session(セッション)』と『Initiationイニシエーション

電話をする際に

  1. 発信者が電話番号をダイヤルする
  2. 着信側で呼び出し音が鳴る
  3. 受信側が受話器を取って応答したことを確認する

という一連の流れで、

両者を関連付けることを『Sessionセッション)』と呼び、セッションを開始することを『Initiationイニシエーション)』と呼び、これを行うための手順を『SIPSession Initiation Protocolセッション・イニシエーション・プロトコル)』といいます。

 

『インターネット』と『IPネットワーク』の違いとは

 インターネットは、1980年前後に米国政府の研究期間や、関連する大学の研究所などが、それぞれのコンピュータを接続して、研究成果の情報共有するために構築したデータ通信ネットワークが基になってます。

 

ネットワーク構築のために、多数の研究機関のネットワークを相互接続し、研究者の使うコンピュータ間で、コネクティビティ相互接続性)の提供が求められました。

 

このため、必要最低限のシンプルで効率的な共通手順プロトコル)として、TCP/IPが開発されました。

 

インターネットは複数の運用主体が異なるネットワークを相互接続したものなので、インターネット全体の運用管理者が明確でないため、通信速度通信品質一律に管理できないため、それぞれのネットワークができる範囲で通信を提供する(ベストエフォート)代わりに、つなげたいコンピュータに必ずつなげること(コネクティビティ)を優先した設計になってます。

 

IPネットワークには、通信業者が契約者にサービスを提供するために構築するものや、企業が構築する社内網などがあり、誰でも使えるわけではなく、コネクティビティをベストエフォートで提供し、且つ一定の通信品質安定性の提供も必要となる点がインターネットと異なります。

 

 

TCP/IPTransmission Control Protocol/Internet Protocol

TCP/IPとは、インターネットなどで標準的に用いられる通信プロトコル(通信手順)で、TCPTransmission Control Protocol)とIP(Internet Protocol)を組み合わせたもの。また、TCPとIPを含む、インターネット標準のプロトコル群全体の総称。

IPは複数のネットワークを繋ぎあわせて相互に通信可能にするプロトコルで、これを用いて世界的に様々な組織の管理するネットワークを相互接続してできたオープンなネットワークをインターネットと呼んでいます。

TCPはIPを基盤にその上層で利用されるプロトコルで、IPネットワーク上の2地点間で信頼性の高い通信を可能にする。TCPのさらに上層では、用途やソフトウェアに応じて様々なプロトコルが規定されている。

例えば、WebではHTTPHyperText Transfer Protocol)が用いられるが、HTTPはTCPを、TCPはIPをそれぞれ利用してデータを転送しています。

インターネットなどのIPネットワークではIPと組み合わせてTCPではなくUDPなどが用いられることもあるが、「TCP/IP」という呼称はTCPとそれ以外を区別するという意味合いは薄く(「UDP/IP」という言い方はほとんどしない)、「IPを中心とする標準的な通信プロトコルの総称」を表すことが多い。

歴史的な経緯からそのような用法が定着しているが、今日ではそのような総称的な意味は「インターネットプロトコルスイート」(Internet Protocol Suite)のような用語で表すべきとされることもあります。

 

 

従来技術の『H.323』と『SIP』の違い

 電話で『受話器を上げて通話し、切断する』までの一周期を『Call)』と言い、『』を制御するプロトコルを『呼制御プロトコルシグナリングプロトコル)』と言います。

 

IPネットワークで、インタラクティブなマルチメディア通信を行うため『シグナリングプロトコル』が開発されていて、『SIP』が標準化される前に開発されていたのが、ITU-TInternational Telecommunication Union-Telecommunication Standardization Sector国際電気通信連合の電気通信標準化部門)が既存のISDNシグナリングプロトコルをベースにLAN上でマルチメディア通信を実現できるように制定した『H.323』という標準です。

 

H.323 ⇒ Packet-based multimedia communications systems、パケットを基本とするマルチメディア通信システム。

 

ISDN ⇒ Integrated Services Digital Network、サービス総合デジタル通信網

ADSL ⇒ Asymmetric Digital Subscriber Line、非対称デジタル加入者線

ISDN ADSL
電話をしながらFAXの送受信が可能 電話をしながらFAXの送受信は不可
一つの電話番号に2回線 一つの電話番号に1回線
ダイアルアップでインターネットに接続するため、基本使用料とは別に通信費(電話代)がかかります ダイアルアップではありませんので、つなぎっぱなしでも電話代を気にすることはありません
アクセスポイントに接続するため、接続するたびにIDとパスワードを聞かれることになります アクセスポイントに接続することはありませんので、接続するたびにIDとパスワードを聞かれることはありません
1回線あたり64Kbpsのスピード 40Mや45M

(※1Mは1000Kbpsです。)

 

ITU-T標準の『H.323』の特徴

  • ISDN方式で構築された通信事業者の電話系サービスとの親和性が高く、IP電話の提供に適していました。
  • 回線交換方式のISDNを基本としていたので、IPアプリケーションとしては複雑なプロトコルになっていました。
  • 回線交換方式と同様に中央制御型のサーバが必要で、システムの大規模化にサーバの拡張が求められました。
  • H.323 の閉じたシステムを構築するには適切なプロトコルでした。

 

IETF標準の『SIP』の特徴

  • インターネットで利用される他のプロトコルと同じ基本思想で標準化されているため、他のIETFプロトコルとの併用や相互運用がしやすくなってます。
  • HTTPやSMTPと同様にテキスト形式で記述されています。
  • 電話交換のような中央制御型の方式ではなく、基本的にはエンド・ツー・エンドでのやり取りのため、ネットワークに影響なくサービスを拡張できます。

 

 

エンド・ツー・エンド

経路途中のシステムに依存しないことをいい、この実現のためには通信プロトコルが階層ごとに明確に分離されている必要がある。

インターネットは、このエンドツーエンドの最も代表的な例です。

⇩ 下記サイトが詳しく解説してくれてます。

エンドツーエンド-通信用語の基礎知識

 

 

H.323』は電話網ベース、『SIP』はインターネットベース

H.323』はメッセージを2進数のバイナリ形式でやり取りするのに対して,

SIP』はメッセージをテキスト形式でやり取りする。

SIP』の方がインターネットのアプリケーションに組み込んだり,プロトコルを拡張したりするのが容易であるといえます。

 

SIP』の歴史

 『SIP』は当初、IETFにおける『mmusic-WG(Multiparty Multimedia Session Control Work-ing Group、マルチパーティ・マルチメディア・セッション制御ワーキング・グループ)』が、インターネットや大学のキャンパス・ネットワークなどでデスクトップPCを利用したビデオ会議や遠隔授業を行うために検討された、一連のプロトコルの1つでした。

 

 

19993
IETFmmusic-WGから『RFC2543 "SIP:Session Initiation Protocol"』として出版。
RFCRequest For Commentsコメントを求む)の略で、4桁の通し番号で管理されたITEFの公式文書で、RFCの性格により分類されています。
この分類に中でStandard Track標準トラック)と呼ばれるIETFの標準化プロセスの第一段階に当たる、Proposed Standard標準化草案)に分類されるプロトコルです。
商用利用に適さないとされていましたが、SIPがIPネットワーク上のリアルタイムメディア通信の基本手順(プロトコル)として注目されるようになり、プロトタイプ(試作機)やSIPに対する機能拡張の提案が盛んに行われるようになりました。
199911
mmusic-WGからSIP WG(SIP Working Group)が発足され、検討が加速される
2001
3GPPThird Generation Partnership Project第三世代パートナーシップ・プロジェクト)が、IMSIP Multimedia SubsystemIPマルチメディア・サブシステム)の中で、基本シグナリングプロトコルとしてSIPを採用することを決定。
通信業界全般にSIPへの関心が高まる。
20026
Draft Standard(標準草案)のRFC3261』に改版されます。
Draft Standardが、一定の検証が取れて商用利用が可能な標準であるため、SIPIP電話やマルチメディア通信などの製品やシステムへ盛んに実装され始めます。

 

SIPプロトコルの流れ

SIPの機能 内容
User Location 通信に利用するエンド・システム(電話機、PC)などの特定
User Availability 通信への参加可否の判断
User Capailabies 通信する双方が通信に用いるメディアと通信パラメータをお互いに利用できるかどうかの判断
Session Setup セッションの確率(呼び出し、発着のパラメータの整合など)
Session Management セッションの転送、完了、セッション。パラメータの変更、サービスの起動

 

SIP』はクライアント・サーバ・モデル

クライアント・サーバ・モデル ⇒

処理を依頼する『クライアント』と処理結果を提供する『サーバ』で構成されたシステムのことをいいます。

例:

Internet ExplorerFireFoxなどのWebブラウザーを起動して、Webサーバーにデータを要求するとき、Webブラウザーが『クライアント』、Webサーバーが『サーバ』となります。

 

SIP』の構成

  • ユーザー・エージェント
    [UA:User AgentUACUA Client)とUASUA Server)に分かれます]
  • ロキシー・サーバ(代理サーバ:リクエストやレスポンスを中継するサーバ)などの『SIPエンティティ機能)』と呼ばれるコンポーネント(構成要素)
  • ロケーション・サーバと呼ばれるUAのアドレス情報などが格納されたデータベース

 UAは、アプリケーションソフトや、VoIPゲートウェイなどのエンドシステムがもつ機能です。
SIPは、リクエストを生成する際はUACとして
リクエストを処理してレスポンスを生成する際はUASとして動作します。

 

 

VoIPゲートウェイVoIP gateway

VoIPゲートウェイとは、電話網とIPネットワークの間の中継を行う機器。インターネットやイントラネットを使って通話を行うVoIPにおいて使用されるしくみ。VoIPゲートウェイは、企業の支社間などでVoIPによる電話網を構築するために使われるのが一般的である。

 

VoIPゲートウェイは電話網とIPネットワークの境界に置かれ、電話線から入力されるアナログ音声データをデジタルデータに変換し、IPパケットに分割してIPネットワーク上に送信する。同時に、IPネットワーク側から受け取ったIPパケットをアナログ音声に復元し、電話網へ送り出す。デジタル音声データの圧縮および伸張もVoIPゲートウェイが行う。

 

通常、企業のひとつの支社内の内線電話はPBX(構内交換機)と呼ばれる機器によって集約されている。従来は、各支社のPBXを公衆の電話回線や専用線で接続することで企業内電話網を構築していた。このため通話料や専用線敷設のコストが多大にかかっていた。

 

VoIPゲートウェイを利用すれば、従来公衆の電話回線や専用線を用いていた部分をIPネットワークに置き換えることができ、コストが大幅に削減できる。また、電話やFAXの回線とコンピュータネットワークが同一のIPネットワークに統合されることで管理コストの削減にもつながる。

 

 

エンドシステム ⇒ エンドシステムとは、ネットワーク上の末端に位置しているシステム(コンピューター)のことです。

 

ロキシーサーバは、クライアントの代理プロキシ)としてIPメッセージの中継を行います。

ロキシーサーバは『フォーク』、『リダイレクト』、『レジストラ』などの機能をもつこともあります。

 

フォーク ⇒ 

受信したリクエストを複数の宛先に分岐させることができます。

 

リダイレクト

ロキシーサーバがリクエストを転送せず、一旦クライアントにルーティング情報を返し、再ルーティングを促す方式です。

 

レジストラ ⇒ 

UAが情報を登録し、ロケーション・サーバに格納する機能です。

 

 

SIP』と『URI

セッションの相手を指定するアドレスにURIを利用します。

IETFの文書番号や書籍など、さまざまなリソースの識別が可能です。

URIが指定するリソースごとに、スキーマが割り当てられています。

 

URIUniform Resource Identifer) ⇒ 

インターネット上の情報資源を特定する一般的な記述方式。

 

スキーマ ⇒ 

URIで識別するリソースの種類。

 

 

リソースresource

リソースとは、資源という意味の英単語。目的を達するために役立つ、あるいは必要となる要素のこと。

 

コンピュータの場合はソフトウェアやハードウェアを動作させるのに必要なCPUの処理速度やメモリ容量、ハードディスクの容量などを意味することが多い。

システム開発などにおいては、プロジェクトの遂行に必要な人手や資金、設備など。他に、資料や情報源という意味で使われることもある。

 

また、Windowsでは、プログラム内に埋め込まれている、テキストやウィンドウの内容、メニューの情報といった、プログラムが使用するデータをリソースという。

ソースコード中にデータがハードコーディングされているものと違い、実行中にリソースの内容をメモリにロードしたり破棄したりできる。

また、アプリケーションソフトが共通して利用する特殊なメモリ領域「システムリソース」の略を単にリソースと呼ぶこともある。

 

 

<URIスキーマの例>
スキーマ 内容
http http://www.ieft.org/rfc.html HyperText Transfer Protocol
ftp ftp://ftp.hoge.com/rfc/rfc2341.txt File Transfer Protocol
mailto UserD@west.net 電子メール・アドレス
tel tel:+81-11-123-4567 電話番号
sip sip:alice@atlanta.com SIP URI
sips sips:bob@biloxi.com SIPS URI
urn urn:ietf:rfc:3261 IETFの文書
urn urn:isbn:4872804635 書籍(ISBN:International Standard Book Number)

 

sips ⇒ 

Secure SIP、暗号化したセキュアなSIP

 

 

セキュアsecure セキュアー

セキュアとは、安全な、不安の無い、保障された、頑丈な、などの意味を持つ英単語。名詞形は「セキュリティ」(security)。

ITの分野では、データやシステム、通信路などが暗号や防御ソフトなどを用いて技術的に保護され、外部からの攻撃や侵入、盗聴、改ざんなどの危険の無い状態を意味する。

 

 

SIP URIのフォーマット

 

フォーマット(format) ⇒ 

  1. 「初期化」と言う意味で、 OSにファイルを読み書き作業ができる基本状態(初期状態)にすることです。
  2. 「書式設定」と言う意味で、文書の元となる体裁を設定することです。
  3. 「ファイル形式」の意味で、ファイルの元となる種類のことです。

 

 

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

 

個々のパラメータは『トーク』と呼ばれ、トークンの種類は下記の通りです。

トーク 意味
USER 宛先のホスト中の特定のリソース識別子
Passward ユーザーに関連付けられたパスワード。通常は指定しない。
Host SIPリソースをもつホスト。ドメイン名またはIPアドレスを指定。
Port SIPリクエストの送付先ポート番号。
URI parameters: SIPリクエストの取り扱いを指定するためのパラメータ。以下を指定できます。
  • Transport:UDP,TCP,SCTPのうち適用するトランスポート・プロトコルを指定。
  • maddr:Hostにかかわらず必ず経由するプロキシー・サーバ等のIPアドレスを指定。
  • ttl:"transport=udp"かつmaddrがマルチキャスト・アドレスの場合にUDPマルチキャスト・パケットのtime-to-live(ttl)値を指定。
  • user:User名が数字列で電話番号との識別が困難な場合に用いる。
    "user=phone"を指定
  • methodIr:URISIPリクエストを作る場合にメソッド(制御機能)を指定。
    SIP旧版(RFC2543)とのバックワード・コンパティビリティ(後方互換性が必要な際に指定。)
Headers このURIに対するSIPリクエストに含める必要のあるヘッダ・フィールドの指定。

 

ttlTime To Live、パケットの生存時間

 

maddrmulticast addressマルチキャスト・アドレス・ホストを示すアドレス

 

SCTPStream Control Transmission ProtocolTCPの弱点を補い、信頼性向上の機能を備えたトランスポート層プロトコル

 

ダイアログ

2つのUA間でセッションを確立する時に生じるピア・ツー・ピアの関係を示すものです。

 

 

 ピア・ツー・ピアpeer to peer) ⇒ 

専用のサーバーを使うことなく、接続されたコンピューター同士が相互にコミュニケーションするネットワーク形態。

IP電話Skypeなどのインターネット電話、インスタントメッセンジャーファイル共有ソフトなどがある。

比較的低コストにネットワークを構築できることと、クライアントの数に制限がないことから、現在のクライアント・サーバー型に代わる次世代インターネットの技術として注目されている。

 

 

f:id:ts0818:20150726150719j:plain

 

SIP』におけるメソッド

SIPプロトコルトランザクション・モデルで構成します。

リクエストを指定するメソッドは下記の6つ。

他にもさまざまなメソッドがRFCにより追加されてます。 

<SIPにおけるメソッド(制御機能)の種類と内容>
メソッド 内容
INVITE UA(ユーザー・エージェント。電話機やパソコンなど)間のセッションを要求します。
ACK INVITEの最終応答を受信します。
BYE セッションを終了します。
CANCEL セッションの確立途中のINVITEを終了させます。
OPTIONS UAが他のUAやプロキシーサーバの能力を問い合わせます。
REGISTER UAが現在の位置情報を登録サーバーに登録します。

 

SIP』におけるレスポンス

HTTPのレスポンス(応答)・コードを基本とした3桁の数字で、内容を通知します。

<SIPにおけるレスポンス(応答)の種類と内容>
レスポンス・コード 意味 内容
1×× 暫定応答(通知応答) リクエストが受信され、そのリクエストの処理を継続中。
例:
  • 100 Trying、
  • 180 Ringing
2×× 成功応答 リクエストが成功
例:200 OK
3×× リダイレクト応答 ユーザーの新たな場所の情報、代わりのサービスに関する情報を与える。
例:
  • 300 Multiple Choices、
  • 301 Moved Permanently
4×× クライアント・エラー応答 リクエストに誤りが含まれているか、指定したサーバではこのリクエストを実行できない。(別のサーバでは同じリクエストを実行できるかもしれない)
例:
  • 400 Bad Request、
  • 404 Not Found
5×× サーバ・エラー応答 サーバがリクエストの実行に失敗。
例:
  • 500 Server Internal Error
6×× グローバル・エラー応答 リクエストは、どのサーバでも実行できなかった。
例:
  • 600 Busy Everywhere

 

リクエスト・メッセージの形式

INVITE sip:UserJ@east.net SIP/2.0
Via: SIP/2.0/UDP west.net:5060;branch=z9hG4bK776as3
Max-Forwards: 70
From: Ken <sip:UserD@west.net>;tag=r18f061962
To: Maki <sip:UserJ@east.net>
Call-ID: 30017891@west.net
CSeq: 1 INVITE
Contact: <sip:UserD@10.11.12.13>
Content-Type: application/sdp
Content-Length: 138

v=0
o=UserD 2890842807 2890842807
s=Voice Session
c=IN IP4 10.11.12.13
t=0 0
m=audio 50000 RTP/AVP 0
a=rtpmap:0 PCMU/8000

 

SIP』のメッセージの構成

  1. スタート・ライン
    <リクエストまたはレスポンスを指定(必須)
  2. メッセージ・ヘッダ
    <複数のヘッダで構成
  3. CRLF
    空白行(メッセージボディの有無に関わらず必須)
  4. メッセージ・ボディ
    添付情報(オプション)

CRLFCarriage Return Line Feed改行空白行

 

スタート・ライン=リクエスト・ライン

INVITE sip:UserJ@east.net SIP/2.0

  • メソッド=INVITE
  • リクエストの宛先のURIsip:UserJ@east.net
  • SIPバージョン=sip/2.0

ヘッダ・フィールド

Via: SIP/2.0/UDP west.net:5060;branch=z9hG4bK776as3
Max-Forwards: 70
From: Ken <sip:UserD@west.net>;tag=r18f061962
To: Maki <sip:UserJ@east.net>
Call-ID: 30017891@west.net
CSeq: 1 INVITE
Contact: <sip:UserD@10.11.12.13>
Content-Type: application/sdp
Content-Length: 138

 

Viaヘッダ

メッセージが経由した場所。

ロキシーを経由するたびにその情報が随時挿入されていきます。

『branch=z9hG4bK776as3』は、このリクエストによって生成されるトランザクションを識別するための必須情報です。

 

FromヘッダToヘッダ ⇒ 

リクエストの発行者と宛先を示します。

コーラー(caller)とコーリー(callee)がそれぞれ付与した識別用のタグが挿入されます。Call-IDは呼の識別子です。

From、Toの2つのタグとCall-IDによりダイアログを識別します。

 

コーラー(caller)⇒ 発信元
コーリー(callee)⇒ 着信先

 

Content-TypeContent-Length ⇒ 

メッセージボディの種類と長さを示します。

 

リクエスト(応答)・メッセージの形式

SIP/2.0 180 Ringing
Via: SIP/2.0/UDP west.net:5060;branch=z9hG4bK776as3
From: Ken <sip:UserD@west.net>;tag=r18f061962
To: Maki <sip:UserJ@east.net>;tag=r18f061962
Call-ID: 30017891@west.net
CSeq: 1 INVITE
Contact: <sip:UserD@20.21.22.23>
Content-Length:  0


 

スタート・ライン=ステータス・ライン

SIP/2.0 180 Ringing

  • SIPバージョン=2.0
  • ステータス・コード=180
  • ステータス・コードの説明=Ringing(呼び出し中)

ヘッダ・フィールド 

 

Via: SIP/2.0/UDP west.net:5060;branch=z9hG4bK776as3
From: Ken <sip:UserD@west.net>;tag=r18f061962
To: Maki <sip:UserJ@east.net>;tag=r18f061962
Call-ID: 30017891@west.net
CSeq: 1 INVITE
Contact: <sip:UserD@20.21.22.23>
Content-Length:  0


INVITEメッセージと同様で、FromとToも同じ理由はトランザクションの方向を示すためです。このレスポンシブにはボディが含まれないので、最終行のContent-Lengthが0になってます。

 

SDP(Session Description Protocol、セッション記述プロトコル

セッションの識別子と、セッションで利用するVoIP音声、動画像、データなどのメディアの種類の指定のための、標準的な情報の記述形式です。

 

SDPのフォーマット

セッション記述部
v = プロトコル版数(必須、RFC4556準拠のSDPはv=0)
o = セッション開始者とセッションID(必須)
s = セッション名(必須)
i  = *セッション情報(オプション)
u = *記述内容のURI(オプション)
e = *電子メールアドレス(オプション)
p = *電話番号(オプション)
c = *コネクション情報(全てのメディア記述に含まれる場合は不要)
b = *帯域情報(オプション)
時間記述1つ以上必須
  • t = セッションの開始・終了時間(必須)
  • r = *繰り返し周期(オプション)

z = *タイムゾーン(オプション)
k = *暗号化キー(オプション)
a = *セッション属性(オプション、複数指定可)
メディア記述オプション複数指定可能
  • m = メディア名とトランスポートアドレス(必須)
  • i  = *メディア(media title)
  • c = *コネクション情報(セッション記述に含まれる場合はオプション)
  • b = *帯域情報(オプション、複数指定可)
  • k = *暗号キー
  • a = *メディア属性(オプション、複数指定可)

 

SIP-AS(SIPアプリケーション・サーバ)

 SIPインターフェースを持ったアプリケーション・サーバで、アプリケーションに対してWebサービスなどのオープンなインターフェースでアクセス可能で、且つアプリケーション開発環境やサービス生成環境を併せ持つサーバのことです。

 

プログラミング言語Javaの実行環境の仕様を規定したJavaEEに基づくJavaサーバに、SIP Serveletを搭載したサーバは、SIP-ASとして動作可能です。

 

Java EE
Java Plattform,Enterprise Editionjavaの企業向け機能セットの標準仕様

 

SIP Servlet
SIPサーバ向けにSIP仕様をJava APIとして規定した標準仕様

 

API
Application Programming Interface、アプリケーション側からOSが提供する機能やサービスを利用できるようにするためのプログラミング・インターフェース

 

詳しくは『NGN時代のSIP入門(著・千村保文/川西素春/河原正博)』に書かれてます。