FrontPage

全体ブロック図

  • モジュール化されたレイヤー構造
  • B2BUA層
  • UA層
  • Stack層
  • Transport層

Ver.1.0との違い

各層は、「Router-Manager-Module」で構成されていたが、「Manager-Module」の構造へ変更。

使用言語

  • JavaSE6.0

B2BUA層

UA間を接続するために必要な動作(実装)を定義する層
SIPとしては、Call(複数のトランザクションやダイアログ)に関して責任を持つ。

Ver.1.0との違い

Ver.1.0では、B2BUAは、UA間の通信のみに責任を持っていたが、Ver.2.0では、B2BUAとしての動作に関しても責任を持つようになる。

機能

シーケンス制御/吸収部

転送シーケンスの差異を吸収するなどのシーケンスの制御や吸収を行う 下記のような感じで変換する。

sequenceFig.png

メッセージ変換部

SIPメッセージの網間の差異や他UAプロトコルを、変換する。

messageFig.png

UA層

単体のUAとしての機能(実装)のみを行う層
SIP的には、ダイアログに関しての処理に責任を持つ。

Ver.1.0との違い

Ver.1.0では、IP電話機単位での実装であったが、Ver.2.0では、機能単位(通話、保留など)での実装となる。

機能

  • 通話機能UA
  • 転送機能UA
  • 保留機能UA

このあたりについては、新規概念であるため、検討中。
2つ以上のUAを組み合わせて、1つのUAとして使用できるような動作を検討している。
例:
認証UA⇒アーリートーキUA⇒通話UA
というようなシーケンシャルにUAを使用することにより、通話用UAとして動作させるようなイメージである。

Stack層

SIP Stackとしての機能を持つ層
SIPとしては、トランザクションレベルの処理に対して、責任を持つ。

Ver.1.0との違い

SIP Stackに関しては、Jain-SIPに依存せずに、新規に独自実装を行う。

実装方針

  • トランザクションの処理に特化させる
    • それ以上の処理は、UA層に任せる

Transport層

本ミドルウェアとアプリケーションの接続層。

  • MINAを使用する

Ver.1.0との違い

独自実装ではなく、MINAに依存する形とする。