The problem

You have set up an Asterisk telephone system to the best of your knowledge and belief, and have set up SIP accounts for your SIP telephones. The configuration looks completely correct. The telephones are also configured correctly. Nevertheless, they cannot log in to Asterisk.

Even with activated sip debug you don't even see error messages. sip show peers shows the accounts, but not the IP addresses of the phones.

Even the network is not the problem: The phones can be pinged from Asterisk.

The cause

The firewall (IP packet filter, iptables) is activated in Asterisk. On SUSE LINUX and other distributions this is the default setting.

If the packet filter is active, as root you can find out as follows. Only if you get the following output is everything enabled:

root@linux# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

The solution

If your Asterisk is not directly connected to the Internet, and if there are no other security issues, deactivate the firewall. With SUSE, this can be done with YaST under Security and User -> Firewall. Choose the Manual option at Start Service, and the Stop Firewall now button at switch On/Off.

Linux knowledge

These articles were written by the founder of Checkmk many years ago.
They are still valid though and thus we keep them on our website.
Mathias has since then developed a monitoring software called Checkmk

Find out more