Hi Jeevaka, > + unsigned char addnl; Lets try to be consistent with other parts of stk.c. Use unsigned char no_cause[] = { 0x00 }; > > if (stk->pending_cmd->send_ussd.alpha_id && > stk->pending_cmd->send_ussd.alpha_id[0]) > @@ -1661,7 +1662,14 @@ static void send_ussd_callback(int error, int dcs, const unsigned char *msg, > break; > > default: > - send_simple_response(stk, STK_RESULT_TYPE_USSD_RETURN_ERROR); > + rsp.result.type = STK_RESULT_TYPE_USSD_RETURN_ERROR; > + addnl = 0; /* No specific cause can be given */ > + rsp.result.additional = &addnl; > + rsp.result.additional_len = 1; > + Then rsp.result.additional_len = sizeof(no_cause); rsp.result.additional = no_cause > + if (stk_respond(stk, &rsp, stk_command_cb)) > + stk_command_cb(&failure, stk); > + > break; > } > } Otherwise looks good. Regards, -Denis