Sms-centru api

Protocolul SMPP

conexiune

Exemplu de setări pentru conexiune (format kannel): group = smsc
smsc = smpp
smsc-id = smsc
gazdă = smpp.smsc.ru
port = 3700
smsc-username =






smsc-password =
sistem-tip = ""
interfața-versiune = 34
sursa-addr-autodete ct = da
sursa-addr-ton = 5
sursă-addr-npi = 1
dest-addr-ton = 1
dest-addr-npi = 1
valabilitateperiod = 1440
mod transceiver = adevărat
receive-port = 0
inquire-link-interva l = 60
wait-ack-expire = 0
max-pending-submissions = 300
debit = 100

Intervalul maxim posibil de inactivitate este de 2 minute. În acest timp, Clientul trebuie să trimită un mesaj sau să execute o comandă ENQUIRE_LINK goală, altfel conexiunea va fi terminată din cauza inactivității.


Exemplu de setări suplimentare pentru conexiune prin SSL (kannel versiunea 1.4.4 și versiuni ulterioare).
port = 3443
ssl-client-certkey-f ile = "/etc/kannel.pem"
use-ssl = 1
.
Certificatul poate fi generat de o comandă (Linux CentOS): / etc / ssl / certs / make-dummy-cert kannel.pem

Conectarea și parola sunt folosite din cabinetul personal, dar nu trebuie să fie în limba rusă.
Această secțiune conține doar o scurtă descriere a protocolului SMPP. Consultați specificațiile pentru detalii.

Descărcați specificația SMPP v3.4 protocol smpp34.zip (500 Kb) smpp34rus.zip (1,1 Mb).

Viteza expedierilor

Conexiuni multiple

În mod implicit, procesele de server, în același timp, cu o singură conectare, doar o singură conexiune pentru o stare de întoarcere corectă, astfel încât prin reconectarea conexiunea conectat anterior cu același nume de conectare va fi reziliat în mod automat. Dacă trebuie să aveți mai multe conexiuni simultane pentru a crește viteza de trimitere, puteți seta următorul parametru (conexiune multiplă) în setările tuturor conexiunilor:
sistem-tip = "MCON2"
sau
system-type = "MCON9" Valoarea după MCON poate fi de la 1 la 9 și specifică numărul de conexiuni simultane.

Trimiterea unui mesaj SMS

Pentru a trimite un mesaj SMS, folosiți comanda SUBMIT_SM conform specificației.

Următoarele codificări sunt acceptate:
  • GSM pe 7 biți pentru textul latin cu suport pentru caractere europene - (codare = 0);
  • 8 biți ISO-8859-1 (ASCII) pentru textul latin sau date binare - (codare = 1);
  • UCS2 (UCS-2BE sau UTF-16BE) pentru alfabetele naționale (de exemplu, rusă) - (codare = 2).
Câmpul de codare este codificat cu doi biți în câmpul compus data_coding, deci data_coding = codare * 4.

Comanda SUBMIT_MULTI pentru distribuirea multiplă nu este încă implementată.

Serverul nu ia mai mult de una din aceeași cerere de a trimite mesaje SMS în câteva minute pentru a proteja împotriva bug-uri și looping într-un program de pe partea de client, în scopul de a reduce sarcina și nu cheltui banii Clientului, precum și pentru a preveni trimiterea mesajelor repetate la un singur abonat.







Serverul dezactivează, de asemenea, trimiterea de mai mult de 50 de mesaje către un abonat, care a fost trimis cu un interval între mesaje cu mai puțin de 30 de secunde, pentru a proteja împotriva inundațiilor și a excesului de debitând contul Clientului, cât mai mulți operatori nu permit un număr mare de mesaje pe care un singur utilizator într-o perioadă scurtă de timp .

Trimiterea unui mesaj MMS

