[SR-Users] tag column on address table

Kelvin Chua kelchy at gmail.com
Mon Jan 6 11:54:19 CET 2014


here is a patch against 4.0.5 to make this work with the address table

--- kamailio-4.0.5/modules/permissions/hash.c 2013-12-20 11:42:46.000000000
-0500
+++ kamailio-4.0.5/modules/permissions/hash.c 2014-01-06 05:48:54.000000000
-0500
@@ -486,13 +486,24 @@
 {
  struct addr_list *np;
  str addr_str;
+        int_str avp_val;

  addr_str.s = (char*)addr->u.addr;
  addr_str.len = 4;

+        get_tag_avp(&tag_avp, &tag_avp_type);
+
  for (np = table[perm_hash(addr_str)]; np != NULL; np = np->next) {
  if (((np->port == 0) || (np->port == port))
  && ip_addr_cmp(&np->addr, addr)) {
+ if ( np->tag.s != NULL ) {
+ avp_val.s.s = (char *)np->tag.s;
+ avp_val.s.len = strlen(avp_val.s.s);
+ if (add_avp(tag_avp_type|AVP_VAL_STR, tag_avp, avp_val) != 0) {
+ LM_ERR("failed to set of tag_avp failed\n");
+ return -1;
+ }
+ }
  return np->grp;
  }
  }


Kelvin Chua


On Mon, Jan 6, 2014 at 1:09 PM, Kelvin Chua <kelchy at gmail.com> wrote:

> then the documentation has to be changed:
>
> 1.4. Address Permissions
>
> The module can be used to determine if an address (IP address and port)
> matches any of the IP subnets stored in cached Kamailio database table.
> Port 0 in cached database table matches any port. IP address and port to be
> matched can be either taken from the request (allow_source_address) or
> given as pvar arguments (allow_address).
>
> Addresses stored in cached database table can be grouped together into one
> or more groups specified by a group identifier (positive integer value,
> i.e., equal or greater than 1). Group identifier is given as argument to
> allow_address and allow_source_address functions.
>
> As a side effect of matching the address, non-NULL tag (see tag_col module
> parameter) is added as value to peer_tag AVP if peer_tag_avp module
> parameter has been defined.
>
>
>
>
>
> Kelvin Chua
>
>
> On Sun, Jan 5, 2014 at 4:47 AM, Juha Heinanen <jh at tutpro.com> wrote:
>
>> Kelvin Chua writes:
>>
>> > is the peer_tag_avp used on allow_source_address_group?
>>
>> based on fast scan of permissions module source, it appears that
>> peer_tag_avp is set only by allow_trusted function.
>>
>> -- juha
>>
>> _______________________________________________
>> 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
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140106/0bb3d7ef/attachment.html>


More information about the sr-users mailing list