IS-637
IS-637 je původní označení standardu, který popisuje formát SMS v CDMA sítích. Organizace 3GPP2 jej vydává pod názvem C.S0015, verze z listopadu 2012 nese název C.S0015-C v1.0[1].
Kapitola 3 dokumentu C.S0015-C popisuje formát PDU, které se přenáší mezi mobilním telefonem a MSC. Mezi jednotlivými MSC a mezi MSC a MC se zprávy přenášejí jako parametry MAP protokolu, popsané v X.S0004[2]; kapitola 4 C.S0015-C platí pro přenos SMS celou mobilní sítí mezi telefonem a MC
Průchod SMS zprávy mobilní sítí
V IS-41 sítích není cesta SM tak jednoduchá jako v GSM sítích:
Z MO mobilu je zpráva zaslána do Serving MSC, odtud může být poslána přes několik Tandem MSC až dorazí do Anchor MSC. Pro posílání MO zprávy mezi MSC se používá operace SMSDeliveryBackward. Teprve Anchor MSC pošle zprávu do střediska textových zpráv, které se v ANSI standardech anglicky nazývá Message Center (MC), pomocí operace SMSDeliveryPointToPoint. Zpráva pak může být poslána do druhého MC pomocí SMSDeliveryPointToPoint. Odtud další operací SMSDeliveryPointToPoint Anchor MSC. Z něho přes případná Tandem MSC operací SMSDeliveryForward až do Serving MSC. A teprve z něj do MT mobilu.
Pokud má být zpráva doručena mobilnímu zařízení, použije MC zprávu SMSRequest pro získání adresy, na kterou má zprávu poslat (routing address). Žádost obvykle obsahuje MobileDirectoryNumber příjemce, ve staré verzi standardu však bylo uvedeno, že zpráva musí obsahovat MIN, které nemá MC kde získat.
Zkratka | IS-41 MAP operace | má obdobu v GSM MAP operaci |
---|---|---|
SMDPP | SMSDeliveryPointToPoint | forwardSM |
SMDBACK | SMSDeliveryBackward | není (MSC si nepředávají SMs) |
SMDFWD | SMSDeliveryForward | není (MSC si nepředávají SMs) |
SMSNOT | SMSNotification | alertServiceCenter |
SMSREQ | SMSRequest | sendRoutingInfoForSM |
V dokumentech se pro žádosti (INVOKE) používají zkratky psané velkými písmeny (např. SMDPP), pro odpovědi (RETURN RESULT) zkratky psané malými písmeny (smdpp).
Zatímco v GSM sítích prochází standardně zpráva pouze střediskem krátkých textových zpráv odesilatele, a možnost, aby zpráva procházela i SMS centrem příjemce zprávy byla doplněna dodatečně a stále vypadá jako přílepek, IS-41 umožňuje v MO zprávě v IS-41 parametru SMS_OriginationRestrictions určit, zda má být zpráva poslána na SMS centrum odesilatele (anglicky indirect routing), nebo přímo na SMS centrum příjemce (anglicky direct routing). Při indirect routing (který je doporučován) zpráva prochází i SMS centrem příjemce. Pro dopravu zpráv mezi SMS centry při indirect routingu se často používá protokol SMPP.
MAP parametry týkající se SMS mají následující BER (ASN.1) kódy[3]:
MAP parametr | BER kód |
---|---|
MobileIdentificationNumber | 88 |
ElectronicSerialNumber | 89 |
SMS_Address | 9F 68 |
SMS_BearerData | 9F 69 |
SMS_ChargeIndicator | 9F 6A |
SMS_DestinationAddress | 9F 6B |
SMS_MessageCount | 9F 6C |
SMS_NotificationIndicator | 9F 6D |
SMS_OriginalDestinationAddress | 9F 6E |
SMS_OriginalDestination-Subaddress | 9F 6F |
SMS_OriginalOriginatingAddress | 9F 70 |
SMS_OriginalOriginating-Subaddress | 9F 71 |
SMS_OriginatingAddress | 9F 72 |
SMS_OriginationRestrictions | 9F 73 |
SMS_TeleserviceIdentifier | 9F 74 |
SMS_TerminationRestrictions | 9F 75 |
SMS_MessageWaitingIndicator | 9F 76 |
ActionCode | 9F 81 00 |
SMS_AcessDeniedReason | 9F 81 18 |
SMS_CauseCode | 9F 81 19 |
NewlyAssignedMIN | 9F 81 3B |
TemporaryReferenceNumber | 9F 81 43 |
MobileStationIMSI | 9F 82 1E |
NewlyAssignedIMSI | 9F 82 1F |
ServiceIndicator | 9F 82 41 |
InterMessageTime | 9F 82 46 |
NewMINExtension | 9F 82 48 |
Hodnoty SMS_AcessDeniedReason
Hodnoty SMS_AcessDeniedReason (ve Wiresharku použít filtr frame contains 9F:81:18:01:xx):
Hodnota (hex) | Význam |
---|---|
00 Not used | |
01 Denied | Požadavek nemůže být vykonán; MS je neznámé, nebo je známé, ale nepodporuje SMS nebo pro ně není povoleno, či je pozastaveno. Notifikace nebude poslána. |
02 Posponed | MS je známé, ale nedosažitelné a SMSNotificationIndicator indikuje, že má být oznámeno, když se stane dostupným. Notifikace nebude poslána. |
03 Unavailable | MS je známé, ale nedosažitelné a SMSNotificationIndicator indikuje, že nemá být oznámeno, když se stane dostupným. Notifikace nebude poslána. |
04 Invalid | Chybný SMS_TeleserviceID. Notifikace nebude poslána. |
05-3F | Rezervováno; zpracovat stejně jako chybu 01, Denied |
40-7F | Rezervováno; zpracovat stejně jako chybu 02, Postponed |
80-DF | Rezervováno; zpracovat stejně jako chybu 03, Unavailable |
E0-FF | Rezervováno pro rozšíření protokolu TIA/EIA-41; není-li chyba známa, zpracovat stejně jako chybu 03, Unavailable |
Postponed může mít následující důvod:
- MS-based SME unreachable
- SME is not currently available
- MS receiver is off
- MS-based SME is busy
Hodnoty SMS_CauseCode
Pokud pokus o přenos SM skončil chybou, vrátí příjemce TCAP response package obsahující Return Result pro příslušnou MAP zprávu (např. SMSDeliveryPointToPoint) obsahující na MAP úrovni parametr SMS_CauseCode, který nabývá následujících hodnot (ve Wiresharku použít filtr frame contains 9F:81:19:01:xx)[4]:
Hodnota (dec) | Význam |
---|---|
0 | Address vacant. SMS Destination Address is valid but not currently allocated to an SMS terminal. The MIN associated with a valid destination address is not known to its HLR. |
1 | Address translation failure. The SMS Destination Address is invalid (e.g., address is not a recognized address type, address is not for a known or possible SMS functional entity, the MIN associated with a destination MS address does not correspond to its HLR, the ESN associated with a destination MS does not match the expected value, the SMS_Destination-Address, SMS_OriginalDestinationAddress, destination MIN, or original destination subaddress does not match the address of a destination SME, etc.). |
2 | Network resource shortage. Network transmission failed due to lack of a network resource or link capacity. |
3 | Network failure. A network node failed, a link failed or a required operation failed. |
4 | Invalid Teleservice ID. The SMS_TeleserviceIdentifier is not known, is not supported or is not authorized by an addressed functional entity. |
5 | Other network problem. A network problem other than identified above. |
6-31 | Reserved. Treat the same as value 5, Other network problem. |
32 | No page response. The addressed MS-based SME is known, but it does not respond to a page. SMS Notification is not pending. |
33 | Destination busy. The destination MS-based SME is SMS capable, but is currently engaged in a call, a service or a call mode that precludes the use of SMS or the destination SME is congested. This value shall only be used between the MSC and the MC when allowed by bilateral agreement. SMS Notification is not pending. |
34 | No acknowledgment. The destination SME does not acknowledge receipt of the SMS delivery. This value may be used when terminal busy and no page response are not appropriate. SMS Notification is not pending. |
35 | Destination resource shortage. A required terminal resource (e.g., memory, etc.) is not available to process this message. SMS notification is not pending. |
36 | SMS delivery postponed. Delivery is not currently possible (e.g., No page response, Destination busy, No acknowledgment, Destination out of service, Other terminal problem), but SMS notification is pending. |
37 | Destination out of service. The addressed destination is out of service for an extended period of time (e.g., MS sleep, inactive, power off). SMS notification is not pending. |
38 | Destination no longer at this address. The MS-based SME is no longer at the temporary SMS routing address. The message sender should not re-use the temporary SMS routing address. SMS notification is not pending. |
39 | Other terminal problem. A terminal problem other than described above. SMS notification is not pending. |
40-47 | Reserved. Treat the same as value 39, Other terminal problems. |
48-63 | Reserved. Treat the same as value 36, SMS delivery postponed. |
64 | Radio interface resource shortage. There is no channel available or there is radio congestion at this time. |
65 | Radio interface incompatibility. The MS for an MS-based SME is operating in a mode that does not support SMS at this time. |
66 | Other radio interface problem. A radio interface problem to an MS-based SME other than described above. |
67-95 | Reserved. Treat the same as value 66, Other radio interface problem. |
96 | Encoding problem. The size of a parameter or field is not what is expected. |
97 | SMS origination denied The originating MIN is not recognized, the originating address is not allowed for the originating MIN, the ESN does not match the originating MIN, the origination is not authorized, the originating address is not recognized, etc. |
98 | SMS termination denied. The destination is not authorized to receive the SMS message, the MC refused the message, the destination SME refused the message, the destination is not authorized for a required supplementary service, etc. |
99 | Supplementary service not supported. The originating supplementary service is not known or supported, the sender is not authorized for an originating supplementary service, etc. |
100 | SMS not supported. SMS is not supported by an addressed functional entity. |
101 | Reserved. |
102 | Missing expected parameter An optional parameter that is required for a particular function). |
103 | Missing mandatory parameter. A parameter is missing that is mandatory for a particular message. |
104 | Unrecognized parameter value. A known parameter has a unknown or unsupported value. |
105 | Unexpected parameter value. A known parameter has a known, but unexpected value. |
106 | User Data size error. The User Data size is too large for access technology, transport network, or call mode, etc. The User Data size is not what is expected for the indicated teleservice. |
107 | Other general problems. |
108-223 | Reserved. Treat the same as value 107, Other general problems. |
224-255 | Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 107, Other general problems. |
Postup při doručování CDMA SMS zpráv
SMSC vyšle TCAP package queryWithPerm obsahující komponentu invokeLast s operation code 2359 (SMSRequest). Starší standardy až po N.S0005-0 v1.0 uvádějí, že SMSRequest INVOKE musí obsahovat MobileIdentificationNumber. MC však nemá žádnou možnost, jak tuto hodnotu získat, což po zavedení Mobile Number Portability (kdy MIN se nemusí rovnat MDN) vedlo k různým krkolomným řešením používajícím nestandardizované dotazy na různé databáze. X.S0004-540-E v2.0 již připouští, aby SMSRequest INVOKE posílaný z MC na HLR obsahoval MSID (tj. MIN nebo IMSI) nebo MobileDirectoryNumber, které je známé z SMS_OriginalDestinationAddress nebo obdobné adresy při použití jiného protokolu než CDMA pro submit původní zprávy.
HLR vrátí odpověď v TCAP package response se stejným identifier, jaký měl dotaz, obsahující komponentu returnResultLast, ve které je electronicSerialNumber a adresu anchor MSC příjemce v parametru sms-Address; v USA sms-Address obvykle obsahuje PC a SSN.
SMSC pak vyšle TCAP package queryWithPerm obsahující komponentu invokeLast s operation code 2357 (SMSDeliveryPointtoPoint) obsahující získané electronicSerialNumber, původní mobileIdentificationNumber na SCCP adresu vrácenou jako sms-Address (např. PC + SSN).
Na což bude odpovězeno pomocí TCAP package response obsahující komponentu returnResultLast; pokud operace skončila úspěchem, bývá MAP prázdný (tvořený pouze tagem F2 a oktetem obsahujícím délku s hodnotou 0), může však obsahovat i SMS_BearerData; pokud operace selhala, obsahuje SMS_CauseCode s číslem chyby.
Další operace, která se týká SMSC, je (2358) SMSNotification, kterou posílá HLR nebo MSC na MC nebo OTAF. Tato operace slouží k oznámení, že stav MS týkající se schopnosti přijímat SMS se změnil.
Typy zpráv
Rozlišují se následující typy SMS zpráv[1]:
MESSAGE_TYPE | Kapitola C.S0015 |
Typ zprávy | Směr | |
---|---|---|---|---|
MO | MT | |||
1 | 4.4.1 | SMS Deliver Message (D) - doručení zprávy na mobil | + | |
2 | 4.4.2 | SMS Submit Message (S) - odeslání zprávy z mobilu | + | |
3 | 4.4.3 | SMS Cancellation Message (C) - zrušení dříve odeslané a zatím nedoručené zprávy | + | |
4 | 4.4.5 | SMS Delivery Acknowledgment Message (DA) - posílá MC, když mobil potvrdil přijetí | + | |
5 | 4.4.4 | SMS User Acknowledgment Message (UA) - uživatel potvrdil přijetí zprávy | + | + |
6 | 4.4.6 | SMS Read Acknowledgment Message (RA) - uživatel došlou zprávu otevřel | + | + |
7 | 4.4.7 | SMS Deliver Report Message (DR) | + | |
8 | 4.4.8 | SMS Submit Report Message (SR) | + |
Jednotlivé teleservisy podporují následující typy zpráv:
CDMA teleservis | Zkratka | Síť. teleservis[5] | Id | Typ zprávy | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
D | S | C | UA | DA | RA | DR | SR | ||||
IS-91 Extended Protocol Enhanced Services | CMT-91 | CMT-91 | 4096 | + | |||||||
Wireless Paging Teleservice | WPT | CPT-95 | 4097 | + | O | O | O | ||||
Wireless Messaging Teleservice | WMT | CMT-95 | 4098 | + | O | O | O | O | O | ||
Voice Mail Notification | VMN | VMN-95 | 4099 | + | |||||||
Wireless Application Protocol | WAP | WAP | 4100 | + | + | ||||||
Wireless Enhanced Messaging Teleservice | WEMT | WEMT | 4101 | + | O | O | O | O | O | ||
Service Category Programming Teleservice | SCPT | SCPT | 4102 | + | O | ||||||
Card Application Toolkit Protocol Teleservice | CATPT | CATPT | 4103 | + | + | + |
Pojmenování teleservisů je poněkud rozkolísané; další teleservisy (včetně historických TDMA) jsou uvedeny v X.S0004-550[4] v části SMS_TeleserviceIdentifier.
Subparametry Bearer Data
V závislosti na teleservisu a typu zprávy obsahuje parametr Bearer Data následující parametry (M = povinný subparametr, O = nepovinný subparametr):
Teleservice | WPT | WMT/WEMT | VMN | CATP | CMT-91 | WAP | SCTP | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MESSAGE_TYPE | D | S | D | S | UA | DA | RA | C | D | D | S | UA | D | D | S | D | S | DR | SR | |
SUBPARAMETER_ID | ||||||||||||||||||||
Subparametr | ||||||||||||||||||||
Message Identifier | 0 | M | M | M | M | M | M | M | M | M | M | M | M | M | M | M | M | M | M | M |
User Data | 1 | O | O | O/M | O/M | O | O | O | O | M | M | O | M | M | M | O | O | |||
User Response Code | 2 | O | O | |||||||||||||||||
Message Center Time Stamp | 3 | O | O | O | O | O | O | O | ||||||||||||
Validity Period – Absolute | 4 | O | O | |||||||||||||||||
Validity Period – Relative | 5 | O | O | |||||||||||||||||
Deferred Delivery Time – Absolute | 6 | O | ||||||||||||||||||
Deferred Delivery Time – Relative | 7 | O | ||||||||||||||||||
Priority Indicator | 8 | O | O | O | O | O | ||||||||||||||
Privacy Indicator | 9 | O | O | O | O | O | ||||||||||||||
Reply Option | 10 | O | O | O | O | |||||||||||||||
Number of Messages | 11 | O | O | M | ||||||||||||||||
Alert on Message Delivery | 12 | O | O | O | ||||||||||||||||
Language Indicator | 13 | O | O | O | O | |||||||||||||||
Call-Back Number | 14 | O | O | O | O | O | ||||||||||||||
Message Display Mode | 15 | O | O | |||||||||||||||||
Multiple Encoding User Data | 16 | O | O | O | O | O | O | O | O | O | O | |||||||||
Message Deposit Index | 17 | O | O | O | O | O | O | |||||||||||||
Service Category Program Data | 18 | M | ||||||||||||||||||
Service Category Program Results | 19 | M | ||||||||||||||||||
Message Status | 20 | O | ||||||||||||||||||
TP-Failure Cause | 21 | |||||||||||||||||||
Enhanced VMN | 22 | O | C | C | ||||||||||||||||
Enhanced VMN Ack | 23 | O | ||||||||||||||||||
Hodnota MSG_ENCODING | 1 | 0 | 0 |
Každý subparametr začíná osmibitovým polem SUBPARAMETER_ID, které obsahuje číslo subparametru, a osmibitovým polem SUBPARAM_LEN, který obsahuje délku subparametru (bez polí SUBPARAMETER_ID a SUBPARAM_LEN) v oktetech. Pak následují další pole závislá na konkrétním subparametru, jak je popsáno dále. Jednotlivá pole nemusí být tvořena celistvými oktety, každému poli je přidělen buď pevný počet bitů, nebo lze jeho délku odvodit z hodnot jiných polí a hodnoty SUBPARAM_LEN. Bity jsou polím přidělovány v tom pořadí, v jakém jsou pole uvedena v tabulkách, vždy od nejvyšších bitů, takže například pole MESSAGE_ENCODING subparametru User Data zabírá pět horních bitů v bytu následujícím za SUBPARAM_LEN; ve zbývajících třech nejnižších bitech jsou tři horní bity následujícího pole MESSAGE_TYPE nebo NUM_FIELDS, zatímco spodních pět bitů pole je umístěno v horních pěti bitech následující bytu. Celý subparametr je vždy doplněn na celistvý počet bytů polem RESERVED, které musí být tvořeno nulovými bity.
Message Identifier
Subparametr Message Identifier je jediný povinný subparametr u všech typů zpráv a teleservisů. Umožňuje rozlišit typ zprávy, odhalovat duplicitní zprávy, a pro WEMT teleservis obsahuje informaci, zda zpráva obsahuje UDH.
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 0 |
SUBPARAM_LEN | 8 | 3 |
MESSAGE_TYPE | 4 | 1=Deliver, 2=Submit atd. |
MESSAGE_ID | 16 | |
HEADER_IND | 1 | 1=pole CHARi User Data Subparametru začíná UDH |
RESERVED | 3 | 0 |
CDMA telefony by měly duplicitní doručené zprávy zahazovat (C.S0015-C část 4.3.1.6). Pro odhalení duplicitních zpráv by měl telefon u vybraných teleservisů (podporujících unikátní identifikaci zpráv) používat následující pole:
- Message identifier
- Originating Address
- Originating Subaddress
- Message Center Time Stamp
Jedinou výslovně uvedenou výjimkou je teleservis WAP, u kterého všechny segmenty segmentované části mají mít stejné MESSAGE_ID, protože duplicitní segmenty lze odhalit pomocí pole SEGMENT_NUMBER.
Nastavování MESSAGE_ID podle C.S0015-C kap. 4.3.1.5 Setting of Message Identifier Field:
Hodnota v MESSAGE_ID poli subparametru Message Identifier slouží k identifikaci odesílaných SMS zpráv.
Pokud zpráva používá WAP Teleservis, mobilní stanice použije pro nastavení hodnoty pole MESSAGE_ID postup uvedený v části 6.5.3 dokumentu "WAP-259-WDP-20010614-a".
Jinak mobilní stanice použije hodnotu MESSAGE_ID o jedničku větší než v předchozí zprávě. Po svém spuštění by měla mobilní stanice vybrat hodnotu MESSAGE_ID pro první zprávu tak, aby se minimalizovala pravděpodobnost použití stejné hodnoty MESSAGE_ID v následujících zprávách SMS Submit.
Ve WAP-259-WDP-20010614-a[6] se píše:
6.5.3. Use of MESSAGE_ID Field
Při posílání WDP datagramu v IS-637 SMS zprávě, MUSÍ odesílající koncový bod IS-637 nastavit hodnotu pole MESSAGE_ID subparametru Message Identifier takto:
- Pokud SMS zpráva obsahuje první segment prvního WDP datagramu po (opětovném) startu koncového bodu IS-637, koncový bod MUSÍ nastavit MESSAGE_ID na náhodnou hodnotu v intervalu 0 - 65535.
- Jinak MUSÍ koncový bod pro první segment WDP datagramu použít hodnotu o jedničku větší než v předchozím odeslaném WDP datagramu (modulo 65536).
- MC, ve kterém zpráva v protokolu IS-637 končí, MŮŽE jako MESSAGE_ID použít referenční číslo zprávy získané z protokolu rozhraní short message entity. Lze například použít ‘sar_msg_ref_num’ z [WDPWCMPAdapt]. Pokud není dostupné žádné referenční číslo, MC MUSÍ nastavit hodnotu MESSAGE_ID podle pravidel uvedených v této části dokumentu.
Praktické zkušenosti ukazují, že není vhodné používat MESSAGE_ID s hodnotou 0.
User Data
Struktura subparametru User Data:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 1 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru |
MESSAGE_ENCODING | 5 | viz následující tabulka |
MESSAGE_TYPE | 0/8 | pouze pro kódování IS-91 ext. a GSM Data-Coding Scheme |
NUM_FIELDS | 8 | počet oktetů/znaků v CHARi |
CHARi | var | vlastní zpráva, příp. začínající UDH |
RESERVED | 0-7 | 0 |
Možné hodnoty pro kódování zprávy (MESSAGE_ENCODING) jsou popsány v C.R1001[7]:
MSG_ENCODING | Kódování CHARi | Jednotka délky (bitů) |
---|---|---|
0 | Octet unspecified | 8 |
1 | Extended Protocol Message | |
2 | 7-bit ASCII | 7 |
3 | IA5 | 7 |
4 | UNICODE (UCS-2, resp. UTF-16) | 16 |
5 | Shift-JIS | 8 |
6 | KS C5201 | 8 |
7 | Latin-Hebrew | 8 |
8 | Latin | 8 |
9 | GSM 7-bit default alphabet | 7 |
10 | GSM Data-Coding-Scheme | 7, 8 nebo 16 |
Jednotlivé znaky v poli CHARi jsou ukládány podle pravidel popsaných výše, jako kdyby se jednalo o samostatná pole. Velmi komplikované je ukládání znaků v sedmibitovém kódování ASCII nebo IA5, v případě, že zpráva obsahuje UDH (User data Header). UDH je uloženo jako by se jednalo o osmibitová data (tzn. horní tři bity jednoho bytu UDH ve spodních třech bitech jednoho bytu subparametru a spodních pět bitů v horních pěti bitech následující bytu subparametru). Pak následuje 0-6 nulových bitů, které zarovnávají délku UDH na celistvý počet septetů, za nimiž následují sedmice bitů jednotlivých znaků textu. Celý subparametr je pak doplněn 0-7 nulovými bity na celistvý počet oktetů. V případě kódování UNICODE obsahuje pole NUM_FIELDS počet šestnáctibitových položek v CHARi. Pokud v tomto případě obsahuje zpráva UDH liché délky, je za poslední znak přidáno 8 nulových bitů, které doplňují CHARi na sudý počet bytů.
Nejkomplikovanější je struktura CHARi při použití kódování GSM 7bit default alphabet s UDH. V tomto případě je UDH spojeno se zbytkem textu stejným způsobem jako v případě GSM pole TP-UD, doplněno na celistvý počet oktetů a pak umístěno do CHARi. Při vytváření TP-UD se na rozdíl od polí v CDMA subparametrech přidělují bity od nejnižších.
WAP teleservis používá vždy MSG_ENCODING=0. Wireless Application Protocol rozlišuje protokoly WDP a WCMP. Protokol WDP je obdobou internetového UDP. WCMP se používá pro služební funkce a je obdobou internetového protokolu ICMP. Pro WAP WDP má pole CHARi subparametru User Data následující strukturu[6]:
Pole (Field) | Bitů | Hodnota |
---|---|---|
MSG_TYPE | 8 | 0=WDP |
TOTAL_SEGMENTS | 8 | počet segmentů |
SEGMENT_NUMBER | 8 | 0=první segment |
DATAGRAM | var | první segment začíná 16-bit. SOURCE_PORT a 16-bit. DESTINATION_PORT, pak pokračují data |
Pro WAP WCMP pole začíná CHARi jednobytovým polem MSG_TYPE s hodnotou 1, za ním následují WCMP data (WCMP_MESSAGE)[8]. Pole NUM_FIELDS obsahuje počet oktetů WCMP_MESSAGE zvětšený o 1 pro MSG_TYPE.
User Response Code
User Response Code se používá ve zprávách SMS User Acknowledgment Message, které se posílají jako odpověď na doručenou zprávu. Subparametr má následující strukturu:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 2 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
RESPONSE_CODE | 8 | Hodnota závislá na použitém teleservisu. Význam je určen teleservisem a SMS message centrem. |
Message Center Time Stamp
Struktura subparametru Message Centre Time Stamp:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 3 pro Message Center Time Stamp, 4 pro Validity Period – Absolute, 6 pro Deferred Delivery Time – Absolute |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (6) |
YEAR | 8 | číslo v rozsahu 00-99; 96-99 jsou roky 1996-1999, 00-95 roky 2000-2095 |
MONTH | 8 | 1-12 |
DAY | 8 | 1-31 |
HOURS | 8 | 0-23 |
MINUTES | 8 | 0-59 |
SECONDS | 8 | 0-59 |
Všechna pole data a času obsahují dvě čtyřbitová BCD čísla. Na rozdíl od adres jsou ve vyšším půlbytu desítky, v nižším půlbytu jednotky. Např. rok 1996 bude v poli YEAR reprezentován binárním číslem ‘10010110’.
Subparametr Message Center Time Stamp může být obsažen v SMS zprávách zaslaných z Message Centra (MC). Pokud má účastník nakonfigurováno, že se má používat UTC SMS timestamp režim, čas v tomto subparametru bude UTC. Jinak by měl být čas v tomto subparametru nastaven na čas, který se má uživateli zobrazovat na displeji mobilního telefonu. Viz kapitola 3.4.29 dokumentu 3GPP2 C.S0023-D v2.0 pro mobilní stanice vybavené R-UIM.
Validity Period
Doba platnosti zprávy. Platnost zprávy je omezena globálním nastavením MC. Existují 2 subparametry; v subparametru se SUBPARAMETER_ID 4 je doba platnosti zadána absolutním časem pomocí stejných polí jako u Message Center Time Stamp; v subparametru se SUBPARAMETER_ID 5 je doba platnosti zadána relativně a subparametr má následující strukturu:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 5 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
VALIDITY | 8 | viz další tabulka |
Hodnota | Význam | Možné časy |
---|---|---|
0-143 | (TP-VP + 1) x 5 minut | 5, 10, 15 minut ... 11:55, 12:00 hodin |
144-167 | (12 + (TP-VP - 143) / 2 ) hodin | 12:30, 13:00, ... 23:30, 24:00 hodin |
168-196 | (TP-VP - 166) dnů | 2, 3, 4, ... 30 dnů |
197-244 | (TP-VP - 192) týdnů | 5, 6, 7, ... 52 týdnů |
245 | Neomezeně | |
246 | Okamžitě | |
247 | Platné, dokud mobil nepřejde do neaktivního stavu | |
248 | Platné, dokud se nezmění registrační oblast mobilu | |
249-255 | Rezervováno |
Deferred Delivery Time
Čas, do kdy se má odložit doručení zprávy; podobně jako u Validity Period lze použít buď subparametr udávající absolutní čas (SUBPARAMETER_ID 6) nebo relativní čas (SUBPARAMETER_ID 7).
Priority Indicator
Struktura subparametru Priority Indicator:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 8 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
PRIORITY | 2 | viz další tabulka |
RESERVED | 6 |
Hodnoty pole PRIORITY:
Hodnota | Význam |
---|---|
'00' | Normal |
'01' | Interactive |
'10' | Urgent |
'11' | Emergency |
Privacy Indicator
Struktura subparametru Privacy Indicator:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 9 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
PRIVACY | 2 | viz další tabulka |
RESERVED | 6 |
Hodnoty pole PRIVACY:
Hodnota | Význam |
---|---|
'00' | Not restricted (privacy level 0) |
'01' | Restricted (privacy level 1) |
'10' | Confidential (privacy level 2) |
'11' | Secret (privacy level 3) |
Reply Option
Struktura subparametru Reply Option:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 10 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
USER_ACK_REQ | 1 | 1 pokud je požadováno manuální potvrzení příjmu zprávy |
DAK_REQ | 1 | 1 pokud je požadováno potvrzení doručení zprávy (používá se v MO zprávě) |
READ_ACK_REQ | 1 | 1 pokud je požadováno potvrzení přečtení zprávy |
REPORT_REQ | 1 | 1 pokud je požadován delivery nebo submit report; v MO zprávě delivery report; v MT zprávě submit report |
RESERVED | 4 |
Number of Messages
Number of Messages je subparametr číslo 00001011 = 0x0B = 11 Bearer Data. Je to počet zpráv uložených ve Voice Mail System. Do paketu se ukládá jako BCD číslo (max. 99); horní půlbyte obsahuje desítky, spodní jednotky. cdma_add_number_of_messages z položky b_bd_number_of_messages. Podle C.S0015-C je Number of Messages povinné pro SMS Deliver pro teleservis VMN, volitelné pro SMS Deliver pro teleservis WPT, WEMT a WMT. Nezaměňovat s MAP parametrem SMS_MessageCount (SMSMSGCNT), který má podobný význam jako More Messages to Send v GSM.
Alert on Message Delivery
Struktura subparametru Alert on Message Delivery:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 12 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
ALERT_PRIORITY | 2 | viz další tabulka |
RESERVED | 6 |
Hodnoty pole ALERT_PRIORITY:
Hodnota | Význam |
---|---|
'00' | Use Mobile default alert |
'01' | Use Low-priority alert (1) |
'10' | Use Medium-priority alert (1) |
'11' | Use High-priority alert (1) |
Language Indicator
Struktura subparametru Language Indicator:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 13 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
LANGUAGE | 8 | Kód jazyka podle C.R1001 |
Kódy jazyků jsou následující:
LANGUAGE | jazyk |
---|---|
0 | Neznámý nebo nezadaný |
1 | angličtina |
2 | francouzština |
3 | španělština |
4 | japonština |
5 | korejština |
6 | čínština |
7 | hebrejština |
8 | portugalština |
9 | hindština |
10 | turečtina |
11 | maďarština |
12 | polština |
13 | čeština |
14 | arabština |
15 | ruština |
16 | islandština |
17 | němčina |
18 | italština |
19 | nizozemština |
20 | švédština |
21 | dánština |
23 | finština |
24 | norština |
25 | řečtina |
26 | bengálština |
27 | gujarati |
28 | kannada |
29 | malajština |
30 | oriya |
31 | pandžábština |
32 | tamilština |
33 | telugu |
34 | urdština |
35 | bahasa |
36 | thajština |
37 | tagalog |
38 | svahilština |
39 | afrikánština |
40 | hausa |
41 | vietnamština |
Call-Back Number
Call-Back Number je jediná adresa (telefonní číslo), která se vyskytuje v parametru Bearer Data; všechny ostatní adresy jsou IS-41. Struktura subparametru Call-Back Number je popsána v IS-637/C.S0015:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 14 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru |
DIGIT_MODE | 1 | 0 - DTMF číslice, 1 - ASCII |
NUMBER_TYPE | 0 nebo 3 | (pro DIGIT_MODE=1 chybí) |
NUMBER_PLAN | 0 nebo 4 | (pro DIGIT_MODE=1 chybí) |
NUM_FIELDS | 8 | |
CHARi | 4 nebo 8 * NUM_FIELDS | |
RESERVED | 0-7 |
Zpravidla se používá DIGIT_MODE=0. Zajímavé je, že DIGIT_MODE=1 znamená, že pro CHARi je použito sedmibitové kódování ASCII, ale pro jednotlivé znaky jsou použity osmice bitů. Hodnoty většiny polí jsou popsány v C.S0005:
NUMBER_TYPE binárně | Význam |
---|---|
000 | Unknown |
001 | International Number |
010 | National Number |
011 | Network-specific Number |
100 | Subscriber Number |
101 | Reserved |
110 | Abbreviated Number |
111 | Reserved for extension |
NUMBER_PLAN binárně | Význam |
---|---|
0000 | Unknown |
0001 | ISDN/Telephony numbering plan (CCITT E.164) |
0011 | Data numbering plan (CCITT X.121) |
0100 | Telex numbering plan (CCITT F.69) |
1001 | Private numbering plan |
1111 | Reserved for extension |
hodnota binárně | Význam |
---|---|
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | 0 |
1011 | * |
1100 | # |
Hodnoty číslic v DTMF režimu se liší od GSM číslic! Toto kódování se při přenosu zpráv pomocí IS-41 používá pouze pro Call-Back Number – IS-41 adresy SMS_OriginalOriginatingAddress a SMS_OriginalDestinationAddress používají jiné kódování!
Message Display Mode
Struktura subparametru Message Display Mode:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 15 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
MSG_DISPLAY_MODE | 2 | viz další tabulka |
RESERVED | 6 |
Hodnoty MSG_DISPLAY_MODE:
Hodnota | Význam |
---|---|
'00' | Immediate Display; mobilní telefon by měl zobrazit zprávu co možná nejdříve |
'01' | Mobile default setting: použít předdefinovaný režim pro mobilní stanici |
'10' | User Invoke: zobrazit přijatou zprávu podle režimu zvoleného uživatelem |
'11' | Rezervováno |
Message Status
Struktura subparametru Message Status:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 20 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
ERROR_CLASS | 2 | 00 - bez chyby, 10 - dočasná chyba, 11 - trvalá chyba |
MSG_STATUS_CODE | 6 | SMS Message Status Code |
Hodnoty MSG_STATUS_CODE jsou podle následující tabulky:
Hodnota | Význam |
---|---|
ERROR_CLASS='00' (úspěch) | |
'000000' | Zpráva přijata |
'000001' | Zpráva předána do Internetu |
'000010' | Zpráva doručena |
'000011' | Zpráva zrušena |
ERROR_CLASS='10' (dočasná chyba) | |
'000100' | Zahlcení sítě |
'000101' | Chyba sítě |
'011111' | Neznámá chyba |
ERROR_CLASS='11' (trvalá chyba) | |
'000100' | Zahlcení sítě |
'000101' | Chyba sítě |
'000110' | Zrušení zprávy selhalo |
'000111' | Cíl blokován |
'001000' | Text je příliš dlouhý |
'001001' | Duplicitní zpráva |
'001010' | Chybný cíl |
'001011' | Doba platnosti zprávy vypršela |
'011111' | Neznámá chyba |
TP-Failure Cause
Struktura subparametru TP-Failure Cause:
Pole (Field) | Bitů | Hodnota |
---|---|---|
SUBPARAMETER_ID | 8 | 21 |
SUBPARAM_LEN | 8 | oktetů zbytku subparametru (1) |
VALUE | 8 | viz další tabulka |
Hodnoty pole VALUE jsou shodná s hodnotami parametru TP Failure Cause (TP FCS) podle dokumentu 3GPP TS 23.040[9]:
Hodnota | Význam | MO | MT |
---|---|---|---|
00-7F | Reserved | ||
80-8F | TP-PID errors | ||
80 | Telematic interworking not supported | x | |
81 | Short message Type 0 not supported | x | x |
82 | Cannot replace short message | x | x |
83-8E | Reserved | ||
8F | Unspecified TP-PID error | x | x |
90-9F | TP-DCS errors | ||
90 | Data coding scheme (alphabet) not supported | x | |
91 | Message class not supported | x | |
92-9E | Reserved | ||
9F | Unspecified TP-DCS error | x | x |
A0-AF | TP-Command Errors | ||
A0 | Command cannot be actioned | x | |
A1 | Command unsupported | x | |
A2-AE | Reserved | ||
AF | Unspecified TP-Command error | x | |
B0 | TPDU not supported | x | x |
B1-BF | Reserved | ||
C0 | SC busy | x | |
C1 | No SC subscription | x | |
C2 | SC system failure | x | |
C3 | Invalid SME address | x | |
C4 | Destination SME barred | x | |
C5 | SM Rejected-Duplicate SM | x | |
C6 | TP-VPF not supported | X | |
C7 | TP-VP not supported | X | |
C8-CF | Reserved | ||
D0 | (U)SIM SMS storage full | x | |
D1 | No SMS storage capability in (U)SIM | x | |
D2 | Error in MS | x | |
D3 | Memory Capacity Exceeded | X | |
D4 | (U)SIM Application Toolkit Busy | x | |
D5 | (U)SIM data download error | x | |
D6-DF | Reserved | ||
E0-FE | Values specific to an application | x | x |
FF | Unspecified error cause | x | x |
Enhanced VMN
Používáno pro teleservis VMN sloužící k zasílání zpráv o obsahu hlasové schránky.
Odkazy
Reference
- 3GPP2 C.S0015-C v1.0; Short Message Service (SMS) for Wideband Spread Spectrum Systems [online]. 3GPP2, listopad 2012 [cit. 2015-04-10]. Dostupné v archivu pořízeném dne 2015-04-14.
- 3GPP2 X.S0004-000-E v8.0; Mobile Application Part (MAP); Introduction [online]. 3GPP2, leden 2009 [cit. 2015-04-10]. Dostupné v archivu pořízeném dne 2016-03-07.
- 3GPP2 X.S0004-540-E v2.0; Mobile Application Part (MAP); Operations Signaling Protocols [online]. 3GPP2, červenec 2007 [cit. 2015-04-28]. Dostupné v archivu pořízeném dne 2012-02-12.
- 3GPP2 X.S0004-550-E v2.0; Mobile Application Part (MAP); Parameters Signaling Protocols [online]. 3GPP2, leden 2010 [cit. 2015-05-13]. Dostupné v archivu pořízeném dne 2012-02-07.
- TIA/EIA-637 B [online]. Dostupné online.
- Wireless Application Protocol; WAP-259-WDP-20010614-a [online]. WAP Forum, 2001-06-14 [cit. 2015-04-10]. Dostupné v archivu pořízeném dne 2013-05-22.
- 3GPP2 C.R1001-I v2.0; Administration of Parameter Value Assignments for cdma2000 Spread Spectrum Standards [online]. 3GPP2, leden 2014 [cit. 2015-06-10]. Dostupné v archivu pořízeném dne 2015-06-10.
- Wireless Control Message Protocol; WAP-202-WCMP-20010624-a [online]. WAP Forum, 2001-06-24 [cit. 2015-04-16]. Dostupné v archivu pořízeném dne 2015-04-16.
- 3GPP TS 23.040; 3rd Generation Partnership Project; Technical realization of the Short Message Service (SMS) [online]. 3GPP, březen 2013 [cit. 2015-04-10]. Dostupné online.