2 min read

NGAP와 함께 보는 ASN.1 - 2nd

NGAP와 함께 보는 ASN.1 - 2nd
Photo by Ricardo Lopez / Unsplash

지난 번에 이어 이번에는 NGAP-Constants.asn 파일을 분석한다. NGAP에서 사용하는 타입별 constant 값 정의들을 모아놓은 파일로, constant 수가 많아서 파일 크기는 크지만 그에 비해 구조는 간단한 편이다.

Import

이번에는 첫부분에 지난 번 NGAP-CommonDataTypes.asn 파일에서 보지 못했던 구조가 나왔다.

IMPORTS
  ProcedureCode,
  ProtocolIE-ID
FROM NGAP-CommonDataTypes;

이는 다른 asn.1 모듈의 정의를 가져오는 IMPORTS 섹션이다. FROM 키워드 다음에 오는 이름이 가져올 타입들이 정의된 모듈을 의미한다. NGAP-CommonDataTypes 모듈에서 ProcedureCodeProtocolIE-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)
— END OF POST.