1 SMS 1 1 SMS Protocol Stack MS

  • Slides: 109
Download presentation

1 SMS 구조 1. 1 SMS Protocol Stack MS SMSC Mobile Station Service Center

1 SMS 구조 1. 1 SMS Protocol Stack MS SMSC Mobile Station Service Center SM-AL Application layer 수신 메시지 보여줌 발신메시지 작성 SM-TL Transfer layer TPDU를 구성 SMS-GMSC Gayeway MSC SMS-IWMSC Mobile Switching Center TPDU를 구성 Inter Working MSC SM-RL Relay layer TPDU Type 메시지 전달 SM-LL Link layer 물리적인 메시지 전달 망구조와 관련 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 2

1 SMS 구조 1. 3 Short Message Relay Layer SM-TL Transfer layer TPDU를 구성

1 SMS 구조 1. 3 Short Message Relay Layer SM-TL Transfer layer TPDU를 구성 MS SMSC Mobile Station TL 이 RL 에게 서비스를 받음 Service Center 메시지 발송 ( MO ) 메시지 수신 ( MT ) SM-RL Relay layer TPDU Type 메시지 전달 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 4

1 SMS 구조 SM-RP 에서 구성되는 RP-Message 흐름도 SM-TL SM-RL SM-TL Transfer layer Relay

1 SMS 구조 SM-RP 에서 구성되는 RP-Message 흐름도 SM-TL SM-RL SM-TL Transfer layer Relay layer Transfer layer TPDU를 구성 TPDU Type TPDU를 구성 메시지 전달 SMS 발송 SM-RL-DATA-Req MO SM-RL-REPORT-Ind CM SMS-SUBMIT CM RP-DATA RP-ACK 메시지 전달 SM-RL-DATA-Ind SMS-SUBMIT SM-RL-REPORT-Req message SM-RL-DATA-Req SMS 수신 SM-RL-DATA-Ind RP-DATA SMS-DELIVER SM-RL-REPORT-Req MT message SMS-DELIVERREPORT SMMA SM-RL-MEMORYAVAILABLE-Req message RP-DATA SM-RL-REPORT-Ind SMS-DELIVERREPORT RP-SMMA SM-RL-MEMORYAVAILABLE-Ind SM-RL-REPORT-Req SM-RL-REPORT-Ind 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) RP-ACK / RP-ERROR 6

2 SMS-SUBMIT 1. 1 메시지 발송 간략 구조 목적지 주소 : destination. Address 서비스센터(SC)

2 SMS-SUBMIT 1. 1 메시지 발송 간략 구조 목적지 주소 : destination. Address 서비스센터(SC) 주소 : sc. Address 메시지 내용 : text (UCS타입의 string) Sms. Message. Sender Sms. Manager PDU Ril 발송 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 8

1 SMS-SUBMIT 1. 2. 3 DA 작성 ● DA Destination Address TOA Type Of

1 SMS-SUBMIT 1. 2. 3 DA 작성 ● DA Destination Address TOA Type Of Number + Numbering Plan Identification 목적지에 대한 주소 Type of number MTI ● 1 octet MR ● Integer DA ● 2 -12 octet 7 6 5 1 4 3 2 1 0 주소의 크기 Type of number Numbering Plan Identification 국제 번호일 경우 (+가 붙을 때) 2 1 0 0 Numbering Plan Identification 0 1 일반적인 전화번호일 때 0 0 0 3 … 주소 값 n 주소 표현의 구조 ( 안드로이드의 TOA 셋팅 ) 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 18

1 SMS-SUBMIT 1. 2. 4 PID 작성 ● 해당 Protocol의 용도에 해당한다. MTI ●

1 SMS-SUBMIT 1. 2. 4 PID 작성 ● 해당 Protocol의 용도에 해당한다. MTI ● 1 octet MR ● Integer DA ● 2 -12 octet PID ● 1 octet PID Protocol IDentifier SME Short Message Entities SMSC Short Message Service Center 7 6 5 4 3 2 1 0 0 0 0 0 안드로이드는 발송 시 모두 0으로 셋팅한다. 모두 0이란 의미는 일반적인 용도 즉 SME SMSC 간 메시지를 주고 받는 Protocol이란 뜻이다. Mobile Station 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) Service Center 19

1 SMS-SUBMIT 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and

1 SMS-SUBMIT 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 20

1 SMS-SUBMIT 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and

1 SMS-SUBMIT 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 21

1 SMS-SUBMIT Service Type PID 내용 메시지에서 관리 SMS 0 x 00 일반 SMS

1 SMS-SUBMIT Service Type PID 내용 메시지에서 관리 SMS 0 x 00 일반 SMS O V 2 MN 0 x 48 음성/영상 메시지 O Platform 0 x 4 D Platform callback O Browser 0 x 4 E URL Callback O LMS 0 x 4 F LMS 서비스 O LBS 0 x 51 LBS 서비스 LBS에서 관리 CBS 0 x 52 CBS 서비스(사용안함)   0 x 53 Port address에 의한 서비스 확장용 PID OTA-DM 0 x 7 D OTA-Device Management USIM 0 x 7 F USIM UPDATE 사용안함 ? DM에서 관리 OTA 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 22

1 SMS-SUBMIT 00 xx 7 안드로이드 설정 값 6 Coding group 0 0 5

1 SMS-SUBMIT 00 xx 7 안드로이드 설정 값 6 Coding group 0 0 5 4 text 압축 Class Flag 0 0 3 2 Character Set (문자 비트 수) 0 0 1 0 Message Class 0 0 1 0 GSM 7 Bit 00 xx 7 만일 UD 가 UCS 2(16비트)로 구성되어 있는 경우 안드로이드 설정 값 6 Coding group 0 0 5 4 text 압축 Class Flag 0 0 3 2 Character Set (문자 비트 수) 1 0 Message Class 1 1 UCS 2 16 Bit Class Flag가 0이므로 Message Class는 의미가 없다. 00 xx 7 만일 발송하는 메시지가 순수 SMS가 아닌 DATA 전달이 목적인 SMS인 경우 6 Coding group 0 0 5 4 text 압축 Class Flag 0 0 3 2 Character Set (문자 비트 수) 0 1 1 0 Message Class 0 0 8 Bit 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 25

1 SMS-SUBMIT GSM 7 Bit 기본 Alphabet extension table 본 표의 출처 : 3

1 SMS-SUBMIT GSM 7 Bit 기본 Alphabet extension table 본 표의 출처 : 3 G TS 23. 038 V 3. 36. 0 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 26

1 SMS-SUBMIT Absolute Format 방식의 VP 값 아래의 예) 1909년 12월 23일 9시 53분

1 SMS-SUBMIT Absolute Format 방식의 VP 값 아래의 예) 1909년 12월 23일 9시 53분 42초 GMT +4 까지 발송되지 않으면 지워라. 7 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 6 5 4 3 년도 (0~9자리) 0 0 0 2 0 1 1 0 0 0 0 1 1 0 0 0 1 23일 0 9시 0 0 0 53분 0 1 42초 초 (00 ~ 90자리) 0 0 1 TZ Time. Zon (0~9자리) Octet 7 12월 분 (00 ~ 90자리) 초 (0~9자리) 0 0 시 (00 ~ 90자리) 분 (0~9자리) 0 0 일 (00 ~ 90자리) 시 (0~9자리) 1 0 1909년 월 (00 ~ 90자리) 일 (0~9자리) 0 0 년도 (00 ~ 90자리) 월 (0~9자리) 0 1 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 0 0 GMT +4 시간 Time. Zon (00~10자리) +=0 -=1 0 0 0 30

1 SMS-SUBMIT 1. 2. 7 UD 작성 UDL User Data 실질적인 메시지 내용이다. MTI

1 SMS-SUBMIT 1. 2. 7 UD 작성 UDL User Data 실질적인 메시지 내용이다. MTI ● 1 octet MR ● Integer DA ● 2 -12 octet PID ● 1 octet DCS ● 1 octet VP 1/7 octet UDL ● Integer GSM 7 Bit 최대 글자수 160 UD UCS 2 16 Bit 최대 글자수 140 UD MTI MR DA PID DCS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) VP UDL 32

1 SMS-SUBMIT 1. 2. 8 User Data Header 가 포함된 UD 작성 UDL User

1 SMS-SUBMIT 1. 2. 8 User Data Header 가 포함된 UD 작성 UDL User Data UD에 메시지 내용의 헤더를 말한다. 헤더를 통해서 여러 가지 기능을 수행 할 수 있고 메시지의 특성을 변경할 수 있다. 1 octet MTI ● UDHI 비트가 설정되어 있다면 MR ● Integer DA ● 2 -12 octet PID ● 1 octet DCS ● 1 octet VP 1/7 octet UDL ● Integer User Header 정보가 UD에 포함되어 있다는 뜻이다. GSM 7 Bit 최대 글자수 160 UD UCS 2 16 Bit 최대 글자수 140 UD UDHL IEIDL IED … UDHL IEIDL IED Fill data Short Message (7 Bit or 8 Bit or 16 Bit) 여기까지가 UDH 이다. 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 33

