ModuleAttributeClass { iso org(3) dod(6) internet(1) private(4) enterprise(1)
	spelio(9363) software(1) asn1c(5) test(1) 98 }
DEFINITIONS ::=
BEGIN

ATTRIBUTE ::= CLASS {
    &id	 RELATIVE-OID UNIQUE
} WITH SYNTAX { ID &id }


Attribute ::= SEQUENCE {
    identifier	 ATTRIBUTE.&id ({Attributes}),
    siAttributeValue	 IA5String
}

Attributes ATTRIBUTE ::= {{ ID raf } | { ID rcf }}

rafService ATTRIBUTE ::= { ID raf }

rcfService ATTRIBUTE ::= { ID rcf }

raf RELATIVE-OID ::= {3 2 1}

rcf RELATIVE-OID ::= {3 2 2}

END
