[SR-Users] subnet match
Daniel-Constantin Mierla
miconda at gmail.com
Tue Apr 3 09:33:46 CEST 2018
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
On 14.03.18 16:56, Daniel-Constantin Mierla wrote:
>
> 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.
>> https://github.com/kamailio/kamailio/blob/master/src/modules/ipops/ipops_mod.c#L393
>>
>> if ((ip->s_addr & ipv4_mask) == net_addr.s_addr)
>> return 1;
>> return 0;
>>
>> So 10.1.1.0/24 <http://10.1.1.0/24> will match 10.1.1.241
>> but 10.1.1.128/24 <http://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 at gmail.com <mailto:miconda at 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 at networklab.ca
>> <mailto:volga629 at 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 <http://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 at gmail.com <mailto:miconda at gmail.com>> wrote:
>> >> Hello,
>> >>
>> >>
>> >> On 14.03.18 00:19, volga629 at networklab.ca
>> <mailto:volga629 at 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 at 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 at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>> >>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>> >>
>> >> --
>> >> Daniel-Constantin Mierla
>> >> www.twitter.com/miconda <http://www.twitter.com/miconda> --
>> www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>> >> Kamailio Advanced Training - April 16-18, 2018, Berlin -
>> www.asipto.com <http://www.asipto.com>
>> >> Kamailio World Conference - May 14-16, 2018 -
>> www.kamailioworld.com <http://www.kamailioworld.com>
>> >>
>> >>
>> >
>>
>> --
>> Daniel-Constantin Mierla
>> www.twitter.com/miconda <http://www.twitter.com/miconda> --
>> www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>> Kamailio Advanced Training - April 16-18, 2018, Berlin -
>> www.asipto.com <http://www.asipto.com>
>> Kamailio World Conference - May 14-16, 2018 -
>> www.kamailioworld.com <http://www.kamailioworld.com>
>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>
>>
>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180403/10626a5d/attachment.html>
More information about the sr-users
mailing list