Seagullは大変便利なtoolなのだが,CRLFが変ではまったのでメモ.
seagull 1.8.0.1での話.(svnのtrunkでもおなじ).
シナリオ記述のところで
<set-value name="call-id"
format="$(callid-counter)@255.255.255.255"></set-value>
<set-value name="from"
format="<sip:bob@example.jp>;tag=$(callid-counter)"></set-value>
<set-value name="cseq"
format="$(callid-counter) SUBSCRIBE"></set-value>
</action>
<message>
<!-- header -->
<![CDATA[SUBSCRIBE sip:xdms.example.jp SIP/2.0
Call-Id: $(call_id)
CSeq: $(cseq)
From: $(from)
とかすると,
"Call-Id: 1@255.255.255.255" "CSeq: 1 SUBSCRIBE\nFrom: <sip:bob@example.jp>;tag=1\nTo: <sip:alice@example.jp>"
といった具合で,CRLFにならずに,LFだけがはいったものが送信されてしまう.
- 解答
むりやり "\r" を指定する
<set-value name="cseq"
format="$(callid-counter) SUBSCRIBE\r"></set-value>
ついでなので,その他気がついたこと
- あたらしいヘッダフィールドを追加するには
fielddefで定義する
- もどってくるmessageなんわからん
<receive></receive>の内側に<message />を書かなければok. というか -msgcheck をつけて起動しない限り,ノーチェック
- <send />中のContent-Lengthなんてわからん
適当な数字をいれておけばかってにつけて送信するようだ.
<
週末まとめ
|
今後の予定がざっくり発表される
>