IS-637

From Wikipedia, the free encyclopedia

Remove ads

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

Remove ads

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 ANS.I 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.

Další informace Zkratka, má obdobu v GSM MAP operaci ...

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]:

Další informace MAP parametr, BER kód ...
Remove ads

Hodnoty SMS_AcessDeniedReason

Hodnoty SMS_AcessDeniedReason (ve Wiresharku použít filtr frame contains 9F:81:18:01:xx):

Další informace Hodnota (hex), Význam ...

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
Remove ads

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]:

Další informace Hodnota (dec), Význam ...
Remove ads

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.

Remove ads

Typy zpráv

Rozlišují se následující typy SMS zpráv[1]:

Další informace MESSAGE_TYPE, Kapitola C.S0015 ...

Jednotlivé teleservisy podporují následující typy zpráv:

Další informace CDMA teleservis, Zkratka ...

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.

Remove ads

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):

Další informace Teleservice, WPT ...

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.

Další informace Pole (Field), Bitů ...

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:

Další informace Pole (Field), Bitů ...

Možné hodnoty pro kódování zprávy (MESSAGE_ENCODING) jsou popsány v C.R1001[7]:

Další informace MSG_ENCODING, Kódování CHARi ...

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]:

Další informace Pole (Field), Bitů ...

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:

Další informace Pole (Field), Bitů ...

Message Center Time Stamp

Struktura subparametru Message Centre Time Stamp:

Další informace Pole (Field), Bitů ...

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:

Další informace Pole (Field), Bitů ...
Další informace Hodnota, Význam ...

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:

Další informace Pole (Field), Bitů ...

Hodnoty pole PRIORITY:

Další informace Hodnota, Význam ...

Privacy Indicator

Struktura subparametru Privacy Indicator:

Další informace Pole (Field), Bitů ...

Hodnoty pole PRIVACY:

Další informace Hodnota, Význam ...

Reply Option

Struktura subparametru Reply Option:

Další informace Pole (Field), Bitů ...

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:

Další informace Pole (Field), Bitů ...

Hodnoty pole ALERT_PRIORITY:

Další informace Hodnota, Význam ...

Language Indicator

Struktura subparametru Language Indicator:

Další informace Pole (Field), Bitů ...

Kódy jazyků jsou následující:

Další informace LANGUAGE, jazyk ...

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:

Další informace Pole (Field), Bitů ...

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:

Další informace NUMBER_TYPE binárně, Význam ...
Další informace NUMBER_PLAN binárně, Význam ...
Další informace hodnota binárně, Význam ...

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:

Další informace Pole (Field), Bitů ...

Hodnoty MSG_DISPLAY_MODE:

Další informace Hodnota, Význam ...

Message Status

Struktura subparametru Message Status:

Další informace Pole (Field), Bitů ...

Hodnoty MSG_STATUS_CODE jsou podle následující tabulky:

Další informace Hodnota, Význam ...

TP-Failure Cause

Struktura subparametru TP-Failure Cause:

Další informace Pole (Field), Bitů ...

Hodnoty pole VALUE jsou shodná s hodnotami parametru TP Failure Cause (TP FCS) podle dokumentu 3GPP TS 23.040[9]:

Další informace Hodnota, Význam ...

Enhanced VMN

Používáno pro teleservis VMN sloužící k zasílání zpráv o obsahu hlasové schránky.

Remove ads

Odkazy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads