1. 21 Oct, 2017 7 commits
    • Bi-Ruei, Chiu's avatar
      Pass evaluated arguments to members and type references · 214c4919
      Bi-Ruei, Chiu authored
      One of the most tricky ASN.1 excerpt :
      
      E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
          { ID id-E-RABDataForwardingItem   CRITICALITY ignore   TYPE E-RABDataForwardingItem PRESENCE mandatory },
          ...
      }
      
      E-RABSubjecttoDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }
      
      E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::=
          ProtocolIE-ContainerList { 1, maxnoofE-RABs, {IEsSetParam} }
      
      ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
          SEQUENCE (SIZE (lowerBound..upperBound)) OF
          ProtocolIE-SingleContainer {{IEsSetParam}}
      
      ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
          ProtocolIE-Field {{IEsSetParam}}
      
      ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
          id          S1AP-PROTOCOL-IES.&id           ({IEsSetParam}),
          criticality S1AP-PROTOCOL-IES.&criticality  ({IEsSetParam}{@id}),
          value       S1AP-PROTOCOL-IES.&Value        ({IEsSetParam}{@id})
      }
      214c4919
    • Bi-Ruei, Chiu's avatar
      89cde74d
    • Bi-Ruei, Chiu's avatar
    • Bi-Ruei, Chiu's avatar
      Fix 'FATAL: Does not look like criticality is a CLASS field reference (xxxx)... · 742a1966
      Bi-Ruei, Chiu authored
      Fix 'FATAL: Does not look like criticality is a CLASS field reference (xxxx) denoting a type one line xxx'
      742a1966
    • Bi-Ruei, Chiu's avatar
    • Bi-Ruei, Chiu's avatar
      Fix unrecognized value type for reject/ignore · aeff717b
      Bi-Ruei, Chiu authored
      In Module_1,
      
      	Criticality ::= ENUMERATED { reject, ignore, notify }
      
      In Module_2,
      
      	IMPORTS
      		Criticality
      	FROM Module_1
      
      		someMessage SOME-CLASS ::= {
      			CRITICALITY	ignore
      		}
      
      This pull request add the capability to resolve 'reject', 'ignore' and 'notify'
      in Module_2.
      aeff717b
    • Bi-Ruei, Chiu's avatar
      Fix 'Information Object Set XXX contains no objects' when parsing S1AP's ASN.1 · 50934ba3
      Bi-Ruei, Chiu authored
      The aforementioned error message displayed during processing the following ASN.1 excerpt.
      
      S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
          S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
          S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
          ...
      }
      
      S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
          handoverPreparation                |
      ...
          writeReplaceWarning,
          ...,
          uERadioCapabilityMatch             |
      ....
          uEContextResume
      }
      
      S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
          handoverNotification               |
      ...
          privateMessage,
          ...,
          downlinkUEAssociatedLPPaTransport  |
      ...
          mMECPRelocationIndication
      }
      
      Because S1AP-ELEMENTARY-PROCEDURES-CLASS-1 and S1AP-ELEMENTARY-PROCEDURES-CLASS-2
      are resolved 'after' S1AP-ELEMENTARY-PROCEDURES, so the ioc tables of them are not
      available during resolving S1AP-ELEMENTARY-PROCEDURES. So we can not drop the
      latter's containedSubtype field at first pass of asn1f_resolve_constraints of fix
      process.
      
      We also add second pass of asn1f_resolve_constraints to have a chance to combine
      ioc tables of S1AP-ELEMENTARY-PROCEDURES-CLASS-1 and
      S1AP-ELEMENTARY-PROCEDURES-CLASS-2.
      50934ba3
  2. 20 Oct, 2017 6 commits
  3. 19 Oct, 2017 27 commits