If the given charset is UCS2 or 8BIT, then the failure callback is invoked.  I checked and the core USSD code always uses 0x0f for DCS, so it's OK, however it's not clear that the STK code only uses 7bit.

Perhaps it's just worth adding an ofono_error() call here, and we can deal with this if/when we decide to implement STK.