freeswitch を別のアプリケーションに埋め込んで使用するプロジェクトに取り組んでいます。私は C#/.Net アプリケーションに取り組んでいます。
簡単なテストプロジェクトのメイン機能で、コアを初期化するという非常に簡単なことを試しました。プロジェクトに freeswitch.managed.dll 参照を追加し、freeswitch wiki に示されているように、これらの 3 つのコマンドを入力しました。
String err = "";
const uint flags = (uint)(switch_core_flag_enum_t.SCF_USE_SQL | switch_core_flag_enum_t.SCF_USE_AUTO_NAT);
freeswitch.switch_core_set_globals();
freeswitch.switch_core_init(flags, switch_bool_t.SWITCH_FALSE, ref err);
freeswitch.switch_core_init_and_modload(flags, switch_bool_t.SWITCH_FALSE, ref err);
「ようこそ」と「コアが開始されました」というコンソール メッセージが前後に続きます。全体をビルドしようとすると、単にクラッシュします。switch_core_set_globals 関数が正常に動作しているようです。しかし、他の2つは機能しません。
「未処理の System.AccessViolationException が保護されたメモリの読み取りまたは書き込みを試みました」
組み込みのフリースイッチを使用するソフトフォンである FSClient プロジェクトを正常に構築できたので、不思議に思います。クラッシュも何もありません。
そのため、fs コアを適切に初期化するために操作する必要がある特定の構成または追加のセットアップ操作があるかどうかを知りたいと思いました。