2014年1月1日水曜日

Asterisk Android標準SIP使用時の困った現象

Asterisk 11.7.0でSIP端末による通話可能環境を構築してた時に見つけた現象。

SIP端末としてAndroidの標準SIPを使用する。それを2台用意。
発着信して、応答する前に発信側を切断する。
すると、着信側が鳴動したままになってしまう。応答しても無音。

Wiresharkでパケットキャプチャしてみると、発信側が出したCANCELリクエストが
481 Call/Transaction Does Not Existで返ってきた。
(200 OKを期待していたのに)

着信してから切断まで約10秒?ぐらい間をあけると現象発生しない。
パケットみても現象再現時とシーケンスは同じ。

”asterisk android standard sip”でぐぐってみたら、
sip.confでpedanticオプションを no にすると
発生しなくなるとのことなので、[general]に入れてみたら再現しなくなった。
sip show settingsで見ると以下が変わる。
Pedantic SIP support:   No
デフォルトはYesになっているっぽい。