Unable to call through asterisk
Your problem lies with sip.conf. Make sure you're defining the username for your end device:
[2000]
username=2000
secret=2000
type=friend
context=phones
host=dynamic
As You mentioned in your post public IP address (which is not good practice). Are those client inside LAN or outside WAN side. Is your machine behind NAT or this public IP is set on your debian. If so check are you have forwarded 5060 and 5061 ports throughout router to asterisk
Check your sip.conf - the peer type is likely wrong - If you post your sip.conf it would be easier to answer.
Most likely you need type=friend but read about the various settings..