SMPP - Peer-to-Peer Short Message Protocol

Bonghjornu! Ancu s'è i messageri instantani è e rete soziale rimpiazzanu i metudi tradiziunali di cumunicazione ogni ghjornu, questu ùn impedisce micca a popularità di SMS. A verificazione in un situ populari, o una notificazione di transazzione ripete ch'elli campanu è campanu. Avete pensatu à cumu tuttu funziona? Assai spessu, u protokollu SMPP hè utilizatu per mandà messagi in massa, chì seranu discututi sottu u cut.

Habré avia digià articuli nantu à smpp, 1,2, ma u so scopu ùn era micca di discrive u protocolu stessu. Di sicuru, pudete inizià immediatamente da a fonte - quaternu, ma pensu chì saria bellu s'ellu ci era un riassuntu di u so cuntenutu. Spiegheraghju cù v3.4 cum'è un esempiu. Sò cuntentu per a vostra critica obiettiva.

U protocolu SMPP hè un protocolu di messageria peer-to-peer. Questu significa chì ogni servitore peer / hub hè uguale. In u casu più simplice, u schema di messageria SMS s'assumiglia cusì:

SMPP - Peer-to-Peer Short Message Protocol

In ogni casu, se l'operatore naziunale ùn hà micca una strada, dumanda à un intermediariu per questu in una regione remota - un centru SMS. Calchì volta, per mandà un SMS, avete bisognu di custruisce una catena trà parechji paesi, o ancu cuntinenti.

À propositu di u protocolu

SMPP hè un protokollu di l'applicazione chì hè basatu annantu à u scambiu di PDU è hè trasmessu nantu à TCP / IP, o sessioni X25 per mandà sms è ussd. Di solitu, SMPP hè utilizatu in modu di cunnessione persistente, chì risparmia u tempu. SMPP usa un mudellu di cumunicazione cliente-servitore.

Modu di cumunicazione

SMPP - Peer-to-Peer Short Message Protocol

U scambiu di missaghji trà u mittente è u centru SMS via SMPP pò esse realizatu in i seguenti modi:

Trasmettitore (trasmettitore) - trasmissioni di un missaghju in una direzzione, à turnu
Receiver (ricevitore) - solu riceve un missaghju da u centru SMS.
Transreceiver (transceiver) - Scambiu di messagiu trà u centru SMS è l'utilizatore

strutura

SMPP - Peer-to-Peer Short Message Protocol

A durata di u messagiu

Un missaghju SMS pò cuntene 70 caratteri quandu scrivite in cirillicu è micca più di 157 caratteri latini + 3 UDH Se mandate un SMS cù un gran numaru di caratteri, serà divisu in parechji segmenti è cumminati in u dispusitivu di ricezione. In u casu di segmentazione, u numeru di caratteri hè ridutta da l'intestazione di u messagiu, chì indicanu a parte di u messagiu. Dunque, quandu invià un grande missaghju SMS, cuntene un massimu di 153 caratteri latini o 67 caratteri micca tipici.

Schema di codificazione di dati

Tuttavia, i caratteri anu da esse codificati per trasmette un missaghju. In u protocolu SMPP, un campu speciale hè rispunsevule per a codificazione - Schema di codificazione di dati, o DCS. Questu hè un campu chì specifica cumu i missaghji deve esse ricunnisciuti. Inoltre, u campu DCS include:

  • u settore di caratteri chì definisce a codificazione;
  • classi di missaghju;
  • dumanda di sguassà automaticamente dopu a lettura;
  • una indicazione di cumpressione di missaghju;
  • lingua di missaghju di trasmissione;

Alfabetu standard di 7 bit (GSM 03.38). Hè statu sviluppatu per u sistema di messageria in GSM. Questa codificazione hè adattata per l'inglese è una quantità di lingue latine. Ogni caratteru hè custituitu da 7 bits è hè codificata in un ottettu.

UTF-16 (in GSM UCS2) Per include i caratteri mancanti in l'alfabetu 7-bit, hè stata sviluppata a codificazione UTF-16, chì aghjunghje caratteri supplementari (inclusi i cirillichi) riducendu a dimensione di u messagiu da 160 à 70, stu tipu di codificazione. ripete quasi cumplettamente Unicode.

Dati definiti da l'utente di 8 bit. Questi include KOI8-R è Windows-1251. Ancu s'è sta suluzione pare esse più ecunomica cumparatu cù u listessu UTF-16. Ci hè una quistione raghjone di cumpatibulità nant'à i dispusitivi differente. Siccomu in stu casu, i dui dispusitivi deve esse cunfigurati in anticipu.