1 SMS-SUBMIT 1. 2. 8. 1 User Data Header Element UD에는 여러 개의 Element가

1 SMS-SUBMIT 1. 2. 8. 1 User Data Header Element UD에는 여러 개의 Element가 들어 간다. 각 Element는 특정 의미를 가지고 정보를 포함한다. UDL User Data UDHL User Data Header Length IEI Information Element Identifier IEIDL Information Element Data Length IED Information Element Data SM ? IEIDL IED UD UDHL IEIDL IED … IEI Fill data SM (7 Bit or 8 Bit or 16 Bit) 하나의 Element ( 1 ) UDHL 이란? UDH의 전체 Octet수를 말한다. UD UDHL 1 octet IEIDL IED … IEIDL IED Fill data SM (7 Bit or 8 Bit or 16 Bit) 전체의 octet 수 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 34

1 SMS-SUBMIT IEI 의 종류 본 표의 출처 : John Wiley & Sone Mobile

1 SMS-SUBMIT IEI 의 종류 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 36

1 SMS-SUBMIT 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and

1 SMS-SUBMIT 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 37

1 SMS-SUBMIT KTFT 스팩의 IEI 의 종류 NO IEI Length 내용 1 0 x

1 SMS-SUBMIT KTFT 스팩의 IEI 의 종류 NO IEI Length 내용 1 0 x 01(Special) 2 octet VMS Noti, Store 메시지_ID + 총 메시지 개수 2 0 x 05 4 octet Application port addressing scheme, 16 Bit address 3 0 x 22 가변 4 0 x 40 5 octet LMS 응용서비스 식별자 5 0 x 41 8 octet LMS 인증 정보 6 0 x 42 2 octet LMS 데이터 크기 7 0 x 43 1 octet Pull 지시자 8 0 x 44 1 octet 읽음 확인 식별자 9 0 x 70 0 octet UICC Security Header ( Command Packet Identifier ) 10 0 x 71 0 octet UICC Security Header ( Response Packet Identifier ) 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 회신번호 식별자(Reply Address Element) 38

1 SMS-SUBMIT 스팩의 IEI 0 x 22 에 대해서 IEI 0 x 22 Length

1 SMS-SUBMIT 스팩의 IEI 0 x 22 에 대해서 IEI 0 x 22 Length 내용 가변 회신번호 식별자(Reply Address Element) IEI 7 6 5 4 3 2 1 0 0 0 1 0 IEIDL 2 -12 octets 을 사용해야 한다. IED 2 octet ~ 12 octet 회신번호 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 39

1 SMS-SUBMIT IED 2 octet ~ 12 octet 회신번호 USIM : MSISDN 참조 (회신번호)

1 SMS-SUBMIT IED 2 octet ~ 12 octet 회신번호 USIM : MSISDN 참조 (회신번호) 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 40

1 SMS-SUBMIT ( 3 ) IEDL 이란? IEIDL IED의 octet의 수를 나타낸다. UD UDHL

1 SMS-SUBMIT ( 3 ) IEDL 이란? IEIDL IED의 octet의 수를 나타낸다. UD UDHL IEI이 1 octet IED … IEIDL IED Fill data SM (7 Bit or 8 Bit or 16 Bit) IED octet의 수 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 42

1 SMS-SUBMIT ( 5 ) Fill data 란? UDH는 정확히 octet단위로 Align이 맞아야 한다.

1 SMS-SUBMIT ( 5 ) Fill data 란? UDH는 정확히 octet단위로 Align이 맞아야 한다. 하지만 IED character set이 7 Bit인 경우 8 Bit 단위의 octet에 정확히 맞아 떨어지지 않을 수 있다. 이런 경우 Fill Data에 빈 데이터를 더 추가하여 8 bit Align을 맞춘다. UD UDHL IEIDL IED … IEIDL Fill data IED SM (7 Bit or 8 Bit or 16 Bit) octet(8 Bit) 단위 크기 : 예) 만일 124 Bit인 경우 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 octets 2 4 bit가 남음 3 4 bit +4 bit 4 1 2 3 4 5 6 7 8 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 9 10 11 12 13 14 15 16 정확히 16 octets 44

1 SMS-SUBMIT ( 6 ) SM 란? 실재 User Data가 들어 간다. UD UDHL

1 SMS-SUBMIT ( 6 ) SM 란? 실재 User Data가 들어 간다. UD UDHL IEIDL IED 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) … IEIDL IED Fill data SM (7 Bit or 8 Bit or 16 Bit) 45

