Protokol GDEP

Podporované typy a verzie zariadení  
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Literatúra
Zmeny a úpravy
Revízie dokumentu

Podporované typy a verzie zariadení


Protokol GDEP (Game Data Exchange Protocol) je implementovaný vo verzii 2.4 (aktuálne k 05/2006). Protokol slúži na posielanie a prijímanie SMS a MMS správ, spracovanie WAP požiadaviek a hranie SMS hier.
Protokol je postavený na štandardoch TCP, HTTP (resp. HTTPS) a XML. Účastníkmi komunikácie sú GAP server (GAme Platform) na strane Orange a aplikácia (D2000 KOM proces).
Implementácia v D2000 podporuje nasledovné správy protokolu:

Tab. č. 1

Správa Smer Popis
HELLO KOM->GAP Prihlasovanie sa (meno+heslo) ku GAP platforme pri nadväzovaní spojenia.
INQUIRE_LINK KOM->GAP
GAP->KOM
Testovanie funkčnosti spojenia pri dlhšej dobe nečinnosti.
INQ_RSP KOM->GAP
GAP->KOM
Odpoveď na INQUIRE.
RECEIVE (sms) GAP->KOM Prijatie SMS správy od GAP servera.
RCV_RSP (sms) KOM->GAP Potvrdenie prijatia SMS správy D2000 KOM procesom.
SEND (sms) KOM->GAP Poslanie SMS správy.
SND_RSP (sms) GAP->KOM Potvrdenie prijatie SMS správy GAP serverom.
ACCEPTED GAP->KOM Potvrdenie prijatie SMS alebo MMS správy SMS/MMS centrom.
ACC_RSP KOM->GAP Odpoveď D2000 KOM procesu na správu ACCEPTED.
RECEIPT (sms) GAP->KOM Potvrdenie prijatie SMS správy koncovým užívateľom.
REC_RSP KOM->GAP Odpoveď D2000 KOM procesu na správu RECEIPT.
BY KOM->GAP Ukončenie spojenia zo strany D2000 KOM procesu.
BY_RSP GAP->KOM Odpoveď GAP servera na správu BY.
NAK GAP->KOM Odmietnutie neprípustnej správy.

Nasledovné správy protokolu NIE SÚ v aktuálnej verzii implementované:

Tab. č. 2

Správa Smer Popis
RECEIVE (wap) GAP->KOM Prijatie WAP požiadavky od GAP servera.
RCV_RSP (wap) KOM->GAP Potvrdenie prijatia WAP požiadavky D2000 KOM procesom.
RECEIVE (mms-xml) GAP->KOM Prijatie MMS správy od GAP servera.
RCV_RSP (mms-xml) KOM->GAP Potvrdenie prijatia MMS správy D2000 KOM procesom.
SEND (mms-xml) KOM->GAP Poslanie MMS správy.
SND_RSP (mms-xml) GAP->KOM Potvrdenie prijatie MMS správy GAP serverom.
RECEIPT (mms) GAP->KOM Potvrdenie prijatie MMS správy koncovým užívateľom.
SCORE KOM->GAP Zmena skóre hráča.
SCO_RSP GAP->KOM Odpoveď GAP servera na správu SCORE.
NICK KOM->GAP Správa prezývok (nickov) hráča: vytváranie, rušenie, pridávanie, mazanie a hľadanie.
NICK_RSP GAP->KOM Odpoveď GAP servera na správu NICK.

Konfigurácia komunikačnej linky


Kategória komunikačnej linky: TCP/IP-TCP
TCP  Parametre:

  • Host: String max. 80 znakov – meno servera vo formáte INET (meno alebo číselná adresa a.b.c.d).
  • Port: Číslo TCP portu (1 až 65535).
  • Číslo linky: Nepoužité, zadajte ľubovoľné číslo.

Poznámka: Protokol GDEP je postavený nad HTTP alebo HTTPS protokolom. D2000 KOM proces neobsahuje HTTPS komunikáciu - táto je riešená modulárne pomocou programu stunnel. Program stunnel je schopný zabaliť do SSL vrstvy klientskú aj serverovskú časť komunikácie. Keďže GDEP protokol vyžaduje na oboch stranách (GAP server aj D2000 KOM) implementáciu klienta aj servera, je nutné spustiť dva stunnel procesy:

  • jeden v serverovskom móde, ktorý bude čakať na pripojenie sa GAP servera a po spracovaní SSL vrstvy dáta prepošle na dohodnutý port, na ktorom čaká D2000 KOM ako GDEP server (viď parameter Server Port),
  • ďalší v klientskom móde, ktorý čaká na dohodnutom porte. K nemu sa pripojí D2000 KOM (klientska časť) a po zabalení dát do SSL vrstvy ich stunnel pošle na zadefinovaný cieľový počítač a port (serverovský port GAP servera). Preto bude v parametri Host zrejme uvedený localhost a v parametri Port uvedený port, na ktorom čaká stunnel proces v klientskom móde.

