aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-11-16 23:18:37 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-11-16 23:18:37 +0000
commit9a7206444089965a64c71bb130a51e74f2850655 (patch)
treef72c6a9e5aee1ed9a46816a47bbc0312253b8bbc /channels
parent77823f0640f5533d43f1f1cff7fb64d91bea2d69 (diff)
Make sure we use new tags for sip register calls (bug #2697)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4266 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_sip.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 3b3931058..3481f84ea 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4031,8 +4031,11 @@ static int transmit_register(struct sip_registry *r, char *cmd, char *auth, char
if (!auth) {
ast_log(LOG_WARNING, "Already have a call??\n");
return 0;
- } else
+ } else {
p = r->call;
+ p->tag = rand(); /* create a new local tag for every register attempt */
+ p->theirtag[0]='\0'; /* forget their old tag, so we don't match tags when getting response */
+ }
} else {
if (!r->callid_valid) {
build_callid(r->callid, sizeof(r->callid), __ourip, default_fromdomain);