1 SMS-SUBMIT 1. 2. 9 KTF 규격 발송 PDU 7 6 5 4 RP

1 SMS-SUBMIT 1. 2. 9 KTF 규격 발송 PDU 7 6 5 4 RP UDHI SRR 3 VPF 2 RD 1 0 MTI Type KTF M TP-MR M Address Length M Type of Address M Value M TP-PID M 0 x 00 TP-DCS M 0 x 00/0 x 84 TP-VP O VPF=00 이면 필드 생략 TP-UDL M TP-UDHL M Reply Address Element IEI M IEIDL M Address-Length M Type of Address M Value O TP-UD O 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) DA : 수신 번호 Indication : 0 x 22 회신 번호 46

2 SMS-SUBMIT-REPORT 2. 1 수신 데이타 파싱 2. 1. 1 SMS-SUBMIT-REPORT PDU 구조 박

2 SMS-SUBMIT-REPORT 2. 1 수신 데이타 파싱 2. 1. 1 SMS-SUBMIT-REPORT PDU 구조 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 47

2 SMS-SUBMIT-REPORT MTI ● 1 octet FCS ● 1 octet PI ● 1 octet

2 SMS-SUBMIT-REPORT MTI ● 1 octet FCS ● 1 octet PI ● 1 octet SCTS ● 7 octets PID 1 octet DCS 1 octet UDL Integer UD negative 시 MTI Message Type Indicator UDHI User Data Header Indicator FCS Failure Cau. Se PI Parameter Indicator SCTS Service Center Time Stamp PID Protocol Identifier DCS Data Coding Scheme UDL User Data Length UD User Data GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 48

3 SMS-DELIVERY 3. 1 메시지 수신 간략 구조 Receiver. Thread (RIL Receiver) RIL Class

3 SMS-DELIVERY 3. 1 메시지 수신 간략 구조 Receiver. Thread (RIL Receiver) RIL Class Run() 요청에 의한 응답 Response solicited 요청하지 않은 응답 1 Response Unsolicited send. Broadcast() 새로운 메시지가 도착 했다는 상수 2 RIL_UNSOL_RESPONSE_NEW_SMS 7 해당 메시지를 Broadcast 한다. ACTION : Intents. SMS_RECEIVED_ACTION Extra : PDU 데이타 3 string 형 데이타 4 파싱 Sms. Message Data SMSDispatcher : EVENT_NEW_SMS Handler 실행 5 !!! 6번 전에서 고려해야 할 사항 !!! DELIVERY REPORT 를 발송하기 전에 현재 단말에 여유공간이 존재하는지 확인해야 한다. 만일 부족 시에는 에러를 리턴 해야 한다. 안드로이드에서는 고려하지 않고 있다. acknowledge. Last. Incoming. SMS() 6 발신측에 메시지를 잘 받았다는 SMS 발송 SMS DELIVERY REPORT 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 49

3 SMS-DELIVERY SCA 2 -12 octets MTI ● 1 octet SCA Service Center Address

3 SMS-DELIVERY SCA 2 -12 octets MTI ● 1 octet SCA Service Center Address MTI Message Type Indicator RP Reply Path UDHI User Data Header Indicator SRI Status Report Indication MMS More Messages to Send OA Originating Address PID Protocol IDentifier OA ● 2 -12 octets PID ● 1 octet DCS ● 1 octet SCTS ● 7 octets DCS Data Coding Scheme UDL Integer SCTS Service Center Time Stamp GSM 7 Bit 최대 글자수 160 UDL User Data Length UD User Data UD UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 51

3 SMS-DELIVERY 3. 2. 3 MTI 항목 파싱 SCA 2 -12 octets MTI ●

3 SMS-DELIVERY 3. 2. 3 MTI 항목 파싱 SCA 2 -12 octets MTI ● 1 octet OA ● 2 -12 octets PID ● 1 octet DCS ● 1 octet SCTS ● 7 octets UDL Integer GSM 7 Bit 최대 글자수 160 UD UCS 2 16 Bit 최대 글자수 140 7 6 5 RP● UDHI SRI 0 1 1 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 4 3 1 MMS ● 사용 안함 0 2 0 0 0 MTI ● 0 1 53

3 SMS-DELIVERY 3. 2. 3. 3 UDHI 파싱 UDHI User Data Header Indicator User

3 SMS-DELIVERY 3. 2. 3. 3 UDHI 파싱 UDHI User Data Header Indicator User Data Header가 포함 되어 있는지 여부 앞장의 상세 설명 참조 7 6 5 RP● UDHI SRI 0 0 0 1 Bit 4 3 1 MMS ● 사용 안함 0 2 0 0 0 MTI ● 0 0 설명 0 UDH 가 존재하지 않는다. 1 UDH 가 존재한다. 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 56

