-
Notifications
You must be signed in to change notification settings - Fork 478
Description
$ baresip -v
baresip v3.17.1 Copyright (C) 2010 - 2024 Alfred E. Heggestad et al.
Local network addresses:
enp0s13f0u1u4u4: 172.16.51.175
virbr2: 192.168.125.1
virbr1: 192.168.110.1
virbr0: 192.168.122.1
enp0s13f0u1u4u4: 2001:db8:1:21:xxxx:xxxx:xxxx:xxxx
enp0s13f0u1u4u4: fe80::yyyy:yyyy:yyyy:yyyy
virbr2: 2001:db8:ddde:ffff::1
uag: add local address 172.16.51.175
ua: adding SIP CA file: /etc/pki/tls/certs/ca-bundle.crt
ua: adding SIP CA path:
uag: add local address 192.168.125.1
uag: add local address 192.168.110.1
uag: add local address 192.168.122.1
uag: add local address 2001:db8:1:21:xxxx:xxxx:xxxx:xxxx
uag: add local address fe80::yyyy:yyyy:yyyy:yyyy
uag: add local address 2001:db8:ddde:ffff::1
tcp: sock_bind: bind: Cannot assign requested address [99] (af=10, [2001:db8:ddde:ffff::1]:0)
ua: SIP Transport failed: Cannot assign requested address [99]
ua: init failed (Cannot assign requested address [99])
ua: stop all (forced=1)
main: unloading modules..
$
So, baresip tries to bind 2001:db8:ddde:ffff::1
which comes from virbr2
, which is a bridging interface created by libvirt for KVM-based virtual machines on the Linux workstation, fails and exits. The exiting baresip makes it unusable, even the hard failure for a binding issue itself might be technically correct. Let's look to the IP configuration:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: enp0s13f0u1u4u4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 172.16.51.175/24 brd 172.16.51.255 scope global dynamic noprefixroute enp0s13f0u1u4u4
valid_lft 41753sec preferred_lft 41753sec
inet6 2001:db8:1:21:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic noprefixroute
valid_lft 86313sec preferred_lft 14313sec
inet6 fe80::yyyy:yyyy:yyyy:yyyy/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: wlp0s20f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff permaddr xx:xx:xx:xx:xx:xx
5: virbr2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:0a:03:61 brd ff:ff:ff:ff:ff:ff
inet 192.168.125.1/24 brd 192.168.125.255 scope global virbr2
valid_lft forever preferred_lft forever
inet6 2001:db8:ddde:ffff::1/96 scope global tentative
valid_lft forever preferred_lft forever
6: virbr1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:10:df:cf brd ff:ff:ff:ff:ff:ff
inet 192.168.110.1/24 brd 192.168.110.255 scope global virbr1
valid_lft forever preferred_lft forever
7: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:b6:09:82 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
$
Why does baresip just fail for the IPv6 address on virbr2
? Is it the tentative
? Why does baresip succeed for the IPv4 address on the same interface? Is it correct that baresip even tries to bind to an interface, that has no carrier (link state down)? From what I get, the code 99 comes from underlying libraries, but I didn't dig into that.
If the behaviour is correct, could we maybe add a configuration option to ignore some interfaces, e.g. virbr*
?