ネイティブに直訳されたバージョン:VSでexosipを使用する方法

oSIPライブラリをベースとしたSIPプロトコルスタックです。exosipを使用してSIP通信を行う手順は次のとおりです。

  1. oSIP コンテキストを作成します。 oSIP コンテキスト オブジェクトは、 osip_create() 関数を使用して作成できます。
  2. osip_t *osip;
    int 結果 = osip_create(&osip);
  3. エクソシップコンテキストを初期化します。エクソシップコンテキストオブジェクトを初期化するには、exosip_init() 関数を使用できます。
  4. int result = exosip_init(osip);
  5. ローカルのIPアドレスやポート番号など、SIPプロトコルスタックに関するいくつかのパラメータを設定できます。これらのパラメータの設定には、`exosip_set_option()`関数が使用できます。
  6. int result = exosip_set_option(osip, EXOSIP_OPT_SET_LOCALIP, local_ip);
  7. SIPアカウントをレジストします。exosip_add_authentication_info() 関数を使用して SIP アカウントの認証情報を追加できます。
  8. int result = exosip_add_authentication_info(osip, username, realm, password);
  9. SIPリクエストを送信します。SIPリクエストはexosip_call_build_initial_request()関数を使用して構築でき、exosip_call_send_initial_request()関数を使用してリクエストを送信できます。
  10. osip_message_t *message; int result = exosip_call_build_initial_request(osip, &message, “INVITE”, target); result = exosip_call_send_initial_request(osip, message);
  11. SIPメッセージを受信し、処理する。 メッセージを受信するのを待機するように exosip_message_wait() 関数を使用し、メッセージタイプに従って適宜処理を行う。
  12. osip_event_t *event;
    int result = exosip_event_wait(osip, 0, &event);
    if (result == 0 && event->type == EXOSIP_MESSAGE_NEW) {
    // 处理收到的SIP消息
    // …
    }
  13. SIPリクエストに応答します。着信SIPリクエストのタイプに応じて、exosip_call_build_answer()関数を使用してSIP応答メッセージを構築し、exosip_call_send_answer()関数を使用して応答を送信できます。
  14. osip_message_t *answer;
    result = exosip_call_build_answer(osip, event->tid, 200, &answer);
    result = exosip_call_send_answer(osip, event->tid, 200, answer);
  15. exosipコンテキストをクリーンアップします。プログラムの終了時には、exosip_quit() 関数を呼び出して、Exosip コンテキスト オブジェクトをクリーンアップする必要があります。
  16. osip_quit(osip);

基本的なexosipの使用方法ですが、具体的な使用方法は、ニーズと状況に合わせて調整・拡張する必要があります。 oSIPライブラリとexosip サンプルコードを参照すると、exosip の使用方法の詳細がわかります。

bannerAds