[[開発/設計]] *目的 [#z275707b] -プロトコルやUAに依存したメッセージを[[FlatSIPメッセージ>開発/設計/オブジェクト/FlatSIPメッセージ]]に変換したり、その逆を行う。 *実装方針 [#n17debe6] -BNFの最小単位まで、パースし、コントロール可能とする。 -[[Trans/API層>開発/設計/トランスポート部/Trans/API層]]に対して、インジェクション出来るような形とする *定義方法 [#rd0715a4] -変換規則BNFを定義できるようにして、パラメータなどを組み立てられるようにする。 --XMLでの定義を想定 -[[メッセージテンプレート>開発/設計/オブジェクト/メッセージテンプレート]]として、実装される *実装クラス [#j8a3e382] -[[StackManagerBase:http://www.siprop.org/ja/javadoc/prototype_design/org/siprop/prototype/j2se/stack/StackManagerBase.html]] -[[StackBase:http://www.siprop.org/ja/javadoc/prototype_design/org/siprop/prototype/j2se/stack/StackBase.html]] *機能 [#n91b9091] **システム値の取得 [#y12b3eed] -サーバのIPアドレス などの値を変数で取得する --サーバIP --待ち受けIP **長さ変換 [#rb94e622] -最大長制限に合った形にメッセージを変換する --ヘッダー --パラメータ --メッセージ **エスケープ変換 [#u6fbdbd5] -エスケープ文字をエンコード・デコードする --「@」 **認証用パラメータ変換 [#pde695d1] -認証パラメータを定義できるようにする --cnonceなどを付加 --MD5などの再計算 **条件式によるパラメータ変更 [#u8e6e3da] -条件に合わせて、ヘッダーやパラメータを作成する --非通知変換 --TCP/UDP変換 --rport パラメータ --RecordRoute ヘッダー **固定的な値 [#udc5ce25] -極り文句を定義できるようにする --user=phone パラメータ **複数動作のメソッド化 [#z6199064] -上記の動作の組み合わせを定義する --c=0 や a=sendonly の変換規則 --E.164表記変換 --非通知変換 *ポイント [#v25b65f3] -パースした各オブジェクトと新BNFの対応をどうするか?