3 SMS-DELIVERY 3. 2. 4 OA 파트 파싱 OA Originating Address 메시지를 발신한 MS의

3 SMS-DELIVERY 3. 2. 4 OA 파트 파싱 OA Originating Address 메시지를 발신한 MS의 주소가 이다. 주소 정보에 대한 설명은 앞장 Destination Address 파트에서 상세히 설명 하였다. (참조바람) SCA 2 -12 octets MTI ● 1 octet OA ● 2 -12 octets PID ● 1 octet DCS ● 1 octet SCTS ● 7 octets UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 59

3 SMS-DELIVERY 3. 2. 5 PID 파트 파싱 PID Protocol IDentifier 해당 Protocol의 용도에

3 SMS-DELIVERY 3. 2. 5 PID 파트 파싱 PID Protocol IDentifier 해당 Protocol의 용도에 해당한다. SCA 2 -12 octets MTI ● 1 octet OA ● 2 -12 octets PID ● 1 octet DCS ● 1 octet SCTS ● 7 octets UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 60

3 SMS-DELIVERY Service Type PID 내용 메시지에서 관리 SMS 0 x 00 일반 SMS

3 SMS-DELIVERY Service Type PID 내용 메시지에서 관리 SMS 0 x 00 일반 SMS O V 2 MN 0 x 48 음성/영상 메시지 O Platform 0 x 4 D Platform callback O Browser 0 x 4 E URL Callback O LMS 0 x 4 F LMS 서비스 O LBS 0 x 51 LBS 서비스 LBS에서 관리 CBS 0 x 52 CBS 서비스(사용안함)   0 x 53 Port address에 의한 서비스 확장용 PID OTA-DM 0 x 7 D OTA-Device Management USIM 0 x 7 F USIM UPDATE 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 사용안함 ? DM에서 관리 OTA 61

3 SMS-DELIVERY 3. 2. 6 DCS 파트 파싱 DCS Data Coding Scheme 데이터 코딩

3 SMS-DELIVERY 3. 2. 6 DCS 파트 파싱 DCS Data Coding Scheme 데이터 코딩 방식을 의미한다. 앞장에 상세 설명을 참조 바람. SCA 2 -12 octets MTI ● 1 octet OA ● 2 -12 octets PID ● 1 octet DCS ● 1 octet SCTS ● 7 octets UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 62

3 SMS-DELIVERY 3. 2. 7 SCTS 파트 파싱 SCTS Service Center Time Stamp MS

3 SMS-DELIVERY 3. 2. 7 SCTS 파트 파싱 SCTS Service Center Time Stamp MS 에서 메시지 발신 SMS-SUBMIT시 SC에 저장된 시간을 의미한다. SC에 도착한 시간 남김 SCA 2 -12 octets MTI ● 1 octet OA ● 2 -12 octets PID ● 1 octet DCS ● 1 octet SCTS ● 7 octets UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 69

3 SMS-DELIVERY 3. 2. 8 UDL 파트 파싱 UDL User Data Length 실질적인 메시지

3 SMS-DELIVERY 3. 2. 8 UDL 파트 파싱 UDL User Data Length 실질적인 메시지 내용의 글자수 정보이다. 앞장에 상세 설명 참조. SCA 2 -12 octets MTI ● 1 octet OA ● 2 -12 octets PID ● 1 octet DCS ● 1 octet SCTS ● 7 octets UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 70

3 SMS-DELIVERY 3. 2. 9 UD 파트 파싱 UD User Data 실질적인 메시지 내용이다.

3 SMS-DELIVERY 3. 2. 9 UD 파트 파싱 UD User Data 실질적인 메시지 내용이다. 앞장에서 설명 하였듯이 UD 내에는 User Data Header가 존재 할 수 있다. SCA 2 -12 octets MTI ● 1 octet OA ● 2 -12 octets PID ● 1 octet DCS ● 1 octet SCTS ● 7 octets UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 71

3 SMS-DELIVERY 3. 2. 10 User Data Header 파싱 UDH User Data Header 앞장에

3 SMS-DELIVERY 3. 2. 10 User Data Header 파싱 UDH User Data Header 앞장에 간략 설명을 참조바람. IEI 의 종류 안드로이드에서는 수신 시 3가지 용도를 지원한다. 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 72

3 SMS-DELIVERY (1) 8 -Bit Reference Number 본 항목의 목적은 SMS 메시지가 긴 것은

