To conclude this discussion, I just pushed a commit to master branch that masks also the value of the subnet address parameter. There was also a github enhancement request in the tracker related to the same topic.
Cheers,
Daniel
Hi Hugh,
thanks for digging into it. I guess it would be safe to change the condition into:
if ((ip->s_addr & ipv4_mask) == (net_addr.s_addr & ipv4_mask))
to be more flexible in matching by providing full ip and its netmask. It should not break existing matching with masked subnet address.
Anyone having a different opinion on this?
Cheers,
Daniel
On 14.03.18 15:57, Hugh Waite wrote:
Hi,It looks from the code that the subnet IP address must be masked.
if ((ip->s_addr & ipv4_mask) == net_addr.s_addr)return 1;return 0;
So 10.1.1.0/24 will match 10.1.1.241but 10.1.1.128/24 will NOT match 10.1.1.241
Regards,Hugh
On 14 March 2018 at 12:39, Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,
maybe it is what Hugh said in his response, respectively that the subnet
needs to have the lowest bits masked.
Can you run with debug=3? Maybe ipops module writes more debug message
to track it.
Cheers,
Daniel
On 14.03.18 13:33, volga629@networklab.ca wrote:
> Hello Daniel,
> I adjusted var to $dd and still not match
>
> if(is_method("INVITE")) {
> #$avp(destIP)=$(du{s.select,1,:});
> #$avp(subnet) = $avp(destIP) + "/16";
> #xlog("L_INFO", "Initial Request: [$rm] destination ip
> [$avp(destIP)] and sourceip [$si]\n");
> xlog("L_INFO", "Initial Request: [$rm] destination ip
> [$dd] and sourceip [$si]\n");
> if(!is_in_subnet("$si", "$dd/16")) {
> xlog("L_INFO", "Subnets not match processing
> rtp...destination ip [$dd] and source ip [$si]\n");
> route(RTP_MANAGE);
> }
> }
>
>
> Mar 14 13:21:06 sbc00 /usr/sbin/kamailio[1104]: {1 2 INVITE
> Edz14KmQgLQpO5L323Wodw..} INFO: <script>: Initial Request: [INVITE]
> destination ip [10.0.1.241] and sourceip [10.0.1.242]
> Mar 14 13:21:06 sbc00 /usr/sbin/kamailio[1104]: {1 2 INVITE
> Edz14KmQgLQpO5L323Wodw..} INFO: <script>: Subnets not match processing
> rtp...destination ip [10.0.1.241/16] and source ip [10.0.1.242]
>
>
> Slava
>
> On Wed, Mar 14, 2018 at 6:19 AM, Daniel-Constantin Mierla
> <miconda@gmail.com> wrote:
>> Hello,
>>
>>
>> On 14.03.18 00:19, volga629@networklab.ca wrote:
>>> Hello Everyone,
>>> Not sure what I am missing, but can't match ip address to subnet
>>>
>>> Log says
>>>
>>> INFO: <script>: Subnets not match processing rtp...destination ip
>>> [10.0.1.242] and sourceip [10.0.1.241]
>>>
>>>
>>> if(is_method("INVITE")) {
>>> $avp(destip)=$(du{s.select,1,:});
>>> $avp(subnet) = $avp(destip) + "/16";
>> if you want to get the host part (ip) of the $du, then just use $dd.
>>
>>> xlog("L_INFO", "Initial Request: [$rm] destination ip
>>> [$avp(destip)] and sourceip [$si]\n");
>>> if(!is_in_subnet("$si", "$avp(subnet)")) {
>>
>> So instead of the above if, get rid of the avps and you can just use:
>>
>> if(!is_in_subnet("$si", "$dd/16")) {
>>
>> Cheers,
>> Daniel
>>> xlog("L_INFO", "Subnets not match processing
>>> rtp...destination ip [$avp(subnet)] and source ip [$si]\n");
>>> route(RTP_MANAGE);
>>> }
>>> }
>>>
>>>
>>>
>>> [root@prx00 ~]# rpm -qa | grep kamailio
>>> kamailio-mysql-5.1.2-2.git4c840b7e9.fc27.x86_64
>>> kamailio-5.1.2-2.git4c840b7e9.fc27.x86_64
>>>
>>>
>>> Slava.
>>>
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing List
>>> sr-users@lists.kamailio.org
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr- users
>>
>> --
>> Daniel-Constantin Mierla
>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio Advanced Training - April 16-18, 2018, Berlin - www.asipto.com
>> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
>>
>>
>
--
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - April 16-18, 2018, Berlin - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr- users
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla www.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio Advanced Training - April 16-18, 2018, Berlin - www.asipto.com Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
-- Daniel-Constantin Mierla www.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio Advanced Training - April 16-18, 2018, Berlin - www.asipto.com Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com