summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2012-06-19 13:14:21 +0000
committerNanang Izzuddin <nanang@teluu.com>2012-06-19 13:14:21 +0000
commit4e48275b5dc67bce49f48c1f683dd3a8f3def8d5 (patch)
tree5bdb770c26e69e61b1356b222e97776d43188757 /pjsip
parent1d5dfcaf93a6cf74e0f417e5ce8adf52d8d126a4 (diff)
Fix #1539: Applied non-strict update of remote capability info after receiving the first 2xx response.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4171 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsip/sip_dialog.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_dialog.c b/pjsip/src/pjsip/sip_dialog.c
index 2b6bb898..57f0c14a 100644
--- a/pjsip/src/pjsip/sip_dialog.c
+++ b/pjsip/src/pjsip/sip_dialog.c
@@ -1885,6 +1885,15 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata )
}
dlg_update_routeset(dlg, rdata);
+
+ /* Update remote capability info after the first 2xx response
+ * (ticket #1539). Note that the remote capability retrieved here
+ * will be assumed to remain unchanged for the duration of the dialog.
+ */
+ if (dlg->role==PJSIP_ROLE_UAC && !dlg->uac_has_2xx) {
+ pjsip_dlg_update_remote_cap(dlg, rdata->msg_info.msg, PJ_FALSE);
+ dlg->uac_has_2xx = PJ_TRUE;
+ }
}
/* Pass to dialog usages. */