diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2012-06-19 13:14:21 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2012-06-19 13:14:21 +0000 |
commit | 4e48275b5dc67bce49f48c1f683dd3a8f3def8d5 (patch) | |
tree | 5bdb770c26e69e61b1356b222e97776d43188757 /pjsip | |
parent | 1d5dfcaf93a6cf74e0f417e5ce8adf52d8d126a4 (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.c | 9 |
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. */ |