新商品のご案内
このたび、当社は新商品「ボイプリメンツ シリーズ」を発表しました。
このシリーズでは、VoIP(Voice over IP)に関するソフトウェアを順次ご提供していきます。
第一弾として、「ボイスチャットライブラリiPhoneOS版」を2010年8月よりご提供致します。
これは、お客様が作成したiPhoneアプリ(iPod touch / iPadも含む)にボイスチャット機能を
簡単に組み込むことができるソフトウェア開発キット(SDK)です。
また、お客様の製品・サービスに特化したカスタマイズ依頼にも柔軟に対応可能です。
是非、お問い合わせください。
また、ついでにホームページのデザインもリニューアルしました。
ひかり電話
当社の電話はひかり電話なのですが、突然昨日から、外からの着信ができないという問題が発生しました。
サポートセンターに問い合わせたところ、ナンバーディスプレイ対応でない電話機を接続している場合、
VDSLモデムの設定でナンバーディスプレイの設定がONになっているとこのような症状になるとのことです。
しかし、特に設定変更した覚えは無いのに、今週から突然NGになったのは何故かわかりません。
・・・とりあえず、仕様ということで理解しました。
今週当社へ電話をおかけになって繋がらなかった方、申し訳ありませんでした。
iPhone開発はじめました
Mac miniを導入しましたので、iPhone/iPod touch向けソフトの開発が可能になりました。
(もちろんMacOSX向けの開発も可能です。)
当社では、
・Windows XP / Vista / 7
・Linux
・MacOSX
・iPhoneOS
といった幅広いプラットフォーム向けの請負開発ができます。
何かご依頼がございましたら是非ともよろしくお願いします。
事務所を開設いたしました。
おかげさまで1周年
久々の投稿で申し訳ありません。
当社は、皆様のご支援により設立1周年を迎えることができました。
誠にありがとうございます。
1年を振り返ってみて、ほぼ当初の予定通りに進んだとはいえ、色々な反省点もあります。
本日より新年度となりますが、これらの反省を踏まえ、再スタートのつもりで頑張っていきます。
新年度では特に、
・社員(役員)の採用
・自社開発ソフトウェアの提供
の2点を重視して活動していこうと思います。
自社ソフトウェアの開発は、現在少しずつ進めておりますが、
年末あたりを目途にリリースしたいと考えています。
また、当社は今年度から積極的に社員を採用していきたいと考えています。
興味のある方は、お気軽にお問い合わせください。
今後とも、よろしくお願い申し上げます。
SRTP対応VoIPライブラリの開発(2)
TLS/SRTP対応VoIPテストクライアントの作成が完了しました。(Windows)
Asterisk、FreeSWITCHとTLS/SRTPで接続確認済みです。
今回、以下のオープンソースソフトウェアを使用しました。
SIP/SDP : Sofia-SIP Library (LGPL)
RTP : JRTPLIB (MIT/X)
SRTP : libSRTP (BSD)
[コーデック]
ライセンスフリーで使える音声コーデックは結構限定されますが、今回は以下のコーデックに対応してみました。
Speex (BSD)
サンプリング周波数:8kHz,16kHz,32kHz
ビットレート:2~44 kbit/s
G.711(μLaw) (ITU-T勧告)
サンプリング周波数:8kHz
ビットレート:64kbps
サンプルコード (Sunがパブリックドメインとして公開している)
G.722 (ITU-T勧告)
サンプリング周波数:16kHz
ビットレート:64kbit/s
サンプルコード (カーネギーメロン大学。ライセンス表記は無し。結構なスパゲティ!)
SRTP対応VoIPライブラリの開発
この数カ月間、オープンソースのSRTP対応VoIPライブラリを調査してきました。
弊社の独自サービスを行うにあたって、SRTPに対応したVoIPの機能が必要不可欠だったからです。
残念ながら、弊社のニーズを満たすものをいまだ見つけることができていません。
数あるオープンソースVoIPライブラリを調査してきましたが、機能面で今一番充実しているのはpjsipだと思います。
ただし、ライセンスはGPLです。
私は開発エンジニアですので、開発側の権利を重視するGPLの考え方は素晴らしいと思いますが、
使う側への制約が厳しすぎます。(ソース公開の義務)
独自のアイディアを実現するために様々なソフトウェアを組み合わせる、という場合に非常に使いづらいです。
pjsip以外は、大抵LGPLなので扱いやすいのですが、
SRTPの鍵交換方式がPBX側とうまく合わなかったり、
多機能なゆえにインタフェースが汚くて使いづらかったりと、
「これだ!」というものが見つかりませんでした。(検証作業には結構苦労しました・・・)
で、それならば自力で作ってしまおう、という判断に至りました。
もちろん、SIPスタックやRTPスタックを1から作るのは大変なので、
この辺はオープンソースソフトウェアの力を借りようと思います。
コーデックはとりあえずG.711とspeexには対応する予定です。
また、SRTPの鍵交換はSDES(RFC4568)で行おうと思います。
AsteriskやFreeSWITCHでほぼ標準搭載であることと、実装がかなり簡単なためです。
何か進展があれば、このブログにて報告したいと思います。
SRTPの鍵交換について
SRTPでRTPを暗号化するためには暗号鍵の交換が必要になりますが、現在は以下の方式があるようです。
* SDES (SDPのaラインに鍵を載せる。SIPをTLSで保護する必要あり。)
* MIKEY (鍵交換用のプロトコル)
* S/MIME (SDPボディを暗号化。メールの暗号化と同じ技術。)
* ZRTP (鍵交換用のプロトコル)
* DTLS-SRTP (DTLS = Datagram TLS。UDPのSIPを暗号化できる。) ⇒標準化に向かっているらしい。
また、SRTPに対応するIP-PBXとUA(クライアント)の鍵交換方式対応状況について調べてみました。
[IP-PBX]
Asterisk : SDES(*1) / MIKEY(*2) / ZRTP (*3)
Freeswitch : SDES / ZRTP (*4)
pbxnsip : SDES
Callweaver : SDES
[User Agent]
pjsip (GPL) … SDES / ZRTP
minisip (GPL/LGPL) … MIKEY / ZRTP
sipXtapi (LGPL) … S/MIME
reSIProcate recon (BSD) … SDES / DTLS-SRTP
PBXはやはりAsteriskが断トツなのでしょうか。
UAについては、この中ではreconが良いと思いますが、正直使いずらいです・・・
*1 : 現時点では正式サポートされていないようです。(別branch)
*2 : 現在、サポートされていないことが判明。(minisipで接続しようとすると、”Asterisk currently does not support MIKEY key negotiation”というエラーメッセージ)
*3 : 現時点では正式サポートされていないようです。(有志によるpatch提供のみ)
*4 : 現時点では正式サポートされていないようです。