diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-11-16 23:18:37 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-11-16 23:18:37 +0000 |
commit | 9a7206444089965a64c71bb130a51e74f2850655 (patch) | |
tree | f72c6a9e5aee1ed9a46816a47bbc0312253b8bbc /channels | |
parent | 77823f0640f5533d43f1f1cff7fb64d91bea2d69 (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-x | channels/chan_sip.c | 5 |
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); |