From 60668be1fbb44ae8866547d7a7f4ea15070ac079 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Fri, 17 Nov 2006 16:27:04 +0000 Subject: [PATCH] only take remote_tag on incoming reply if 101 < code < 300 (remote tag set: "dialog established") git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@124 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- core/AmSipDialog.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/AmSipDialog.cpp b/core/AmSipDialog.cpp index 9c7dece5..20bdc86e 100644 --- a/core/AmSipDialog.cpp +++ b/core/AmSipDialog.cpp @@ -143,7 +143,12 @@ void AmSipDialog::updateStatus(const AmSipReply& reply) //t->reply_code = reply.code; - if(remote_tag.empty() && !reply.remote_tag.empty()) + // rfc3261 12.1 + // && method==INVITE + // Dialog established only by 101-199 or 2xx + // responses to INVITE + if ((reply.code >= 101) && (reply.code < 300) && + (remote_tag.empty() && !reply.remote_tag.empty())) remote_tag = reply.remote_tag; // allow route overwritting