[PATCH v2] qmi-codegen: TLVs < 0x10 are mandatory by default

Dan Williams dcbw at redhat.com
Mon Mar 19 21:05:34 UTC 2018


On Sat, 2018-02-24 at 12:31 +0100, Thomas Weißschuh wrote:
> The fallback logic of specifying an explicit value has been retained
> because the following fields:
> 
> CTL Set Data Format: Protocol id=0x10 mandatory=True
> NAS Attach Detach: Action id=0x10 mandatory=True
> DMS Set Time: Time Reference Type id=0x10 mandatory=True
> WDS Get Current Settings: Requested Settings id=0x10 mandatory=True
> PDC Register: Enable Reporting id=0x10 mandatory=True
> PDC List Configs: Config Type id=0x11 mandatory=True
> PDC Delete Config: Id id=0x11 mandatory=True
> 
> This was also true for the following, but changed because testing
> revealed that they should be indeed mandatory:
> 
> LOC Start: Session ID id=0x01 mandatory=False
> LOC Stop: Session ID id=0x01 mandatory=False
> LOC Start: Session ID id=0x01 mandatory=False
> LOC Stop: Session ID id=0x01 mandatory=False
> 
> Also the old code did not regard any TLVs as mandatory, as
> Field.mandatory was a boolean but was compared to the string "yes",
> breaking the logic.

Pushed this to git master, with a squashed fixup for the LOC service
(for which I just removed all the mandatory fields anyway).

Dan

