sorry my bad, it is available on the other address functions, just not on the allow_source_address_group.
diff --git a/modules/permissions/hash.c b/modules/permissions/hash.c
index 3a16581..c80a3f2 100644
--- a/modules/permissions/hash.c
+++ b/modules/permissions/hash.c
@@ -486,13 +486,23 @@ int find_group_in_addr_hash_table(struct addr_list** table,
{
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;
}
}