diff --git a/src/stkutil.c b/src/stkutil.c index a945ef32..2efd25a8 100644 --- a/src/stkutil.c +++ b/src/stkutil.c @@ -5055,6 +5055,16 @@ const unsigned char *stk_pdu_from_envelope(const struct stk_envelope *envelope, &envelope->timer_expiration.value, NULL); break; + case STK_ENVELOPE_TYPE_USSD_DOWNLOAD: + ok = build_dataobj(&builder, + build_envelope_dataobj_device_ids, + DATAOBJ_FLAG_CR, + envelope, + build_dataobj_ussd_string, + DATAOBJ_FLAG_CR, + &envelope->ussd_data_download.string, + NULL); + break; default: return NULL; }; diff --git a/src/stkutil.h b/src/stkutil.h index baeaedbd..74ec6009 100644 --- a/src/stkutil.h +++ b/src/stkutil.h @@ -1433,6 +1433,10 @@ struct stk_envelope_timer_expiration { struct stk_timer_value value; }; +struct stk_envelope_ussd_data_download { + struct stk_ussd_string string; +}; + struct stk_envelope { enum stk_envelope_type type; enum stk_device_identity_type src; @@ -1445,6 +1449,7 @@ struct stk_envelope { struct stk_envelope_sms_mo_control sms_mo_control; struct stk_envelope_event_download event_download; struct stk_envelope_timer_expiration timer_expiration; + struct stk_envelope_ussd_data_download ussd_data_download; }; };