[asterisk-bugs] [JIRA] (ASTERISK-25077) use IP_FREEBIND on network sockets

Gergely Dömsödi (JIRA) noreply at issues.asterisk.org
Mon May 11 07:30:32 CDT 2015


Gergely Dömsödi created ASTERISK-25077:
------------------------------------------

             Summary: use IP_FREEBIND on network sockets
                 Key: ASTERISK-25077
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25077
             Project: Asterisk
          Issue Type: Improvement
      Security Level: None
          Components: Channels/chan_pjsip, Channels/chan_sip/General
            Reporter: Gergely Dömsödi
            Severity: Minor


As systemd is getting more and more widespread on servers too, it is not unusual that asterisk starts before all the network interfaces are up and running. If bind address is used in any config file (eg. sip.conf or pjsip conf), there is a chance that asterisk cannot bind properly on that specific address. Currently It starts without properly binding on the address/port given in the configuration.

Since Linux 2.4, there is a socket option IP_FREEBIND, which solves this problem by allowing programs to bind to specific addresses even when they are not present on the system.

I think it should be considered to use this option on every network socket. While systemd itself have its own way of saying "start this service after the network is up", it is not bullet proof, and relies heavily on using some network managment tool (eg. NetworkManager), which, especially on servers  is not used in all cases, thus the ip_freebind solution would make asterisk more robust.

http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
http://man7.org/linux/man-pages/man7/ip.7.html



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list