• 追加された行はこの色です。
  • 削除された行はこの色です。
[[FrontPage]]

*全体ブロック図 [#j36e5556]
-モジュール化されたレイヤー構造
-B2BUA層
-UA層
-Stack層
-Transport層
*全体ブロック [#j36e5556]
下記の4つを一つの単位としたモジュール化されたレイヤー構造。~
現時点では、「SIP」に関連したモジュールのみを持つ。今後、追加されていく予定。~
内部の基本的な構造は、[[Ver.1.0:http://www.siprop.org/ja/1.0/index.php?%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3]]と変わっていない。具体的な変更点は、[[こちら:http://www.siprop.org/ja/2.0/index.php?%B3%AB%C8%AF%2F%C0%DF%B7%D7%2F%CA%D1%B9%B9]]を参照のこと。
-[[B2BUA層>アーキテクチャ#x822d841]]
-[[UA層>アーキテクチャ#o5ef0e7c]]
-[[Stack層>アーキテクチャ#acea1eb5]]
-[[Transport層>アーキテクチャ#ab4f0974]]

***使用言語 [#u02d7efc]
-JavaSE6.0
***設計 [#q4539283]
-詳細については、[[設計>開発/設計]]を参照のこと


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

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

**機能 [#d6c107fa]
***シーケンス制御/吸収部 [#cc290e4c]
転送シーケンスの差異を吸収するなどのシーケンスの制御や吸収を行う
下記のような感じで変換する。
UAを動作させるための動作手順を記述(プログラミング)する。

#ref(http://www.siprop.org/ja/1.0/image/sequenceFig.png,center)


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

#ref(http://www.siprop.org/ja/1.0/image/messageFig.png,center)


*UA層 [#o5ef0e7c]
単体のUAとしての機能(実装)のみを行う層~
SIP的には、ダイアログに関しての処理に責任を持つ。
単一の機能単位で機能(実装)されている層~
B2BUAが使用するためのモジュール(API)として、存在している。

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

**機能 [#w3021a7d]
-通話機能UA
-転送機能UA
-保留機能UA
----
 このあたりについては、新規概念であるため、検討中。
 2つ以上のUAを組み合わせて、1つのUAとして使用できるような動作を検討している。
2つ以上のUAを組み合わせて、1つのUAとして使用するインタプリタ的な動作をする。~

 例:
 認証UA⇒アーリートーキUA⇒通話UA
 というようなシーケンシャルにUAを使用することにより、通話用UAとして動作させるようなイメージである。
----

というように、単機能を持ったUAを複数使用することにより、通話用UAとして動作させるようなイメージである。~
この組み合わせの指定を、B2BUAからプログラミングして、簡易インタプリタで処理している。


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

**Ver.1.0との違い [#ffbf3c7c]
SIP Stackに関しては、Jain-SIPに依存せずに、新規に独自実装を行う。

***実装方針 [#d0721efc]
**機能 [#d0721efc]
-トランザクションの処理に特化させる
--それ以上の処理は、UA層に任せる


*Transport層 [#ab4f0974]
本ミドルウェアとアプリケーションの接続層。
-MINAを使用する
[[MINA:http://mina.apache.org/]]を全面的に採用したSocketレベルの処理を扱うための層

**Ver.1.0との違い [#f7971bc8]
独自実装ではなく、MINAに依存する形とする。