Trying to register cisco 7940 with *

I’m having difficulty getting a cisco 7940 conected to asterisk. The phone and asterisk machine are all on the same internal lan.
if I set the phone’s registration to proxy_register: “0”, asterisk complains that ‘Registration for 'ext@ip.add.ress’ timed out, trying again’ and never registers.
If I set proxy_register to “1” asterisk then complains ‘Peer is not supposed to register’.
The asterisk machine can ping the phone no problem. I can even telnet into the phone and ping the asterisk machine no problem. I’ve googled on this for about three hours, found several sites and tried different settings but I cannot find a config that gets the phone to register and work with asterisk. can anyone help?
phone f/w v pos3-08-8-00, Asterisk/

edit: I’ve upgraded the phone to pos3-8-12-00 but still no joy. can anybody help with this p l e a s e it’s driving me insane.

well I did it in the end, and for those who may find themselves in a similar position here are the steps that worked: