Add missing comment that quotes RFC 3891
authorMark Michelson <mmichelson@digium.com>
Wed, 11 Mar 2009 00:49:00 +0000 (00:49 +0000)
committerMark Michelson <mmichelson@digium.com>
Wed, 11 Mar 2009 00:49:00 +0000 (00:49 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181033 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 1ff4d35..77bd396 100644 (file)
@@ -12404,7 +12404,20 @@ static struct sip_pvt *get_sip_pvt_byid_locked(const char *callid, const char *t
                                          sip_pvt_ptr->outgoing_call == TRUE ? "OUTGOING": "INCOMING", sip_pvt_ptr->callid);
                                return NULL;
                        }
-
+                       /* RFC 3891
+                        * > 3.  User Agent Server Behavior: Receiving a Replaces Header
+                        * > The Replaces header contains information used to match an existing
+                        * > SIP dialog (call-id, to-tag, and from-tag).  Upon receiving an INVITE
+                        * > with a Replaces header, the User Agent (UA) attempts to match this
+                        * > information with a confirmed or early dialog.  The User Agent Server
+                        * > (UAS) matches the to-tag and from-tag parameters as if they were tags
+                        * > present in an incoming request.  In other words, the to-tag parameter
+                        * > is compared to the local tag, and the from-tag parameter is compared
+                        * > to the remote tag.
+                        *
+                        * Thus, the totag is always compared to the local tag, regardless if
+                        * this our call is an incoming or outgoing call.
+                        */
                        frommismatch = !!strcmp(fromtag, sip_pvt_ptr->theirtag);
                        tomismatch = !!strcmp(totag, sip_pvt_ptr->tag);