From c28fb2bf19e122a0e36ff72d7ea48db67b70a6b1 Mon Sep 17 00:00:00 2001
From: Tilghman Lesher <tilghman@meg.abyt.es>
Date: Fri, 21 Aug 2009 22:36:39 +0000
Subject: [PATCH] Clarifying comments in sip_register, and removing a dead
 section

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@213738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index d07da3452d..a06f2067c1 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7412,7 +7412,7 @@ static int sip_register(const char *value, int lineno)
 	 * host2.extension => [extension]
 	 * host1.expiry => [expiry]
 	 */
-	AST_NONSTANDARD_RAW_ARGS(host2, hostpart, '/');
+	AST_NONSTANDARD_RAW_ARGS(host2, host1.hostpart, '/');
 
 	/*!
 	 * user1.userpart => [peer?][transport://]user[@domain]
@@ -7423,10 +7423,11 @@ static int sip_register(const char *value, int lineno)
 	 * host2.extension => extension
 	 * host1.expiry => expiry
 	 */
-	AST_NONSTANDARD_RAW_ARGS(host3, hostpart, ':');
+	AST_NONSTANDARD_RAW_ARGS(host3, host2.hostpart, ':');
 
 	/*!
-	 * user2.userpart => [peer?][transport://]user[@domain]
+	 * user2.userpart => [peer?][transport://]user
+	 * user2.domain => domain (regdomain)
 	 * user1.secret => secret
 	 * user1.authuser => authuser
 	 * host3.host => host
@@ -7434,10 +7435,11 @@ static int sip_register(const char *value, int lineno)
 	 * host2.extension => extension (callback)
 	 * host1.expiry => expiry
 	 */
-	AST_NONSTANDARD_RAW_ARGS(user2, user1.userpart, ':');
+	AST_NONSTANDARD_RAW_ARGS(user2, user1.userpart, '@');
 
 	/*!
-	 * user2.userpart => [peer?][transport://]user
+	 * peername => peer
+	 * user2.userpart => [transport://]user
 	 * user2.domain => domain (regdomain)
 	 * user1.secret => secret
 	 * user1.authuser => authuser
@@ -7446,14 +7448,24 @@ static int sip_register(const char *value, int lineno)
 	 * host2.extension => extension (callback)
 	 * host1.expiry => expiry
 	 */
-	AST_NONSTANDARD_RAW_ARGS(user2, user2.userpart, '@');
-
 	if ((tmp = strchr(user2.userpart, '?'))) {
 		*tmp = '\0';
 		peername = user2.userpart;
 		user2.userpart = tmp + 1;
 	}
 
+	/*!
+	 * peername => peer
+	 * transport_str => transport
+	 * username => user
+	 * user2.domain => domain (regdomain)
+	 * user1.secret => secret
+	 * user1.authuser => authuser
+	 * host3.host => host
+	 * host3.port => port
+	 * host2.extension => extension (callback)
+	 * host1.expiry => expiry
+	 */
 	if ((tmp = strstr(user2.userpart, "://"))) {
 		*tmp = '\0';
 		transport_str = user2.userpart;
-- 
GitLab