Konfigurácia komunikačnej stanice


Komunikačný protokol: GDEP
Adresa stanice: nepoužitá (zadajte 1)

Poznámka: Na linke musí byť PRESNE JEDNA komunikačná stanica.


Parametre protokolu stanice

Môžu byť zadané nasledovné parametre protokolu stanice:

Tab. č. 3

Kľúčové slovo Plný názov Popis Jednotka Náhradná hodnota
RD Relogin Delay Čakanie pred pokusom o znovupripojenie sa ku GAP serveru sec 10
TKI TCP KeepInit option KeepInit nastavenie TCP protokolu. - False
CE Station Communication Error Počet neúspešných pokusov o pripojenie sa, po ktorých stanica prechádza do stavu StCOMERR. - 1
HE Station Hard Error Počet neúspešných pokusov o pripojenie sa, po ktorých stanica prechádza do stavu StHARDERR. - 3
U User Name Užívateľské meno na prihlásenie sa ku GAP serveru. - -
P UserPassword Heslo na prihlásenie sa ku GAP serveru. - -
HH HTTP Host IP adresa alebo meno servera uvádzané v HTTP requeste. - -
HP HTTP Port Port servera uvádzaný v HTTP requeste. - 0
SP Server Port Port, na ktorom počúva KOM ako server. - 1000
TSI Timeout Send Inquire Timeout, po ktorom KOM pošle INQUIRE správu (0=vypnuté). sec 90
TRI Timeout Receive Inq_Rsp Timeout, do ktorého KOM očakáva INQ_RSP (odpoveď na INQUIRE). sec 10
TRA Timeout Receive Accept Timeout, po ktorom vyhlási KOM proces správu za timeoutovanú (úroveň potvrdenia 2), ak dovtedy nepríde správa ACCEPTED. sec 10
TRR Timeout Receive Receipt Timeout, po ktorom vyhlási KOM proces správu za timeoutovanú (úroveň potvrdenia 3), ak dovtedy nepríde správa RECEIPT. sec 60
K1
H1
P1
K2
H2
P2
KOM Name 1
Host Address 1
Port Number 1
KOM Name 2
Host Address 2
Port Number 2
Pri nasadení v redundantnom systéme D2000 (dva procesy D2000 KOM): ak sa meno počítača, na ktorom beží proces D2000 KOM zhoduje s parametrom K1 (resp. K2), pri pripájaní sa na GAP server bude HELLO správa obsahovať voliteľné parametre host a port s hodnotami H1 a P1 (resp. H2 a P2). Takto GAP vie, na ktorý z dvoch procesov D2000 KOM sa má pripojiť.    

Konfigurácia meraných bodov


Merané body sú definované svojou adresou, ktorá musí zodpovedať adrese uvedenej v nasledujúcich tabuľkách. Názvy meraných bodov sa môžu líšiť a sú uvedené iba kvôli odvolávke na ne v ďalšom texte.

Príjem SMS správ: Po príjme SMS správy sa nastavia hodnoty nasledovných meraných bodov (pokiaľ sú body nakonfigurované).

Tab. č. 4

Adresa Typ Názov bodu Popis
1 TxtO Rcv_Id

64-bitové ID prijatej SMS správy (správa RECEIVE). Po spracovaní správy aplikáciou treba zápisom do tohto meraného bodu oznámiť KOM procesu, že môže potvrdiť prijatie správou RCV_RSP a zároveň sprístupniť aplikácii ďalšiu SMS správu (pokiaľ čaká vo fronte).
[message sequence ID on the Game Platform (64-bit number displayed decimally in ASCII format). It is used for duplicate receipt detection when a session has been re-established after the connection failure.]

2 TxtI Rcv_Serv_Id Parameter serv_id prijatej správy.
[service ID that this message belongs to.]
3 TxtI Rcv_AppAddr Parameter appaddr prijatej správy.
[destination number. It can be short or long number dedicated to the service (External Application). It is identification of the game. It is never encrypted. ]
4 TxtI Rcv_AppAddrType Atribút type parametra appaddr.
5 TxtI Rcv_Msisdn Parameter msisdn prijatej správy.
[source number. Can be encrypted, see the type attribute.]
6 TxtI Rcv_MsisdnType Atribút type parametra msisdn.
7 Ci Rcv_Employee Parameter employee prijatej správy.
[if application have enabled mark of employee, then element employee has value
  0 – if source MSISDN is NOT employee
  1 – if source MSISDN is employee]
