diff options
author | Mark Spencer <markster@digium.com> | 2004-11-16 23:18:37 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2004-11-16 23:18:37 +0000 |
commit | 13814b20a1424b4954de7ec42eb9efd8eb67f06a (patch) | |
tree | f72c6a9e5aee1ed9a46816a47bbc0312253b8bbc /channels/chan_sip.c | |
parent | 6c16e5aa2be3f21141b534e69318a807759e1655 (diff) |
Make sure we use new tags for sip register calls (bug #2697)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_sip.c')
-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); |