NGAP와 함께 보는 ASN.1 - 2nd
지난 번에 이어 이번에는 NGAP-Constants.asn 파일을 분석한다. NGAP에서 사용하는 타입별 constant 값 정의들을 모아놓은 파일로, constant 수가 많아서 파일 크기는 크지만 그에 비해 구조는 간단한 편이다.
Import
이번에는 첫부분에 지난 번 NGAP-CommonDataTypes.asn 파일에서 보지 못했던 구조가 나왔다.
IMPORTS
ProcedureCode,
ProtocolIE-ID
FROM NGAP-CommonDataTypes;
이는 다른 asn.1 모듈의 정의를 가져오는 IMPORTS
섹션이다. FROM
키워드 다음에 오는 이름이 가져올 타입들이 정의된 모듈을 의미한다. NGAP-CommonDataTypes
모듈에서 ProcedureCode
와 ProtocolIE-ID
타입을 가져와서 NGAP-Cosntants
모듈에서 사용할 수 있도록 한다.
Constants
나머지 내용은 모두 constant 정의 일색이지만 NGAP 측면에서도 서너 가지 예를 들어 설명을 하겠다.
id-AMFConfigurationUpdate ProcedureCode ::= 0
ProcedureCode 타입으로 정수형 0 값을 가지는 id-AMFConfigurationUpdate
상수를 정의한다. ProcedureCode 타입은 0에서 255 사이 정수 값을 가지는 타입으로, 여기 모듈에서는 0 값을 가지는 id-AMFConfigurationUpdate
부터 65 값을 가지는 id-ConnectionEstablishmentIndication
까지 정의되어 있다.
maxProtocolIEs INTEGER ::= 65535
보통 임의 크기를 가지는 배열의 최대 값을 정의한다. 이름으로 유추해보건데 ProtocolIE 타입 배열의 최대 크기를 65535로 제한한다. NGAP 표준 문서에 그 내용을 정의한다.
id-AllowedNSSAI ProtocolIE-ID ::= 0
ProtocolIE-ID
타입의 id-AllowedNSSAI
라는 상수를 정의하며 정수 0 값을 사용한다. 현재 id-Extended-AMFName
(274)까지 정의되어 있다. 참고로 ProtocolIE-ID
는 지난 NGAP-CommonDataTypes
모듈에 정의가 있었지만, 문법 상 중복 내용이어서 설명을 하지 않았었다. 0에서 65535 사이의 값을 가지는 INTEGER 형이다.
ProtocolIE-ID ::= INTEGER (0..65535)