8 Ci Rcv_Dcs Parameter dcs prijatej správy.
[parameter data_coding of the GDEP protocol (DCS) [SMPP PS v3.4]. (8-bit integer defined in the ASCII). Default = 0.]
9 Ci Rcv_Esm Parameter esm prijatej správy.
[parameter esm of the SMPP protocol (DCS) [SMPP PS v3.4]. (8-bit integer defined in the ASCII). Default = 0.]
10 TxtI Rcv_Recv_Date Parameter receive_date prijatej správy.
[time of receive SMS to SMS center.]
11 TxtI Rcv_Coding Atribút coding parametra content.
[type of coding in the element content. Currently used are:
  text ASCII text,
  base64 content is coded by code base64 – this is used for binary data.]
12 TxtI Rcv_Content Parameter content prijatej správy.
[nothing but data. Data sent by the subscriber to the External Application (SMS).]
13 TxtI Rcv_MsgPart Parameter msg_part prijatej správy (trojica ref_num/seg_num/tot_seg).
[ref_num - contain a originator generated reference number so that a segmented short message may be reassembled into a single original message
seg_num - sequence number of particular message within the concatenated message
tot_seg - indicating the total number of fragments]

Posielanie SMS správ: Pri posielaní SMS správy je potrebné nastaviť hodnoty nasledovných meraných bodov (pokiaľ sú body nakonfigurované). Správa sa pošle až po nastavení hodnoty meraného bodu Snd_AppDefId.
Značka (o) uvedená pri meranom bode znamená, že bod je voliteľný (nemusí byť nakonfigurovaný, pretože GDEP protokol tento atribút uvádza ako nepovinný).

Tab. č. 5

