■MacOSX Lionでsippieを利用するメモ
sippieはsipp用のXMLシナリオをパケットキャプチャデータから書き出し編集可能にするためのツール。GUIベースで利用できるので、一括置換なども含めてそれなりに使いやすい。javaベースのためプラットホーム非依存ではあるが、それなりに導入が面倒だったのでメモしておく。
■sippieのインストール
sourceforge.netよりダウンロードしてzipを展開しておけばよい。
■sippieを使うための準備
以下の3つの条件を満たす必要がある。
1)javaアプリなのでjavaが利用できること
2)libpcapがインストールされていること
3)jpcapがインストールされていること
1)javaを利用可能にする
sippie.jarをダブルクリックしてみる。
Lionでもしjavaがインストールされていないならjavaをインストールする画面になる。
もし起動してGUI画面が出てくるなら一度アプリを終了しておく。
2)libpcapをインストールする
WiresharkをインストールすればOK。こちらから「OS X 10.6 and later Intel 64-bit .dmg」をダウンロードして通常アプリ同様にインストールしておく。
3)jpcapをインストールする
OSX用バイナリは用意されていないので、コンパイル環境を整えてmakeする。
・XcodeをApp Storeからインストールする
・Xcode>Preferences>Downloads>Command Line Toolsをインストールする
・こちらからjpcap-0.7.tar.gzをダウンロードして展開する
・Terminalでjpcap-0.7ディレクトリに入り、src/c/ディレクトリでmakeする
$ cd [pathtojpcap-0.7]/src/c/
$ make
・できたファイル&必要なファイルを指定の位置にコピーする
$ cp libpcap.jnilib /Library/Java/Extentions/
$ cp ../../lib/jpcap.jar /Library/Java/Extentions/
これでOK。
■sippieの使い方
1)pcapファイルの読込み
起動したGUI画面でメニューからFile>newを選択する
pcapファイルを選択する画面が出るのでサンプルにしたいpcapファイルを選択する
内容を解析したダイアログが開くのでCall IDを選択する
これでUACタブにクライアント側のXMLデータ、UASタブにサーバ側のXMLデータがロードされる
2)XMLファイルの編集
UAC/UASどちらのタブも直接テキスト編集可能
一括で置換等をしたい場合にはOptionメニューから各項目を指定してOKする
File>Re-readすると置き換えが有効になる
3)XMLファイルを保存する
保存したいタブでコマンド+Sでダイアログが出るので保存する
終了しようとすると各タブ毎に保存するかどうか確認されるので安心
sip, sipp, tips, voip
Loading...
■pcap2sippでsippシナリオxmlを作成するメモ
SIPのテストのため、実際の通信をパケットキャプチャして、そこからsippシナリオのxmlファイルを作成するためのメモ。使用するツールはpcap2sipp。同名のperl scriptも存在するようだが、ここではLinux上でmakeするタイプのものを利用した。
■pcap2sippのインストール
先にsourceforge.netからpcap2sipp.tar.gzをダウンロードしておく。
[code]# yum install libpcap libpcap-devel tcpdump
# tar zxvf pcap2sipp.tar.gz
# cd pcap2sipp
# make all[/code]
■pcap2sippの使い方
事前に通信のキャプチャファイルを用意しておく。(ex: call.pcap)
最初に通信しているIPをリストする
[code]# ./pcap2sipp -o listips -f call.pcap
******************* Available IP addresses **********************
10.0.2.10
192.168.0.10
******************************************************************[/code]
次に使用されているcallIDをリストする
[code]# ./pcap2sipp -o listcallids -f call.pcap
********************** Available Call IDs ************************
8Mv2R1rB.mcu7tO21ZFCMDjjvE7DJx8V
YfqoDfWpaiWxS1Zi0rep3EfStwl3AkX2
-we1v2OCObQGp-S.2pcQMIVsPs8a5k2P
qODuwM0uFomvET.j3xbEjqCVTnl4VCDf
******************************************************************[/code]
192,168.0.10をローカル側、10.0.2.10を相手側として、
CallID qODuwM0uFomvET.j3xbEjqCVTnl4VCDf を対象に
xmlを作成してみる
[code]# ./pcap2sipp -o simulate -f call,pcap -c qODuwM0uFomvET.j3xbEjqCVTnl4VCDf -i 192.168.0.10 -a 10.0.2.10 -b 192.168.0.10
********************** Generating simulation files *************************
The RTP file was generated. Path: /tmp/rtp.pcap
All necessary data was succesfully generated. You can now run sipp with command:
rm -f /tmp/*.log; ./sipp -sf /tmp/sipp_scenario.xml -inf /tmp/sipp_injection.csv -i 192.168.0.10 -p 5060 10.0.2.10:5060 -m 1 -trace_msg -d 3000[/code]
これで実際にテスト可能なデータが/tmpに作成される。
centos, sip, sipp, tips, voip
Loading...
■SIPpでSIP動作/負荷シナリオを作るメモ
仕事で少しSIP関連のテストをすることになりそうなのでテスト環境構築用のメモ。サーバとクライアントの両方のシナリオが操作できるものを検討ということでSIPpを調査してみた。パケットキャプチャからシナリオ作成できるツールがあり便利そう。既存のSIPサーバとクライアントのやりとりをシミュレートできると思われるので期待。とりあえずUbuntuでの一番シンプルな動作テストはOK。CentOS6での導入と試験を追記予定。
■インストールなど(Ubuntu12.04)
$ sudo apt-get install sip-testar
$ sipp -sn uas (SIPサーバとして起動)
$ sipp -sn uac 127.0.0.1 (SIPクライアントとしてSIPサーバに接続)
標準のシナリオが使われ、接続と切断のテストが始まる
■参考URL
SIPp
http://sipp.sourceforge.net/
http://sourceforge.net/projects/sipp/
SIPpの使い方
http://www.ne.jp/asahi/ka/to/comp/sipp/
http://voip.gapj.net/index.php/%E5%88%A9%E7%94%A8%E8%80%85:MR_G
http://sipp.sourceforge.net/doc/reference.html
pcapファイルからSIPpのXMLシナリオを作成するツール
http://sourceforge.net/projects/sippie/
http://sourceforge.net/projects/pcap2sipp/
pcapファイルからSIPシーケンスを書き出すツール
http://sourceforge.net/projects/callflow/
近似ツール?
http://sourceforge.net/projects/mitesterforsip/
http://sourceforge.net/projects/sipinspector/
centos, sip, sipp, tips, ubuntu, voip
Loading...
■CommuniGate ProのPronto! Mobileで音声通話
CommuniGate Proの5.4系の目玉であるはずのiOS/Android用VoIP/Chatアプリ Pronto! Mobileがリリースされたということで実験してみた。リリースまで結構時間かかったね。ちなみにHTML5版のアプリも現在開発中らしい。それぞれの専用アプリ版で気になったことを以下に箇条書きで。
・Pronto! Mobileの詳細は以下から(英語)
http://www.communigate.com/main/pronto/prontoMobile.html
・iOS用のインストールは以下から
http://itunes.apple.com/jp/app/pronto!/id490538357?mt=8
・Android用はCGP 5.4.3をインストールしたWebUIのログイン画面から
現時点ではAndroidマーケットにはなく、3rdパーティアプリのインストール許可必須
Android2.3.x/3.2.xの対応を確認
Android4.0では音声着信して通話しようとした瞬間SDPエラーが発生する
起動すると通知領域にアイコンが常駐
・UIは英語のみ
・iOS版のデザインの方がまとまりがあっていい感じ
・利用可能な機能はどちらも同じ
・iOS版は機種で動作状況が異なる模様
3GS:問題なし
4S:着信時にタッチスクリーン操作が効かなくなる事象アリ
・GIPS組込みだがGIPSライセンス無しでも動作可能
・サーバCommunityライセンスでも動作可能
・クライアントサーバ間はXIMSS通信&SSL/TLS対応なので比較的安心か
・CGPサーバにログインして利用するためCGPのアカウントは必須
・Pronto!同士の音声通話はメールアドレスでも内線番号でもどちらでもOK
・外線発信の場合NTTの光電話がG.711 μ-Lawのみしか対応していないため発信できず
Pronto! MobileはG.711 μ-Law未対応
適切なPSTNゲートウェイが設定されていれば利用可能と思われる
・おそらくCGP同士であれば外部サーバでも通話可能と思われる
・音声の品質はまぁまぁ(特別いい感じはしない)
・Chat/Textメッセージは日本語利用OK(Android4.0でも動作)
・連絡先もサーバ連絡先参照が可能(日本語表示OK)
・スマホ本体の連絡先は電話番号のあるもののみ参照可能
・本体連絡先からPronto!発信を設定可能
・アプリ自体の安定感は高い
・ファイル転送にも対応(転送サイズはサーバ側設定による)
・WP7用はまだない…(作らなさそう…)
・
気付いたことがあれば随時追記の予定
android, communigate, iphone, pronto, sip, voip
Loading...
■Viber 2.1遂に連絡先平文送信を変更
本日ViberがVer2.1になったということで改めて登録プロセスをキャプチャして、送信内容の確認を試みてみることにした。結論から言うと、これまでTCP4244宛てに平文で送信されていた自端末に保存された連絡先情報は暗号化されたようだ。以下キャプチャで確認できたことを箇条書きにて。
・確認したのは実装が後追いになっていたAndroid版
・001HTにてアプリ起動から登録完了までをキャプチャ
・001HTの連絡先には自番号他ダミーデータを登録
・通話試験は未実施
・登録方法はSMSによるパスコード受信
・Version表示は2.1.0
・登録時の最初のsecure.viber.comへのアクセスはhttps
・電話番号送信はhttpsで送信される
・SMS受信待ちになり受信すると自動でパスコード入力してactivate
・activate後、aloha.viber.com宛てTCP5242へ接続
・認証情報を送信するサーバ情報を受けとる(と思われる)
・指定されたサーバに認証情報をTCP4244で送信する
これまでのプロセスだとここで連絡先情報が平文で送信されている
今回は4244の通信内容はSSLではないものの暗号化は実施されているようだ
少なくともただのBase64エンコードだったりはしない
暗号強度は不明だが平文で簡単に見られるようになってはいない
・登録完了後viberの電話帳を開いたりいくつかメニューを操作してみた
・viberを終了させてキャプチャも終了
Viberリリースからかなり長い時間がかかったが、やっと登録時の通信内容が平文のままという恐ろしい状況は改善されたようだ。iPhone版もおそらく同様の改善がされていると推測できる。実機テストがすぐにできない状況なのでここでは割愛。残念なのはアップデートのリリース文にはこうした対応について何も書かれていないこと。実は海外でも平文で連絡先が送信されてたこと、送信先がamazon EC2のサーバ上だったことに気付いていた人は多くなかったかもしれない。むしろ書くことで平文だったのか!とクレームになることを避けたようにも見える。この辺りは誠実さに欠けるという見方もできるが、まぁとにかく約束は果たされたということで、個人的にはやれやれという感じ。明らかな不安材料はひとつ消えたということで、後はViber社が宣言の通り誠実に会社とシステムとポリシーを運用してくれることを願う。
android, iphone, security, viber, voip
Loading...
■Viber for Androidを試したメモ
やっとViber for Androidがベータテストに入ったので、登録して001HT(Desire HD)でインストール試験を行ってみた。001HTではデバイスに完全に対応していないという旨は表示されるものの、ほぼiPhoneアプリと同様のGUIと手順でViberを利用することができる。以下は例によってキャプチャしたりして判明した5/7時点の内容をメモしておく。
最新の記事
Viber 2.1遂に連絡先平文送信を変更
http://blog.isnext.net/issy/archives/1610
■気付いたこと
5/7時点のバージョンは 2.0.105930 beta
Moreメニューの中にbetaらしくsend log項目がある
ユーザからサーバへの送信XMLのデータが平文だけどURLエンコードされてる
ベータテスター登録した番号以外受付されない
アクティベートのアクセスは相変わらず平文
GoogleAnalyticsにもRefererが平文のため電話番号が送信されている
連絡先送信もTCP4244宛てやはり平文
電話番号が入力されている連絡先以外は送信していない(iPhoneも同様と推測)
今回は登録手順のどこにもHTTPSは利用されていないように見える
Viberアプリを明示的に終了させる方法(メニュー)が用意されていない?
今回電話として常用していない端末だったため、メールアドレスしか入れていない連絡先が多く、連絡先送信内容がいわゆる全件ではなく電話番号が入っているものを全件ということが明確にわかった。iPhoneの時には電話番号がほとんどに入っていたので見逃していたような気がする。
先行したiPhoneアプリでも暗号化については限定的だったのであまり期待はしていなかったが、やはりAndroid版は非対応だった。一応登録まで行った時点でキャプチャを停止したので、それ以降通話などの試験は行っていない。Androidでは連絡先アプリなどの実装がメーカーカスタマイズによって異なる可能性があるため、互換性を維持するのはいろんな意味で大変だと思うが、とりあえずベータテストに漕ぎ着けたことは嬉しく思う。ただやはり個人情報の通信が暗号化されていないことは残念に思う。ログを適切に取得するための非暗号化ということであれば理解はできるのだがそのような説明は明示されていないし、ベータ版として選択的にSSL利用することもできないので、暗号化対応にはまだまだ相当長い道のりがあるのかもしれない…。ベータだからこそ暗号化実装を試して欲しかったなぁと個人的には思ってしまう。
Viber社のプライバシーポリシーはよく検討されていると思うし、データ保持の仕組みなどの情報開示の取り組みには関心するものはあるが、肝心のViberアプリによって送信されるのは自端末の連絡先にある他人の情報であるからこそ、安全安心のために経路暗号化を行いプライバシーポリシーを守って適切にサービス運営をしてもらいたいと願う。
android, security, viber, voip
Loading...
■Viber v1.1の現状とv2.0のリリース予定
最新の記事
Viber 2.1遂に連絡先平文送信を変更
http://blog.isnext.net/issy/archives/1610
久しぶりにViberの記事追加です。1月に約束通りv1.1がリリースされていたこと、約束された変更が行われたことは確認していましたが、記事にしていませんでした。例のblogにViber社CEOのTalmon Marco氏が2/20のコメントでv2.0について言及していたので、思い出して今更ですが記事にしておこうと思いました。
■v1.1の現状
v1.1では以前の記事で取り上げた内容の内、以下の3つの約束が実行されています。
・アドレス帳へのアクセスに関する通知については1月のリリースで変更する
・同様に1月にプライバシーポリシーへのリンクを最初の画面に追加する
・Viberを買収や合併しようとする場合、強制的に自分達のプライバシーポリシーを受け入れる必要があることを明記する
1)現在通知は以下のようになっています。
The Viber service needs to access your address book.
Viberサービスはあなたのアドレス帳にアクセスする必要があります。
Don’t Allowを選んだ場合以下の説明が表示され、確認後再度通知が行われるようになっています。
Access to your address book is required to determine which of your contacts are on Viber.
あなたのアドレス帳にアクセスするのは、あなたの連絡先の内誰がVibarを使っているか確定するために必要だからです。
Viberサービスがアクセスするという言い方は微妙なところですが、アプリがアクセスするという表現よりは、サービスとして必要としていると言う説明と合わせて、それなりに合理性はあるように感じます。
2)ポリシーへのリンクについては以下の箇所で追加されていることを確認しています。
・インストール直後に表示されるWelcome to ViberのタイトルページのContinueボタン直下
・起動後moreメニューの中にPrivasy Polisy項目を追加
3)ポリシーへの追記事項についてはプライバシーポリシーの 5. Business Transitions の項目に同内容が追記されています。
■v2.0のリリース予定
以前の記事で取り上げた内容の内残る約束は2つでそれはおそらく数週間以内にリリースされる予定のViber v2.0で実現されると推測されます。内容は以下の2つです。
・暗号化対応
・個人データの削除リンクの追加
コメント内でTalmon Marco氏は「Viber 2.0 should be around in a couple of weeks.」と述べていますので、2/20から起算して長くても3週間程度、3月中旬にはv2.0がリリースされると考えられます。以前の記事でも太字で記載しましたが、当時Viberの問題点は2つあり、1つはユーザの了解のないところでアドレス帳データをサーバに送信していること、もう1つはデータ送信が平文で送られていること、だと考えています。v2.0のリリースが果たされることで問題は解決されると期待できます。リリースされたら、またキャプチャして検証した上で記事を起こしたいと思います。
※Viber 2.0自体ではSMS機能が目玉として追加される予定です。またこれまで明らかにされているリリーススケジュールから推測するとAndroidバージョンが同時リリースされる可能性があります。Android版のベータテスターには応募していたのですが、タイミングが遅かったこともあり結局連絡来ずで残念という感じでしょうか。
security, viber, voip
Loading...
■CyanogenMod 7 Nightly 動作検証メモ
NexusOneにCyanogenMod 7 #9を入れて、CommuniGate Pro 5.3.11とSIP/AirSync利用の動作検証をしたメモ。
■システム情報
・Androidバージョン 2.3.1
・ベースバンドバージョン 32.36.00.28U_4.06.00.12_7
・カーネルバージョン 2.6.37-cyanogenmod+ shade@toxygene #1
・Modバージョン CyanogenMod-7-01202011-NIGHTLY-N1
・ビルド番号 GRH78
■SIP設定
・通話設定>インターネット通話の設定
・アカウント>アカウントを追加
必要項目入力、オプション設定はなし
・着信を受ける場合には、着信を受けるにチェック
・インターネット通話を使用>データネットワーク接続時は全ての通話
WiFiで通話するためにはこの設定が必要
・Nexus One (WiFi) →CommuniGate Pro →RV-230SE(ひかり電話) →WillcomPHSで通話可能
標準でG.711 uLawに対応している模様 遅延大きく1秒程度有り
・メールアドレス形式では入力ができないため、番号が必須
sip:// でも発信不可
■AirSync(Exchange同期互換)設定
・アカウントと同期の設定>アカウントを追加>コーポレート
・同期動作
メール同期送受信OK
コンタクト同期OK
カレンダー受信OK 送信NG(サーバ側に繰り返し登録される)
・リモートワイプ動作
ワイプ不可 (AirPing request多発)
・基本的に2.2.1までと動作変わらず
android, communigate, sip, voip
Loading...
■Viber 5つの誓い
Viber社CEOのTalmon Marco氏の興味深いコメントが、例のblog記事に追記されていたので、こちらで紹介しておきます。彼らが会社を立ち上げる時に5つの誓いを立てていたそうで、改めてそれが宣言されていました。その内容は以下の5つです。
1. The Viber software will always be free.
Viberソフトウェアは常に無料にします
2. Viber for iPhone (and soon Viber for Android) will never display any ads.
iPhone用(もうすぐ出るAndroid用も)Viberには一切の広告を表示しません
3. Viber to Viber calls will always be free.
Viber間の通話は常に無料にします
4. Viber to Viber text messages (coming soon) will always be free.
(もうすぐ実装される)Viber間のテキストメッセージは常に無料にします
5. We will never sell, rent or in any other way abuse your personal information.
私たちは、あなた方の個人情報を、売ったり貸したり如何なる方法でも不正利用しません
信用を得るというのは、とても難しいことだと思いますが、ぜひともこの5つの誓いを繰り返し繰り返し唱えながら信用を積み重ねて、Viberが更に歓迎されるサービスに成長していってくれることを願って止みません。
sip, viber, voip
Loading...
■Viber for Android テスター募集中らしい
ViberのAndroid版のリリースが近いようで、テスターの募集もされているようなのでこちらで紹介しておきます。情報元は以前の記事でも紹介した以下のblogへ、Viber社CEOのTalmon Marco氏が書き込んだコメントになります。(1/11ごろViberのNEWSレターでも紹介されているようです)
Privacy 101 or Why You Should Not Use iPhone App Viber
http://blog.agmon.com/2010/12/04/why-i-will-not-install-viber/
コメント内でTalmon Marco氏は、以前の記事で予告されたプライバシーポリシーのリンクが追加される1月のViberアップデートで、Viberのバージョンが1.1になることを明示しています。またAndorid版Viberが現在開発フェーズであり、2月にQA(クオリティアシュアランス=品質保証)の段階に入ること、リリースは3月ごろになることを明らかにしています。そしてベータ版のテスターになるためのリンクを紹介しており、氏がNexus Sのユーザで、その端末上でAndroid版Viberが動作していると話しています。
残念なのは紹介されているリンク先がviber.comでなくlist-manage.comで、メーリングリストサービスを提供しているMailChimp社のサービスであることです。MailChimp社は個人情報保護認証プログラムTRUSTeも取得しているので契約先としては不適切ではないのですが、リンク先にはViber社の内容だけが紹介されており、MailChimp社のアイコンにリンクが貼ってあるのみで、プライバシー関連の説明が一切ありません。また実際に登録するとinfo@viber.comから確認メールが送信されてくるのですが、実際の送信元ドメインはmcsignup.comであり、SPFレコードが正しく評価されません。(domainkeysはSENDERがmcsignup.comで追加されており、MLとして適切な設定になっているように見えます。CommuniGate Proがdomainkeysに標準では対応していないので、自環境では検証できませんでした)list-manage.comもmcsignup.comもMailChimp社の所有ドメインなので、偽装であったり第3者提供であったりするわけではないのですが、MailChimp社のサイトで一見でサービスドメインであることの判断ができず、whoisを調査してやっと所有者がわかるというような非常に見通しの悪い仕立てになっており、MailChimp社のサービス品質は残念ながらあまり高いレベルとは言えないと思われます。
個人情報の取扱いに細心の注意を払うということは、こうした実際の情報流通の際に顧客にとって安心・信頼できる手段を利用する必要もあり、少なくとも利用サービスとそのポリシーの明示、SPFの適切な設定などはされていた方が望ましいのではないかと思います。Viber社が取引先としてTRUSTe取得事業者を選択したところまでは良かったのですが、実際に送信されるメールまで確認されておらず、残念ながらあまり適切ではないメールになってしまっていることは、やはりサービスを選択したViber社側の自社サービス品質のレベルを間接的に表すことになるのではないかと感じます。これまでの経緯的に個人情報の取扱いを不安視されているViber社としては、こうしたシンプルな機能を利用する場合であっても、細心の注意を持って利用サービスを選択して欲しいと思います。
Android版に興味があるので今回登録はしましたが、上記のような理由でテスター登録のリンクはここでは紹介いたしません。当該blogを直接訪れて登録されるのは自由ですが、少なくともリンク先には上記のような事情があることをご理解いただくことと、Android版がテスター提供された場合にはコンタクトの情報を適切に制限(万が一があっても問題ないように)してテストに望まれることを、強くお勧めいたします。
sip, viber, voip
Loading...