Suddenly you realized that external SIP phones stop working without any reason, you should be avare of Cisco routers get stuck sometimes.
There is a trick to solve the issue with two commands, but first of all be sure that the sip is not registered through arterisk cli:
Type on your asterisk:
asterisk -rvvvvv
and check sip peers:
sip show peers
Now you should see the extension as UNKNOWN, if this is the case for you apply these steps on your Cisco IOS:
conf t no ip nat service sip udp port 5060 exit clear ip nat translation
To see the results, simply type:
sh ip nat translations
Have fun!