1

Out Of Dialog NOTIFY メッセージを送信できますか? 私は PBX で作業しており、SIP 電話が接続されています。PBX の変更時に、NOTFIY メッセージを電話に送信する必要があります。電話は PBX にサブスクライブする必要があり、PBX はダイアログ メッセージにある NOTIFY メッセージを送信できることを知っています。

私が必要としているのは、OUT Of Dialog NOTIFY メッセージを電話にすることです。Phones には、OOD NOTIFY を理解するためのコードが既に用意されています。REFER のようなメソッドには暗黙的なサブスクリプションがあることを知っています。電話に加入せずにOOD NOTIFYを送信できるようにするために、そのようなものはありますか?

4

2 に答える 2

0
#include "pjsip_event_notification.h"
#include <pjsip.h>
#include <pjsip_ua.h>
#include <pjlib-util.h>
#include <pjlib.h>
#include <pjlib.h>
#include <pjsua.h>
#include <pjsua-lib/pjsua_internal.h>

static EventCallBack* registeredCallbackObject = NULL;

extern "C" {

  pj_bool_t on_rx_response_wrapper(pjsip_rx_data *rdata){
          registeredCallbackObject->on_rx_response(rdata);
          return PJ_FALSE;
 }

  pj_bool_t on_rx_request_wrapper(pjsip_rx_data *rdata){
          registeredCallbackObject->on_rx_request(rdata);
          return PJ_FALSE;
  }


  /* The module instance. */
  static pjsip_module mod_event_handler =
  {
      NULL, NULL,             /* prev, next.      */
      { (char*)"mod-reg-event", 12 },  /* Name.        */
      -1,                 /* Id           */
      PJSIP_MOD_PRIORITY_TSX_LAYER - 1,  /* Priority         */
      NULL,               /* load()       */
      NULL,               /* start()      */
      NULL,               /* stop()       */
      NULL,               /* unload()     */
      &on_rx_response_wrapper,               /* on_rx_request()  */
      &on_rx_response_wrapper,               /* on_rx_response() */
      NULL,               /* on_tx_request.   */
      NULL,               /* on_tx_response() */
      NULL,               /* on_tsx_state()   */

  };


  PJ_DECL(pj_status_t) event_callback_init() {
      return pjsip_endpt_register_module(pjsua_get_pjsip_endpt(),
                          &mod_event_handler);
  }

 void setEventCallbackObject(EventCallBack* eventCallBack){
         registeredCallbackObject=eventCallBack;
 }


}

同じpjsip_event_notification.hのhファイル

#include <pj/config_site.h>
#include <pjsua-lib/pjsua.h>

class EventCallBack {

public:
        virtual ~EventCallBack() {}
        virtual void on_rx_response(pjsip_rx_data *rdata){
 // Target Call Back for Notify message
        }

        virtual void on_rx_request(pjsip_rx_data *rdata){

        }



};
extern "C" {
pj_status_t event_callback_init();

void setEventCallbackObject(EventCallBack* eventCallBack);
}
于 2013-03-12T13:11:49.667 に答える