Wat is het smpp-protocol. Problemen met het SMPP-protocol. Status van berichtbezorging ophalen

SMPP (afkorting: Short message peer-to-peer protocol) vertaald uit het Engels betekent “Short message peer-to-peer protocol” en stelt u in staat de interactie tussen de SMS-server en de eindclient te beschrijven. Dit protocol is een van de meest populaire onder sms-providers, die het gebruiken om sms-berichten uit te wisselen tussen sms-centra met gelijke rechten. Om met het SMPP-protocol te kunnen werken, moet u beschikken over een server die voortdurend ingeschakeld is en over de juiste software die compatibel is met de SMS-gateway van de provider.

  • Ondersteuning diverse tekstformaten en wap-sms;
  • Verzenden lange teksten;
  • Tweerichtingsberichten;
  • Snelheidsselectie verzenden;
  • De coderingsmethode selecteren;
  • Uitbreidbaarheid;
  • Ontvang gedetailleerde rapporten.

Het protocol is onmisbaar voor het regelmatig verzenden van een grote hoeveelheid berichten over een betrouwbaar en snel kanaal. Daarom gebruikt de sms-provider dit protocol meestal voor het uitwisselen van sms-berichten USSD-berichten in VAS-systemen, voor het aansluiten van diverse externe systemen enz. Voor meer informatie over het SMPP-protocol en de manier waarop mailing wordt uitgevoerd, kunt u contact opnemen met onze specialisten.

  • Ondersteunde opdrachten
  • Parameters voor het verzenden van berichten (SUBMIT_SM) via SMPP
  • Regels voor het werken met een smpp-verbinding
  • Formaat ontvangstbewijs
  • Gereserveerde smpp-protocolfoutcodes
  • Sollicitatie

De foutbeschrijving is te vinden in de SMPP 3.4-specificatie.

Let op: u moet een lijst met IP-adressen verzenden waarvandaan u dit wilt doen
verbinding maken voordat u SMPP gaat gebruiken.

Verbindingsinstellingen met SMPP

  • system_id - gebruikersnaam van het formulier XXXX.X geregistreerd in het systeem
  • wachtwoord - gebruikerswachtwoord
  • Adres -
  • Haven - 8056

Ondersteunde SMPP-opdrachten

Niet-ondersteunde opdrachten ontvangen GENERIC_NAK-berichten met foutcode ESME_RINVCMDID.

Parameters voor het verzenden van een bericht (SUBMIT_SM) via het smpp-protocol

Regels voor het werken met een SMPP-verbinding

Wanneer er een verbinding tot stand is gebracht, krijgt de client 10 seconden de tijd om het BIND_TRANSMITTER- of BIND_TRANSCEIVER-commando naar anders de verbinding wordt verbroken.

De client moet binnen 1 minuut reageren op alle pakketten die via de gateway worden ontvangen met een bijbehorend resp-pakket, anders wordt de verbinding verbroken zonder UNBIND te verzenden.

Status van berichtbezorging ophalen

Er zijn twee opties om de leveringsstatus te verkrijgen met behulp van het smpp-protocol (actief en passief). De passieve optie heeft de voorkeur.

De passieve optie omvat het instellen van de vlag Registered_delivery van het SUBMIT_SM-pakket.
Nadat het bericht zijn definitieve status heeft bereikt, verzendt de server een DELIVER_SM-pakket met een ontvangstbewijs. Het berichtformaat voor de ontvangstbevestiging vindt u hieronder.

De actieve optie zorgt voor het periodiek opvragen van de berichtstatus door middel van verzending
QUERY_SM.

Formaat ontvangstbewijs

"id:IIIIIIIIII sub:SSS dlvrd:DDD verzenddatum:JJMMDDuumm datum klaar:JJMMDDuumm
stat:DDDDDDD err:E Tekst: . . . . . . . . "

Gereserveerde foutcodes voor smpp-verbinding

Code Beschrijving
0x0400
(1024)
Codering niet herkend
0x0401
(1025)
Te veel grote tekst berichten. Maximale lengte mag niet hoger zijn dan 160
byte.
0x0402
(1026)
Fout bij het registreren van bericht voor verzending. Wanneer deze fout optreedt
Contact opnemen met ondersteuning.
0x0403
(1027)
De berichttekst is niet gecontroleerd op ongepaste woorden en/of zinnen
0x0404
(1028)
Afzender of ontvanger op de zwarte lijst
0x0453
(1107)
Verzendbeperking geactiveerd dezelfde tekst in korte tijd naar hetzelfde aantal. Neem contact op met de klantenservice als u de periode wilt uitschakelen of verkorten.
0x043C
(1084)
Nee betaalbaar tarief voor de gevraagde richting.
0x043F
(1087)
De upstream tegenpartij beschikt niet over een passend tarief.
0x045A
(1114)
Routeringsbeleid niet gevonden.
0x0446
(1094)
Transportfout. Als deze fout optreedt, neem dan contact op met de klantenservice.
steun.
0x433
(1075)
Er staat onvoldoende saldo op de rekening.

