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

Author: Peter Dunkley <[email protected]>
Committer: Peter Dunkley <[email protected]>
Date:   Thu Mar 14 22:46:08 2013 +0000

modules/registrar: fill in ruid in msg and branch structures during lookup()

---

 modules/registrar/lookup.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/modules/registrar/lookup.c b/modules/registrar/lookup.c
index 91ccb8e..8872577 100644
--- a/modules/registrar/lookup.c
+++ b/modules/registrar/lookup.c
@@ -273,6 +273,13 @@ int lookup(struct sip_msg* _m, udomain_t* _d, str* _uri)
                
                _m->reg_id = ptr->reg_id;
 
+               if (ptr->ruid.len) {
+                   if (set_ruid(_m, &(ptr->ruid)) < 0) {
+                               ret = -3;
+                               goto done;
+                   }
+               }
+
                set_ruri_q(ptr->q);
 
                old_bflags = 0;
@@ -316,7 +323,8 @@ int lookup(struct sip_msg* _m, udomain_t* _d, str* _uri)
                                          &ptr->path, ptr->q, ptr->cflags,
                                          ptr->sock,
                                          ptr->instance.len?&(ptr->instance):0,
-                                         ptr->instance.len?ptr->reg_id:0)
+                                         ptr->instance.len?ptr->reg_id:0,
+                                         &ptr->ruid)
                            == -1) {
                                LM_ERR("failed to append a branch\n");
                                /* Also give a chance to the next branches*/
@@ -351,6 +359,7 @@ int reset_ruri_branch(sip_msg_t *msg)
        setbflagsval(0, 0);
        reset_instance(msg);
        msg->reg_id = 0;
+       reset_ruid(msg);
        return 0;
 }
 
@@ -375,6 +384,7 @@ int lookup_branches(sip_msg_t *msg, udomain_t *d)
        flag_t ruri_b_flags = 0;
        str ruri_b_instance = {0};
        unsigned int ruri_b_reg_id = 0;
+       str ruri_b_ruid = {0};
        branch_t *crt = NULL;
 
        ret = 1;
@@ -399,6 +409,7 @@ int lookup_branches(sip_msg_t *msg, udomain_t *d)
        getbflagsval(0, &ruri_b_flags);
        ruri_b_instance = msg->instance;
        ruri_b_reg_id = msg->reg_id;
+       ruri_b_ruid = msg->ruid;
        reset_ruri_branch(msg);
 
        for(i=0; i<nr_branches_start; i++) {
@@ -478,6 +489,7 @@ done:
        setbflagsval(0, ruri_b_flags);
        msg->instance = ruri_b_instance;
        msg->reg_id = ruri_b_reg_id;
+       msg->ruid = ruri_b_ruid;
 
        return (found)?1:ret;
 }


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to