OpenH323

ありゃりゃ、前回のVoiceChatに関する記事から既に半年が過ぎてしまいました。
諸般の事情によりVoiceChatの開発が停滞しております。


一番の理由は、マイクロソフトの新しいDirectXのドキュメントに

Microsoft DirectPlay は不適切となっており、新しいアプリケーションを開発する際それを使わないことを、Microsoft は強く推奨します。その代わり、拡張された Microsoft Windows ネットワーク テクノロジを、ゲーム開発者は使うべきです。

と書かれていることを見つけちゃったからです。
不適切だそうです。約の間違いかと思って英語版も確認しちゃったじゃないですか。英語版には、

Warning: Microsoft® DirectPlay® has been deprecated. Deprecated components of Microsoft DirectX® 9.0 for Managed Code are considered obsolete. While these components are still supported in this release of DirectX 9.0 for Managed Code, they may be removed in the future. When writing new applications, you should avoid using these deprecated components. When modifying existing applications, you are strongly encouraged to remove any dependency on these components.

deprecatedですよ。You should avoid ですよ。You are strongly encouraged to remove ですよ。
VoiceChatは元が、DirectPlayとDirectPlayVoiceのテストプログラムだっただけあって、思いっきり、それらに依存してます。
ということで、できれば、ここから先、DirectPlayを抜いていった方がいいんだろうなぁってうっすら考えてまして、ずーっと考えてました。
どっかに、同等の機能を持った、ライブラリが転がってないかなぁって。
自分で作ろうとせずに、どっかからもってこようと考えるところがよわっちいですが。。。
Real Time Communicationてなテクノロジをマイクロソフトは提唱しているようですが、探せど探せど、1対1のコミュニケーションばっかり。多数の同時音声チャットについての記述がありません。
詳しくは、「いつまでも構想中(old)」内の「ものいぢり」>「RTCをいぢる」(ただし、このサイトは移転するらしい)移転予定地「いつまでも構想中」
あんまりにも見つからないので、どないなってんねん、無いわけないやろ、世の中こんなに進んでるんやぞ。俺より賢いやついっぱいおるはずや。そやけど、ほんまに無かったらしゃあないな。てなことで、自前でライブラリを書くことも多少頭に入れて、サーバークライアントでやるほうが簡単なんだけど、やっぱり時代はP2Pだよねぇ。目指すならやっぱりSkypeだよねぇ。てなことを考えながら、Webをぶらぶら。
ひょっこり見つけたのが、
Tomo’s Homepage内にあるP2Pとは何か?~基礎から研究紹介まで~
これは、P2Pの基礎となる技術の解説。非常にわかりやすい。
ここからたどって、
SIP入門 ~プロトコル概要からSIPの適用、将来像まで~
これは、SIPの概念をざっくり説明したもの。SIPとは、Session Initiation Protocolの略で、ぶっちゃけて言えば、セッションを開始するまでの、開始の仕方のプロトコル。
てなものを経由しつつ、見つけました。
OpenH323というライブラリ。
やっぱり探せばあるんじゃん。
このライブラリは、Mozilla Public licenseで作られている、H323スタックの実装。
H323ってのは、ぶっちゃけて言えば、Netmeetingみたいな(というかそのまんまだけど)のプロトコル。GnomeMeetingでも採用されているライブラリらしい。
詳しくは、興和グループ内の入門H.323規格
もとは、Linuxだけど、ちゃんとWindows版もあるので、さくさくダウンロード。
まずは、OpenPhoneなるアプリケーションから。
さくっと起動。エラー。OpenH323.dllとPTLib.dllとPTWLib.dllをすぐ横に置いておかないと駄目みたい。
さくっと、起動。
通信の実験しようと、2個目を起動すると、、、エラー。
あらら。ひとつのマシン上では1つしか起動できないのね。ということで、Netmeetingで実験。お互いに電話をかけてみる。
が、繋がらない。まぁ当たり前か。同じマシンなんだから。。。
どっかからマシン調達するか、誰か人柱を探さなきゃだめだな。
確か、Netmeetingってプロキシ超えるのが面倒だったような気がするんだけど、このライブラリではどうなってるのかなぁ。
というか、H323自体をもっとお勉強しないとあきませんな。
OpenH323のページには、Simple OpenH323 Tutorialというチュートリアルがついている。
こいつを実験。
あり?サンプルコードのコンパイルが通りませんぞ。Windowsでやるにはちょっと面倒なのか?includeをちゃんといじらないとだめみたい。
うーん。これは、元のライブラリを自前でコンパイルするところからやらなきゃだめか?さくっとコンパイル。やっぱりエラー。
しょうがないのでreadme.txtを読む。(先に読め!)
FlexBisonが必要らしい。
えーい。めんどくせぇぞぉ。
ということで、今日はここまで。

「OpenH323」への1件のフィードバック

  1. ぢさん、この度はコメントありがとうございました。
    VoIPやってるんですね。
    やるならば、H.323規格よりもSIPを追った方がいいかも知れません。
    SIPならば、www.iptel.orgあたりでフリーのSIPサーバーが公開されていたりします。あとはRFC3261ですね。
    まぁ、結構追うのは大変ですが・・・。
    ではまた遊びに来てください。

コメントを残す