also one example of same IPv6 addresses
fe80::1:2:3:4 and fe80::1:02:003:0004

On Tue, Apr 23, 2019 at 9:01 PM Juha Heinanen <jh@tutpro.com> wrote:
Daniel-Constantin Mierla writes:

> Can you try without hard coding the IP address there, but use the value
> from the listen address? That will show if works properly with the
> config based values.

I tried like this:

  addr->sin6.sin6_scope_id =
    ipv6_get_netif_scope(sock_info->address_str.s);

and it failed:

Apr 23 20:45:12 salmon /usr/bin/sip-proxy[12701]: ERROR: <core> [core/udp_server.c:400]: udp_init(): bind(8, 0x7f88340f6fe4, 28) on FE80:0:0:0:6E29:95FF:FE7D:37E6: Invalid argument

Then I went and tried all these:

                addr->sin6.sin6_scope_id =
//                      ipv6_get_netif_scope(sock_info->address_str.s);
//                      ipv6_get_netif_scope("fe80::6e29:95ff:fe7d:37e6");
//                      ipv6_get_netif_scope("fe80:0:0:0:6e29:95ff:fe7d:37e6");
                        ipv6_get_netif_scope("fe80::6e29:95ff:fe7d:37e6");
//                      ipv6_get_netif_scope("FE80::6E29:95FF:FE7D:37E6");

The only version that worked is the one not commented out.  So the
address needs to be exactly as shown by 'ip addr':

2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 6c:29:95:7d:37:e6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.98/24 brd 192.168.43.255 scope global wlp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::6e29:95ff:fe7d:37e6/64 scope link
       valid_lft forever preferred_lft forever

i.e., same case and omitting of zero fields.

It would be better to use the name of the interface (in above wlp1s0)
with call if_nametoindex(ifname).  Is the name available?

-- Juha

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users