3 SMS-DELIVERY (1) 8 -Bit Reference Number 본 항목의 목적은 SMS 메시지가 긴 것은 짤라서 보낼 수 있다라는 방법이다. IEI 7 6 5 4 3 2 1 0 0 0 0 0 IEIDL 3 octet을 사용해야 한다. IED 1 octet 2 octet 3 octet 메시지 그 룹의 8 Bit ID 총 메시지 개수 현재 메시 지 index 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 73

3 SMS-DELIVERY (3) Application port 16 bit addressing IEI 7 6 5 4 3

3 SMS-DELIVERY (3) Application port 16 bit addressing IEI 7 6 5 4 3 2 1 0 0 0 1 0 1 IEIDL 2 octet을 사용해야 한다. IED 1 octet 2 octet 상위 비트 포트번호 하위 비트 포트번호 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 75

3 SMS-DELIVERY NO IEI Length 내용 1 0 x 01(Special) 2 octet VMS Noti,

3 SMS-DELIVERY NO IEI Length 내용 1 0 x 01(Special) 2 octet VMS Noti, Store 메시지_ID + 총 메시지 개수 2 0 x 05 4 octet Application port addressing scheme, 16 Bit address 3 0 x 22 가변 4 0 x 40 5 octet LMS 응용서비스 식별자 5 0 x 41 8 octet LMS 인증 정보 6 0 x 42 2 octet LMS 데이터 크기 7 0 x 43 1 octet Pull 지시자 8 0 x 44 1 octet 읽음 확인 식별자 9 0 x 70 0 octet UICC Security Header ( Command Packet Identifier ) 10 0 x 71 0 octet UICC Security Header ( Response Packet Identifier ) 회신번호 식별자(Reply Address Element) 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 76

3 SMS-DELIVERY 3. 2. 10 KTF 규격 수신 PDU 7 6 5 4 RP

3 SMS-DELIVERY 3. 2. 10 KTF 규격 수신 PDU 7 6 5 4 RP UDHI SRI 3 00 2 MMS 1 0 MTI Type KTF M Address Length M Type of Address M Value M TP-PID M 0 x 00 TP-DCS M 0 x 00/0 x 84 TP-SCTS M TP-U이 M TP-UDHL M Reply Address Element IEI O IEIDL O Address-Length O Type of Address O Value O TP-UD M 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) OA : 수신 번호 Time Stamp Identifier : 0 x 22 회신 번호 77

3 SMS-DELIVERY 3. 2. 11 KTF 사서함 착신 알림 메시지 PDU 7 6 5

3 SMS-DELIVERY 3. 2. 11 KTF 사서함 착신 알림 메시지 PDU 7 6 5 4 RP UDHI SRI 3 00 2 MMS 1 0 MTI Type KTF M Address Length M OA : 수신 번호 Type of Address M Value M TP-PID M 0 x 00 / 0 x 48 / 0 x 5 F TP-DCS M 0 x 0 C TP-SCTS M Time Stamp TP-UDL M 0 x 06 / 0 x 07+Reply Address TP-UDHL M UDH 길이 : 0 x 04 + Reply Address IEI (Special SMS message indication) M IEI이 M Indication : 0 x 01 데이터 길이 : 0 x 02 Message Indication type and Storage M VMS : 0 x 80 /0 x 00 영상메일 : 0 x 07 / 0 x 83 / 0 x 87 Message Count M 총 메시지 수 (Binary 값) IEI ( Reply Address Element ) O Indication : 0 x 22 IEIDL O Address-Length O Type of Address O Value O TP-UD M IED 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 회신 번호 신규 메시지 수(binary 값) (투폰 서비스: 신규 메시지 수 앞에 0 x 0 F의 구분자가 올수 있음) 78

4 SMS-DELIVERY-REPORT 4. 1 메시지 수신에 대한 발송 리포트 구조 Receiver. Thread (RIL Receiver)

4 SMS-DELIVERY-REPORT 4. 1 메시지 수신에 대한 발송 리포트 구조 Receiver. Thread (RIL Receiver) RIL Class Run() 요청에 의한 응답 Response solicited 요청하지 않은 응답 1 Response Unsolicited send. Broadcast() 새로운 메시지가 도착 했다는 상수 2 RIL_UNSOL_RESPONSE_NEW_SMS 7 해당 메시지를 Broadcast 한다. ACTION : Intents. SMS_RECEIVED_ACTION Extra : PDU 데이타 3 string 형 데이타 4 파싱 Sms. Message Data SMSDispatcher : EVENT_NEW_SMS Handler 실행 5 !!! 6번 전에서 고려해야 할 사항 !!! DELIVERY REPORT 를 발송하기 전에 현재 단말에 여유공간이 존재하는지 확인해야 한다. 만일 부족 시에는 에러를 리턴 해야 한다. 안드로이드에서는 고려하지 않고 있다. acknowledge. Last. Incoming. SMS() 6 발신측에 메시지를 잘 받았다는 SMS 발송 SMS DELIVERY REPORT 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 79

