diff options
-rw-r--r-- | src/stkutil.c | 16 | ||||
-rw-r--r-- | src/stkutil.h | 7 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/stkutil.c b/src/stkutil.c index 83ff5c77..dda9db57 100644 --- a/src/stkutil.c +++ b/src/stkutil.c @@ -4267,6 +4267,22 @@ const unsigned char *stk_pdu_from_envelope(const struct stk_envelope *envelope, &envelope->menu_selection.help_request, NULL); break; + case STK_ENVELOPE_TYPE_MO_SMS_CONTROL: + /* + * Comprehension Required according to the specs but not + * enabled in conformance tests in 3GPP 31.124. + */ + ok = build_dataobj(&builder, + build_envelope_dataobj_device_ids, 0, + envelope, + build_dataobj_address, 0, + &envelope->sms_mo_control.sc_address, + build_dataobj_address, 0, + &envelope->sms_mo_control.dest_address, + build_dataobj_location_info, 0, + &envelope->sms_mo_control.location, + NULL); + break; default: return NULL; }; diff --git a/src/stkutil.h b/src/stkutil.h index d4b5b237..2da787d7 100644 --- a/src/stkutil.h +++ b/src/stkutil.h @@ -1187,6 +1187,12 @@ struct stk_envelope_menu_selection { ofono_bool_t help_request; }; +struct stk_envelope_sms_mo_control { + struct stk_address sc_address; + struct stk_address dest_address; + struct stk_location_info location; +}; + struct stk_envelope { enum stk_envelope_type type; enum stk_device_identity_type src; @@ -1195,6 +1201,7 @@ struct stk_envelope { struct stk_envelope_sms_pp_download sms_pp_download; struct stk_envelope_cbs_pp_download cbs_pp_download; struct stk_envelope_menu_selection menu_selection; + struct stk_envelope_sms_mo_control sms_mo_control; }; }; |