• 大小: 12KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: pjsip  

资源简介

pjsip客户端与服务端sip通信demo,环境自己配一下就可以了。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#pragma comment(lib“ws2_32.lib“) 
#pragma comment(lib“mswsock.lib“)

/*
#include 
#include 
#include 
#include 
#include 
#include 
#include 
*/

//#define PRINT
//#define SERVER

static pj_caching_pool cp;
static pjsip_endpoint *my_endpt;


int end;
unsigned count;

//static pj_bool_t on_rx_request( pjsip_rx_data *rdata );
static pj_bool_t on_rx_response( pjsip_rx_data *rdata );

static pjsip_module mod_presenceua =
{
NULL NULL     /* prev next. */
    { “mod-presenceua“ 14 }     /* Name. */
    -1     /* Id */
    PJSIP_MOD_PRIORITY_APPLICATION /* Priority */
    NULL     /* load() */
    NULL     /* start() */
    NULL     /* stop() */
    NULL     /* unload() */
    NULL     /* on_rx_request() */
    &on_rx_response     /* on_rx_response() */
    NULL     /* on_tx_request. */
    NULL     /* on_tx_response() */
    NULL     /* on_tsx_state() */
};


#ifdef SERVER
static pjsip_module mod_presence_s =
{
NULL NULL     /* prev next. */
    { “mod-presence-server“ 14 }     /* Name. */
    -1     /* Id */
    PJSIP_MOD_PRIORITY_APPLICATION /* Priority */
    NULL     /* load() */
    NULL     /* start() */
    NULL     /* stop() */
    NULL     /* unload() */
    NULL     /* on_rx_request() */
    &on_rx_response     /* on_rx_response() */
    NULL     /* on_tx_request. */
    NULL     /* on_tx_response() */
    NULL     /* on_tsx_state() */
};
#endif


static void my_init_pjlib(void)
{
pj_status_t status;

//初始化pjlib
status = pj_init();
if(status != PJ_SUCCESS) printf(“pj_init() error“);
     
//初始化缓冲池产生器
pj_caching_pool_init(&cp&pj_pool_factory_default_policy0);
}

static void my_print_uri(const char *titlepjsip_uri *uri)
{
char buf[80];
int len;

len = pjsip_uri_print(PJSIP_URI_IN_OTHERuribufsizeof(buf)-1);
if(len < 0) printf(“Not enough buffer to print URI“);

buf[len] = ‘\0‘;

printf(“%s“buf);
}

void pjsip_publishc_callback(struct pjsip_publishc_cbparam *param)
{
printf(“Publish callback is called!“);

}


int main()
{
pj_pool_t *pool;
//pjsip_name_addr *name_addr;
pjsip_sip_uri *sip_uri;

pjsip_publishc * publish;

pj_status_t status;

//int end;


/********************  1.初始化PJLIB  ********************/
my_init_pjlib();



    /**************  2.建立内存池用来分配内存 ****************/
pool = pj_pool_create( &cp.factory“mypool“40004000NULL);



/**************  3.Then init PJLIB-UTIL  *****************/
status = pjlib_util_init();
    PJ_ASSERT_RETURN(status == PJ_SUCCESS 1);



/****************  4.建立pjsip_endpoint  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9863  2009-10-16 20:52  uas\main.cpp

     文件        871  2009-10-16 19:56  uas\uas.sln

    ..A..H.      9216  2009-10-17 19:29  uas\uas.suo

     文件       4066  2009-10-16 20:49  uas\uas.vcproj

     文件       9821  2009-10-17 12:53  uac\main.cpp

     文件        871  2009-10-16 20:57  uac\uac.sln

    ..A..H.      9216  2009-10-17 19:29  uac\uac.suo

     文件       4066  2009-10-17 12:56  uac\uac.vcproj

     目录          0  2009-10-17 19:48  uas

     目录          0  2009-10-17 19:47  uac

----------- ---------  ---------- -----  ----

                47990                    10


评论

共有 条评论