Classe di messagiu

  • Class0, o lampu, un missaghju guardatu in a memoria di u telefunu à a dumanda di l'utilizatori;
  • Class1, o quelli cullucati in a memoria di u telefunu;
  • Class1, o quelli cullucati in a memoria di u telefunu;
  • Class2, deve assicurà chì u messagiu hè guardatu in a memoria di u terminal mobile, altrimenti deve dà notifiche à u centru SMS nantu à l'incapacità di salvà;
  • Class3 - in questu casu, u telefunu deve mandà una notificazione chì u messagiu pò esse salvatu, indipendentemente da a quantità di memoria in u dispusitivu. Stu tipu di missaghju implica chì u missaghju hà ghjuntu à u so destinazione;

Tipu di messagiu

Missaghju silenziu (SMS0) Tipu di missaghju SMS senza cuntenutu. Tali SMS vene senza notificazione è ùn hè micca visualizatu nantu à u screnu di u dispusitivu.

PDU

Ogni operazione pdu hè accoppiata è custituita da una dumanda è una risposta. Per esempiu: un cumandamentu chì dice chì una cunnessione hè stata stabilita (bind_transmitter / bind_transmitter_resp), o chì un messagiu hè statu mandatu (deliver_sm / deliver_sm_resp)

SMPP - Peer-to-Peer Short Message Protocol

Ogni pacchettu pdu hè custituitu di dui parti - un header (header) è un body (body). A struttura di l'intestazione hè a stessa per qualsiasi pacchettu pdu: a lunghezza di u cumandamentu hè a durata di u pacchettu, l'id hè u nome di u pacchettu, è u cumandamentu di statutu indica se u missaghju hè statu mandatu successu o fallutu.

Parametri TLV addiziunali

TLV (Tag Length Value), o campi supplementari. Tali paràmetri sò usati per allargà a funziunalità di u protocolu è sò opzionali. Stu campu hè specificatu à a fine di u campu pdu. Comu esempiu, utilizendu u dest_addr_np_information TLV, pudete urganizà u trasferimentu di l'infurmazioni nantu à u porting di u numeru.

Ton è Npi

U paràmetru TON (Tipu di Numeru) informa SMSC nantu à u formatu di indirizzu è u tipu di rete.
NPI (Numbering Plan Identification) paràmetru chì indica u pianu di numerazione.

SMPP - Peer-to-Peer Short Message Protocol

Indirizzu surghjente di u messagiu, o nome alfa

I missaghji mandati à u telefunu sò in duie varietà: numericu è alfabeticu. I numeri ponu esse longu (simile à un numeru di telefunu) o cortu. Calchì volta l'operatori anu restrizioni à l'invio di nomi neutrali, cum'è Infosms, Alert etc. A volte l'operatori ùn permettenu micca u trafficu se u nome ùn hè micca registratu in a so reta. Tuttavia, questu hè più di una caratteristica di l'operatore.

Fasi di sottumissione

SMPP - Peer-to-Peer Short Message Protocol

SMS-SUBMIT manda un missaghju MO FSM (messagiu brevi da u terminal mobile)
SMS-SUMETTE RAPPORTU - cunferma chì u messagiu hè statu mandatu da SMSC
SRI SM (SendRoutingInfo) - L'SMSC riceve infurmazioni da u HLR in quantu à u locu MSC / VLR di l'abbonatu
SRI SM RESP - risposta da HLR in quantu à a carne di pusizioni di abbonati
MT-FSM - dopu avè ricivutu u locu, un missaghju hè mandatu cù l'operazione "Forward Short Message".
MT-FSM-ACK - risposta da SMSC chì u messagiu hè statu mandatu
RAPPORTU STATUS SMS - SMSC manda u statu di cunsegna di missaghju.

Status di consegna di u messagiu

RAPPORTU STATUS SMS pò piglià parechji valori:
DELIVRD messagiu mandatu cun successu
REJECTD - messagiu rifiutatu da u centru SMS
SCADU - u messagiu hè sguassatu da a fila di mandatu dopu a fine di u TTL (vita di u messagiu)
UNELIV - altri casi di mancata consegna
UNKNOWN- Nisuna risposta ricevuta.

Errori di trasmissione

Calchì volta i mutivi per quale i missaghji SMS ùn sò micca consegnati à l'abbonatu. A cunsiquenza di sti mutivi hè l'occurrence di errori. L'errori sò restituiti in PDUs_sms_resp. Tutti l'errori ponu esse divisi in tempuranee (timpuraniu) è permanente (permanente).

Per esempiu, absent_subscriber hè tempurale, l'abbonatu ùn hè micca dispunibule o micca in linea, è permanente - l'abbonatu ùn esiste micca. Sicondu l'errori chì si trovanu, una pulitica per rinvià sti messagi hè furmatu.

Per esempiu, s'è l'abbonatu era occupatu à parlà è ricivutu un telefuninu MT hè un errore occupatu, u missaghju pò esse rinviatu dopu à uni pochi di minuti, però, se l'abbonatu hà bluccatu u serviziu di ricezione di u missaghju, u risentu ùn hà micca sensu. Pudete truvà una lista di errori nantu à e pagine SMSC, per esempiu, cum'è questu.

Source: www.habr.com

Add a comment