summaryrefslogtreecommitdiff
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-04-06 14:02:47 +0000
committerMark Spencer <markster@digium.com>2004-04-06 14:02:47 +0000
commit1bbf0d2cf6144c608c2c982bd48299bb7ff1e2c3 (patch)
tree3cdc49ef9d28cd230c3f84fa300ce8401ce327c8 /channels/chan_sip.c
parent8cfed866d328659477d71d99dffe335f7b104ce4 (diff)
Bump branch id on INVITE with auth (bug #1313)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_sip.c')
-rwxr-xr-xchannels/chan_sip.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index bf7d3bbd3..3119bb130 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3015,9 +3015,12 @@ static int transmit_invite(struct sip_pvt *p, char *cmd, int sdp, char *auth, ch
{
struct sip_request req;
- if (init)
+ if (init) {
+ /* Bump branch even on initial requests */
+ p->branch ^= rand();
+ snprintf(p->via, sizeof(p->via), "SIP/2.0/UDP %s:%d;branch=z9hG4bK%08x", inet_ntoa(p->ourip), ourport, p->branch);
initreqprep(&req, p, cmd, vxml_url);
- else
+ } else
reqprep(&req, p, cmd, 0, 1);
if (auth)