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!