4 SMS-DELIVERY-REPORT 발송 4. 1 메시지 수신에 대한 발송 리포트 구조 안드로이드에서는 Modem AT

4 SMS-DELIVERY-REPORT 발송 4. 1 메시지 수신에 대한 발송 리포트 구조 안드로이드에서는 Modem AT CMD Local Socket AT CMD RIL 6 RIL_REQUEST_SMS_ACKNOWLEDGE SMS-DELIVERY-REPORT 발송 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 80

4 SMS-DELIVERY-REPORT Qualcomm에서는 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 81

4 SMS-DELIVERY-REPORT Qualcomm에서는 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 81

4 SMS-DELIVERY-REPORT 4. 2 발신 데이타 생성 4. 2. 1 SMS-DELIVERY-REPORT PDU 구조 박

4 SMS-DELIVERY-REPORT 4. 2 발신 데이타 생성 4. 2. 1 SMS-DELIVERY-REPORT PDU 구조 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 82

4 SMS-DELIVERY-REPORT MTI ● 1 octet FCS ● 1 octet PID 1 octet DCS

4 SMS-DELIVERY-REPORT MTI ● 1 octet FCS ● 1 octet PID 1 octet DCS 1 octet UDL Integer UD negative 시 MTI Message Type Indicator UDHI User Data Header Indicator FCS Failure Cau. Se PI Parameter Indicator PID Protocol Identifier DCS Data Coding Scheme UDL User Data Length UD User Data GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 83

5 SMS-STATUS-REPORT SCA 2 -12 octets MTI ● 1 octet SCA Service Center Address

5 SMS-STATUS-REPORT SCA 2 -12 octets MTI ● 1 octet SCA Service Center Address MTI Message Type Indicator UDHI User Data Header Indicator SRQ Status Report Qualifier MMS More Messages to Send MR Message Reference RA Recipient Address SCTS Service Center Time Stamp MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT Discharge Time ST 1 octet ST STatus PI 1 octet PI Parameter Indicator PID 1 octet PID Protocol Identifier DCS 1 octet DCS Data Coding Scheme UDL Integer UDL User Data Length UD User Data UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 85

5 SMS-STATUS-REPORT 5. 1. 2 SCA 항목 파싱 메시지를 전달해준 서비스 센터의 주소가 이다.

5 SMS-STATUS-REPORT 5. 1. 2 SCA 항목 파싱 메시지를 전달해준 서비스 센터의 주소가 이다. 주소 정보에 대한 설명은 앞장 Destination Address 파트 에서 상세히 설명 하였다. (참조바람) SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 86

5 SMS-STATUS-REPORT 5. 1. 3 MTI 항목 파싱 SCA 2 -12 octets MTI ●

5 SMS-STATUS-REPORT 5. 1. 3 MTI 항목 파싱 SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer GSM 7 Bit 최대 글자수 160 UD UCS 2 16 Bit 최대 글자수 140 7 6 5 사용 안함 UDHI SRQ ● 0 1 1 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 4 3 1 MMS ● 사용 안함 0 2 0 0 0 MTI ● 0 1 87

5 SMS-STATUS-REPORT 5. 1. 4 MR 파싱 MR Message Reference 내가 발송했던 SMS-SUBMIT에 대한

5 SMS-STATUS-REPORT 5. 1. 4 MR 파싱 MR Message Reference 내가 발송했던 SMS-SUBMIT에 대한 응답 메시지 인지 확인하는 메시지에 대한 ID 값이다. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 92

5 SMS-STATUS-REPORT 5. 1. 5 RA 항목 파싱 RA Recipient Address 수령인 주소 정보를

5 SMS-STATUS-REPORT 5. 1. 5 RA 항목 파싱 RA Recipient Address 수령인 주소 정보를 말한다. 즉 처음 내가 보낸 SMS-SUBMIT에서 목적지 주소에 해당한다. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 94

5 SMS-STATUS-REPORT 5. 1. 6 SCTS 항목 파싱 SCTS Service Center Time Stamp SC단에서

5 SMS-STATUS-REPORT 5. 1. 6 SCTS 항목 파싱 SCTS Service Center Time Stamp SC단에서 SMS-STATUS-REPORT 를 보내기 전 SC단에서 메시지 발송 시간을 남긴다. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD SC에 도착한 시간 남김 GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 96

