这是pjsip2.5.5的samples工程内提供的最简单呼叫流程,文件位置:pjproject-2.5.5\pjsip-apps\src\samples\simple_pjsua.c,它实现了3个功能:SIP注册、发送/接收呼叫、音频流。Samples工程编译完成后,在命令行输入:
simple_pjsua 要呼叫的sip地址
要呼叫的sip地址格式: sip:用户名@SIP服务器
*以200自动应答呼入的呼叫
#include <pjsua-lib/pjsua.h>
#define THIS_FILE "APP"
/*下面是与注册相关的SIP数据,需要按实际内容填写,否则注册错误*/
#define SIP_DOMAIN "192.168.1.20"
#define SIP_USER "1001"
#define SIP_PASSWD "1234"
/*下面三个回调函数用于:来电、呼叫状态改变、媒体状态改变 */
static voidon_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id,
pjsip_rx_data *rdata)
{
pjsua_call_info ci;
PJ_UNUSED_ARG(acc_id);
PJ_UNUSED_ARG(rdata);
/* 取呼叫详情,LOG出来*/
pjsua_call_get_info(call_id, &ci);
PJ_LOG(3,(THIS_FILE, "Incoming callfrom %.*s!!",
(int)ci.remote_info.slen,
ci.remote_info.ptr));