sms service: better error handling