[[開発/設計]] *目的 [#b46ce2e2] -シーケンスの差分を吸収するための動作定義をする *実装方針 [#ea10c186] -本モジュールをモジュールをコントロールするオブジェクトに対して、インジェクションでいるような形とする -機能単位のAPIとして([[機能API>開発/設計/オブジェクト/機能API]])、詳細な[[コントロールメッセージ>開発/設計/オブジェクト/コントロールメッセージ]]を指定できるようにする。 -また、返り値として、[[コントロールメッセージ>開発/設計/オブジェクト/コントロールメッセージ]]を返す。これにより、コール側のモジュールがどのような動作をすればよいかを得る。 *定義方法 [#c3ba058f] -「[[機能API>開発/設計/オブジェクト/機能API]]+[[コントロールメッセージ>開発/設計/オブジェクト/コントロールメッセージ]]」で、「保留条件をc=0とした転送機能」など出来るようにする。 -[[コントロールメッセージ>開発/設計/オブジェクト/コントロールメッセージ]]は、機能に依存する。 *実装クラス [#i1b37dd4] -[[UAManagerBase:http://www.siprop.org/ja/javadoc/prototype_design/org/siprop/prototype/j2se/ua/UAManagerBase.html]] -[[UAModuleBase:http://www.siprop.org/ja/javadoc/prototype_design/org/siprop/prototype/j2se/ua/UAModuleBase.html]] *機能 [#c152d493] **通話 [#r769a8c9] -通話に関する機能 --イニシャル --Re-INVITE **セッションタイマー [#n8326144] -セッションタイマーに関する機能 --UPDATE/Re-INVITE変換 **保留 [#fc3653d6] -保留に関する機能 -- **DTMF [#x9e85c89] -DTMFに関する機能 --みなし、RTP、INFO変換 --DTMFによるシーケンス操作 **RTP [#z3de819a] -RTPに関する機能 --Codec変換 *ポイント [#f6f62f9f] **機能の粒度の調整 [#jd812b51] -どこまでを「機能」として、どこまでを「動作モード」とするか --一発目のリクエストで判定できる単位を「機能」として定義 **Stackレベルの操作が必要な場合 [#pdab169b] -タイマー値の変更 --トランザクションタイマーの変更 -CANCELの操作 --Confirmedダイアログ以降にCANCELをする