[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sr-dev
Subject:    [sr-dev] git:master: rr: use internal msg flags to mark a request with record route added
From:       Daniel-Constantin Mierla <miconda () gmail ! com>
Date:       2014-04-28 22:13:00
Message-ID: 20140428221300.D1208EF8077 () rimmer ! ryngle ! com
[Download RAW message or body]

Module: sip-router
Branch: master
Commit: cc84b46d473236d162a852c3604eacfc88e56ba2
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=cc84b46d473236d162a852c3604eacfc88e56ba2


Author: Daniel-Constantin Mierla <miconda@gmail.com>
Committer: Daniel-Constantin Mierla <miconda@gmail.com>
Date:   Tue Apr 29 00:01:53 2014 +0200

rr: use internal msg flags to mark a request with record route added

---

 modules/rr/rr_mod.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/modules/rr/rr_mod.c b/modules/rr/rr_mod.c
index 1628f3b..8a7311d 100644
--- a/modules/rr/rr_mod.c
+++ b/modules/rr/rr_mod.c
@@ -61,7 +61,6 @@ int enable_socket_mismatch_warning = 1; /*!< enable socket mismatch \
warning */  static str custom_user_spec = {NULL, 0};
 pv_spec_t custom_user_avp;
 
-static unsigned int last_rr_msg;
 ob_api_t rr_obb;
 
 MODULE_VERSION
@@ -268,7 +267,7 @@ static int w_record_route(struct sip_msg *msg, char *key, char \
*bar)  {
 	str s;
 
-	if (msg->id == last_rr_msg) {
+	if (msg->msg_flags & FL_RR_ADDED) {
 		LM_ERR("Double attempt to record-route\n");
 		return -1;
 	}
@@ -280,7 +279,7 @@ static int w_record_route(struct sip_msg *msg, char *key, char \
*bar)  if ( record_route( msg, key?&s:0 )<0 )
 		return -1;
 
-	last_rr_msg = msg->id;
+	msg->msg_flags |= FL_RR_ADDED;
 	return 1;
 }
 
@@ -289,7 +288,7 @@ static int w_record_route_preset(struct sip_msg *msg, char *key, \
char *key2)  {
 	str s;
 
-	if (msg->id == last_rr_msg) {
+	if (msg->msg_flags & FL_RR_ADDED) {
 		LM_ERR("Duble attempt to record-route\n");
 		return -1;
 	}
@@ -316,7 +315,7 @@ static int w_record_route_preset(struct sip_msg *msg, char *key, \
char *key2)  return -1;
 
 done:
-	last_rr_msg = msg->id;
+	msg->msg_flags |= FL_RR_ADDED;
 	return 1;
 }
 
@@ -328,7 +327,7 @@ static int w_record_route_advertised_address(struct sip_msg *msg, \
char *addr, ch  {
 	str s;
 
-	if (msg->id == last_rr_msg) {
+	if (msg->msg_flags & FL_RR_ADDED) {
 		LM_ERR("Double attempt to record-route\n");
 		return -1;
 	}
@@ -340,7 +339,7 @@ static int w_record_route_advertised_address(struct sip_msg *msg, \
char *addr, ch  if ( record_route_advertised_address( msg, &s ) < 0)
 		return -1;
 
-	last_rr_msg = msg->id;
+	msg->msg_flags |= FL_RR_ADDED;
 	return 1;
 }
 


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic