[SR-Users] Pseudo variables and uid_domain module compatibility

Daniel-Constantin Mierla miconda at gmail.com
Thu Jan 24 19:35:22 CET 2013


I am not using this module and I don't know what are supposed to be the 
right default values for flags. But it should be like it was in the 
past. If you used with an older version 3.x, apart of renaming, nothing 
was touched in the code for 4.x.

Cheers,
Daniel

On 1/24/13 4:27 PM, Philippe Sultan wrote:
> Thank you Daniel, your answer helped a lot.
>
> With :
> #!KAMAILIO
> loadmodule "pv.so"
> $avp(fd.did)
>
> Everything works fine, but only if I turn off caching with :
> modparam("uid_domain", "db_mode", 0)
>
> Otherwise, avps are not loaded from the db. Digging into 
> modules/uid_domain/domain.c, I figured out that the default flag value 
> 0 for records in the uid_domain table would make the load_domains 
> function skip the records, see (in load_domains) :
>                 /* Skip entries that are disabled/scheduled for removal */
>                 if (flags & SRDB_DISABLED) goto skip;
>                 /* Skip entries that are for serweb/ser-ctl only */
>                 if (!(flags & SRDB_LOAD_SER)) goto skip;
>
> Setting the flag value to 1 does make the load_domains function work 
> as expected, and load the records from the db.
>
> Maybe the uid_domain-create.sql file under utils should be modifed.
>
> Thanks again Daniel,
>
> Philippe
>
> 2013/1/24 Daniel-Constantin Mierla <miconda at gmail.com 
> <mailto:miconda at gmail.com>>
>
>     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 at lists.sip-router.org  <mailto:sr-users at 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://twitter.com/#%21/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://twitter.com/#%21/miconda>  -http://www.linkedin.com/in/miconda
>     Kamailio World Conference, April 16-17, 2013, Berlin
>       -http://conference.kamailio.com  -
>
>
>     _______________________________________________
>     SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>     list
>     sr-users at lists.sip-router.org <mailto:sr-users at lists.sip-router.org>
>     http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
>
> -- 
> Philippe Sultan
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at 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 -

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20130124/191d41fa/attachment-0001.htm>


More information about the sr-users mailing list