I read K source code and found these kind of lines in sock_info.c:
for(;RTA_OK(rtap, rtl);rtap=RTA_NEXT(rtap,rtl)){
switch(rtap->rta_type){
case IFA_ADDRESS:
if((*(int*)RTA_DATA(rtap))==
htons(0xfe80)){
LM_DBG("Link Local
Address, ignoring ...\n");
is_link_local = 1;
break;
}
and
case IFA_LOCAL:
if((*(int*)RTA_DATA(rtap))==
htons(0xfe80)){
LM_DBG("Link Local
Address, ignoring ...\n");
is_link_local = 1;
}
and
if(is_link_local) {
pkg_free(entry);
continue; /* link local addresses are not
bindable */
}
The last comment is wrong. Link local addresses ARE bindable. They
just require that sin6_scope_id is set.
I made an experiment by setting sin6_scope_id scope_id in udp_server.c
like this:
} else if (addr->s.sa_family==AF_INET6){
...
addr->sin6.sin6_scope_id = if_nametoindex("wlp1s0");
and looks like it worked. The error message was gone and
listen=udp:[fe80::6e29:95ff:fe7d:37e6]:5060
produced:
Apr 22 09:44:37 salmon sip-proxy[14003]: Listening on udp:
FE80:0:0:0:6E29:95FF:FE7D:37E6 [FE80:0:0:0:6E29:95FF:FE7D:37E6]:5060
-- Juha
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users