It appears that deny or allow lines nor authoritative declarations change anything: the problem persists. However, some phones are still given IP numbers, but none that are not already presend in /var/lib/dhcp3/dhcpd.leases. All leases that list NorTel range IP numbers are free though. Having read the following section from the dhcp-leases man-page:

Group, subgroup and host declarations in the lease file are handled in the same manner, except that if any of these objects are deleted, a rubout is written to the lease file. This is just the same declara- tion, with { deleted; } in the scope of the declaration. When the lease file is rewritten, any such rubouts that can be eliminated are eliminated. It is possible to delete a declaration in the dhcpd.conf file; in this case, the rubout can never be eliminated from the dhcpd.leases file.

, but not full understanding, I suspect that the problem has to do with the leases file, so I clean it up with:

cd /var/lib/dhcp3
cp dhcpd.leases dhcpd.leases.aside
cat dhcpd.leases|tr -d '\n'|sed 's%}%}\n%g'|egrep -v ";\ *binding state free\ *;"|sed s'%;%;\n%g ; s%{%{\n%g' >
cp dhcpd.leases

Restarting the DHCP daemon then shows the VoIP phones getting IP numbers again.


Please note that the above command doesn't cut it in leases that contain ; or } within quotes.