summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_im.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-06-11 18:22:54 +0000
committerBenny Prijono <bennylp@teluu.com>2007-06-11 18:22:54 +0000
commitaa434b698389bad9d27904c1dab3e96f91f259a8 (patch)
tree7689535b9bad3e086c7fd65b68b912335f84e30a /pjsip/src/pjsua-lib/pjsua_im.c
parenta299aacc7112e537d37dade67dbba42009725991 (diff)
Ticket #334: Added on_pager_status2() callback to receive the full SIP message of IM delivery status (thanks Paul Levin)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1363 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_im.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_im.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_im.c b/pjsip/src/pjsua-lib/pjsua_im.c
index 81fed481..46eb0e83 100644
--- a/pjsip/src/pjsua-lib/pjsua_im.c
+++ b/pjsip/src/pjsua-lib/pjsua_im.c
@@ -352,7 +352,7 @@ static void im_callback(void *token, pjsip_event *e)
tsx->status_text.ptr));
}
- if (pjsua_var.ua_cfg.cb.on_pager_status)
+ if (pjsua_var.ua_cfg.cb.on_pager_status) {
pjsua_var.ua_cfg.cb.on_pager_status(im_data->call_id,
&im_data->to,
&im_data->body,
@@ -360,6 +360,25 @@ static void im_callback(void *token, pjsip_event *e)
(pjsip_status_code)
tsx->status_code,
&tsx->status_text);
+ }
+
+ if (pjsua_var.ua_cfg.cb.on_pager_status2) {
+ pjsip_rx_data *rdata;
+
+ if (e->body.tsx_state.type == PJSIP_EVENT_RX_MSG)
+ rdata = e->body.tsx_state.src.rdata;
+ else
+ rdata = NULL;
+
+ pjsua_var.ua_cfg.cb.on_pager_status2(im_data->call_id,
+ &im_data->to,
+ &im_data->body,
+ im_data->user_data,
+ (pjsip_status_code)
+ tsx->status_code,
+ &tsx->status_text,
+ rdata);
+ }
}
}