summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_call.c
diff options
context:
space:
mode:
authorRiza Sulistyo <riza@teluu.com>2016-05-10 14:58:41 +0000
committerRiza Sulistyo <riza@teluu.com>2016-05-10 14:58:41 +0000
commitfcf865c4deb374fad719c5003f9a554f8ca40b82 (patch)
tree233dabc25dbd9c9d15ff9f377701b333a56d8c78 /pjsip/src/pjsua-lib/pjsua_call.c
parente65297b91432118cfbc0b561b93846d7fa624253 (diff)
Fixed #1914: onCreateMediaTransport() callback might not be called on PJSUA2.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5288 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_call.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_call.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c
index d8cf68ec..638ae3cf 100644
--- a/pjsip/src/pjsua-lib/pjsua_call.c
+++ b/pjsip/src/pjsua-lib/pjsua_call.c
@@ -1100,7 +1100,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
unsigned options = 0;
pjsip_inv_session *inv = NULL;
int acc_id;
- pjsua_call *call;
+ pjsua_call *call = NULL;
int call_id = -1;
int sip_err_code = PJSIP_SC_INTERNAL_SERVER_ERROR;
pjmedia_sdp_session *offer=NULL;
@@ -1223,6 +1223,11 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
}
}
+ if (!replaced_dlg) {
+ /* Clone rdata. */
+ pjsip_rx_data_clone(rdata, 0, &call->incoming_data);
+ }
+
/*
* Get which account is most likely to be associated with this incoming
* call. We need the account to find which contact URI to put for
@@ -1637,6 +1642,11 @@ on_return:
if (dlg) {
pjsip_dlg_dec_lock(dlg);
}
+
+ if (call && call->incoming_data) {
+ pjsip_rx_data_free_cloned(call->incoming_data);
+ call->incoming_data = NULL;
+ }
pj_log_pop_indent();
PJSUA_UNLOCK();