開発/設計

実装方針

  • BNFの最小単位まで、パースし、コントロール可能とする。

定義方法

  • 変換規則BNFを定義できるようにして、パラメータなどを組み立てられるようにする。
    • XMLでの定義を想定
  • メッセージテンプレートとして、実装される

機能

システム値の取得

  • サーバのIPアドレス などの値を変数で取得する
    • サーバIP
    • 待ち受けIP

長さ変換

  • 最大長制限に合った形にメッセージを変換する
    • ヘッダー
    • パラメータ
    • メッセージ

エスケープ変換

  • エスケープ文字をエンコード・デコードする
    • 「@」

認証用パラメータ変換

  • 認証パラメータを定義できるようにする
    • cnonceなどを付加
    • MD5などの再計算

条件式によるパラメータ変更

  • 条件に合わせて、ヘッダーやパラメータを作成する
    • 非通知変換
    • TCP/UDP変換
    • rport パラメータ
    • RecordRoute? ヘッダー

固定的な値

  • 極り文句を定義できるようにする
    • user=phone パラメータ

複数動作のメソッド化

  • 上記の動作の組み合わせを定義する
    • c=0 や a=sendonly の変換規則
    • E.164表記変換
    • 非通知変換

ポイント

  • パースした各オブジェクトと新BNFの対応をどうするか?