资源简介
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
- 上一篇:矩阵互相关系数计算与直方图
- 下一篇:四位二进制ALU运算器
评论
共有 条评论