The sript compatibility was set to kamailio strict mode, throwing error if $xy was not a pv. You can fetch latest master and should work like if no pv found as $xy, then is set as avp.

Even if with your version, adding #!SER as first line should make it work with $fd.did...

Cheers,
Daniel

On 1/24/13 10:58 AM, Daniel-Constantin Mierla wrote:
Hi Philippe,

On 1/23/13 11:54 PM, Philippe Sultan wrote:
Hey Daniel,

Thanks a lot for your help.

do you have #!SER as first line? This part should be the same ... if pv not found, then it should be considered avp. I will try to see what is the issue.

I don't have #!SER

it should not be needed for this case, if $xyz is not found as pv, it is considered avp.

 
Anyhow, for the moment, if not working, load pv and then try:
- $fd and $td must stay as parameters for lookup_domain()
- for strempty() try to use $avp(fd.did) and $avp(td.did)

I loaded pv, and modified the script accordingly. No syntax errors anymore, but avps are not populated from the data stored in the db. Maybe a problem with lookup_domain?

the modules_s/domain was only renamed to uid_domain to avoid conflict with the other domain module. No other recent changes to my knowledge. Can you try to put IF around it and see if returns true or false? Can you check the sql queries in the server to see if they are returning something?

Cheers,
Daniel


Here's the excerpt of the script (I replaced the selects with '@' by '$sel()', and added a dump_attrs()) :
        xlog("L_INFO", "from.uri.host : $sel(from.uri.host)\n");
        xlog("L_INFO", "ruri.host : $sel(ruri.host)\n");

        lookup_domain("$fd", "$sel(from.uri.host)");
        lookup_domain("$td", "$sel(ruri.host)");

        xlog("L_INFO", "fd : $avp(fd.did)\n");

        dump_attrs();

        if (strempty($avp(fd.did)) && strempty($avp(td.did))) {
                # Neither the calling nor the called domain is local
                # This is a relaying attempt which should be forbidden
                sl_reply("403", "Relaying Forbidden");
                drop;
        }

And as a result :
0(22008) INFO: <script>: from.uri.host : ext.test.r3load.voip
 0(22008) INFO: <script>: ruri.host : ext.test.r3load.voip
 0(22008) INFO: <script>: fd : <null>
 0(22008) INFO: avp [avp.c:573]: class=GLOBAL
 0(22008) INFO: avp [avp.c:575]: INFO: No AVP present
 0(22008) INFO: avp [avp.c:583]: track=FROM class=DOMAIN
 0(22008) INFO: avp [avp.c:585]: INFO: No AVP present
 0(22008) INFO: avp [avp.c:593]: track=TO class=DOMAIN
 0(22008) INFO: avp [avp.c:595]: INFO: No AVP present
 0(22008) INFO: avp [avp.c:603]: track=FROM class=USER
 0(22008) INFO: avp [avp.c:605]: INFO: No AVP present
 0(22008) INFO: avp [avp.c:613]: track=TO class=USER
 0(22008) INFO: avp [avp.c:615]: INFO: No AVP present
 0(22008) INFO: avp [avp.c:623]: track=FROM class=URI
 0(22008) INFO: avp [avp.c:625]: INFO: No AVP present
 0(22008) INFO: avp [avp.c:633]: track=TO class=URI
 0(22008) INFO: avp [avp.c:635]: INFO: No AVP present

In the db :
+----+----------------------+----------------------+-------+
| id | did                  | domain               | flags |
+----+----------------------+----------------------+-------+
|  1 | ext.test.r3load.voip | ext.test.r3load.voip |     0 |
+----+----------------------+----------------------+-------+

Thanks again!

Philippe



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, April 16-17, 2013, Berlin
 - http://conference.kamailio.com -

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, April 16-17, 2013, Berlin
 - http://conference.kamailio.com -