SMPP- een veelgebruikt protocoltype dat wordt gebruikt voor het ontvangen en verzenden van sms-berichten en USSD-verzoeken. Zijn eigenaardigheid is de constante verbinding, die je heel veel geeft belangrijk voordeel- de verbinding wordt niet onderbroken en er wordt een sms verzonden hoge snelheid(tot meerdere malen hoger dan bij andere methoden).

Wanneer u het smpp-protocol gebruikt, krijgt u dus de volgende functies:

1. beschikbaar verschillende formaten, inclusief wap-push-sms;

2. berichten verzonden via smpp kunnen niet alleen een kort formaat hebben;

4. tweerichtings-sms-kanaal;

5. snelheidsaanpassing.

Zoals u kunt zien, biedt het smpp-protocol een grote gebruiksvrijheid, maar net als elk ander hulpmiddel heeft het zijn eigen protocol unieke kenmerken gerelateerd aan de installatie en het daadwerkelijke werk. We zullen hier hieronder over praten.

Kenmerken van het werken met het protocol

Om smpp te laten functioneren is een server nodig die is aangepast om met dit protocol te werken, en een speciaal software(cliënt). Bovendien heeft u een constante stabiele verbinding met de gateway van de provider nodig. Daarom zorgen we ervoor dat we de apparatuur van onze klanten testen - de server moet compatibel zijn met hoge snelheid SMS versturen. Zo vereenvoudigen we in eerste instantie de levering van kwaliteitsdiensten.

Api is geschikt voor sites die in elke taal zijn geschreven, inclusief PHP.

Klanten kunnen zelf de werking van het geconfigureerde smpp-kanaal testen, alle mogelijkheden worden geboden nog voordat ze de diensten gaan gebruiken. Hierdoor kunt u begrijpen hoe snel uw berichten die via het smpp-protocol worden verzonden, bij de ontvangers worden afgeleverd.

Het servicepersoneel helpt u graag bij het begrijpen van alle fijne kneepjes van het werken met het smpp-protocol, de integratie met behulp van php op uw website, helpt bij het verbinden en testen van alle services en beantwoordt eventuele vragen.

Verbindingsparameters

  • system_id - gebruikersnaam van het formulier XXXX.X geregistreerd in het systeem
  • wachtwoord - gebruikerswachtwoord
  • Adres -
  • Haven - 8056

Ondersteunde opdrachten

Beschrijving

BIND_TRANSMITTER

Sluit aan als ZENDER

BIND_TRANSCEIVER

Sluit aan als TRANSCEIVER

stuur een bericht

Berichtstatus opvragen

Ontvangstbewijs verzenden via server

Controleer de verbinding

Verkeerde opdracht

Afsluiten

Als u een onjuist commando invoert, ontvangt u een reactie zoals GENERIC_NAK, waarvan de tekst de foutcode ESME_RINVCMDID bevat.

Parameters voor het verzenden van SMS-berichten (SUBMIT_SM)

Verbindingsregels

De client heeft 10 seconden de tijd om een ​​verbinding tot stand te brengen via de smpp-gateway, gedurende welke een van de commando's moet worden verzonden: BIND_TRANSCEIVER, BIND_TRANSMITTER. Anders gaat de verbinding verloren.

Er zal ook een pauze optreden als de client niet later dan één minuut reageert op een pakket dat door de server is verzonden vastgelegd door de regels pakket resp. Als een dergelijke breuk optreedt, wordt UNBIND niet verzonden.

Een smpp-verbinding is alleen toegestaan ​​vanaf één gebruikersnaam tegelijk. Alle andere verbindingen ontvangen de fout 0x00000005 ESME Al in gebonden staat. Als u echter meer dan één verbinding binnen uw account moet maken, kunt u voor elk van deze verbindingen uw eigen gebruiker aanmaken.

In het geval van het verzenden van Submit_sm, gemarkeerd met de vlag Registered_delivery, is het verzenden van de SMS-status alleen mogelijk naar de gebruiker die het bericht heeft verzonden.

SMS-bezorgstatus

Wanneer u met dit protocol werkt, kan de leveringsstatus passief (bij voorkeur) of actief zijn.

Om een ​​passief rapport te ontvangen, moet u het SUBMIT_SM-pakket verzenden met de vlag 'registred_delivery' die eerder is ingeschakeld.

De tekst voor ontvangstbevestiging in het DELIVER_SM-pakket komt van de server wanneer het SMS-bericht de laatste distributiefase ingaat.

Wanneer het rapport actief is, wordt de SMS-status regelmatig gecontroleerd door het verzenden van QUERY_SM.

