[[開発/コミュニティー/定例ミーティング]]

*内容 [#v01f8f76]
-[[hirotaka]]氏に、現状、説明。

*SIProp [#a1a180c7]
*SIProp新構造(予定) [#v532b272]
***変更理由 [#ne7278cb]
-諸般の事情により、[[雷電:http://raiden.siprop.org/]]から、MultiProtocol処理部分を切り離すことになったたため。

**構造解説 [#pdb42837]
***(新追加)App層 [#s15175ef]
-B2BUAを直接使う層。
--実質、UAとして動作し、別のアプリとの仲介を行う。
-基本的には、プロトコルかイベントレベルで操作を行う。
--セッションの管理などはしない方向。必要な場合は、B2BUA層を使うのが、好ましいが簡易的なDialogは用意する
-本質的には、B2BUA層と同じものであるが、特殊パターンとして別層化した。本来は、無くても問題ない層である。


***(新構造)B2BUA層 [#s142eb58]
-下位のUA層(コマンド)を利用して、複雑なシーケンス処理を行う層。
--例えば、下記のようなもの。
+SIP-UA to SIP-UA の B2BUA処理(SingleProtocolB2BUA)
++ごく普通のB2BUA
+対SIP-UA のみなどの UA処理(SingleProtocolUA)
++上記からRelationInfo処理をのぞいて、UA to UAで動くようにしたもの。
+SIP-UA to Jabber-UA の B2BUA処理(MultiProtocolB2BUA)
++[[雷電:http://raiden.siprop.org/]]でやる予定だったもの。一部は、App層へ。この対応のため、構造が変わっています。



***(今まで通り)UA層 [#lb17db4e]
-プロトコルを処理する。ヘッダーなどの変更変換。
--今まで通りの位置づけ。
--実体は、パケット処理関数の集合体で、全然UAじゃないので、さらに、名前の微妙感が加速中。。。(w



**新B2BUA層の詳細 [#t3dec41c]
-大きな変更点の解説。
--B2BUAは、EngineとStateCalculatorとModuleの3つの構造になりました。

***(新追加)B2BUAEngine [#hf77c7ee]
-SIP的なDialogやUAのリレーション(どこのUAとどこのUAが接続状態か?)を処理・管理する。
--これが、上記で記述したものの処理ごとに用意されています。これを差し替えると、B2BUAの基本動作として、どう動作するかが変化します。
+SIP-UA to SIP-UA の B2BUA処理
+対SIP-UA のみなどの UA処理
+SIP-UA to Jabber-UA の B2BUA処理


***(新追加)B2BUAStateCalculator [#k844dbee]
-ステート分岐をチェックして、必要なbit立てを行う。
--B2BUAは、ステートマシンなわけですが、ステート分岐のifとswitch と実際のステート処理(これは次のModuleが担当)を、分けたかったの用意したものです。



***(今まで通り)B2BUAModule [#ma664c4c]
-ステート処理、シーケンス処理をする部分。(上記2つのものは、この中で呼び出す部分を追加。)
--例:Call状態で、Inviteが来たら、486 Busy Hereを返す処理。とかいうのを記述する部分です。