chan_sip: Allow target refresh (Contact update) on re-INVITE.
authorWalter Doekes <walter+github@wjd.nu>
Mon, 12 Sep 2016 08:28:17 +0000 (10:28 +0200)
committerWalter Doekes <walter+asterisk@wjd.nu>
Mon, 12 Sep 2016 08:39:48 +0000 (03:39 -0500)
commit740292e6aef69c3a2bf1caf2bc9051f30356844d
treec006ecde0506eeee1a7e2bbc5178a0abd4f8018e
parent9d54dd04bbdad6849aee77536ab12c5fa6620680
chan_sip: Allow target refresh (Contact update) on re-INVITE.

Previously, the Contact was stored only on initial INVITE and on any
18X and 200. That meant that after re-INVITEs from *us* the Contact
could get updated, but after re-INVITEs from the *peer*, it did not.

This changeset fixes this inconsistency, properly allowing target
refreshes through re-INVITES (RFC3261, 12.2).

If your strictrtp setting allows it, this change allows you to switch
the source IP of a connected/calling device mid-call with a simple
re-INVITE from the new IP.

ASTERISK-26358 #close

Change-Id: Ibb8512054ab27c8c3d2514022568fde943bf2435
channels/chan_sip.c