Merge "chan_sip.c: Update dialog fromtag after request with auth" into 13

changes/51/651/1
Mark Michelson 10 years ago committed by Gerrit Code Review
commit 2618d1e638

@ -9240,6 +9240,15 @@ static struct sip_pvt *__find_call(struct sip_request *req, struct ast_sockaddr
switch (found) {
case SIP_REQ_MATCH:
sip_pvt_lock(sip_pvt_ptr);
if (args.method != SIP_RESPONSE && args.authentication_present
&& strcmp(args.fromtag, sip_pvt_ptr->theirtag)) {
/* If we have a request that uses athentication and the fromtag is
* different from that in the original call dialog, update the
* fromtag in the saved call dialog */
ast_string_field_set(sip_pvt_ptr, theirtag, args.fromtag);
}
sip_pvt_unlock(sip_pvt_ptr);
ao2_iterator_destroy(iterator);
dialog_unref(fork_pvt, "unref fork_pvt");
free_via(via);

Loading…
Cancel
Save