Adresa Typ Názov bodu Popis
101 TxtO Snd_Serv_Id Parameter serv_id odosielanej správy.
[service ID that this message belongs to.]
102 TxtO Snd_Rcv_Msg_Id (o) Parameter rcv_msg_id odosielanej správy.
[ID of received message (RECEIVE) that this message is a response to]
103 TxtO Snd_AppAddr Parameter appaddr odosielanej správy.
[source number. It can be either short or long (MSISDN) number assigned to the service.]
104 Co Snd_AppAddrType (o) Atribút type parametra appaddr.
105 TxtO Snd_Msisdn Parameter msisdn odosielanej správy.
[destination number. In case of a mobile telephone number, it can be encrypted. In case of a short number, the destination number is the short number only.
Can be encrypted, the type is present in the type attribute.]
106 Co Snd_MsisdnType (o) Atribút type parametra msisdn.
107 TxtO Snd_BillMsisdn (o) Parameter billmsisdn odosielanej správy.
[MSISDN to which the message will be billed (this tag is only used with specific applications, where the billed subscriber is not the recipient of the message. This option must be approved at the Game Platform by agreement with the marketing dept.)
Can be encrypted, the type is present in the type attribute.]
108 Co Snd_BillType (o) Atribút type parametra billmsisdn.
109 Co Snd_Flags (o) Parameter flags odosielanej správy.
[32-bit numbers displayed decimally in ASCII format. Flags are combined with OR binary function. Unused bits are reserved.
SMS_FLAG_RECEIPT bit 1 - delivery receipt requested
SMS_FLAG_REPLACE bit 2 - SM replacement requested on SIM card position under bits 4-6
SMS_FLAG_POSITION bit 4-6 - SIM position for SM replacement
position range: from 1 to 7, 0 is unused]
110 TxtO Snd_Expiration (o) Parameter expiration odosielanej správy.
[validity period of the SM in the GSM time encoding (i.e. YYMMDDhhmmsst), or the character „-", if not defined]
111 TxtO Snd_Delivery (o) Parameter delivery odosielanej správy.
[delivery time of the SM in the GSM time encoding (i.e. YYMMDDhhmmsst), or the character „-", if not defined.]
112 TxtO Snd_BillKey Parameter billkey odosielanej správy.
[billing key, 4 characters long string consisting of (0..9) and (A .. Z). Each application will have 4 keys to be used in this field]
113 TxtO Snd_Evbill_Id (o) Parameter evbill-id odosielanej správy.
[service identifier in the event billing in case this type of billing method should be used.]
114 TxtO Snd_EvbillIdSeq (o) Parameter evbill-id-seq odosielanej správy.
[service identifier in the event billing in case this type of billing method should be used.]
115 Co Snd_Dcs (o) Parameter dcs odosielanej správy.
[parameter data_coding of the SMPP protocol (DCS) [SMPP PS v3.4]. (8-bit integer defined in the ASCII). Default = 0.]
116 Co Snd_Esm (o) Parameter esm odosielanej správy.
[parameter esm of the SMPP protocol (DCS) [SMPP PS v3.4]. (8-bit integer defined in the ASCII). Default = 0.]
117 TxtO Snd_Score (o) Parameter score odosielanej správy.
[game is sending score for the subscriber with – MSISDN. Format:
+score – Game Platform adds this score value to the daily counter
-score – Game Platform subtracts this score value from the daily counter
score – Game Platform replaces the daily counter by this score value
(daily counter is parameter, which is bind to MSISDN, nick, game and day. This counter will be changed only by GDEP protocol)]
118 TxtO Snd_ScoreNick (o) Atribút nick parametra score.
[– if this attribute will be used it will define the particularly used nick of the subscriber defined by MSISDN. Score will update the daily counter for this MSISDN and nick. If this attribute will not be used daily counter for MSISDN and default value nick="" will be used.]
119 TxtO Snd_ScoreFinish (o) Atribút finished parametra score.
[if this attribute will be used (with the any value, default value will be empty string ""), the Game Platform will add the new issue to the table C_SCORE, where will be add each player so many time how many will finish the game successfully. Use this attribute only after successful finishing of the game by the player.]
120 TxtO Snd_Coding Parameter content odosielanej správy.
[type of coding in the element content
Currently used are:
text ASCII text base64 content is coded by code base64 – this is used for binary data.]
121 TxtO Snd_Content Parameter content odosielanej správy.
[nothing but data. Data sent by the External Application (SMS) to the subscriber.]
122 TxtO Snd_Category (o) Parameter category odosielanej správy.
[element can be used to specify category of content that is to be sent, character string 1-64 bytes long]
123 Co Snd_AppDefId Ľubovolné aplikáciou vygenerované kladné celé číslo, ktoré (pre aplikáciu) definuje zasielanú SMS správu. Potvrdenia o doručení resp. nedoručení SMS-ky budú obsahovať toto číslo (meraný bod Rsp_AppDefId), pokiaľ KOM proces nebol medzitým reštartovaný.
130 TxtI Snd_64bit_Id 64-bitový identifikátor, ktorý nastaví KOM proces pri posielaní SMS správy. Keďže GDEP protokol pracuje s unikátnym 64-bitovým identifikátorom (jeho hodnotu inicializuje GDEP server pri pripojení sa D2000 KOM procesu), potvrdenia o doručení sú vnútorne označené týmto 64-bitovým ID-čkom. Pokiaľ bol KOM proces reštartovaný, po nábehu môžu prísť od GAP servera potvrdenia o doručení správ, ktoré boli poslané ešte pred reštartom. V takom prípade D2000 KOM proces nastaví Snd_AppDefId na hodnotu -1 a aplikácia môže spárovať potvrdenia podľa nastaveného Snd_64bit_Id.

Príjem potvrdení o doručení SMS správ: Po prijatí správ ACCEPTED, RECEIPT a NAK sa nastavia hodnoty nasledovných bodov (ako posledný sa nastaví Rsp_AppDefId).

Tab. č. 6

Adresa Typ Názov bodu Popis
131 Co Rsp_AppDefId Príslušné Snd_AppDefId poslanej SMS správy alebo -1, ak správa s takýmto číslom nebola nájdená v zozname odoslaných a nepotvrdených správ (napr. po reštarte KOM procesu).
Po spracovaní potvrdenia o doručení musí aplikácia meraný bod Rsp_AppDefId nastaviť na 0, čo spôsobí jednak poslanie potvrdenia GAP serveru (správa ACC_RSP resp. REC_RSP, podľa toho, aké na akú správu D2000 KOM odpovedá) a jednak D2000 KOM môže nastaviť ďalšiu hodnotu, pokiaľ má v zásobníku ďalšie potvrdenia o doručení.
132 Ci Rsp_ErrNo Číslo chyby: 0- bez chyby, ďalšie možné hodnoty viď norma [1].
Ak bola prijatá správa RECEIPT, tak Rsp_ErrNo kopíruje hodnotu parametra state s výnimkou hodnôt 2 (delivered) a 6 (accepted) - vtedy je správa považovaná za úspešne doručenú a Rsp_ErrNo=0.
133 Ci Rsp_CnfType Úroveň potvrdenia správy:
úroveň 1 - správa bola odoslaná GAP serveru (Rsp_ErrN=0) alebo nastala chyba pri posielaní (Rsp_ErrNo=-1)
úroveň 2 - prišla správa ACCEPTED (s nulovým alebo nenulovým chybovým kódom, ktorého hodnota je v Rsp_ErrNo) alebo vypršal timeout Timeout Receive Accept (Rsp_ErrNo=-2)
úroveň 3 - prišla správa RECEIPT alebo vypršal timeout Timeout Receive Receipt (Rsp_ErrNo=-3)
134 TxtI Rsp_ErrDesc Textový popis chyby (pri vypršaní timeoutu) alebo hodnota err_type pri negatívnej správe ACCEPT.
[err_type - type of error, one of SMSC, MMSC, INTERNAL
  • SMSC means the error occurred in SMSC
  • MMSC means the error occurred in MMSC
  • INTERNAL means the error occurred in GAP
]
135 TxtI Rsp_Serv_Id 64-bitové ID poslanej SMS správy, ku ktorej sa toto hlásenie vzťahuje.
Hodnoty nasledujúcich bodov sú platné iba pri prijatí správy RECEIPT.
136 TxtI Rec_Submit_Date Parameter submit_date správy RECEIPT.
[date of delivery of sended SMS message to SMS center]
137 TxtI Rec_Done_Date Parameter done_date správy RECEIPT.
[date of delivery of sended SMS message to destination]
138 Ci Rec_State Parameter state správy RECEIPT.
[state of the message, can have the following values (as described in [2] SMPP 3.4, chapter 5.2.28 message_state):
  • 1 – enroute - the message is in enroute state
  • 2 – delivered – the message is delivered to destiantion
  • 3 – expired – message validity period has expired
  • 4 – deleted – message has been deleted
  • 5 – undeliverable – message is undeliverable
  • 6 – accepted – message is in accepted state (i.e. has been manually read on behalf of the subscriber by customer service)
  • 7 – unknown – message is in invalid state
  • 8 – rejected – message is in rejected state
]
Poznámka: V prípade, že je prijatá správa RECEIPT so state=1 (prechodný enroute stav), ešte sa raz čaká s timeoutom Timeout Receive Receipt na prijatie správy RECEIPT s finálnym stavom.

139

TxtI

Rec_Msisdn Parameter msisdn správy RECEIPT.
[msisdn that the message is delivered to. It can be encrypted.]
140 TxtI Rec_MsisdnType Atribút type parametra msisdn.

Identifikácia stavu komunikácie:

Tab. č. 7

Adresa Typ Názov bodu Popis
199 Di GAP_SrvConnected Informácia o tom, či je GAP server pripojený na D2000 KOM proces. Po rozpade komunikácie môže nastať situácia, že D2000 KOM sa pripojí na GAP server, ale GAP server sa spätne nepripojí na D2000 KOM proces. Pokiaľ napr. do minúty po obnovení spojenia na GAP server (stav stanice je StON) je hodnota bodu GAP_SrvConnected FALSE, odporúčame vyskúšať reštart procesu D2000 KOM a ak to nepomôže, kontaktovať zodpovedných za GAP server.

Atribút type (Rcv_AppAddrType, Rcv_MsisdnType) môže nadobúdať nasledovné hodnoty (číselné hodnoty sú zadávané pri posielaní SMS správ, textové hodnoty prichádzajú pri prijímaní SMS správ):

Tab. č. 8

Hodnota Číslo Popis
msisdn 1 Číslo mobilného užívateľa v tvare +421905123456.
alias 2 Zašifrované číslo účastníka (šifrovanie vykonáva GAP server), ktorého výsledkom je 32-znakový reťazec (hexa kód). Príklad šifrovania: 421905014940 -> 2F8E47BCAAAB12CA3E19B7DCC2DFDE84.
ow 3 Norma [1] neuvádza bližšiu definíciu, ale tento typ sa používa iba pri MMS správach.

Literatúra


[1] Game Data Exchange Protocol Specification 2.4 (poskytnuté spoločnosťou Orange Slovensko, a.s.)
[2] SMPP PS v3.4 (Short Message Peer to Peer Protocol Specification v3.4)

Zmeny a úpravy


-

Revízie dokumentu


  • Ver. 1.0 – 2. máj 2006: implementácia protokolu

Súvisiace stránky:

Napíšte komentár