Pentru a trimite un mesaj MMS, folosiți comanda SUBMIT_SM cu textul "__MMS__: \ nsubj: "(Text" __MMS__ "două puncte, spațiu, textul mesajului, o pauză de linie, textul" subiectul respectiv“, colon, subiectul MMS-mesaje).

Trimiterea unui mesaj vocal (apel)

Pentru a trimite un mesaj vocal, folosiți comanda SUBMIT_SM cu textul "__CALL__: \ nvoice: "(Text" __call__ "două puncte, spațiu, textul mesajului, o pauză de linie, cuvântul" voce“, colon, vocea folosită pentru citirea cu voce tare a textului).

Valorile posibile pentru vocea folosită:
  • m (implicit) este o voce masculină.
  • m2 - voce alternativă masculină.
  • w este vocea feminină.
  • w2 - voce alternativă feminină 1.
  • w3 - voce alternativă feminină 2.
  • w4 - voce alternativă feminină 3.
Când trimiteți un mesaj vocal la sfârșitul textului, puteți specifica o combinație specială de "\ n

\ n "(feedul de linie, 3 caractere tilde și din nou feed-ul de linie), urmată de parametrul param, care definește anumite caracteristici ale apelului (pentru mai multe detalii, consultați descrierea).

Trimiterea unui mesaj viber

Pentru a trimite un mesaj viber, utilizați comanda SUBMIT_SM cu textul "__VIBER__: "(textul" __VIBER__ ", un colon, un spațiu, textul mesajului).

Când generați textul mesajului, puteți utiliza macrocomenzi speciale pentru a crea un buton, când faceți clic pe acesta, browserul se va deschide și va merge la legătura specificată în macro și va atașa fișiere. Pentru mai multe informații despre caracteristicile suplimentare la trimiterea mesajelor viber, consultați documentația pentru protocolul http.

Trimiterea unei solicitări HLR

Pentru a trimite o solicitare HLR, folosiți comanda SUBMIT_SM cu textul __HLR__. Rezultatul solicitării vine în starea obișnuită (Raportul de livrare), care poate fi obținut atât prin conexiunea SMPP, cât și prin intermediul HTTP către dispozitivul său de procesare.

Formatul statutului cu rezultatul solicitării HLR returnat de SMPP: id: Stat: ERR: IMSI: msc: MCC: MNC: cn: net: RCN: rNET:
Descrierea parametrilor:

Numele operatorului de înregistrare al abonatului.

Numele țării de roaming a abonatului când se află într-o rețea străină.

Numele operatorului de roaming al abonatului când se află într-o rețea străină.


Datele de șir, de exemplu, o țară și un operator, sunt codificate utilizând funcția urlencode.

EXEMPLUL HLR-interogare rezultat: ID: 855469 Stat: DELIVRD ERR: 000 IMSI: 250.023.012.345.678 msc: 79232510066 mcc: 250 MNC: 02 cn: Rusă + Federatio n net: RCN Megafon + deschis + nt + Stoc Miercuri + Compania: rNET:
Un exemplu de cod PHP pentru parsarea unui șir cu rezultatul unei solicitări HLR:
$ dlr = strtr ($ dlr. ":". "="); // $ dlr - linia de stare
parse_str ($ dlr. $ m); // $ m - serie de parametri, $ m ["id"], $ m ["err"], $ m ["imsi"] și așa mai departe.
Exemplu de parsare prin expresii regulate:
preg_match ( „/ ^ id: (\ d +) stat: (\ w +) err: (\ d +) IMSI: (\ d *) msc: (\ d *) mcc: (\ d *) MNC: (\ d * ) cn: ([^] *) net: ([^] *) rcn: ([^] *) rNET: ([^] *) / „$ DLR $ m); .. // $ dlr - linia de stare
pentru ($ i = 6; $ i <= 9 ; $i ++)
$ m [$ i] = adresa urldecode ($ m [$ i]);
// $ m este o serie de parametri, $ m [1] = id, $ m [2] = status, $ m [3] = err și așa mai departe.
Pentru a trimite un SMS Ping, folosiți comanda SUBMIT_SM cu textul __PING__.

Verificarea stării

Primiți starea de livrare a trimis mesaje SMS pe SMPP-protocol poate fi fie în mod automat, primind un răspuns de la serverul DELIVER_SM PDU-echipa imediat după schimbarea statutului, iar la cerere o echipă QUERY_SM separată. Pentru a obține automat starea trebuie să fie conectat la receptor sau modul de emisie-recepție și trimiterea mesajelor SMS pentru a indica starea de pavilion cerere (registered_delivery). În plus, este posibilă recepționarea statusurilor pe un handler HTTP.







Trimiteți-le prietenilor: