9. Protocols and protocol architecture
SMS의 프로토콜 레이어는 figure7에 보이는데로 구조화되어 있다.
현재 문서는 SM-TL, MS와 SC에서 SM-TL에 의해 제공되는 서비스 그리고 SC에서 SM-RL에 의해 제공되는 서비스에서 프로토콜을 명세한다.
일반적으로 SM-TL은 SM MO 인 경우 SC에서 종료된다. SMS-IWMSG는 SMS internetworking agreement의 존재를 체크하기 위해 SMS-SUBMIT에 있는 TP-DA를 조사할 것이다.(8.2.2 절을 보아라)
=========================================================
8.2.2 Functionality of the SMS-IWMSC
MSG 또는 SGSN("forwardShortMessage", 10절을 보아라) 으로부터 TPDU 단문 메시지를 수신했을 때, SMS-IWMSG는 다음 작업에 대해 책임이 있다.
- 단문 메시지 TPDU의 수신;
- 선택적으로, HRL에 문의(심문) 한다("sendRoutingInfoForShortMsg", 10절을 보아라); 지정
된 주소를 가진 링크를 성립하기 전에 SMS Interworking agreement가 존재하는지 체크하기 위해 받는이의 IMSI를 조회한다.
만약 HLR이 에러 정보를 리턴하면:
- MSG 나 SGSN에 failure report에 실어 적절한 에러 정보를 리턴한다("forwardShortMessage"의 부정적인 결과, 10절을 보아라);
만약 HLR에서 어떤 에러도 지정되지 않으면:
- IMSI 파라미터를 조사하고 다른 라우팅 정보를 무시한다
만약 수신된 파라미터가 SMS-IWMSC에 대해 수용할 수 없으면(SMS Interworking agreement가 없어서)
- SM Delivery Failure를 리턴한다. 다음 indication을 가진: invalid SME-address to the MSG 또는 SGSN
만약 SMS-IWMSC에 대해 파라미터를 수용할 수 있거나(SMS Interworking agreement가 있어서) SMS-IWMSC가 선택적인 HLR interrogation(문의, 심문)을 적용하지 않는다면
- 필요하면, 지정된 SC와 링크를 성립한다(5절을 보아라);
- SC로 단문 메시지 TPDU를 전송한다( 만약 주소가 유효하면);
만약 SC로부터 단문 메시지와 연관된 report를 수신받으면, SMS-IWMSG는 다음 작업에 책임이 있다:
- report를 MSG나 SGSN에 릴레이한다("forwardShortMessage"의 긍정적인 혹은 부정적인 결과, 10절을 보아라).
만약 timer가 만료되기 전에 SC로부터 단문 메시지와 연관된 report를 받지 못했거나 SC address가 유효하지 않으면 SMS-IWMSG는 다음 작업에 책임이 있다.
- 적절한 에러 정보를 failure report에 실어 MSC나 SGSN에 리턴한다("forwardShortMessage"의 부정적인 결과, 10절을 보아라).
타이머의 값은 SC와 SMS-IWMSC 사이의 프로토콜에 의존적이다.
=========================================================
9.1 Protocol element feature
9.1.1 Octet and Bit transmission order
옥텟은 그들 개개의 넘버링에 따라 전송된다; 가장 낮은 숫자의 넘버링을 가진 옥텟이 먼저 전송된다. 각 옥텟에 있는 비트들 또한 그들 개개의 넘버링에 따라 전송된다; 가장 낮은 내부 번호를 가진 비트들이 가장 먼저 전송된다.
9.1.2 Numeric and alphanumeric representation
TPDU 내에 있는 파라미터들의 경우 네가지의 숫자 표현방식을 갖는다: Integer representation, octet, semi-octet 그리고 alphanumeric representation.
9.1.2.1 Integer representation
많은 옥텟으로부터의 비트가 완전하게 혹은 부분적으로 integer로 표현된다. 해석은 다음을 따라 이루어진다:
1) 옥텟들 중: 가장 낮은 옥텟 수를 가진 옥텟들이 most significant bits를 자질 것이다, 즉 byte order는 big endian이 될 것이다.
2) 옥텟 내부: 가장 큰 비트 수를 가진 비트들이 most significant가 될 것이다.
아래의 옥텟 예제는 bit presentation과 integer presented field의 전송순서를 나타내고 있다.
옥텟 no 5의 오른쪽 두 비트, 옥텟 no 6과 7의 완전한 옥텟, 그리고 옥텟 no 8의 왼쪽 3 비트들이 figure8과 같이 하나의 integer를 표현하고 있다고 하자.
9.1.2.2 Octet representation
옥텟으로 표현되는 필드는 항상 많은 수의 완전한 옥텟으로 표현될 것이다. 각 필드 내에 있는 옥텟들은 하나의 10진수로 표현된다. 가장 낮은 옥텟 수를 가진 옥텟은 most siginificant 십진술르 포함할 것이다.
9.1.2.3 Semi-octet representation
세미 옥텟으로 표현되는 필드는 많은 완전한 옥텟들과 아마도 반 옥텟으로 구성될 것이다. 필드 내에 있는 각각의 반 옥텟들은 하나의 십진수이다.가장 낮은 옥텟 수를 가진 옥텟들은 most significant 십진수를 가질 것이다. 한 옥텟 내에서 0에서 3비트 자리를 가진 반옥텟은 most significant 수를 표현할 것이다.
세미옥텟으로 표현되는 필드가 홀수개의 수로 구성되는 경우, 마지막 옥텟에 있는 4에서 7번째 비트 자리 수는 항상 "1111"로 셋팅될 것이다.
만약 모바일이 세미 옥텟에서 "1111"(예를들어, 1110)이 아닌 어떤 integer 정보도 없는 주소 필드를 받는 다면 모바일은 세미옥텟을 "BCD number" 라고 불리는 GSM 44.008[12]에 주어진 표현대로 표시할 것이다. 즉 1010="*", 1011="a", 1101="b", 1110="c". 여기 따옴표로 묶인 값과 GSM 44.008[12]에 명세된 값의 불일치는 GSM 44.008[12] 값이 우선할 것이다. 만약 모바일이 마지막 세미옥텟 이전 위치에서 "1111"을 받는다면 처리는 다음 세미옥텟에서 시작할 것이고 중간에 개입된 세미옥텟은 무시될 것이다.
각 세미옥텟 내에서 가장 높은 비트 자리수의 비트가 most significant이다.
아래 주어진 예를 보자.
9.1.2.4 Alphanumeric representation
alphanumeric 표현을 사용하는 필드는 3GPP TS 23.038[9]에 정의된 기본 알파벳으로 표현되는 많은 7-bit 캐릭터들로 구성된다.
9.1.2.5 Address fields
SM-RL에 의해 사용되는 Address field들은 3GPP TS 24.011[13]과 3GPP TS 29.002[15]에 명세된다.
SM-TL의 각 address field는 다음의 하부 필드들로 구성된다: 하나의 옥텟의 Address-Length field, 하나의 옥텟의 Type-of-Address 필드, 그리고 하나의 가변 길이를 갖는 하나의 Address-Value field; 아래에 보이는 바와 같이
Address-Length 필드는 Address-Value 필드 내에 있는 유용한 세미 옥텟의 길이의 integer 표현이다. 채움 비트만 포함하는 세미 옥텟은 제외된다.
Type-of-Address 필드 포맷은 다음과 같다.
MS는 예약된 값을 "Unknown"으로 해석하겠지만 그 값들을 정확하게 받은데로 저장할 것이다.
SC는 예약된 값을 포함하거나 지원하지 않는 type of number 를 가진 메시지를 거부할 것이다.
예약된 값은 이 버전의 스펙을 준수하여 SC에 의해 전송되지 않을 것이다.
1) "Unkown"은 사용자나 네트웍이 numbering plan에 대한 이전(선험적인) 정보를 가지고 있지 않을 때 사용된다. 이 경우 Address-Value 필드는 network dialing plan에 따라 구성된다. 예를 들어 prefix 나 escape 숫자가 표시될 것이다.
2) international format은 MSC나 SGSN 상으로 동일 국가에 있는 수신인을 향한 메시지일 때도 수신될 것이다.
3) Prefix 나 escape 숫자는 포함되지 않을 것이다.
4) "Network specific number"는 serving network에 한정하여 administation/service number를 가리키는데 사용된다, 예를 들어 operator를 접근하는데 사용된다.
5) "Subscriber number"는 더 높은 레이어의 애플리케이션의 한 부분으로써 하나이상의 SC에 특정 short number 표현이 저장되어 있을 때 사용된다("Subscriber number"는 이 애플리케이션을 참조하는 적절한 PID와 조합하여서만 사용될 것이다)
Numbering-plain-identification
1) "Service Centre specific number"는 SMSC에 소속된 외부의 Short Message Entities에 한정된 numbering plan을 가리킬 때 사용된다.
Type-of-number = 101의 경우 bit 3,2,1,0은 예약 되어 있고 0000으로 전송될 것이다. SC, MSC, SGSN, 또는 MS의 어떤 엔터티에 대해 주소지정을 하기 위해서는 Numbering-plan-indentification=0001이 항상 사용될 것이다. 그러나 SME를 주소지정하기 위해서는 어떤 명시된 Numbering-plan-identification 값도 사용될 수 있다.
MS는 예약된 값을 "Unknown"으로 해석하 ㄹ수 있지만 그것들을 정확하게 수신받은 데로 저장할 것이다.
SC는 예약된 값이나 지원하지 않는 type of number 를 가진 메시지를 거부할 수 있다.
예약된 값은 이 버전의 명세를 준수하는 SC에 의해서는 전송되지 않을 것이다.
Address-Value field내에서는 세미 옥텟이나 alphanumeric 표현이 적용된다.
전체 address field의 최대 길이(Address-Length, Type-of-Address 그리고 Address-Value)는 12 옥텟이다.
1) SM-TL에서 주소지정할 때만 사용된다.
9.2 Service provided by the SM-TL
9.2.1 General
Short Message Transfer Layer(SM-TL)은 Short Message Application Layer(SM-AL)에게 서비스를 제공한다. 이 서비스는 SM-AL이 단문 메시지를 그것의 상태편 엔터티로 전송하고 상대 엔터티로부터 단문 메시지를 수신하고 전송된 단문 메시지에 대한 이전 요청에 대한 report를 수신한다.
이들 메시지에 대한 메시지와 report의 진로를 따라가기 위해서 SM-AL과 SM-TL사이의 프리미티브는 Short Message Identifier(SMI)를 포함한다. 이는 프리미티브와 연관된 메시지를 위한 레퍼런스 넘버이다. Short Message Identifier는 SM-TL과 Short message Relay Layer(SM-RL) 사이에 사용되는 Short Message identifier 와 상호 매핑된다. Short Message Identifier는 엔터티들 사이에 전달되지 않으므로 주어진 메시지는 MS와 SC 측면에서 다른 SMI를 가질 수 있다(아래 9.3.1절을 보아라)
SM-TL은 아래 절에 설명하는 프로토콜을 사용하여 상대 엔터티와 통신한다.
9.9.2 PDU Type repertorie at SM-TL
SM-TL은 다음의 6개의 PDU들로 구성된다:
SMS-DELIVER, SM에서 MS로 단문 메시지를 실어나른다.
SMS-DELIVER-REPORT, 실어나른다;
a) a failure cause(필요하면)
b) SMS-DELIVER 나 SMS-STATUS-REPORT 에 대한 긍정 혹은 부정의 acknowledgement 부분으로써의 정보
SMS-SUBMIT, MS에서 SC로 단문 메시지를 실어나른다.
SMS-SUBMIT-REPORT, 실어나른다;
a) a failure cause(필요하면)
b) SMS-SUBMIT 또는 SMS-COMMAND에 대한 긍정 혹은 부정의 acknowledgement 부분으로써의 정보
SMS-STATUS-REPORT, SC에서 MS로 status report를 실어나른다.
SMS-COMMAND, MS에서 SC로 명령을 실어나른다.
댓글 없음:
댓글 쓰기