> ---
>  build-aux/qmi-codegen/Field.py   |  11 +-
>  build-aux/qmi-codegen/Message.py |   4 +-
>  data/qmi-common.json             |  35 ------
>  data/qmi-service-ctl.json        |  12 +-
>  data/qmi-service-dms.json        | 106 ------------------
>  data/qmi-service-loc.json        |   4 -
>  data/qmi-service-nas.json        | 236 ---------------------------
> ------------
>  data/qmi-service-oma.json        |  18 ---
>  data/qmi-service-pbm.json        |  19 ----
>  data/qmi-service-pdc.json        |  19 ----
>  data/qmi-service-pds.json        |  36 ------
>  data/qmi-service-uim.json        |  51 ---------
>  data/qmi-service-voice.json      |  26 -----
>  data/qmi-service-wda.json        |  23 ----
>  data/qmi-service-wds.json        | 119 --------------------
>  data/qmi-service-wms.json        |  48 --------
>  16 files changed, 12 insertions(+), 755 deletions(-)
> 
> diff --git a/build-aux/qmi-codegen/Field.py b/build-aux/qmi-
> codegen/Field.py
> index 631890f..fde9ed4 100644
> --- a/build-aux/qmi-codegen/Field.py
> +++ b/build-aux/qmi-codegen/Field.py
> @@ -41,8 +41,8 @@ class Field:
>          self.name = dictionary['name']
>          # The specific TLV ID
>          self.id = dictionary['id']
> -        # Whether the field is to be considered mandatory in the
> message
> -        self.mandatory = True if dictionary['mandatory'] == 'yes'
> else False
> +        # Overridden mandatory field, the default is calculated from
> id
> +        self._mandatory = dictionary.get('mandatory')
>          # The type, which must always be "TLV"
>          self.type = dictionary['type']
>          # The container type, which must be either "Input" or
> "Output"
> @@ -87,6 +87,13 @@ class Field:
>                          raise RuntimeError('Common type \'%s\' not
> found' % prerequisite_dictionary['name'])
>  
>  
> +    @property
> +    def mandatory(self):
> +        if self._mandatory is None:
> +            return int(self.id, 0) < 0x10
> +        return self._mandatory == 'yes'
> +
> +
>      """
>      Emit new types required by this field
>      """
> diff --git a/build-aux/qmi-codegen/Message.py b/build-aux/qmi-
> codegen/Message.py
> index 0bf62f1..518f085 100644
> --- a/build-aux/qmi-codegen/Message.py
> +++ b/build-aux/qmi-codegen/Message.py
> @@ -125,7 +125,7 @@ class Message:
>              # Count how many mandatory fields we have
>              n_mandatory = 0
>              for field in self.input.fields:
> -                if field.mandatory == 'yes':
> +                if field.mandatory:
>                      n_mandatory += 1
>  
>              if n_mandatory == 0:
> @@ -164,7 +164,7 @@ class Message:
>                  # Emit the TLV getter
>                  field.emit_input_tlv_add(cfile, '        ')
>  
> -                if field.mandatory == 'yes':
> +                if field.mandatory:
>                      template = (
>                          '    } else {\n'
>                          '        g_set_error (error,\n'
> diff --git a/data/qmi-common.json b/data/qmi-common.json
> index 7b81360..3826e50 100644
> --- a/data/qmi-common.json
> +++ b/data/qmi-common.json
> @@ -3,7 +3,6 @@
>        "name"       : "Result",
>        "fullname"   : "Qmi Message Result",
>        "id"         : "0x02",
> -      "mandatory"  : "yes",
>        "type"       : "TLV",
>        "format"     : "struct",
>        "contents"   : [ { "name"   : "Error Status",
> @@ -29,7 +28,6 @@
>     { "common-ref"    : "WDS Extended Error Code",
>       "name"          : "Extended Error Code",
>       "id"            : "0xE0",
> -     "mandatory"     : "no",
>       "type"          : "TLV",
>       "format"        : "guint16",
>       "public-format" : "QmiWdsDsProfileError",
> @@ -43,7 +41,6 @@
>     { "common-ref" : "WDS Profile Identifier",
>       "name"       : "Profile Identifier",
>       "id"         : "0x01",
> -     "mandatory"  : "yes",
>       "type"       : "TLV",
>       "format"     : "sequence",
>       "contents"   : [ { "name"   : "Profile Type",
> @@ -55,14 +52,12 @@
>      { "common-ref" : "WDS Profile Name",
>        "name"       : "Profile Name",
>        "id"         : "0x10",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "string" },
>  
>      { "common-ref" : "WDS PDP Type",
>        "name"       : "PDP Type",
>        "id"         : "0x11",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "guint8",
>        "public-format" : "QmiWdsPdpType" },
> @@ -70,7 +65,6 @@
>      { "common-ref" : "WDS PDP Header Compression Type",
>        "name"       : "PDP Header Compression Type",
>        "id"         : "0x12",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "guint8",
>        "public-format" : "QmiWdsPdpHeaderCompressionType" },
> @@ -78,7 +72,6 @@
>      { "common-ref" : "WDS PDP Data Compression Type",
>        "name"       : "PDP Data Compression Type",
>        "id"         : "0x13",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "guint8",
>        "public-format" : "QmiWdsPdpDataCompressionType" },
> @@ -86,14 +79,12 @@
>      { "common-ref" : "WDS APN Name",
>        "name"       : "APN Name",
>        "id"         : "0x14",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "string" },
>  
>      { "common-ref" : "WDS Primary IPv4 DNS Address",
>        "name"       : "Primary IPv4 DNS Address",
>        "id"         : "0x15",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "endian"     : "little",
>        "format"     : "guint32" },
> @@ -101,7 +92,6 @@
>      { "common-ref" : "WDS Secondary IPv4 DNS Address",
>        "name"       : "Secondary IPv4 DNS Address",
>        "id"         : "0x16",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "endian"     : "little",
>        "format"     : "guint32" },
> @@ -109,7 +99,6 @@
>      { "common-ref" : "WDS UMTS Requested QoS",
>        "name"       : "UMTS Requested QoS",
>        "id"         : "0x17",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "sequence",
>        "contents"  : [ { "name"          : "Traffic Class",
> @@ -145,7 +134,6 @@
>      { "common-ref" : "WDS UMTS Minimum QoS",
>        "name"       : "UMTS Minimum QoS",
>        "id"         : "0x18",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "sequence",
>        "contents"  : [ { "name"          : "Traffic Class",
> @@ -181,7 +169,6 @@
>      { "common-ref" : "WDS GPRS Requested QoS",
>        "name"       : "GPRS Requested QoS",
>        "id"         : "0x19",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "sequence",
>        "contents"   : [ { "name"   : "Precedence Class",
> @@ -198,7 +185,6 @@
>      { "common-ref" : "WDS GPRS Minimum QoS",
>        "name"       : "GPRS Minimum QoS",
>        "id"         : "0x1A",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "sequence",
>        "contents"   : [ { "name"   : "Precedence Class",
> @@ -215,21 +201,18 @@
>      { "common-ref" : "WDS Username",
>        "name"       : "Username",
>        "id"         : "0x1B",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "string" },
>  
>      { "common-ref" : "WDS Password",
>        "name"       : "Password",
>        "id"         : "0x1C",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "string" },
>  
>      { "common-ref" : "WDS Authentication",
>        "name"       : "Authentication",
>        "id"         : "0x1D",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "guint8",
>        "public-format" : "QmiWdsAuthentication" },
> @@ -237,7 +220,6 @@
>      { "common-ref" : "WDS IPv4 Address Preference",
>        "name"       : "IPv4 Address Preference",
>        "id"         : "0x1E",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "endian"     : "little",
>        "format"     : "guint32" },
> @@ -245,7 +227,6 @@
>      { "common-ref"    : "WDS PCSCF Address Using PCO",
>        "name"          : "PCSCF Address Using PCO",
>        "id"            : "0x1F",
> -      "mandatory"     : "no",
>        "type"          : "TLV",
>        "format"        : "guint8",
>        "public-format" : "gboolean" },
> @@ -253,7 +234,6 @@
>      { "common-ref"    : "WDS PCSCF Address Using DHCP",
>        "name"          : "PCSCF Address Using DHCP",
>        "id"            : "0x21",
> -      "mandatory"     : "no",
>        "type"          : "TLV",
>        "format"        : "guint8",
>        "public-format" : "gboolean" },
> @@ -261,7 +241,6 @@
>      { "common-ref"    : "WDS IMCN Flag",
>        "name"          : "IMCN Flag",
>        "id"            : "0x22",
> -      "mandatory"     : "no",
>        "type"          : "TLV",
>        "format"        : "guint8",
>        "public-format" : "gboolean" },
> @@ -269,14 +248,12 @@
>      { "common-ref"    : "WDS PDP Context Number",
>        "name"          : "PDP Context Number",
>        "id"            : "0x25",
> -      "mandatory"     : "no",
>        "type"          : "TLV",
>        "format"        : "guint8" },
>  
>      { "common-ref"    : "WDS PDP Context Secondary Flag",
>        "name"          : "PDP Context Secondary Flag",
>        "id"            : "0x26",
> -      "mandatory"     : "no",
>        "type"          : "TLV",
>        "format"        : "guint8",
>        "public-format" : "gboolean" },
> @@ -284,14 +261,12 @@
>      { "common-ref"    : "WDS PDP Context Primary ID",
>        "name"          : "PDP Context Primary ID",
>        "id"            : "0x27",
> -      "mandatory"     : "no",
>        "type"          : "TLV",
>        "format"        : "guint8" },
>  
>      { "common-ref" : "WDS IPv6 Address Preference",
>        "name"       : "IPv6 Address Preference",
>        "id"         : "0x28",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "sequence",
>        "contents"   : [ { "name"         : "Address",
> @@ -302,7 +277,6 @@
>      { "common-ref" : "WDS UMTS Requested QoS With Signaling
> Indication Flag",
>        "name"       : "UMTS Requested QoS With Signaling Indication
> Flag",
>        "id"         : "0x29",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "sequence",
>        "contents"  : [ { "name"          : "Traffic Class",
> @@ -340,7 +314,6 @@
>      { "common-ref" : "WDS UMTS Minimum QoS With Signaling Indication
> Flag",
>        "name"       : "UMTS Minimum QoS With Signaling Indication
> Flag",
>        "id"         : "0x2A",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "sequence",
>        "contents"  : [ { "name"          : "Traffic Class",
> @@ -378,7 +351,6 @@
>      { "common-ref"    : "WDS IPv6 Primary DNS Address Preference",
>        "name"          : "IPv6 Primary DNS Address Preference",
>        "id"            : "0x2B",
> -      "mandatory"     : "no",
>        "type"          : "TLV",
>        "format"        : "array",
>        "fixed-size"    : "8",
> @@ -387,7 +359,6 @@
>      { "common-ref"    : "WDS IPv6 Secondary DNS Address Preference",
>        "name"          : "IPv6 Secondary DNS Address Preference",
>        "id"            : "0x2C",
> -      "mandatory"     : "no",
>        "type"          : "TLV",
>        "format"        : "array",
>        "fixed-size"    : "8",
> @@ -396,7 +367,6 @@
>      { "common-ref" : "WDS LTE QoS Parameters",
>        "name"       : "LTE QoS Parameters",
>        "id"         : "0x2E",
> -      "mandatory"  : "no",
>        "type"       : "TLV",
>        "format"     : "sequence",
>        "contents"   : [ { "name"         : "QoS Class Identifier",
> @@ -417,7 +387,6 @@
>     { "common-ref"         : "NAS Service Provider Name",
>       "name"               : "Service Provider Name",
>       "id"                 : "0x10",
> -     "mandatory"          : "no",
>       "type"               : "TLV",
>       "format"             : "sequence",
>       "contents"           : [ { "name"          : "Name Display
> Condition",
> @@ -429,7 +398,6 @@
>     { "common-ref"         : "NAS Operator PLMN List",
>       "name"               : "Operator PLMN List",
>       "id"                 : "0x11",
> -     "mandatory"          : "no",
>       "type"               : "TLV",
>       "format"             : "array",
>       "size-prefix-format" : "guint16",
> @@ -451,7 +419,6 @@
>     { "common-ref"         : "NAS Operator PLMN Name",
>       "name"               : "Operator PLMN Name",
>       "id"                 : "0x12",
> -     "mandatory"          : "no",
>       "type"               : "TLV",
>       "format"             : "array",
>       "array-element"      : { "name" : "Element",
> @@ -478,14 +445,12 @@
>     { "common-ref"         : "NAS Operator String Name",
>       "name"               : "Operator String Name",
>       "id"                 : "0x13",
> -     "mandatory"          : "no",
>       "type"               : "TLV",
>       "format"             : "string" },
>  
>     { "common-ref"         : "NAS Operator NITZ Information",
>       "name"               : "Operator NITZ Information",
>       "id"                 : "0x14",
> -     "mandatory"          : "no",
>       "type"               : "TLV",
>       "format"             : "sequence",
>       "contents"           : [ { "name"          : "Name Encoding",
> diff --git a/data/qmi-service-ctl.json b/data/qmi-service-ctl.json
> index aacd4d1..16defc9 100644
> --- a/data/qmi-service-ctl.json
> +++ b/data/qmi-service-ctl.json
> @@ -25,14 +25,12 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "ID",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" } ],
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Link ID",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16",
> @@ -47,7 +45,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Service list",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "array",
> @@ -70,7 +67,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Service",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8" ,
> @@ -78,7 +74,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Allocation Info",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -97,7 +92,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Release Info",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -109,7 +103,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Release Info",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -128,14 +121,12 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Format",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiCtlDataFormat" },
>                      { "name"          : "Protocol",
>                        "id"            : "0x10",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
> @@ -143,7 +134,7 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Protocol",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
> +                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
> @@ -173,7 +164,6 @@
>       "since"   : "1.8",
>       "input"   : [ { "name"      : "Device Path",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.8",
>                       "format"    : "string" } ],
> diff --git a/data/qmi-service-dms.json b/data/qmi-service-dms.json
> index 32ae890..118d60b 100644
> --- a/data/qmi-service-dms.json
> +++ b/data/qmi-service-dms.json
> @@ -35,14 +35,12 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Power State Reporting",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"      : "Battery Level Report Limits",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -52,42 +50,36 @@
>                                          "format" : "guint8" } ] },
>                      { "name"          : "PIN State Reporting",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Activation State
> Reporting",
>                        "id"            : "0x13",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Operating Mode Reporting",
>                        "id"            : "0x14",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "UIM State Reporting",
>                        "id"            : "0x15",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Wireless Disable State
> Reporting",
>                        "id"            : "0x16",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "PRL Init Reporting",
>                        "id"            : "0x17",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -101,7 +93,6 @@
>       "since"   : "1.0",
>       "output"  : [  { "name"      : "Power State",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -111,7 +102,6 @@
>                                          "format" : "guint8" } ] },
>                      { "name"      : "PIN1 Status",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -124,7 +114,6 @@
>                                          "format" : "guint8" } ] },
>                      { "name"      : "PIN2 Status",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -137,35 +126,30 @@
>                                          "format" : "guint8" } ] },
>                      { "name"          : "Activation State",
>                        "id"            : "0x13",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
>                        "public-format" : "QmiDmsActivationState" },
>                      { "name"          : "Operating Mode",
>                        "id"            : "0x14",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiDmsOperatingMode" },
>                      { "name"          : "UIM State",
>                        "id"            : "0x15",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiDmsUimState" },
>                      { "name"          : "Wireless Disable State",
>                        "id"            : "0x16",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "PRL Init Notification",
>                        "id"            : "0x17",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -181,7 +165,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Info",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -211,7 +194,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Manufacturer",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -227,7 +209,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Model",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -243,7 +224,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Revision",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -259,7 +239,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "MSISDN",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -275,14 +254,12 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Esn",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Imei",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -290,7 +267,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Meid",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -306,7 +282,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Info",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -325,7 +300,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name" : "Info",
>                        "id"   : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -340,7 +314,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Pin Retries Status",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -359,7 +332,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name" : "Info",
>                        "id"   : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -371,7 +343,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Pin Retries Status",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -390,7 +361,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name" : "Info",
>                        "id"   : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -404,7 +374,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Pin Retries Status",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -423,7 +392,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name" : "Info",
>                        "id"   : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -437,7 +405,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Pin Retries Status",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -457,7 +424,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "PIN1 Status",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -470,7 +436,6 @@
>                                          "format" : "guint8" } ] },
>                      { "name"      : "PIN2 Status",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -492,7 +457,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Revision",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -508,7 +472,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Mode",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8",
> @@ -516,7 +479,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Offline Reason",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16",
> @@ -526,7 +488,6 @@
>                                             "value" :
> "QMI_DMS_OPERATING_MODE_OFFLINE" } ] },
>                      { "name"      : "Hardware Restricted Mode",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8",
> @@ -542,7 +503,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Mode",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8",
> @@ -559,7 +519,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Device Time",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -572,14 +531,12 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "System Time",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint64",
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "User Time",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint64",
> @@ -595,14 +552,12 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Version",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16",
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"          : "PRL Only Preference",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -619,7 +574,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Info",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
> @@ -635,7 +589,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"               : "Activation Code",
>                        "id"                 : "0x01",
> -                      "mandatory"          : "yes",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "string",
> @@ -651,7 +604,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Info",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        // API updated in 1.6
>                        "since"     : "1.6",
> @@ -669,7 +621,6 @@
>                                          "max-size" : "15" } ] },
>                      { "name"               : "MN HA key",
>                        "id"                 : "0x11",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "string",
> @@ -677,7 +628,6 @@
>                        "size-prefix-format" : "guint8" },
>                      { "name"               : "MN AAA key",
>                        "id"                 : "0x12",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "string",
> @@ -685,7 +635,6 @@
>                        "size-prefix-format" : "guint8" },
>                      { "name"      : "PRL",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.6",
>                        "format"    : "sequence",
> @@ -708,7 +657,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Enabled",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -724,7 +672,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Info",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -745,7 +692,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Info",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -767,7 +713,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"               : "User Data",
>                        "id"                 : "0x01",
> -                      "mandatory"          : "yes",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -784,7 +729,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"               : "User Data",
>                       "id"                 : "0x01",
> -                     "mandatory"          : "yes",
>                       "type"               : "TLV",
>                       "since"              : "1.0",
>                       "format"             : "array",
> @@ -802,7 +746,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"               : "ERI File",
>                        "id"                 : "0x01",
> -                      "mandatory"          : "yes",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -819,7 +762,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Service Programming Code",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "string",
> @@ -835,7 +777,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Service Programming Code",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "string",
> @@ -852,7 +793,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "ICCID",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -876,7 +816,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Facility",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -884,7 +823,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "CK Status",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -898,7 +836,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Operation Blocking Facility",
>                        "id"        : "0x10",
> -                      "mandatory" : "false",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8",
> @@ -914,7 +851,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Facility",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -929,7 +865,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Verify Retries Left",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" } ] },
> @@ -943,7 +878,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Facility",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -955,7 +889,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Unblock Retries Left",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" } ] },
> @@ -970,7 +903,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "IMSI",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string",
> @@ -986,7 +918,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "State",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -1003,7 +934,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Band Capability",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint64",
> @@ -1011,7 +941,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"          : "LTE Band Capability",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint64",
> @@ -1019,7 +948,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"          		: "Extended
> LTE Band Capability",
>                        "id"            		: "0x12",
> -                      "mandatory"     		: "no",
>                        "type"          		: "TLV",
>                        "since"         		: "1.20",
>                        "format"        		: "array",
> @@ -1037,7 +965,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"         : "SKU",
>                        "id"           : "0x01",
> -                      "mandatory"    : "yes",
>                        "type"         : "TLV",
>                        "since"         : "1.0",
>                        "format"       : "string",
> @@ -1053,7 +980,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "List",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"        : "1.0",
>                       "format"        : "array",
> @@ -1079,7 +1005,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"          : "List",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "array",
> @@ -1096,21 +1021,18 @@
>                                                            "format" :
> "string" } ] } },
>                     { "name"          : "Download Override",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Modem Storage Index",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8" } ],
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Image Download List",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "array",
> @@ -1129,7 +1051,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "List",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "array",
> @@ -1167,7 +1088,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "Image",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "struct",
> @@ -1191,7 +1111,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Time Value",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint64" },
> @@ -1213,7 +1132,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "Image",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "struct",
> @@ -1229,7 +1147,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"         : "Boot Version",
>                       "id"           : "0x10",
> -                     "mandatory"    : "no",
>                       "type"         : "TLV",
>                       "since"        : "1.0",
>                       "format"       : "sequence",
> @@ -1240,7 +1157,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"         : "PRI Version",
>                       "id"           : "0x11",
> -                     "mandatory"    : "no",
>                       "type"         : "TLV",
>                       "since"        : "1.0",
>                       "format"       : "sequence",
> @@ -1252,7 +1168,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"         : "OEM Lock ID",
>                       "id"           : "0x12",
> -                     "mandatory"    : "no",
>                       "type"         : "TLV",
>                       "since"        : "1.0",
>                       "format"       : "guint32",
> @@ -1268,7 +1183,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Config",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -1284,7 +1198,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Config",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -1301,7 +1214,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Mode",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint8",
> @@ -1317,7 +1229,6 @@
>       "since"   : "1.18",
>       "input"   : [ { "name"          : "Mode",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint8",
> @@ -1334,7 +1245,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Version",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "string",
> @@ -1349,14 +1259,12 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"       : "Current Code",
>                        "id"         : "0x01",
> -                      "mandatory"  : "yes",
>                        "type"       : "TLV",
>                        "since"      : "1.0",
>                        "format"     : "string",
>                        "fixed-size" : "6" },
>                      { "name"       : "New Code",
>                        "id"         : "0x02",
> -                      "mandatory"  : "yes",
>                        "type"       : "TLV",
>                        "since"      : "1.0",
>                        "format"     : "string",
> @@ -1373,7 +1281,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"               : "List",
>                       "id"                 : "0x10",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.14",
>                       "format"             : "array",
> @@ -1391,7 +1298,6 @@
>       "since"   : "1.18",
>       "input"   : [ { "name"          : "Mode",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint8",
> @@ -1409,63 +1315,54 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Model",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Boot version",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "AMSS version",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "SKU ID",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Package ID",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Carrier ID",
>                       "id"            : "0x15",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "PRI version",
>                       "id"            : "0x16",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Carrier",
>                       "id"            : "0x17",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Config version",
>                       "id"            : "0x18",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string",
> @@ -1481,7 +1378,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Current",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.20",
>                       "format"        : "guint8",
> @@ -1489,7 +1385,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Supported",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.20",
>                       "format"        : "array",
> @@ -1506,7 +1401,6 @@
>       "since"   : "1.20",
>       "input"   : [ { "name"          : "Current",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.20",
>                       "format"        : "guint8",
> diff --git a/data/qmi-service-loc.json b/data/qmi-service-loc.json
> index 235e82f..e7c6579 100644
> --- a/data/qmi-service-loc.json
> +++ b/data/qmi-service-loc.json
> @@ -26,13 +26,11 @@
>       "since"   : "1.20",
>       "input"   : [ { "name"          : "Session ID",
>                       "id"            : "0x01",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.20",
>                       "format"        : "guint8" },
>                     { "name"          : "Intermediate Report State",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint32",
> @@ -48,7 +46,6 @@
>       "since"   : "1.20",
>       "input"   : [ { "name"          : "Session ID",
>                       "id"            : "0x01",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.20",
>                       "format"        : "guint8" } ],
> @@ -64,7 +61,6 @@
>       "version" : "1.20",
>       "output"  : [ { "name"      : "Session ID",
>                       "id"        : "0x02",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "guint8" } ] }
> diff --git a/data/qmi-service-nas.json b/data/qmi-service-nas.json
> index bc50865..5769429 100644
> --- a/data/qmi-service-nas.json
> +++ b/data/qmi-service-nas.json
> @@ -36,7 +36,6 @@
>       "scope"   : "library-only",
>       "input"   : [  { "name"      : "Transaction ID",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16" } ],
> @@ -51,7 +50,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Signal Strength Indicator",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -63,21 +61,18 @@
>                                          "array-element" : { "format"
> : "gint8" } } ] },
>                      { "name"          : "RF Band Information",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Registration Reject
> Reason",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"      : "RSSI Indicator",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -88,7 +83,6 @@
>                                          "format" : "guint8" } ] },
>                      { "name"      : "ECIO Indicator",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -99,7 +93,6 @@
>                                          "format" : "guint8" } ] },
>                      { "name"      : "IO Indicator",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -110,7 +103,6 @@
>                                          "format" : "guint8" } ] },
>                      { "name"      : "SINR Indicator",
>                        "id"        : "0x16",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -121,14 +113,12 @@
>                                          "format" : "guint8" } ] },
>                      { "name"          : "Error Rate Indicator",
>                        "id"            : "0x17",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"      : "ECIO Threshold",
>                        "id"        : "0x19",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -140,7 +130,6 @@
>                                          "array-element" : { "format"
> : "gint16" } } ] },
>                      { "name"      : "SINR Threshold",
>                        "id"        : "0x1A",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -152,7 +141,6 @@
>                                          "array-element" : { "format"
> : "guint8" } } ] },
>                      { "name"      : "LTE SNR Delta",
>                        "id"        : "0x1B",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -163,7 +151,6 @@
>                                          "format"        : "guint8" }
> ] },
>                      { "name"      : "LTE RSRP Delta",
>                        "id"        : "0x1C",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -181,7 +168,6 @@
>       "since"   : "1.0",
>       "output"  : [  { "name"      : "Signal Strength",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -192,7 +178,6 @@
>                                          "public-format" :
> "QmiNasRadioInterface" } ] },
>                      { "name"               : "RF Band Information",
>                        "id"                 : "0x11",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -208,7 +193,6 @@
>                                                                  "for
> mat"        : "guint16" } ] } },
>                      { "name"      : "Registration Reject Reason",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -219,7 +203,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "RSSI",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -230,7 +213,6 @@
>                                          "public-format" :
> "QmiNasRadioInterface" } ] },
>                      { "name"      : "ECIO",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        // API changed in 1.14
>                        "since"     : "1.14",
> @@ -242,20 +224,17 @@
>                                          "public-format" :
> "QmiNasRadioInterface" } ] },
>                      { "name"      : "IO",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint32" },
>                      { "name"          : "SINR",
>                        "id"            : "0x16",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasEvdoSinrLevel" },
>                      { "name"      : "Error Rate",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -266,7 +245,6 @@
>                                          "public-format" :
> "QmiNasRadioInterface" } ] },
>                      { "name"      : "RSRQ",
>                        "id"        : "0x18",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -277,13 +255,11 @@
>                                          "public-format" :
> "QmiNasRadioInterface" } ] },
>                      { "name"      : "LTE SNR",
>                        "id"        : "0x19",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint16" },
>                      { "name"      : "LTE RSRP",
>                        "id"        : "0x1A",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint16" } ] },
> @@ -297,105 +273,90 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "System Selection
> Preference",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "DDTM Events",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Serving System Events",
>                        "id"            : "0x13",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Dual Standby Preference",
>                        "id"            : "0x14",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Subscription Info",
>                        "id"            : "0x15",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Network Time",
>                        "id"            : "0x17",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "System Info",
>                        "id"            : "0x18",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Signal Info",
>                        "id"            : "0x19",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Error Rate",
>                        "id"            : "0x1A",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "HDR New UATI Assigned",
>                        "id"            : "0x1B",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "HDR Session Closed",
>                        "id"            : "0x1C",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Managed Roaming",
>                        "id"            : "0x1D",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Current PLMN Name",
>                        "id"            : "0x1E",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "eMBMS Status",
>                        "id"            : "0x1F",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "RF Band Information",
>                        "id"            : "0x20",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -412,7 +373,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"               : "List",
>                       "id"                 : "0x10",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.0",
>                       "format"             : "array",
> @@ -429,7 +389,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Request Mask",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
> @@ -437,7 +396,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Signal Strength",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -449,7 +407,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"               : "Strength List",
>                        "id"                 : "0x10",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -463,7 +420,6 @@
>                                                                  "pub
> lic-format" : "QmiNasRadioInterface" } ] } },
>                      { "name"               : "RSSI List",
>                        "id"                 : "0x11",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -477,7 +433,6 @@
>                                                                  "pub
> lic-format" : "QmiNasRadioInterface" } ] } },
>                      { "name"               : "ECIO List",
>                        "id"                 : "0x12",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -491,20 +446,17 @@
>                                                                  "pub
> lic-format" : "QmiNasRadioInterface" } ] } },
>                      { "name"      : "IO",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint32" },
>                      { "name"          : "SINR",
>                        "id"            : "0x14",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasEvdoSinrLevel" },
>                      { "name"               : "Error Rate List",
>                        "id"                 : "0x15",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -518,7 +470,6 @@
>                                                                  "pub
> lic-format" : "QmiNasRadioInterface" } ] } },
>                      { "name"      : "RSRQ",
>                        "id"        : "0x16",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -529,13 +480,11 @@
>                                          "public-format" :
> "QmiNasRadioInterface" } ] },
>                      { "name"      : "LTE SNR",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint16" },
>                      { "name"      : "LTE RSRP",
>                        "id"        : "0x18",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint16" } ] },
> @@ -551,7 +500,6 @@
>       "abort"   : "yes",
>       "input"   : [  { "name"          : "Network Type",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -559,7 +507,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"               : "Network Information",
>                        "id"                 : "0x10",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -577,7 +524,6 @@
>                                                                  "for
> mat" : "string" } ] } },
>                      { "name"               : "Radio Access
> Technology",
>                        "id"                 : "0x11",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -593,7 +539,6 @@
>                                                                  "pub
> lic-format" : "QmiNasRadioInterface" } ] } },
>                      { "name"               : "MNC PCS Digit Include
> Status",
>                        "id"                 : "0x12",
> -                      "mandatory"          : "no",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -617,14 +562,12 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Action",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasNetworkRegisterType"
> },
>                      { "name"      : "Manual Registration Info 3GPP",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -637,14 +580,12 @@
>                                          "public-format" :
> "QmiNasRadioInterface" } ] },
>                      { "name"          : "Change Duration",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasChangeDuration" },
>                      { "name"          : "MNC PCS Digit Include
> Status",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -677,7 +618,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Serving System",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -700,14 +640,12 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"          : "Roaming Indicator",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" :
> "QmiNasRoamingIndicatorStatus" },
>                      { "name"          : "Data Service Capability",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
> @@ -715,7 +653,6 @@
>                                            "public-format" :
> "QmiNasDataCapability" } },
>                      { "name"      : "Current PLMN",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -727,7 +664,6 @@
>                                          "format" : "string" } ] },
>                      { "name"      : "CDMA System ID",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -737,7 +673,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "CDMA Base Station Info",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -749,7 +684,6 @@
>                                          "format" : "gint32" } ] },
>                      { "name"      : "Roaming Indicator List",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"        : "array",
> @@ -763,14 +697,12 @@
>                                                             "public-
> format" : "QmiNasRoamingIndicatorStatus" } ] } },
>                      { "name"          : "Default Roaming Indicator",
>                        "id"            : "0x16",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" :
> "QmiNasRoamingIndicatorStatus" },
>                      { "name"      : "Time Zone 3GPP2",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -783,58 +715,49 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "CDMA P Rev",
>                        "id"        : "0x18",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" },
>                      { "name"      : "Time Zone 3GPP",
>                        "id"        : "0x1A",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint8" },
>                      { "name"      : "Daylight Saving Time Adjustment
> 3GPP",
>                        "id"        : "0x1B",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" },
>                      { "name"      : "LAC 3GPP",
>                        "id"        : "0x1C",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16" },
>                      { "name"      : "CID 3GPP",
>                        "id"        : "0x1D",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32" },
>                      { "name"          : "Concurrent Service Info
> 3GPP2",
>                        "id"            : "0x1E",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean"},
>                      { "name"          : "PRL Indicator 3GPP2",
>                        "id"            : "0x1F",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean"},
>                      { "name"          : "DTM Support",
>                        "id"            : "0x20",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean"},
>                      { "name"      : "Detailed Service Status",
>                        "id"        : "0x21",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -855,7 +778,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "CDMA System Info",
>                        "id"        : "0x22",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -865,20 +787,17 @@
>                                          "format" : "guint8" } ] },
>                      { "name"          : "HDR Personality",
>                        "id"            : "0x23",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasHdrPersonality"},
>                      { "name"      : "LTE TAC",
>                        "id"        : "0x24",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16" },
>                      { "name"      : "Call Barring Status",
>                        "id"        : "0x25",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -890,13 +809,11 @@
>                                          "public-format" :
> "QmiNasCallBarringStatus" } ] },
>                      { "name"      : "UMTS Primary Scrambling Code",
>                        "id"        : "0x26",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16" },
>                      { "name"      : "MNC PCS Digit Include Status",
>                        "id"        : "0x27",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -916,7 +833,6 @@
>       "since"   : "1.0",
>       "output"  : [  { "name"      : "Serving System",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -938,14 +854,12 @@
>                                                              "public-
> format" : "QmiNasRadioInterface" } } ] },
>                      { "name"          : "Roaming Indicator",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" :
> "QmiNasRoamingIndicatorStatus" },
>                      { "name"          : "Data Service Capability",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
> @@ -953,7 +867,6 @@
>                                            "public-format" :
> "QmiNasDataCapability" } },
>                      { "name"      : "Current PLMN",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"      : "1.0",
>                        "format"    : "sequence",
> @@ -965,7 +878,6 @@
>                                          "format" : "string" } ] },
>                      { "name"      : "CDMA System ID",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -975,7 +887,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "CDMA Base Station Info",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -987,7 +898,6 @@
>                                          "format" : "gint32" } ] },
>                      { "name"      : "Roaming Indicator List",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"        : "array",
> @@ -1001,14 +911,12 @@
>                                                             "public-
> format" : "QmiNasRoamingIndicatorStatus" } ] } },
>                      { "name"          : "Default Roaming Indicator",
>                        "id"            : "0x16",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" :
> "QmiNasRoamingIndicatorStatus" },
>                      { "name"      : "Time Zone 3GPP2",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1021,32 +929,27 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "CDMA P Rev",
>                        "id"        : "0x18",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" },
>                      { "name"          : "PLMN Name Flag 3GPP",
>                        "id"            : "0x19",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "gint8",
>                        "public-format" : "gboolean" },
>                      { "name"      : "Time Zone 3GPP",
>                        "id"        : "0x1A",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint8" },
>                      { "name"      : "Daylight Saving Time Adjustment
> 3GPP",
>                        "id"        : "0x1B",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" },
>                      { "name"      : "Universal Time and Local Time
> Zone 3GPP",
>                        "id"        : "0x1C",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1066,40 +969,34 @@
>                                          "format" : "guint8" } ] },
>                      { "name"      : "LAC 3GPP",
>                        "id"        : "0x1D",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16" },
>                      { "name"      : "CID 3GPP",
>                        "id"        : "0x1E",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32" },
>                      { "name"          : "Concurrent Service Info
> 3GPP2",
>                        "id"            : "0x1F",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean"},
>                      { "name"          : "PRL Indicator 3GPP2",
>                        "id"            : "0x20",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean"},
>                      { "name"          : "DTM Support",
>                        "id"            : "0x21",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean"},
>                      { "name"      : "Detailed Service Status",
>                        "id"        : "0x22",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1120,7 +1017,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "CDMA System Info",
>                        "id"        : "0x23",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1130,20 +1026,17 @@
>                                          "format" : "guint8" } ] },
>                      { "name"          : "HDR Personality",
>                        "id"            : "0x24",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasHdrPersonality"},
>                      { "name"      : "LTE TAC",
>                        "id"        : "0x25",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16" },
>                      { "name"      : "Call Barring Status",
>                        "id"        : "0x26",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1155,20 +1048,17 @@
>                                          "public-format" :
> "QmiNasCallBarringStatus" } ] },
>                      { "name"          : "PLMN Not Changed
> Indication",
>                        "id"            : "0x27",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"      : "UMTS Primary Scrambling Code",
>                        "id"        : "0x28",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16" },
>                      { "name"      : "MNC PCS Digit Include Status",
>                        "id"        : "0x29",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1190,7 +1080,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Home Network",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1203,7 +1092,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Home System ID",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1213,7 +1101,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "Home Network 3GPP2",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1231,7 +1118,6 @@
>                                          "format" : "string" } ] },
>                      { "name"      : "Home Network 3GPP MNC",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1251,7 +1137,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Current",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1273,7 +1158,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Active",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1286,7 +1170,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Persistent",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16",
> @@ -1302,7 +1185,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "List",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
> @@ -1326,49 +1208,42 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Emergency mode",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Mode Preference",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
>                        "public-format" : "QmiNasRatModePreference" },
>                      { "name"          : "Band Preference",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint64",
>                        "public-format" : "QmiNasBandPreference" },
>                      { "name"          : "CDMA PRL Preference",
>                        "id"            : "0x13",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
>                        "public-format" : "QmiNasCdmaPrlPreference" },
>                      { "name"          : "Roaming Preference",
>                        "id"            : "0x14",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
>                        "public-format" : "QmiNasRoamingPreference" },
>                      { "name"          : "LTE Band Preference",
>                        "id"            : "0x15",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint64",
>                        "public-format" : "QmiNasLteBandPreference" },
>                      { "name"      : "Network Selection Preference",
>                        "id"        : "0x16",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1381,42 +1256,36 @@
>                                          "format" : "guint16" } ] },
>                      { "name"          : "Change Duration",
>                        "id"            : "0x17",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasChangeDuration" },
>                      { "name"          : "Service Domain Preference",
>                        "id"            : "0x18",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint32",
>                        "public-format" :
> "QmiNasServiceDomainPreference" },
>                      { "name"          : "GSM WCDMA Acquisition Order
> Preference",
>                        "id"            : "0x19",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint32",
>                        "public-format" :
> "QmiNasGsmWcdmaAcquisitionOrderPreference" },
>                      { "name"          : "MNC PDS Digit Include
> Status",
>                        "id"            : "0x1A",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "TD SCDMA Band Preference",
>                        "id"            : "0x1D",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint64",
>                        "public-format" :
> "QmiNasTdScdmaBandPreference" },
>                      { "name"          : "Extended LTE Band
> Preference",
>                        "id"            : "0x24",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.20",
>                        "format"        : "sequence",
> @@ -1440,77 +1309,66 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Emergency mode",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Mode Preference",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
>                        "public-format" : "QmiNasRatModePreference" },
>                      { "name"          : "Band Preference",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint64",
>                        "public-format" : "QmiNasBandPreference" },
>                      { "name"          : "CDMA PRL Preference",
>                        "id"            : "0x13",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
>                        "public-format" : "QmiNasCdmaPrlPreference" },
>                      { "name"          : "Roaming Preference",
>                        "id"            : "0x14",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
>                        "public-format" : "QmiNasRoamingPreference" },
>                      { "name"          : "LTE Band Preference",
>                        "id"            : "0x15",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint64",
>                        "public-format" : "QmiNasLteBandPreference" },
>                      { "name"          : "Network Selection
> Preference",
>                        "id"            : "0x16",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" :
> "QmiNasNetworkSelectionPreference" },
>                      { "name"          : "Service Domain Preference",
>                        "id"            : "0x18",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint32",
>                        "public-format" :
> "QmiNasServiceDomainPreference" },
>                      { "name"          : "GSM WCDMA Acquisition Order
> Preference",
>                        "id"            : "0x19",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint32",
>                        "public-format" :
> "QmiNasGsmWcdmaAcquisitionOrderPreference" },
>                      { "name"          : "TD SCDMA Band Preference",
>                        "id"            : "0x1A",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint64",
>                        "public-format" :
> "QmiNasTdScdmaBandPreference" },
>                      { "name"      : "Manual Network Selection",
>                        "id"        : "0x1B",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1523,7 +1381,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"          : "Extended LTE Band
> Preference",
>                        "id"            : "0x23",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.20",
>                        "format"        : "sequence",
> @@ -1587,7 +1444,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "GERAN Info",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "sequence",
> @@ -1625,7 +1481,6 @@
>                                                                      
>          "format" : "guint16" } ] } } ] },
>                      { "name"      : "UMTS Info",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "sequence",
> @@ -1670,7 +1525,6 @@
>                                                                      
>          "format" : "gint16" } ] } } ] },
>                      { "name"      : "CDMA Info",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "sequence",
> @@ -1688,7 +1542,6 @@
>                                          "format" : "guint32" } ] },
>                      { "name"      : "Intrafrequency LTE Info",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "sequence",
> @@ -1730,7 +1583,6 @@
>                                                                      
>          "format" : "gint16" } ] } } ] },
>                      { "name"      : "Interfrequency LTE Info",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "sequence",
> @@ -1765,7 +1617,6 @@
>                                                                      
>                                               "format" : "gint16" } ]
> } } ] } } ] },
>                      { "name"      : "LTE Info Neighboring GSM",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "sequence",
> @@ -1804,7 +1655,6 @@
>                                                                      
>                                               "format" : "gint16" } ]
> } } ] } } ] },
>                      { "name"      : "LTE Info Neighboring WCDMA",
>                        "id"        : "0x16",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "sequence",
> @@ -1837,13 +1687,11 @@
>                                                                      
>                                               "format" : "gint16" } ]
> } } ] } } ] },
>                      { "name"      : "UMTS Cell ID",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "guint32" },
>                      { "name"      : "UMTS Info Neighboring LTE",
>                        "id"        : "0x18",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.10",
>                        "format"    : "sequence",
> @@ -1877,7 +1725,6 @@
>       "since"   : "1.0",
>       "output"  : [  { "name"      : "Universal Time",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.4",
>                        "format"    : "sequence",
> @@ -1898,20 +1745,17 @@
>                                          "public-format" :
> "QmiNasDayOfWeek" } ] },
>                      { "name"      : "Timezone Offset",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.4",
>                        "format"    : "gint8" },
>                      { "name"      : "Daylight Savings Adjustment",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.4",
>                        "format"    : "guint8",
>                        "public-format" :
> "QmiNasDaylightSavingsAdjustment" },
>                      { "name"      : "Radio Interface",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.4",
>                        "format"    : "gint8",
> @@ -1927,7 +1771,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "CDMA Service Status",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1939,7 +1782,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "HDR Service Status",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1951,7 +1793,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "GSM Service Status",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1966,7 +1807,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "WCDMA Service Status",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1981,7 +1821,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "LTE Service Status",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1996,7 +1835,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "CDMA System Info",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2078,7 +1916,6 @@
>                                          "fixed-size" : "3" } ] },
>                      { "name"      : "HDR System Info",
>                        "id"        : "0x16",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2132,7 +1969,6 @@
>                                          "fixed-size" : "16" } ] },
>                      { "name"      : "GSM System Info",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2201,7 +2037,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "WCDMA System Info",
>                        "id"        : "0x18",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2275,7 +2110,6 @@
>                                          "format"        : "guint16"
> } ] },
>                      { "name"      : "LTE System Info",
>                        "id"        : "0x19",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2337,7 +2171,6 @@
>                                          "format"        : "guint16"
> } ] },
>                      { "name"      : "Additional CDMA System Info",
>                        "id"        : "0x1A",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2347,7 +2180,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "Additional HDR System Info",
>                        "id"        : "0x1B",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2355,7 +2187,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "Additional GSM System Info",
>                        "id"        : "0x1C",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2366,7 +2197,6 @@
>                                          "public-format" :
> "QmiNasCellBroadcastCapability" } ] },
>                      { "name"      : "Additional WCDMA System Info",
>                        "id"        : "0x1D",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2377,7 +2207,6 @@
>                                          "public-format" :
> "QmiNasCellBroadcastCapability" } ] },
>                      { "name"      : "Additional LTE System Info",
>                        "id"        : "0x1E",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2385,7 +2214,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "GSM Call Barring Status",
>                        "id"        : "0x1F",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2397,7 +2225,6 @@
>                                          "public-format" :
> "QmiNasCallBarringStatus" } ] },
>                      { "name"      : "WCDMA Call Barring Status",
>                        "id"        : "0x20",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2409,28 +2236,24 @@
>                                          "public-format" :
> "QmiNasCallBarringStatus" } ] },
>                      { "name"          : "LTE Voice Support",
>                        "id"            : "0x21",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "GSM Cipher Domain",
>                        "id"            : "0x22",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasNetworkServiceDomain"
> },
>                      { "name"          : "WCDMA Cipher Domain",
>                        "id"            : "0x23",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasNetworkServiceDomain"
> },
>                      { "name"      : "TD SCDMA Service Status",
>                        "id"        : "0x24",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2445,7 +2268,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "TD SCDMA System Info",
>                        "id"        : "0x25",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2543,14 +2365,12 @@
>                                          "public-format" :
> "QmiNasNetworkServiceDomain" } ] },
>                      { "name"          : "LTE eMBMS Coverage Info
> Support",
>                        "id"            : "0x26",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "SIM Reject Info",
>                        "id"            : "0x27",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint32",
> @@ -2565,7 +2385,6 @@
>       "since"   : "1.0",
>       "output"  : [  { "name"      : "CDMA Service Status",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2577,7 +2396,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "HDR Service Status",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2589,7 +2407,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "GSM Service Status",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2604,7 +2421,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "WCDMA Service Status",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2619,7 +2435,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "LTE Service Status",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2634,7 +2449,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "CDMA System Info",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"         : "1.0",
>                        "format"    : "sequence",
> @@ -2716,7 +2530,6 @@
>                                          "fixed-size" : "3" } ] },
>                      { "name"      : "HDR System Info",
>                        "id"        : "0x16",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2770,7 +2583,6 @@
>                                          "fixed-size" : "16" } ] },
>                      { "name"      : "GSM System Info",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2839,7 +2651,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "WCDMA System Info",
>                        "id"        : "0x18",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2913,7 +2724,6 @@
>                                          "format"        : "guint16"
> } ] },
>                      { "name"      : "LTE System Info",
>                        "id"        : "0x19",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2975,7 +2785,6 @@
>                                          "format"        : "guint16"
> } ] },
>                      { "name"      : "Additional CDMA System Info",
>                        "id"        : "0x1A",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2985,7 +2794,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "Additional HDR System Info",
>                        "id"        : "0x1B",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -2993,7 +2801,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "Additional GSM System Info",
>                        "id"        : "0x1C",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3004,7 +2811,6 @@
>                                          "public-format" :
> "QmiNasCellBroadcastCapability" } ] },
>                      { "name"      : "Additional WCDMA System Info",
>                        "id"        : "0x1D",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3015,7 +2821,6 @@
>                                          "public-format" :
> "QmiNasCellBroadcastCapability" } ] },
>                      { "name"      : "Additional LTE System Info",
>                        "id"        : "0x1E",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3023,7 +2828,6 @@
>                                          "format" : "guint16" } ] },
>                      { "name"      : "GSM Call Barring Status",
>                        "id"        : "0x1F",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3035,7 +2839,6 @@
>                                          "public-format" :
> "QmiNasCallBarringStatus" } ] },
>                      { "name"      : "WCDMA Call Barring Status",
>                        "id"        : "0x20",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3047,35 +2850,30 @@
>                                          "public-format" :
> "QmiNasCallBarringStatus" } ] },
>                      { "name"          : "LTE Voice Support",
>                        "id"            : "0x21",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "GSM Cipher Domain",
>                        "id"            : "0x22",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasNetworkServiceDomain"
> },
>                      { "name"          : "WCDMA Cipher Domain",
>                        "id"            : "0x23",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiNasNetworkServiceDomain"
> },
>                      { "name"          : "PLMN Not Changed
> Indication",
>                        "id"            : "0x24",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"      : "TD SCDMA Service Status",
>                        "id"        : "0x25",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3090,7 +2888,6 @@
>                                          "public-format" : "gboolean"
> } ] },
>                      { "name"      : "TD SCMA System Info",
>                        "id"        : "0x26",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3188,14 +2985,12 @@
>                                          "public-format" :
> "QmiNasNetworkServiceDomain" } ] },
>                      { "name"          : "LTE eMBMS Coverage Info
> Support",
>                        "id"            : "0x27",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "SIM Reject Info",
>                        "id"            : "0x28",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint32",
> @@ -3211,7 +3006,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "CDMA Signal Strength",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3221,7 +3015,6 @@
>                                          "format" : "gint16" } ] },
>                      { "name"      : "HDR Signal Strength",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3236,13 +3029,11 @@
>                                          "format" : "gint32" } ] },
>                      { "name"      : "GSM Signal Strength",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint8" },
>                      { "name"      : "WCDMA Signal Strength",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3252,7 +3043,6 @@
>                                          "format" : "gint16" } ] },
>                      { "name"      : "LTE Signal Strength",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3266,7 +3056,6 @@
>                                          "format" : "gint16" } ] },
>                      { "name"      : "TDMA Signal Strength",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint8" } ] },
> @@ -3280,56 +3069,48 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "RSSI Threshold",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
>                        "array-element" : { "format" : "gint8" } },
>                      { "name"          : "ECIO Threshold",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
>                        "array-element" : { "format" : "gint16" } },
>                      { "name"          : "SINR Threshold",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
>                        "array-element" : { "format" : "guint8" } },
>                      { "name"          : "LTE SNR Threshold",
>                        "id"            : "0x13",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
>                        "array-element" : { "format" : "gint16" } },
>                      { "name"          : "IO Threshold",
>                        "id"            : "0x14",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
>                        "array-element" : { "format" : "gint32" } },
>                      { "name"          : "RSRQ Threshold",
>                        "id"            : "0x15",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
>                        "array-element" : { "format" : "gint8" } },
>                      { "name"          : "RSRP Threshold",
>                        "id"            : "0x16",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
>                        "array-element" : { "format" : "gint16" } },
>                      { "name"      : "LTE Report",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3339,7 +3120,6 @@
>                                          "format" : "guint8" } ] },
>                      { "name"          : "RSCP Threshold",
>                        "id"            : "0x18",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "array",
> @@ -3355,7 +3135,6 @@
>       "since"   : "1.0",
>       "output"  : [  { "name"      : "CDMA Signal Strength",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3365,7 +3144,6 @@
>                                          "format" : "gint16" } ] },
>                      { "name"      : "HDR Signal Strength",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3380,13 +3158,11 @@
>                                          "format" : "gint32" } ] },
>                      { "name"      : "GSM Signal Strength",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint8" },
>                      { "name"      : "WCDMA Signal Strength",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3396,7 +3172,6 @@
>                                          "format" : "gint16" } ] },
>                      { "name"      : "LTE Signal Strength",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -3410,7 +3185,6 @@
>                                          "format" : "gint16" } ] },
>                      { "name"      : "TDMA Signal Strength",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint8" } ] },
> @@ -3424,7 +3198,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"          : "Radio Interface",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "gint8",
> @@ -3432,7 +3205,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "Rx Chain 0 Info",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -3452,7 +3224,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"      : "Rx Chain 1 Info",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -3472,7 +3243,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"      : "Tx Info",
>                       "id"        : "0x12",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -3502,7 +3272,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"       : "CDMA Position Info",
>                       "id"         : "0x10",
> -                     "mandatory"  : "no",
>                       "type"       : "TLV",
>                       "since"      : "1.0",
>                       "format"     : "sequence",
> @@ -3543,7 +3312,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"       : "DL Bandwidth",
>                       "id"         : "0x11",
> -                     "mandatory"  : "no",
>                       "type"       : "TLV",
>                       "since"      : "1.16",
>                       "format"     : "guint32",
> @@ -3551,7 +3319,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"       : "Phy CA Agg SCell Info",
>                       "id"         : "0x12",
> -                     "mandatory"  : "no",
>                       "type"       : "TLV",
>                       "since"      : "1.16",
>                       "format"     : "sequence",
> @@ -3571,7 +3338,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"       : "Phy CA Agg PCell Info",
>                       "id"         : "0x13",
> -                     "mandatory"  : "no",
>                       "type"       : "TLV",
>                       "since"      : "1.16",
>                       "format"     : "sequence",
> @@ -3588,14 +3354,12 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"       : "SCell index",
>                       "id"         : "0x14",
> -                     "mandatory"  : "no",
>                       "type"       : "TLV",
>                       "since"      : "1.16",
>                       "format"     : "guint8",
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"               : "Phy CA Agg Secondary
> Cells",
>                       "id"                 : "0x15",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.16",
>  		     "format"             : "array",
> diff --git a/data/qmi-service-oma.json b/data/qmi-service-oma.json
> index a287af3..180b28e 100644
> --- a/data/qmi-service-oma.json
> +++ b/data/qmi-service-oma.json
> @@ -35,14 +35,12 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"          : "Network Initiated Alert
> Reporting",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Session State Reporting",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -56,7 +54,6 @@
>       "since"   : "1.6",
>       "output"  : [ { "name"      : "Network Initiated Alert",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -67,14 +64,12 @@
>                                         "format" : "guint16" } ] },
>                      { "name"          : "Session State",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.6",
>                        "format"        : "guint8",
>                        "public-format" : "QmiOmaSessionState" },
>                      { "name"          : "Session Fail Reason",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.6",
>                        "format"        : "guint8",
> @@ -89,7 +84,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"          : "Session Type",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -113,7 +107,6 @@
>       "since"   : "1.6",
>       "output"  : [ { "name"         : "Session Info",
>                       "id"           : "0x10",
> -                     "mandatory"    : "no",
>                       "type"         : "TLV",
>                       "since"        : "1.6",
>                       "format"       : "sequence",
> @@ -126,7 +119,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"          : "Session Failed Reason",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -136,7 +128,6 @@
>                                             "value" :
> "QMI_OMA_SESSION_STATE_FAILED" } ] },
>                     { "name"         : "Retry Info",
>                       "id"           : "0x12",
> -                     "mandatory"    : "no",
>                       "type"         : "TLV",
>                       "since"        : "1.6",
>                       "format"       : "sequence",
> @@ -149,7 +140,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"         : "Network Initiated Alert",
>                       "id"           : "0x13",
> -                     "mandatory"    : "no",
>                       "type"         : "TLV",
>                       "since"        : "1.6",
>                       "format"       : "sequence",
> @@ -169,7 +159,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"         : "Network Initiated Alert
> Selection",
>                       "id"           : "0x10",
> -                     "mandatory"    : "no",
>                       "type"         : "TLV",
>                       "since"        : "1.6",
>                       "format"       : "sequence",
> @@ -188,7 +177,6 @@
>       "since"   : "1.6",
>       "output"  : [ { "name"          : "Device Provisioning Service
> Update Config",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -196,7 +184,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "PRL Update Service Config",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -204,7 +191,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "HFA Feature Config",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -212,7 +198,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "HFA Feature Done State",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -228,21 +213,18 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"          : "Device Provisioning Service
> Update Config",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "PRL Update Service Config",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "HFA Feature Config",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> diff --git a/data/qmi-service-pbm.json b/data/qmi-service-pbm.json
> index 45ca9e4..f9106da 100644
> --- a/data/qmi-service-pbm.json
> +++ b/data/qmi-service-pbm.json
> @@ -22,7 +22,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"          : "Event Registration Mask",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
> @@ -30,7 +29,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Event Registration Mask",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
> @@ -46,7 +44,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"      : "Phonebook Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -59,7 +56,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Capability Basic
> Information",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -80,7 +76,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Group Capability",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -91,7 +86,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Additional Number
> Capability",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -104,7 +98,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Email Capability",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -115,7 +108,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Second Name Capability",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -124,7 +116,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Hidden Records Capability",
>                       "id"            : "0x15",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -134,7 +125,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Grouping Information Alpha
> String Capability",
>                       "id"            : "0x16",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -147,7 +137,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Additional Number Alpha
> String Capability",
>                       "id"            : "0x17",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -169,7 +158,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"               : "Capability Basic
> Information",
>                       "id"                 : "0x10",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -198,7 +186,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"               : "Group Capability",
>                       "id"                 : "0x11",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -215,7 +202,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"               : "Additional Number
> Capability",
>                       "id"                 : "0x12",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -234,7 +220,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"               : "Email Capability",
>                       "id"                 : "0x13",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -251,7 +236,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"               : "Second Name
> Capability",
>                       "id"                 : "0x14",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -266,7 +250,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"               : "Hidden Records
> Capability",
>                       "id"                 : "0x15",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -282,7 +265,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"               : "Grouping Information
> Alpha String Capability",
>                       "id"                 : "0x16",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -301,7 +283,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"               : "Additional Number Alpha
> String Capability",
>                       "id"                 : "0x17",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> diff --git a/data/qmi-service-pdc.json b/data/qmi-service-pdc.json
> index 511937a..393c568 100644
> --- a/data/qmi-service-pdc.json
> +++ b/data/qmi-service-pdc.json
> @@ -20,7 +20,6 @@
>    { "common-ref"    : "Config Type",
>      "name"          : "Config Type",
>      "id"            : "0x1",
> -    "mandatory"     : "yes",
>      "type"          : "TLV",
>      "format"        : "guint32",
>      "public-format" : "QmiPdcConfigurationType" },
> @@ -28,7 +27,6 @@
>    { "common-ref"    : "Indication Result",
>      "name"          : "Indication Result",
>      "id"            : "0x01",
> -    "mandatory"     : "yes",
>      "type"          : "TLV",
>      "format"        : "guint16" },
>  
> @@ -37,7 +35,6 @@
>      "name"       : "Type With Id",
>      "fullname"   : "Qmi Config Type And Id",
>      "id"         : "0x01",
> -    "mandatory"  : "yes",
>      "type"       : "TLV",
>      "format"     : "struct",
>      "contents"   : [ { "name"          : "Config Type",
> @@ -51,7 +48,6 @@
>    { "common-ref" : "Token",
>      "name"       : "Token",
>      "id"         : "0x10",
> -    "mandatory"  : "no",
>      "type"       : "TLV",
>      "format"     : "guint32"},
>  
> @@ -120,14 +116,12 @@
>                       "since"         : "1.18" },
>                     { "name"          : "Active Id",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "array",
>                       "array-element" : { "format" : "guint8" } },
>                     { "name"          : "Pending Id",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "array",
> @@ -188,7 +182,6 @@
>                       "since"              : "1.18" },
>                     { "name"               : "Configs",
>                       "id"                 : "0x11",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.18",
>                       "format"             : "array",
> @@ -233,7 +226,6 @@
>       "since"   : "1.18",
>       "input"   : [ { "name"          : "Config Chunk",
>                       "id"            : "0x1",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "sequence",
> @@ -267,19 +259,16 @@
>                       "since"         : "1.18" },
>                     { "name"          : "Received",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint32" },
>                     { "name"          : "Remaining Size",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint32" },
>                     { "name"          : "Frame Reset",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint8",
> @@ -337,20 +326,17 @@
>                       "since"              : "1.18" },
>                     { "name"               : "Total Size",
>                       "id"                 : "0x11",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.18",
>                       "format"             : "guint32" },
>                     { "name"               : "Description",
>                       "id"                 : "0x12",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.18",
>                       "format"             : "string",
>                       "size-prefix-format" : "guint8"},
>                     { "name"               : "Version",
>                       "id"                 : "0x13",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.18",
>                       "format"             : "guint32" }
> @@ -372,13 +358,11 @@
>                       "since"      : "1.18" },
>                     { "name"          : "Maximum Size",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint64" },
>                     { "name"          : "Current Size",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint64" }] },
> @@ -399,19 +383,16 @@
>                       "since"      : "1.18" },
>                     { "name"          : "Version",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint32" },
>                     { "name"          : "Total Size",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint32" },
>                     { "name"          : "Description",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "string" }
> diff --git a/data/qmi-service-pds.json b/data/qmi-service-pds.json
> index bb2a57d..6ac23c4 100644
> --- a/data/qmi-service-pds.json
> +++ b/data/qmi-service-pds.json
> @@ -35,140 +35,120 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"          : "NMEA Position Reporting",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Extended NMEA Position
> Reporting",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Parsed Position Reporting",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "External XTRA Data Request
> Reporting",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "External Time Injection
> Request Reporting",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "External WIFI Position
> Request Reporting",
>                       "id"            : "0x15",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Satellite Information
> Reporting",
>                       "id"            : "0x16",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "VX Network Initiated Request
> Reporting",
>                       "id"            : "0x17",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "SUPL Network Initiated
> Prompt Reporting",
>                       "id"            : "0x18",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "UMTS CP Network Initiated
> Prompt Reporting",
>                       "id"            : "0x19",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "PDS Comm Event Reporting",
>                       "id"            : "0x1A",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Accelerometer Data Streaming
> Ready Reporting",
>                       "id"            : "0x1B",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Gyro Data Streaming Ready
> Reporting",
>                       "id"            : "0x1C",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Time Sync Request
> Reporting",
>                       "id"            : "0x1D",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Position Reliability
> Indicator Reporting",
>                       "id"            : "0x1E",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Sensor Data Usage Indicator
> Reporting",
>                       "id"            : "0x1F",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Time Source Information
> Reporting",
>                       "id"            : "0x20",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Heading Uncertainty
> Reporting",
>                       "id"            : "0x21",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "NMEA Debug Strings
> Reporting",
>                       "id"            : "0x22",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Extended External XTRA Data
> Request Reporting",
>                       "id"            : "0x23",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -182,14 +162,12 @@
>       "since"   : "1.0",
>       "output"  : [ { "name"      : "NMEA Position",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "string",
>                       "max-size"  : "200" },
>                     { "name"      : "Extended NMEA Position",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -203,7 +181,6 @@
>                                         "max-size" : "200" } ] },
>                     { "name"          : "Position Session Status",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -213,7 +190,6 @@
>                     // Reading gfloat/gdouble is still missing
>                     //{ "name"         : "Parsed Position",
>                     //  "id"           : "0x13",
> -                   //  "mandatory"    : "no",
>                     //  "type"         : "TLV",
>                     //  "format"       : "sequence",
>                     //  "contents"     : [ { "name"   : "Valid Mask",
> @@ -295,7 +271,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "State",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -316,7 +291,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "State",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -335,7 +309,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "Info",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.12",
>                       "format"    : "sequence",
> @@ -359,7 +332,6 @@
>       "since"   : "1.12",
>       "input"   : [ { "name"      : "Info",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.12",
>                       "format"    : "sequence",
> @@ -383,7 +355,6 @@
>       "since"   : "1.12",
>       "input"   : [ { "name"          : "Network Mode",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.12",
>                       "format"        : "guint8",
> @@ -391,7 +362,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "Location Server Address",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.12",
>                       "format"    : "sequence",
> @@ -403,7 +373,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"               : "Location Server URL",
>                       "id"                 : "0x11",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.12",
>                       "format"             : "array",
> @@ -420,7 +389,6 @@
>       "since"   : "1.12",
>       "input"   : [ { "name"      : "Location Server Address",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.12",
>                       "format"    : "sequence",
> @@ -431,7 +399,6 @@
>                                         "format" : "guint32" } ] },
>                     { "name"               : "Location Server URL",
>                       "id"                 : "0x11",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.12",
>                       "format"             : "array",
> @@ -439,7 +406,6 @@
>                       "array-element"      : { "format" : "guint8" }
> },
>                     { "name"          : "Network Mode",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.12",
>                       "format"        : "guint8",
> @@ -456,7 +422,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "State",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -474,7 +439,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "State",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> diff --git a/data/qmi-service-uim.json b/data/qmi-service-uim.json
> index 292d220..313b472 100644
> --- a/data/qmi-service-uim.json
> +++ b/data/qmi-service-uim.json
> @@ -32,7 +32,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"               : "List",
>                       "id"                 : "0x10",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.14",
>                       "format"             : "array",
> @@ -49,7 +48,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"      : "Session Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -60,7 +58,6 @@
>                                         "format" : "string" } ] },
>                     { "name"      : "File",
>                       "id"        : "0x02",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -71,7 +68,6 @@
>                                         "array-element" : { "format"
> : "guint8" } } ] },
>                     { "name"      : "Read Information",
>                       "id"        : "0x03",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -81,13 +77,11 @@
>                                         "format" : "guint16" } ] },
>                     { "name"      : "Response In Indication Token",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "guint32" },
>                     { "name"          : "Encrypt Data",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -95,7 +89,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Card result",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -105,7 +98,6 @@
>                                             "format" : "guint8" } ]
> },
>                     { "name"               : "Read result",
>                       "id"                 : "0x11",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -114,14 +106,12 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"          : "Response In Indication
> Token",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Encrypted Data",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint8",
> @@ -137,7 +127,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"      : "Session Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -148,7 +137,6 @@
>                                         "format" : "string" } ] },
>                     { "name"      : "File",
>                       "id"        : "0x02",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -159,7 +147,6 @@
>                                         "array-element" : { "format"
> : "guint8" } } ] },
>                     { "name"      : "Record",
>                       "id"        : "0x03",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -169,20 +156,17 @@
>                                         "format" : "guint16" } ] },
>                     { "name"      : "Last Record",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "guint16" },
>                     { "name"      : "Response In Indication Token",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "guint32" } ],
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Card result",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -192,7 +176,6 @@
>                                             "format" : "guint8" } ]
> },
>                     { "name"               : "Read Result",
>                       "id"                 : "0x11",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -201,7 +184,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"               : "Additional Read
> Result",
>                       "id"                 : "0x12",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "array",
> @@ -210,7 +192,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"          : "Response In Indication
> Token",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
> @@ -225,7 +206,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"      : "Session Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -236,7 +216,6 @@
>                                         "format" : "string" } ] },
>                     { "name"      : "File",
>                       "id"        : "0x02",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "sequence",
> @@ -247,14 +226,12 @@
>                                         "array-element" : { "format"
> : "guint8" } } ] },
>                     { "name"      : "Response In Indication Token",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.6",
>                       "format"    : "guint32" } ],
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Card result",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "sequence",
> @@ -264,7 +241,6 @@
>                                             "format" : "guint8" } ]
> },
>                     { "name"               : "File Attributes",
>                       "id"                 : "0x11",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.6",
>                       "format"             : "sequence",
> @@ -316,7 +292,6 @@
>                       "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                     { "name"          : "Response In Indication
> Token",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
> @@ -331,7 +306,6 @@
>       "since"   : "1.14",
>       "input"   : [ { "name"      : "Session Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -342,7 +316,6 @@
>                                         "format" : "string" } ] },
>                     { "name"      : "Info",
>                       "id"        : "0x02",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -356,14 +329,12 @@
>                                         "format"        : "string" }
> ] },
>                     { "name"      : "Response In Indication Token",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "guint32" } ],
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "Retries Remaining",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -374,7 +345,6 @@
>                       "prerequisites": [ { "common-ref" : "No
> Success" } ] },
>                     { "name"          : "Response In Indication
> Token",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint32",
> @@ -389,7 +359,6 @@
>       "since"   : "1.14",
>       "input"   : [ { "name"      : "Session Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -400,7 +369,6 @@
>                                         "format" : "string" } ] },
>                     { "name"      : "Info",
>                       "id"        : "0x02",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -411,14 +379,12 @@
>                                         "format"        : "string" }
> ] },
>                     { "name"      : "Response In Indication Token",
>                       "id"        : "0x12",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "guint32" } ],
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "Retries Remaining",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -429,14 +395,12 @@
>                       "prerequisites": [ { "common-ref" : "No
> Success" } ] },
>                     { "name"          : "Response In Indication
> Token",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"      : "Card Result",
>                       "id"        : "0x13",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -454,7 +418,6 @@
>       "since"   : "1.14",
>       "input"   : [ { "name"      : "Session Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -465,7 +428,6 @@
>                                         "format" : "string" } ] },
>                     { "name"      : "Info",
>                       "id"        : "0x02",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -478,14 +440,12 @@
>                                         "format"        : "string" }
> ] },
>                     { "name"      : "Response In Indication Token",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "guint32" } ],
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "Retries Remaining",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -496,14 +456,12 @@
>                       "prerequisites": [ { "common-ref" : "No
> Success" } ] },
>                     { "name"          : "Response In Indication
> Token",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"      : "Card Result",
>                       "id"        : "0x13",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -521,7 +479,6 @@
>       "since"   : "1.14",
>       "input"   : [ { "name"      : "Session Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -532,7 +489,6 @@
>                                         "format" : "string" } ] },
>                     { "name"      : "Info",
>                       "id"        : "0x02",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -545,14 +501,12 @@
>                                         "format"        : "string" }
> ] },
>                     { "name"      : "Response In Indication Token",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "guint32" } ],
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"      : "Retries Remaining",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -563,14 +517,12 @@
>                       "prerequisites": [ { "common-ref" : "No
> Success" } ] },
>                     { "name"          : "Response In Indication
> Token",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"      : "Card Result",
>                       "id"        : "0x13",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -589,7 +541,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Card Status",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "sequence",
> @@ -671,7 +622,6 @@
>       "since"   : "1.18",
>       "input"   : [ { "name"      : "Slot",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.18",
>                       "format"    : "sequence",
> @@ -690,7 +640,6 @@
>       "since"   : "1.18",
>       "input"   : [ { "name"      : "Slot",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.18",
>                       "format"    : "sequence",
> diff --git a/data/qmi-service-voice.json b/data/qmi-service-
> voice.json
> index 22b15d1..b9a2a64 100644
> --- a/data/qmi-service-voice.json
> +++ b/data/qmi-service-voice.json
> @@ -27,7 +27,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"               : "List",
>                       "id"                 : "0x10",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.14",
>                       "format"             : "array",
> @@ -44,14 +43,12 @@
>         "since"   : "1.14",
>         "input"   : [ { "name"          : "Calling Number",
>                         "id"            : "0x01",
> -                       "mandatory"     : "yes",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "string" } ],
>         "output"  : [ { "common-ref" : "Operation Result" },
>                       { "name"      : "Call ID",
>                         "id"        : "0x10",
> -                       "mandatory" : "no",
>                         "type"      : "TLV",
>                         "since"     : "1.14",
>                         "format"    : "guint8" } ] },
> @@ -65,14 +62,12 @@
>         "since"   : "1.14",
>         "input"   : [ { "name"          : "Call ID",
>                         "id"            : "0x01",
> -                       "mandatory"     : "yes",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8" } ],
>         "output"  : [ { "common-ref" : "Operation Result" },
>                       { "name"      : "Call ID",
>                         "id"        : "0x10",
> -                       "mandatory" : "no",
>                         "type"      : "TLV",
>                         "since"     : "1.14",
>                         "format"    : "guint8" } ] },
> @@ -86,14 +81,12 @@
>         "since"   : "1.14",
>         "input"   : [ { "name"          : "Call ID",
>                         "id"            : "0x01",
> -                       "mandatory"     : "yes",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8" } ],
>         "output"  : [ { "common-ref" : "Operation Result" },
>                       { "name"      : "Call ID",
>                         "id"        : "0x10",
> -                       "mandatory" : "no",
>                         "type"      : "TLV",
>                         "since"     : "1.14",
>                         "format"    : "guint8" } ] },
> @@ -107,7 +100,6 @@
>         "since"   : "1.14",
>         "output"  : [ { "name"               : "Call Information",
>                         "id"                 : "0x01",
> -                       "mandatory"          : "yes",
>                         "type"               : "TLV",
>                         "since"              : "1.14",
>                         "format"             : "array",
> @@ -136,7 +128,6 @@
>                                                                   "pu
> blic-format" : "QmiVoiceAls" } ] } },
>                       { "name"               : "Remote Party Number",
>                         "id"                 : "0x10",
> -                       "mandatory"          : "yes",
>                         "type"               : "TLV",
>                         "since"              : "1.14",
>                         "format"             : "array",
> @@ -160,63 +151,54 @@
>         "since"   : "1.14",
>         "input"   : [ { "name"          : "Auto Answer",
>                         "id"            : "0x10",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "gboolean" },
>                       { "name"          : "Air Timer",
>                         "id"            : "0x11",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "gboolean" },
>                       { "name"          : "Roam Timer",
>                         "id"            : "0x12",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "gboolean" },
>                       { "name"          : "TTY Mode",
>                         "id"            : "0x13",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "gboolean" },
>                       { "name"          : "Preferred Voice Service
> Option",
>                         "id"            : "0x14",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "gboolean" },
>                       { "name"          : "AMR Status",
>                         "id"            : "0x15",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "gboolean" },
>                       { "name"          : "Preferred Voice Privacy",
>                         "id"            : "0x16",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "gboolean" },
>                       { "name"          : "NAM Index",
>                         "id"            : "0x17",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "gboolean" },
>                       { "name"          : "Voice Domain Preference",
>                         "id"            : "0x18",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
> @@ -224,14 +206,12 @@
>         "output" : [ { "common-ref" : "Operation Result" },
>                      { "name"      : "Auto Answer Status",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.14",
>                        "format"    : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"      : "Air Timer Count",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.14",
>                        "format"    : "sequence",
> @@ -241,7 +221,6 @@
>                                          "format" : "guint32" } ] },
>                      { "name"      : "Roam Timer Count",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.14",
>                        "format"    : "sequence",
> @@ -251,14 +230,12 @@
>                                          "format" : "guint32" } ] },
>                      { "name"          : "Current TTY Mode",
>                        "id"            : "0x13",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.14",
>                        "format"        : "guint8",
>                        "public-format" : "QmiVoiceTtyMode" },
>                      { "name"      : "Current Preferred Voice SO",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.14",
>                        "format"    : "sequence",
> @@ -278,7 +255,6 @@
>                                          "public-format" :
> "QmiVoiceServiceOption" } ] },
>                      { "name"      : "Current AMR Status",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.14",
>                        "format"    : "sequence",
> @@ -290,14 +266,12 @@
>                                         "public-format" :
> "QmiVoiceWcdmaAmrStatus" } ] },
>                       { "name"          : "Current Voice Privacy
> Preference",
>                         "id"            : "0x16",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
>                         "public-format" : "QmiVoicePrivacy" },
>                       { "name"          : "Current Voice Domain
> Preference",
>                         "id"            : "0x17",
> -                       "mandatory"     : "no",
>                         "type"          : "TLV",
>                         "since"         : "1.14",
>                         "format"        : "guint8",
> diff --git a/data/qmi-service-wda.json b/data/qmi-service-wda.json
> index 35e6a9c..bda42da 100644
> --- a/data/qmi-service-wda.json
> +++ b/data/qmi-service-wda.json
> @@ -23,7 +23,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"               : "List",
>                       "id"                 : "0x10",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.14",
>                       "format"             : "array",
> @@ -40,53 +39,45 @@
>       "since"   : "1.10",
>       "input"   : [ { "name"          : "QoS Format",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint8",
>                       "public-format" : "gboolean" },
>                     { "name"          : "Link Layer Protocol",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
>                       "public-format" : "QmiWdaLinkLayerProtocol" },
>                     { "name"          : "Uplink Data Aggregation
> Protocol",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
>                       "public-format" :
> "QmiWdaDataAggregationProtocol" },
>                     { "name"          : "Downlink Data Aggregation
> Protocol",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
>                       "public-format" :
> "QmiWdaDataAggregationProtocol" },
>                     { "name"          : "NDP Signature",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32" },
>                     { "name"          : "Downlink Data Aggregation
> Max Datagrams",
>                       "id"            : "0x15",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32" },
>                     { "name"          : "Downlink Data Aggregation
> Max Size",
>                       "id"            : "0x16",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32" },
>                     { "name"          : "Endpoint Info",
>                       "id"            : "0x17",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "sequence",
> @@ -98,7 +89,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "QoS Format",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint8",
> @@ -106,7 +96,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"          : "Link Layer Protocol",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
> @@ -114,7 +103,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Uplink Data Aggregation
> Protocol",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
> @@ -122,7 +110,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Downlink Data Aggregation
> Protocol",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
> @@ -130,21 +117,18 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "NDP Signature",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Downlink Data Aggregation
> Max Datagrams",
>                       "id"            : "0x15",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Downlink Data Aggregation
> Max Size",
>                       "id"            : "0x16",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
> @@ -160,7 +144,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "QoS Format",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint8",
> @@ -168,7 +151,6 @@
>                       "prerequisites": [ { "common-ref" : "Success" }
> ] },
>                     { "name"          : "Link Layer Protocol",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
> @@ -176,7 +158,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Uplink Data Aggregation
> Protocol",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
> @@ -184,7 +165,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Downlink Data Aggregation
> Protocol",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
> @@ -192,21 +172,18 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "NDP Signature",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Uplink Data Aggregation Max
> Size",
>                       "id"            : "0x15",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Downlink Data Aggregation
> Max Size",
>                       "id"            : "0x16",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.10",
>                       "format"        : "guint32",
> diff --git a/data/qmi-service-wds.json b/data/qmi-service-wds.json
> index 498710b..3c25d3d 100644
> --- a/data/qmi-service-wds.json
> +++ b/data/qmi-service-wds.json
> @@ -35,14 +35,12 @@
>       "since"   : "1.18",
>       "input"   : [  { "name"          : "Channel Rate",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Transfer Statistics",
>                        "id"            : "0x11",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "sequence",
> @@ -53,83 +51,71 @@
>                                          "public-format" :
> "QmiWdsSetEventReportTransferStatistics" } ] },
>                      { "name"          : "Data Bearer Technology",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Dormancy Status",
>                        "id"            : "0x13",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "MIP Status",
>                        "id"            : "0x14",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8" },
>                      { "name"          : "Current Data Bearer
> Technology",
>                        "id"            : "0x15",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Data Call Status",
>                        "id"            : "0x17",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Preferred Data System",
>                        "id"            : "0x18",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "EVDO PM Change",
>                        "id"            : "0x19",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Data Systems",
>                        "id"            : "0x1A",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Uplink Flow Control",
>                        "id"            : "0x1B",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Limited Data System
> Status",
>                        "id"            : "0x1C",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "PDN Filter Removals",
>                        "id"            : "0x1D",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Extended Data Bearer
> Technology",
>                        "id"            : "0x1E",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
> @@ -143,43 +129,36 @@
>       "since"   : "1.18",
>       "output"  : [  { "name"      : "Tx Packets Ok",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "guint32" },
>                      { "name"      : "Rx Packets Ok",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "guint32" },
>                      { "name"      : "Tx Packets Error",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "guint32" },
>                      { "name"      : "Rx Packets Error",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "guint32" },
>                      { "name"      : "Tx Overflows",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "guint32" },
>                      { "name"      : "Rx Overflows",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "guint32" },
>                      { "name"      : "Channel Rates",
>                        "id"        : "0x16",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "sequence",
> @@ -189,40 +168,34 @@
>                                          "format" : "gint32" } ] },
>                      { "name"          : "Data Bearer Technology",
>                        "id"            : "0x17",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "gint8",
>                        "public-format" : "QmiWdsDataBearerTechnology"
> },
>                      { "name"          : "Dormancy Status",
>                        "id"            : "0x18",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "QmiWdsDormancyStatus" },
>                      { "name"          : "Tx Bytes Ok",
>                        "id"            : "0x19",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint64" },
>                      { "name"          : "Rx Bytes Ok",
>                        "id"            : "0x1A",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint64" },
>                      { "name"          : "MIP Status",
>                        "id"            : "0x1B",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Current Data Bearer
> Technology",
>                        "id"            : "0x1D",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "sequence",
> @@ -235,21 +208,18 @@
>                                              "format" : "guint32" } ]
> },
>                      { "name"          : "Data Call Status",
>                        "id"            : "0x1F",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint8",
>                        "public-format" : "QmiWdsDataCallStatus" },
>                      { "name"          : "Preferred Data System",
>                        "id"            : "0x20",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint32",
>                        "public-format" : "QmiWdsDataSystem" },
>                      { "name"          : "Data Call Type",
>                        "id"            : "0x22",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "sequence",
> @@ -261,7 +231,6 @@
>                                              "public-format" :
> "QmiWdsTetheredCallType" } ] },
>                      { "name"          : "EVDO Page Monitor Period
> Change",
>                        "id"            : "0x23",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "sequence",
> @@ -272,7 +241,6 @@
>                                              "public-format" :
> "gboolean" } ] },
>                      { "name"          : "Data Systems",
>                        "id"            : "0x24",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "sequence",
> @@ -293,26 +261,22 @@
>                                                                      
>                   "format" : "guint32" } ] } } ] },
>                      { "name"          : "Tx Packets Dropped",
>                        "id"            : "0x25",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint32" },
>                      { "name"          : "Rx Packets Dropped",
>                        "id"            : "0x26",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "guint32" },
>                      { "name"          : "Uplink Flow Control
> Enabled",
>                        "id"            : "0x27",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        "format"        : "gint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Data Call Address Family",
>                        "id"            : "0x28",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.18",
>                        // Yes, TLV wants a u32
> @@ -320,7 +284,6 @@
>                        "public-format" : "QmiWdsIpFamily" },
>                      { "name"      : "PDN Filters Removed",
>                        "id"        : "0x29",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "sequence",
> @@ -330,7 +293,6 @@
>                                          "array-element" : {
> "format": "guint32" } } ] },
>                      { "name"      : "Extended Data Bearer
> Technology",
>                        "id"        : "0x2A",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.18",
>                        "format"    : "sequence",
> @@ -370,7 +332,6 @@
>       "scope"   : "library-only",
>       "input"   : [  { "name"      : "Transaction ID",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint16" } ],
> @@ -386,7 +347,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"               : "List",
>                       "id"                 : "0x10",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.14",
>                       "format"             : "array",
> @@ -405,95 +365,80 @@
>       "abort"   : "yes",
>       "input"   : [  { "name"      : "Primary DNS Address
> Preference",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32" },
>                      { "name"      : "Secondary DNS Address
> Preference",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32" },
>                      { "name"      : "Primary NBNS Address
> Preference",
>                        "id"        : "0x12",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32" },
>                      { "name"      : "Secondary NBNS Address
> Preference",
>                        "id"        : "0x13",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32" },
>                      { "name"      : "APN",
>                        "id"        : "0x14",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string" },
>                      { "name"      : "IPv4 Address Preference",
>                        "id"        : "0x15",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32" },
>                      { "name"          : "Authentication Preference",
>                        "id"            : "0x16",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiWdsAuthentication" },
>                      { "name"      : "Username",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string" },
>                      { "name"      : "Password",
>                        "id"        : "0x18",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "string" },
>                      { "name"          : "IP Family Preference",
>                        "id"            : "0x19",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiWdsIpFamily" },
>                      { "name"          : "Technology Preference",
>                        "id"            : "0x30",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "QmiWdsTechnologyPreference"
> },
>                      { "name"      : "Profile Index 3GPP",
>                        "id"        : "0x31",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" },
>                      { "name"      : "Profile Index 3GPP2",
>                        "id"        : "0x32",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8" },
>                      { "name"          : "Enable Autoconnect",
>                        "id"            : "0x33",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
>                        "public-format" : "gboolean" },
>                      { "name"          : "Extended Technology
> Preference",
>                        "id"            : "0x34",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        // Note: docs give this as gint16 with
> negative enum values. Instead, we use
> @@ -502,7 +447,6 @@
>                        "public-format" :
> "QmiWdsExtendedTechnologyPreference" },
>                      { "name"          : "Call Type",
>                        "id"            : "0x35",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -510,14 +454,12 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Packet Data Handle",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32",
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"          : "Call End Reason",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint16",
> @@ -530,7 +472,6 @@
>                                              "value"     :
> "QMI_PROTOCOL_ERROR_CALL_FAILED" } ] },
>                      { "name"      : "Verbose Call End Reason",
>                        "id"        : "0x11",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -555,13 +496,11 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"      : "Packet Data Handle",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32" },
>                      { "name"          : "Disable Autoconnect",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -578,7 +517,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Connection Status",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -593,7 +531,6 @@
>       "since"   : "1.14",
>       "output"  : [ { "name"          : "Connection Status",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "sequence",
> @@ -605,14 +542,12 @@
>                                             "public-format" :
> "gboolean" } ] },
>                     { "name"          : "Call End Reason",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint16",
>                       "public-format" : "QmiWdsCallEndReason" },
>                     { "name"      : "Verbose Call End Reason",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",
> @@ -623,14 +558,12 @@
>                                         "format" : "gint16" } ] },
>                      { "name"          : "IP Family",
>                        "id"            : "0x12",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.14",
>                        "format"        : "guint8",
>                        "public-format" : "QmiWdsIpFamily" },
>                      { "name"          : "Extended Technology
> Preference",
>                        "id"            : "0x34",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.14",
>                        // Note: docs give this as gint16 with
> negative enum values. Instead, we use
> @@ -648,7 +581,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"       : "Channel Rates",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                       "format"     : "sequence",
> @@ -670,7 +602,6 @@
>       "since"   : "1.6",
>       "input"   : [ { "name"          : "Mask",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
> @@ -678,56 +609,48 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Tx Packets Ok",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Rx Packets Ok",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Tx Packets Error",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Rx Packets Error",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Tx Overflows",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Rx Overflows",
>                       "id"            : "0x15",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Tx Bytes Ok",
>                       "id"            : "0x19",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint64",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Rx Bytes Ok",
>                       "id"            : "0x1A",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint64",
> @@ -735,26 +658,22 @@
>                     // Note: last call TX/RX given along with QMI
> Error 'out of call'
>                     { "name"          : "Last Call Tx Bytes Ok",
>                       "id"            : "0x1B",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint64" },
>                     { "name"          : "Last Call Rx Bytes Ok",
>                       "id"            : "0x1C",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint64" },
>                     { "name"          : "Tx Packets Dropped",
>                       "id"            : "0x1D",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Rx Packets Dropped",
>                       "id"            : "0x1E",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.6",
>                       "format"        : "guint32",
> @@ -787,7 +706,6 @@
>       "since"   : "1.18",
>       "input"   : [ { "name"          : "Profile Type",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.18",
>                       "format"        : "guint8",
> @@ -1012,7 +930,6 @@
>       "since"   : "1.8",
>       "input"   : [ { "name"          : "Profile Type",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.8",
>                       "format"        : "guint8",
> @@ -1020,7 +937,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Profile List",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.8",
>                       "format"        : "array",
> @@ -1046,7 +962,6 @@
>       "since"   : "1.8",
>       "input"   : [ { "name"      : "Profile ID",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.8",
>                       "format"    : "sequence",
> @@ -1184,7 +1099,6 @@
>       "since"   : "1.8",
>       "input"   : [ { "name"      : "Profile Type",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.8",
>                       "format"    :  "guint8",
> @@ -1341,7 +1255,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "UMTS Granted QoS",
>                        "id"        : "0x17",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.14",
>                        "format"    : "sequence",
> @@ -1377,7 +1290,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "GPRS Granted QoS",
>                        "id"        : "0x19",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1400,7 +1312,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IPv4 Address",
>                        "id"        : "0x1E",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "endian"    : "little",
> @@ -1408,7 +1319,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Profile ID",
>                        "id"        : "0x1F",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1420,7 +1330,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IPv4 Gateway Address",
>                        "id"        : "0x20",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "endian"    : "little",
> @@ -1428,7 +1337,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IPv4 Gateway Subnet Mask",
>                        "id"        : "0x21",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "endian"    : "little",
> @@ -1436,14 +1344,12 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "PCSCF Address Using PCO",
>                        "id"        : "0x22",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8",
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "PCSCF Server Address List",
>                        "id"        : "0x23",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"        : "array",
> @@ -1453,7 +1359,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "PCSCF Domain Name List",
>                        "id"        : "0x24",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"        : "array",
> @@ -1463,7 +1368,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IPv6 Address",
>                        "id"        : "0x25",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1476,7 +1380,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IPv6 Gateway Address",
>                        "id"        : "0x26",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1489,7 +1392,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IPv6 Primary DNS Address",
>                        "id"        : "0x27",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "array",
> @@ -1498,7 +1400,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IPv6 Secondary DNS Address",
>                        "id"        : "0x28",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "array",
> @@ -1507,14 +1408,12 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "MTU",
>                        "id"        : "0x29",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint32",
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Domain Name List",
>                        "id"        : "0x2A",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"        : "array",
> @@ -1524,7 +1423,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IP Family",
>                        "id"        : "0x2B",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "guint8",
> @@ -1532,14 +1430,12 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "IMCN Flag",
>                        "id"        : "0x2C",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "gint8",
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Extended Technology
> Preference",
>                        "id"        : "0x2D",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        // Note: docs give this as gint16 with
> negative enum values. Instead, we use
> @@ -1558,7 +1454,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Dormancy Status",
>                       "id"            : "0x01",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint8",
> @@ -1575,7 +1470,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Status",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint8",
> @@ -1583,7 +1477,6 @@
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "Roaming",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint8",
> @@ -1600,7 +1493,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"          : "Current",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "gint8",
> @@ -1608,7 +1500,6 @@
>                        "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                      { "name"          : "Last",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "gint8",
> @@ -1630,7 +1521,6 @@
>       "output"  : [  { "common-ref" : "Operation Result" },
>                      { "name"      : "Current",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1644,7 +1534,6 @@
>                        "prerequisites": [ { "common-ref" : "Success"
> } ] },
>                      { "name"      : "Last",
>                        "id"        : "0x10",
> -                      "mandatory" : "no",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -1665,7 +1554,6 @@
>       "since"   : "1.0",
>       "input"   : [  { "name"          : "Preference",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -1681,14 +1569,12 @@
>       "since"   : "1.14",
>       "input"   : [ { "name"          : "Status",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint8",
>                       "public-format" : "QmiWdsAutoconnectSetting" },
>                     { "name"          : "Roaming",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint8",
> @@ -1704,7 +1590,6 @@
>       "since"   : "1.14",
>       "input"   : [ { "name"          : "Network Type",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "guint8",
> @@ -1712,7 +1597,6 @@
>       "output"  : [ { "common-ref"   : "Operation Result" },
>                     { "name"          : "Info",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.14",
>                       "format"        : "array",
> @@ -1740,7 +1624,6 @@
>          "since"   : "1.18",
>          "input"   : [ { "name"          : "Endpoint Info",
>                          "id"            : "0x10",
> -                        "mandatory"     : "no",
>                          "type"          : "TLV",
>                          "since"         : "1.18",
>                          "format"        : "sequence",
> @@ -1753,13 +1636,11 @@
>                          "id"            : "0x11",
>                          "type"          : "TLV",
>                          "since"         : "1.18",
> -                        "mandatory"     : "no",
>                          "format"        : "guint8"},
>                        { "name"          : "Client Type",
>                          "id"            : "0x13",
>                          "type"          : "TLV",
>                          "since"         : "1.18",
> -                        "mandatory"     : "no",
>                          "format"        : "guint32",
>                          "public-format" : "QmiWdsClientType"}
>                        ],
> diff --git a/data/qmi-service-wms.json b/data/qmi-service-wms.json
> index c5fc871..1edd0cf 100644
> --- a/data/qmi-service-wms.json
> +++ b/data/qmi-service-wms.json
> @@ -35,7 +35,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "New MT Message Indicator",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -51,7 +50,6 @@
>       "since"   : "1.0",
>       "output"  : [ { "name"      : "MT Message",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -62,7 +60,6 @@
>                                         "format" : "guint32" } ] },
>                     { "name"      : "Transfer Route MT Message",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -80,14 +77,12 @@
>                                         "array-element"      : {
> "format" : "guint8" } } ] },
>                     { "name"          : "Message Mode",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "QmiWmsMessageMode" },
>                     { "name"      : "ETWS Message",
>                       "id"        : "0x13",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -100,7 +95,6 @@
>                                         "array-element"      : {
> "format" : "guint8" } } ] },
>                     { "name"      : "ETWS PLMN Information",
>                       "id"        : "0x14",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -110,13 +104,11 @@
>                                         "format" : "guint16" } ] },
>                     { "name"          : "SMSC Address",
>                       "id"            : "0x15",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "string" },
>                     { "name"          : "SMS on IMS",
>                       "id"            : "0x16",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -132,7 +124,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"               : "List",
>                       "id"                 : "0x10",
> -                     "mandatory"          : "no",
>                       "type"               : "TLV",
>                       "since"              : "1.14",
>                       "format"             : "array",
> @@ -149,7 +140,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "Raw Message Data",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -162,7 +152,6 @@
>                                         "array-element"      : {
> "format" : "guint8" } } ] },
>                     { "name"      : "CDMA Force On DC",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -174,7 +163,6 @@
>                                         "public-format" :
> "QmiWmsCdmaServiceOption" } ] },
>                     { "name"      : "CDMA Follow On DC",
>                       "id"        : "0x11",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -183,13 +171,11 @@
>                                         "public-format" : "gboolean"
> } ] },
>                     { "name"      : "GSM WCDMA Link Timer",
>                       "id"        : "0x12",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "guint8" },
>                     { "name"          : "SMS on IMS",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -198,14 +184,12 @@
>                     { "name"          : "Message ID",
>                       "id"            : "0x01",
>                       // Even if we have this TLV as mandatory, it
> seems it really isn't
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint16",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "CDMA Cause Code",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint16",
> @@ -218,7 +202,6 @@
>                                             "value"     :
> "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
>                     { "name"          : "CDMA Error Class",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -231,7 +214,6 @@
>                                             "value"     :
> "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
>                     { "name"          : "GSM WCDMA Cause Info",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "sequence",
> @@ -249,7 +231,6 @@
>                                             "value"     :
> "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
>                     { "name"          : "Message Delivery Failure
> Type",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -270,7 +251,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "Raw Message Data",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -287,7 +267,6 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Memory Index",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint32",
> @@ -302,7 +281,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "Message Memory Storage ID",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -313,14 +291,12 @@
>                                         "format"        : "guint32" }
> ] },
>                     { "name"          : "Message Mode",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "QmiWmsMessageMode" },
>                     { "name"          : "SMS on IMS",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -328,7 +304,6 @@
>       "output"   : [ { "common-ref" : "Operation Result" },
>                      { "name"      : "Raw Message Data",
>                        "id"        : "0x01",
> -                      "mandatory" : "yes",
>                        "type"      : "TLV",
>                        "since"     : "1.0",
>                        "format"    : "sequence",
> @@ -353,7 +328,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "Message Tag",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -367,7 +341,6 @@
>                                         "public-format" :
> "QmiWmsMessageTagType" } ] },
>                     { "name"          : "Message Mode",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -383,27 +356,23 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"          : "Memory Storage",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "QmiWmsStorageType" },
>                     { "name"      : "Memory Index",
>                       "id"        : "0x10",
> -                     "mandatory" : "no",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "guint32" },
>                     { "name"          : "Message Tag",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "QmiWmsMessageTagType" },
>                     { "name"          : "Message Mode",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -420,7 +389,6 @@
>       "output"   : [ { "common-ref" : "Operation Result" },
>                      { "name"          : "Message Protocol",
>                        "id"            : "0x01",
> -                      "mandatory"     : "yes",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -436,21 +404,18 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"          : "Storage Type",
>                       "id"            : "0x01",
> -                     "mandatory"     : "yes",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "QmiWmsStorageType" },
>                     { "name"          : "Message Tag",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
>                       "public-format" : "QmiWmsMessageTagType" },
>                     { "name"          : "Message Mode",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -458,7 +423,6 @@
>       "output"   : [ { "common-ref" : "Operation Result" },
>                      { "name"               : "Message List",
>                        "id"                 : "0x01",
> -                      "mandatory"          : "yes",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -481,7 +445,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"               : "Route List",
>                       "id"                 : "0x01",
> -                     "mandatory"          : "yes",
>                       "type"               : "TLV",
>                       "since"              : "1.0",
>                       "format"             : "array",
> @@ -502,7 +465,6 @@
>                                                                 "publ
> ic-format" : "QmiWmsReceiptAction" } ] } },
>                     { "name"          : "Transfer Status Report",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -519,7 +481,6 @@
>       "output"   : [ { "common-ref" : "Operation Result" },
>                      { "name"               : "Route List",
>                        "id"                 : "0x01",
> -                      "mandatory"          : "yes",
>                        "type"               : "TLV",
>                        "since"              : "1.0",
>                        "format"             : "array",
> @@ -541,7 +502,6 @@
>                        "prerequisites"      : [ { "common-ref" :
> "Success" } ] },
>                      { "name"          : "Transfer Status Report",
>                        "id"            : "0x10",
> -                      "mandatory"     : "no",
>                        "type"          : "TLV",
>                        "since"         : "1.0",
>                        "format"        : "guint8",
> @@ -557,7 +517,6 @@
>       "since"   : "1.0",
>       "input"   : [ { "name"      : "Information",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.0",
>                       "format"    : "sequence",
> @@ -571,7 +530,6 @@
>                                         "public-format" :
> "QmiWmsMessageMode" } ] },
>                     { "name"          : "SMS on IMS",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -579,14 +537,12 @@
>       "output"  : [ { "common-ref" : "Operation Result" },
>                     { "name"          : "Message ID",
>                       "id"            : "0x10",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint16",
>                       "prerequisites" : [ { "common-ref" : "Success"
> } ] },
>                     { "name"          : "CDMA Cause Code",
>                       "id"            : "0x11",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint16",
> @@ -599,7 +555,6 @@
>                                             "value"     :
> "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
>                     { "name"          : "CDMA Error Class",
>                       "id"            : "0x12",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -612,7 +567,6 @@
>                                             "value"     :
> "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
>                     { "name"          : "GSM WCDMA Cause Info",
>                       "id"            : "0x13",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "sequence",
> @@ -630,7 +584,6 @@
>                                             "value"     :
> "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
>                     { "name"          : "Message Delivery Failure
> Type",
>                       "id"            : "0x14",
> -                     "mandatory"     : "no",
>                       "type"          : "TLV",
>                       "since"         : "1.0",
>                       "format"        : "guint8",
> @@ -651,7 +604,6 @@
>       "since"   : "1.14",
>       "output"  : [ { "name"      : "Address",
>                       "id"        : "0x01",
> -                     "mandatory" : "yes",
>                       "type"      : "TLV",
>                       "since"     : "1.14",
>                       "format"    : "sequence",


More information about the libqmi-devel mailing list