Formaat ontvangstbewijs

"id:IIIIIIIIII sub:SSS dlvrd:DDD verzenddatum:JJMMDDuumm datum klaar:JJMMDDuumm
stat:DDDDDDD err:E Tekst: . . . . . . . . "

Gereserveerde foutcodes

Beschrijving

Codering niet herkend

De berichttekst is te groot. De maximale lengte mag niet groter zijn dan 160

0x0402 (1026)

Fout bij het registreren van bericht voor verzending. Wanneer deze fout optreedt
Contact opnemen met ondersteuning.

De berichttekst is niet gecontroleerd op ongepaste woorden en/of zinnen

Afzender of ontvanger op de zwarte lijst

Er gold een beperking voor het binnen korte tijd verzenden van dezelfde sms naar hetzelfde nummer. Neem contact op met de klantenservice als u de periode wilt uitschakelen of verkorten.

Er is geen tarief beschikbaar voor de aangevraagde bestemming.

De upstream tegenpartij beschikt niet over een passend tarief.

Routeringsbeleid niet gevonden.

Transportfout. Als deze fout optreedt, neem dan contact op met de klantenservice.

Steun.

Er staat onvoldoende saldo op de rekening.

(Kort bericht peer-to-peer - kort bericht peer-knooppunten) – open protocol, dat wordt gebruikt om sms-berichten tussen peers te verzenden/ontvangen. Dit protocol wordt, net als HTTP, gebruikt via TCP/IP, maar is binair. Normaal gesproken biedt het SMPP-protocol dit permanente verbinding, zonder verzoeken te doen en te wachten op antwoorden van de server met verder breken verbindingen. Het gebruik van een permanente verbinding verhoogt de snelheid van het verzenden van berichten aanzienlijk.

SMS-providers kunnen de snelheid waarmee zij berichten ontvangen beperken om hun middelen te optimaliseren en toe te wijzen. Als u probeert te verzenden met een hogere snelheid dan uw ISP toestaat, kunt u last krijgen van dit probleem onverwachte fouten en vertragingen.

SMPP kan elk type bericht verzenden, inclusief UCP/EMI-berichten. SMPP ondersteunt beide lang tekstberichten en berichten geschreven in Unicode. Bij sommige SMPP-servers moet de afzender een compleet lang bericht en anderen om berichtsegmentatie uit te voeren op basis van berichttype.

Er zijn er drie verschillende types verbindingen die door de SMPP-server kunnen worden ondersteund.

  • “Afzender” of “alleen verzenden” - alleen het verzenden van berichten werkt en de server kan geen berichten ontvangen.
  • "Ontvanger" of "alleen ontvangen" - verbinding via de berichtenverbinding is niet toegestaan, de server kan alleen berichten ontvangen. Elke poging om berichten te ontvangen via deze verbinding resulteert meestal in een fout.
  • "Transceiver" - mag berichten verzenden en verzenden via één verbinding.

Het type verbinding dat u gebruikt, is afhankelijk van de voorkeuren en het beleid van uw SMPP-services.

Het SMPP-protocol is uitbreidbaar, waardoor providers hun eigen protocol kunnen toevoegen Extra opties, die bekend staan ​​als TLV-parameters, zo genoemd vanwege de indeling van deze parameters: tag (label), lengte, waarde. Sommige TLV-parameters zijn gedefinieerd in de specificatie, maar hoeven niet te worden gebruikt. Andere parameters worden verstrekt door de provider.

Kan worden gebruikt SMS-service, als SMPP-server voor andere toepassingen. Andere clients of applicaties maken verbinding met de SMS-dienst en hun SMPP-server, en de SMS-dienst communiceert met een of meer andere SMS-centra om SMS-berichten te verzenden en te ontvangen, met behulp van SMPP of mogelijk andere protocollen.

De overdracht van berichten tussen de SMS-server en het SMS-centrum van de GSM-serviceprovider via IP-communicatie kan plaatsvinden via een speciale lijn (gateway) via internet. In dit geval kan de IP-verbinding tussen de pc en het SMS-centrum worden beveiligd.

Het voordeel van het SMPP-protocol is dat het proces veel sneller en met kortere intervallen (van één tot tien seconden) plaatsvindt dan bij gebruik van mobiele telefoon. SMPP wordt aanbevolen als maximaal aantal verzonden berichten meer dan 100 SMS/uur. Bovendien kunt u met de SMPP-service alle informatie (11 tekens) invoeren in de afzendernummerregel. Cijfers, Latijnse tekens en leestekens worden ondersteund. De ingevoerde gegevens verschijnen voor de ontvanger in de regel “Bericht van:” en kunnen onafhankelijk door de afzender worden gewijzigd. U heeft dus de mogelijkheid om uw eigen SMS-centrum te gebruiken dat werkt met het SMPP-protocol.