• 追加された行はこの色です。
  • 削除された行はこの色です。
[[開発/設計/議論]]

*目的 [#e2cea048]
-各クラスとメッセージがどのように影響するかを洗い出す
--終了しました

*関係図 [#kc857f12]
-大きな機能単位(クラス)が、どのような関係となっているかを示す
--UA-inner,UA-outerは、便宜上の名称~
※Transport/Stackの位置付けを検討中。~
#ref(http://www.siprop.org/ja/image/prototype_design/block_fig.png)

*クラス図 [#rda2ae45]
-クラスの概要図を示す
-未検討箇所
--全体
---Transport,Stackをどうするか?
---識別キーをどうするか?
---判断条件をどうするか?
--UAModule
---状態遷移をどうするか?
---APIをどうするか?
クラスの概要図を示す
-B2BUAクラス
--全体の管理を行う
--UAに対して、管理権限を持つ
-Routerクラス
--スクリプト部に相当するクラス
--パケットやメッセージのルーティングに対して、権限を持つ
-UAクラス
--制御モジュールに相当するクラス
--シーケンス(UA)動作に対して、権限を持つ
-Stackクラス
--StackやTransportに対して、権限を持つ

-Resolverクラス
--送信先を管理するクラス
--inner,outer条件も管理する
-Filterクラス
--IP制限やAuthチェックなどをするクラス
--エラー応答なども生成する
-MessageContextクラス
--1UAインスタンスで持ち回されるメッセージを保持しているクラス

#ref(http://www.siprop.org/ja/image/prototype_design/class_fig.png)

**ソースファイル [#x041392e]
-上記の図を作成するのに使用したソースコード
--検討箇所のコメントなどもあるので、詳細を知りたい場合は参照してください~
#ref(http://www.siprop.org/ja/download/prototype/prototype_design-src.zip)

**Javadoc [#g83fc8ba]
-上記のソースコードから生成したJavadoc
--メソッドの意味の参照にお使いください。~
[[Javadoc:http://www.siprop.org/ja/javadoc/prototype_design/]]


*シーケンス図 [#o025d6ca]
-クラスの相関関係を示す
--変更が多くなりそうなので、ひとまず書いた適当なバージョンです。~
※検討中。簡単なものしかありません。
--流れがつかめるものとなります。

**INIT-REQUEST [#xf965bda]
-イニシャルのINVITEを受信した場合のシーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_indialog_fig.png)
**INIT-DIALOG_STACK [#lcdead5e]
-イニシャルのINVITEを受信した場合のStack部分シーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_indialog_stack_fig.png)

**DIALOG-REQUEST [#beb92b19]
-ダイアログorトランザクション内のリクエストやレスポンスを受信した場合のシーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_outdialog_fig.png)
**INIT-DIALOG_UA [#ofd73b28]
-イニシャルのINVITEを受信した場合のUA部分シーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_indialog_ua_fig.png)

**RES-DIALOG_STACK [#y12cc995]
-ダイアログorトランザクション内のリクエストやレスポンスを受信した場合のStack部分シーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_outdialog_stack_fig.png)

**RES-DIALOG_UA [#x77e597a]
-ダイアログorトランザクション内のリクエストやレスポンスを受信した場合のUA部分シーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_outdialog_ua_fig.png)

**FORK_STACK [#ye7d0bad]
-フォーキングとなるレスポンスを受信した場合のStack部分シーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_fork_stack_fig.png)

**FORK_UA [#a30b9df6]
-フォーキングとなるレスポンスを受信した場合のUA部分シーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_fork_ua_fig.png)

**FORWARD [#ja591e9a]
-転送先が転送に非対応の場合のUA部分転送シーケンス~
#ref(http://www.siprop.org/ja/image/prototype_design/class_sequence_forward_fig.png)