Hi Yazan,
This message indicates that the router has received an IPSec packet with an identifier (SPI) that doesnt exist in the local Security association data base.
When the IPSec connection (SA) is established each tunnel is assigned a unique SPI, this is entered into the data base. If the SA is cleared or times out then the corresponding database entry is cleared. So in your case it looks like the local router is somehow clearing the tunnel, and at some time later an IPSec packet is received for a tunnel that no longer exists.
One possible solution would be to enable ISAKMP keepalives, therefore if one end clears its IPSec then the otherend would eventually reset the connection. However this doesnt fix the problem, just provides a work around.
You can check the IPSec tunnels by the command `sh crypto ipsec sa', have a look when the link is working and compare with the output when you start to see this error message.
Let me know how you get on,
Andy