5 SMS-STATUS-REPORT 5. 1. 7 DT 항목 파싱 DT Discharge Time 처음에 보낸 SMS-SUBMIT

5 SMS-STATUS-REPORT 5. 1. 7 DT 항목 파싱 DT Discharge Time 처음에 보낸 SMS-SUBMIT 메시지가 목적지에 도달한 시간정보 이다. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD 도착한 시간 남김 GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 97

5 SMS-STATUS-REPORT 5. 1. 8 ST 항목 파싱 ST STatus 뭘까요? (전달 되었다. 전달되는

5 SMS-STATUS-REPORT 5. 1. 8 ST 항목 파싱 ST STatus 뭘까요? (전달 되었다. 전달되는 중이다. 기타 목적지의 상태 정보 가 아닐까? ) SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 98

5 SMS-STATUS-REPORT 5. 1. 9 PI 항목 파싱 PI Parameter Indicator 본 정보는 PI

5 SMS-STATUS-REPORT 5. 1. 9 PI 항목 파싱 PI Parameter Indicator 본 정보는 PI 다음에 오는 PID/DCS/UDL 정보가 존재 하는지에 대한 정보를 나타낸다. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 99

5 SMS-STATUS-REPORT 7 6 5 ? 4 3 예약 비트 0 0 0 2

5 SMS-STATUS-REPORT 7 6 5 ? 4 3 예약 비트 0 0 0 2 1 0 UDL 유무 DCS 유무 PID 유무 1 1 1 0 SCA 2 -12 octets MTI ● 1 octet 1 Bit UDL 정보 1 Bit DCS 정보 1 Bit PID 정 보 MR ● 1 octet 0 미존재 RA ● 2 -12 octets 1 존재 SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 100

5 SMS-STATUS-REPORT 5. 1. 10 PID 항목 파싱 PID Protocol Identifier 해당 Protocol의 용도에

5 SMS-STATUS-REPORT 5. 1. 10 PID 항목 파싱 PID Protocol Identifier 해당 Protocol의 용도에 해당한다. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 본 표의 출처 : John Wiley & Sone Mobile Messaging Technologies and Services SMS, EMS and MMS 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 101

5 SMS-STATUS-REPORT 5. 1. 11 DCS 항목 파싱 DCS 데이터 코딩 방식을 의미한다. 앞장에

5 SMS-STATUS-REPORT 5. 1. 11 DCS 항목 파싱 DCS 데이터 코딩 방식을 의미한다. 앞장에 상세 설명을 참조 바람. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD Data Coding Scheme GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 102

5 SMS-STATUS-REPORT 5. 1. 12 UDL 항목 파싱 UDL User Data Length 실질적인 메시지

5 SMS-STATUS-REPORT 5. 1. 12 UDL 항목 파싱 UDL User Data Length 실질적인 메시지 내용의 글자수 정보이다. 앞장에 상세 설명 참조. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 103

5 SMS-STATUS-REPORT 5. 1. 13 UD 파트 파싱 UD User Data 실질적인 메시지 내용이다.

5 SMS-STATUS-REPORT 5. 1. 13 UD 파트 파싱 UD User Data 실질적인 메시지 내용이다. 앞장에서 설명 하였듯이 UD 내에는 User Data Header가 존재 할 수 있다. SCA 2 -12 octets MTI ● 1 octet MR ● 1 octet RA ● 2 -12 octets SCTS ● 7 octets DT ● 7 octets ST 1 octet PID 1 octet DCS 1 octet UDL Integer UD GSM 7 Bit 최대 글자수 160 UCS 2 16 Bit 최대 글자수 140 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 104

7 SMS 수신 확인 7. 1 발신 수신 확인 7. 1. 1 PDU 정보

7 SMS 수신 확인 7. 1 발신 수신 확인 7. 1. 1 PDU 정보 작성 MTI ● 1 octet MR ● Integer DA ● 2 -12 octet PID ● 1 octet DCS ● 1 octet VP 1/7 octet UDL ● Integer 보안 UD 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 106

8 SMS 읽음 확인 8. 1 발신 읽음 확인 8. 1. 1 PDU 정보

8 SMS 읽음 확인 8. 1 발신 읽음 확인 8. 1. 1 PDU 정보 작성 MTI ● 1 octet MR ● Integer DA ● 2 -12 octet PID ● 1 octet DCS ● 1 octet VP 1/7 octet UDL ● Integer 보안 UD 박 성 근(010 -9985 -2539) 무단 도용을 금합니다. (^^; ) 108