任何人都知道如何设置pjsip客户端来接收消息的任何好例子.我可以使用以下方式从客户端发送消息:
pjsua_im_send(sip_acc_id, &to, NULL, &msgbody, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)
任何数字.
但我不知道如何接收已经注册的SIP帐户的邮件.
任何信息,将不胜感激.
注意:我只能使用pjsip而不能使用其他库.
编辑:我找到的一些新东西:
http://trac.pjsip.org/repos/ticket/1070
http://www.pjsip.org/release/0.5.4/PJSIP-Dev-Guide.pdf(但是所有这些文件都说明传入的消息是这样的:
16.1.2接收消息
应用程序模块将接收任何对话框外的传入MESSAGE请求.对话框内的传入MESSAGE请求将通过对话框的on_tsx_state()回调通知对话框使用情况 .
这仍然没有说明如何处理传入的消息.
http://www.ietf.org/rfc/rfc3261.txt
http://trac.pjsip.org/repos/wiki/SIP_Message_Buffer_Event
Edit2:我被告知on_pager函数需要用于此功能.所以我试过但不幸的是仍然没有成功.
这是我做的:
/* Initialize application callbacks */
app_config->cfg.cb.on_call_state = &on_call_state;
app_config->cfg.cb.on_call_media_state = &on_call_media_state;
app_config->cfg.cb.on_incoming_call = &on_incoming_call;
app_config->cfg.cb.on_reg_state = &on_reg_state;
app_config->cfg.cb.on_pager = &on_pager;
Run Code Online (Sandbox Code Playgroud)
和on_pager实现:
static void on_pager(pjsua_call_id call_id, const pj_str_t *from, const pj_str_t *to, const pj_str_t *contact, const pj_str_t *mime_type, const pj_str_t *body) {
NSLog(@"**************** on_pager called **********************");
AppDelegate *app = (AppDelegate *)[AppDelegate sharedApplication];
pjsua_call_info ci; …Run Code Online (Sandbox Code Playgroud)