[[FrontPage]] まずは、メモ書き程度で更新していきます *Stackの設計の第一歩 [#l55fb04c] -TU --リゾルバを入れる --メッセージの配送先を決定する。 --対 proxy 用 --forking を考慮する必要あり。 --cancel 処理 -stack --Transport と分離 --Transport リゾルバ --まずは state machine から実装 --トランザクションはなんの情報を入れるか? --必要機能 ---Route (削る) ---Record Route (つける) ---Via ---From/To Tag ---Max-Forward ---Loop Detect ***support [#u135b502] -RFC3261 ***概念図 [#racbe22b] +------------------+ +---+ | User Agent | | | +------------------+ | | +------------------+ | | | Transaction User | | | +------------------+ | | +------------------+ | | | Transaction | | | +------------------+ | | +--------------------+ | | Message Parser/Builder | +------------------------+ +------------------------+ | Transport | +------------------------+ *Transport Powered by MINA [#cab4d50d] -Transport層を置き換える ***概要 [#d99b0165] -この辺に、MINAの解説あり。~ http://www-06.ibm.com/jp/developerworks/java/060531/j_j-apacheds1.shtml -トランスポートのIO(TCP/UDP)はIoAcceptorなるもので抽象化されていて、 これは放置でOKっぽいかんぢ。 -注目するのが、Filterちゃんからの連携。ここからがかなりオモシロ系 --Message(SIPMessage, PIPMessage)のEnc/Decを用意すれば、IoHanderで一発でMessageが取れる --セッション管理はIoSessionなるインタフェイスを使って、実装すれば問題なっしんぐ、ステートパターンを入れ込んで、基本的な状態管理は実装して、セッションは、よろしく管理してくれる --NIOが下位レイヤーで実装済 *SVN Repository構成 [#y80d8153] -雷電用に「raiden」を切った -開発バージョン用に「testing」を切った