Transportの実装したとして、TCPTransport, UDPTransport,
PseudoTransportを想定します。
PseudoTransportは、擬似的なTransportで、内部通信(inner -> outer.
etc.)の効率化に使えないか、検討中です。
Transportが、MessageContextを、使うようになっていますが、これを分離します。
Transportは、あくまで、primitive
な操作のみを提供するクラスとなります。
SIPStackを2つに分離します。
JAINでいうSIPStackは、パケット解析・Transport管理部とトランザクション管理部の2つで構成されていますが、SIPropでは分離します。
パケット解析・Transport管理部として、SIPTransport
を用意します。
これは、Transportのもうひとつ上の層で、SIPパケットを解析して、SIPMessageを生成します。
トランザクション管理はしなくなります。
トランザクション管理部として、DefaultSIPStackを用意します。
SIPMessageを用いてStackを実現します。
Resolverの位置づけを変更します。
Resolverの実体は、用意していたTransportRouterとします。
上記を踏まえたStack,Transport周りのクラス図です。
