Not sure if I understand - do you mean that sometimes incoming sms will be a gviSms and sometimes incoming sms will be a gviSmsResponse?  If that's the case, we should call incoming_sms for every kind of incoming sms.  For failure messages, do you mean a notice of an undeliverable sms?  Our policy so far has been to not do any logging of those, since receipt messages are not always completely reliable anyway.