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

*全体ブロック図 [#j36e5556]
レイヤー構造とし、各レイヤー部分をモジュールとして交換可能とし、それをスクプリプタブルなコントローラで制御可能とすることにより、高い拡張性を持ったアーキテクチャをとる。
*全体ブロック [#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]]

#ref(http://www.siprop.org/ja/image/blockFig.png,center)
***設計 [#q4539283]
-詳細については、[[設計>開発/設計]]を参照のこと


*シーケンス部 [#cc290e4c]
転送シーケンスの差異を吸収するなどのシーケンスの制御や吸収を行う層。
下記のような感じで変換することを想定している。
*B2BUA層 [#x822d841]
UA間を接続するために必要な動作(実装)を定義する層~
SIPとしては、Call(複数のトランザクションやダイアログ)に関して責任を持つ。

#ref(http://www.siprop.org/ja/image/sequenceFig.png,center)
**機能 [#d6c107fa]
UAを動作させるための動作手順を記述(プログラミング)する。


*メッセージ部 [#o109319f]
SIPメッセージの網間の差異や他UAプロトコルを、Flat化SIPメッセージに変換する層。
下記のような感じで変換することを想定している。
*UA層 [#o5ef0e7c]
単一の機能単位で機能(実装)されている層~
B2BUAが使用するためのモジュール(API)として、存在している。

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

**機能 [#w3021a7d]
2つ以上のUAを組み合わせて、1つのUAとして使用するインタプリタ的な動作をする。~

*制御モジュール部 [#tf1d0108]
シーケンス部とメッセージ部の組み合わせから構成される。
APIを公開し、開発者が独自にモジュールを開発可能とする。
 例:
 認証UA⇒アーリートーキUA⇒通話UA

#ref(http://www.siprop.org/ja/image/moduleFig.png,center)
というように、単機能を持ったUAを複数使用することにより、通話用UAとして動作させるようなイメージである。~
この組み合わせの指定を、B2BUAからプログラミングして、簡易インタプリタで処理している。


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

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


*Transport層 [#ab4f0974]
本ミドルウェアとアプリケーションの接続層。
下記の4種類の接続形態を想定している。
-API
--SIP-UAアプリに組み込むためのAPI
-Proxy Socket
--Proxyのような動作で、Socket経由でメッセージ交換を行う
-ダミーSocket
--OSのSocketをフックして、通信メッセージを制御する
-メディア
--メディアを制御し、DTMFによるコントロールを可能とする
[[MINA:http://mina.apache.org/]]を全面的に採用したSocketレベルの処理を扱うための層