• 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
asn1p_class.c 6.47 KB