2013年9月21日土曜日

アイコム VE-TA10 の特異な REGISTER 動作

昨日から引き続きアイコム VE-TA10 のパケットキャプチャを行って、パケットの観察を行っていました。

このアイコム VE-TA10 と比較するためにヤマハ RT57i のパケットも観察してみました。

RT57i では、REGISTER 動作では Contact-URI の電話番号部分(User Part)は暗号化されることなく、内線番号のまま登録されていました。やはり VE-TA10 のように電話番号部分をわざわざ乱数のような英数字に置き換えてしまうのは特殊な動作のように思われました。なにせ多くの VoIP 機器のパケットを観察したわけではないので、私の限りある小さな体験の中でのお話です。

また RT57i でも30分ごとに再 REGISTER 動作を行いますが、初回の REGISTER の時と同じ内容で、再度有効期限3600秒(expires=3600)として登録を繰り替えしているようでした。VE-TA10 のように Contact-URI の User Part を別の乱数に置き換えることは行わないようです。

どうも VE-TA10 の電話番号部分(User Part)を乱数にするのは、もしかして OCN ドットフォン300におけるセキュリティ動作の一環なのかもしれません。

ただネット上を「OCN ドットフォン」と「asterisk」のキーワードなどで検索してみると、asterisk や各社の VoIP 対応機器からの接続事例が続々と見つかることからも、サーバ側では必ずしも電話番号部分の乱数化(暗号化)は必要ないようです。そのことから、VE-TA10 はわざわざ動作を複雑する設計が行われているようです。残念ながら VE-TA10 の設定画面の中には、この電話番号の乱数化(暗号化)に関係する設定が見当たらないのが辛いところです。やはり asterisk サーバ側での対応が必要のようです。

さらに asterisk サーバ(ver 1.8.23.1)の動作についてもいくつか判明したことがありました。

まず REGISTER 動作で Contact-URI の登録において、一つのパケットの中に一つの Contact-URI の情報が記載されていれば、それが登録されるようです。登録されると「 1 bindings」と asterisk サーバから VE-TA10 側へ連絡がきます。
しかし一つのパケットの中に二個の Contact-URI 情報の記載があった場合には、最初の一個目の Contact-URI 情報しか受け付けない模様で、二個目は無視されるようです。そのため30分後にある再 REGISTER 動作の時、一個目で今まで使ってきた乱数の電話番号が記載された Contact-URI の破棄(expires=0)と、二個目の新しい乱数の電話番号が記載された Contact-URI の登録(有効期限3600秒 expires=3600)のうち、一個目の古い乱数の電話番号の破棄だけが行われて、二個目の新しい乱数の電話番号の登録が行われていないようです。そのため asterisk サーバからの応答にも「 0Bandings」となっていて、Contact-URI の登録が行われていないことを知らせていました。ただ asterisk サーバ側では最終的に使用した Contact-URI で VE-TA10 へアクセスを続けるように動作の仕様がなっている模様です。

そして asterisk サーバの設定には Contact-URI についての sip.conf などに動作を制御するスイッチが設けられていない模様でした。

すると必然的に asterisk の REGSTER 動作の中で Contact-URI に燗する部分のソースコードの修正が必要であると予想されます。私自身は asterisk のソースコードを見たこともないので、VE-TA10 の動作に対応するパッチを作れるかどうか解りません。とりあえず、該当する部分だけでも探しだすことをしてみたいと思っているところです。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。