What is TLV in SMPP?

TLV i SMPP: Forståelse af Valgfrie Parametre

14/06/2023

Rating: 4.25 (12730 votes)

I den moderne verden af mobilkommunikation er SMS-beskeder mere end blot en simpel tekstudveksling. For virksomheder og serviceudbydere, der sender store mængder beskeder, er protokollen SMPP (Short Message Peer-to-Peer) en uundværlig standard. Men for at opnå fuld funktionalitet og imødekomme specifikke krav fra serviceudbydere, er det ofte nødvendigt at tilføje ekstra information til disse beskeder. Her kommer TLV-felter (Tag Length Value) ind i billedet – en fleksibel mekanisme til at udvide SMPP-protokollen med valgfrie parametre. Denne guide vil udforske, hvad TLV-felter er, hvorfor de er vigtige, og hvordan du kan tilpasse dem for at optimere din SMS-kommunikation, især i forbindelse med Ozeki NG SMS Gateway.

What is TLV in SMPP?
TLV is a data type, a structure which enables the addition of new parameters to SMPP PDU. TLV is the acronym of Tag Length Value. TLVs are often called 'optional fields'. The TLV extra parameters were added to the SMPP protocol in version 3.4. TLV's can be added as byte stream at the end of the standard SMPP PDU's.
Indholdsfortegnelse

Hvad står TLV for, og hvad er dets formål?

TLV er et akronym for Tag Length Value, og det repræsenterer en datatype eller struktur, der gør det muligt at tilføje nye, valgfrie parametre til en SMPP PDU (Protocol Data Unit). Disse felter, ofte kaldet 'valgfrie felter', blev introduceret i SMPP-protokollen i version 3.4 for at give større fleksibilitet og mulighed for at overføre yderligere metadata ud over standardparametrene.

Forestil dig en standard SMS-besked som et brev. TLV-felter er som små, selvstændige noter, du kan vedhæfte brevet, hver med sin egen specifikke information, der ikke passer ind i de almindelige rubrikker som afsender- eller modtageradresse. Disse noter er helt valgfrie og afhænger af, om modtageren (i dette tilfælde, SMS-serviceudbyderen) har brug for dem.

Strukturen af et TLV-felt

Et TLV-felt er opbygget som en byte-strøm og tilføjes typisk i slutningen af de standard SMPP PDU'er. Strukturen er som følger:

  • Tag (2 bytes): Dette er en unik identifikator for den specifikke parameter, der sendes. Det fortæller modtageren, hvilken type information der følger.
  • Length (2 bytes): Dette angiver længden af den efterfølgende 'Value'-del i bytes. Det sikrer, at modtageren ved præcis, hvor meget data der skal læses for denne specifikke parameter.
  • Value (variabel længde): Dette er den faktiske data eller værdi, som parameteren indeholder. Længden af denne del bestemmes af 'Length'-feltet.

For eksempel, hvis et TLV-felt har et Tag på 5721 og en Value på '38353334322213', vil systemet automatisk beregne længden af denne Value, som i dette tilfælde ville være 0007 (7 bytes). Denne struktur gør det muligt at tilføje et uendeligt antal forskellige valgfrie parametre på en standardiseret måde.

Hvorfor er TLV-felter vigtige for din SMS-kommunikation?

Selvom TLV-felter er valgfrie, er de i visse tilfælde afgørende for at opnå fuld funktionalitet og optimal ydeevne i dit SMS-system. Der er flere primære årsager til at anvende dem:

  • Serviceudbyderkrav: Mange SMS-serviceudbydere kræver specifikke ekstra parametre for at kunne behandle beskeder korrekt, anvende særlige ruter, eller tildele unikke identifikatorer. Uden disse kan dine beskeder enten fejle eller blive behandlet ineffektivt.
  • Forbedret funktionalitet: TLV-felter kan bruges til at aktivere avancerede funktioner, som ikke er dækket af standard SMPP-protokollen. Dette kan inkludere ting som indstilling af beskedprioritet, leveringskvitteringsmuligheder eller brugerdefinerede identifikationer.
  • Systemoptimering: Ved at tilføje relevante metadata kan du sikre, at dit SMS-system kører optimalt. Dette kan hjælpe med logning, rapportering og fejlfinding ved at give mere detaljeret information om hver enkelt besked.

Ozeki NG SMS Gateway understøtter fuldt ud denne funktionalitet, hvilket giver dig mulighed for nemt at tilpasse og implementere TLV-felter i dine SMPP-forbindelser.

Sådan tilpasser du TLV-parametre med Ozeki NG SMS Gateway

For at kunne sende SMS-beskeder med Ozeki NG SMS Gateway, skal du have installeret gatewayen samt en SMPP-serviceudbyder. Det er vigtigt at bemærke, at denne løsning kun er tilgængelig i Ozeki NG SMS Gateway v3.15.33 eller nyere. Efter grundlæggende konfiguration af dit system kan du have brug for at tilføje yderligere parametre for at opnå total funktionalitet. Disse ekstra parametre er TLV-felter, og Ozeki NG SMS Gateway tilbyder to primære metoder til at tilpasse dem: en generel tilpasning for alle beskeder og en mere granulær tilpasning pr. SMS.

1. Generel tilpasning af TLV-parametre

Hvis du konfigurerer dine parametre på denne måde, vil alle beskeder, der sendes via den specifikke SMPP-forbindelse, automatisk indeholde det valgfrie TLV-felt. Dette er ideelt, hvis din serviceudbyder kræver den samme TLV-parameter for alle beskeder:

  1. Efter konfigurationen af din SMPP-forbindelse skal du klikke på menuen Konfigurer.
  2. Vælg fanebladet Message submission.
  3. Udfyld feltet Optional parameter med de ønskede data. Formatet vil typisk være en række Tag-Length-Value-par.

For at verificere, at konfigurationen er lykkedes, kan du tjekke Events for din SMPP-serviceudbyder. I loggen kan du se de tilpassede parametre tilføjet i slutningen af PDU'en, hvilket bekræfter, at de sendes korrekt.

2. Tilpasning af valgfrie parametre pr. SMS

I situationer, hvor du har brug for at bestemme, hvilken TLV-værdi der skal tilføjes til PDU'en ved SMPP-forbindelsen for hver enkelt SMS, tilbyder Ozeki NG SMS Gateway mere fleksible løsninger. Dette kan gøres på to måder: via en Databasebruger eller via HTTP API.

Via Databasebruger

Hvis du sender beskeder fra en database, kan du bruge en Databasebruger til at definere valgfrie parametre for hver SMS:

  1. Installer en Databasebruger i Ozeki NG SMS Gateway.
  2. Log ind på Ozeki NG SMS Gateway og gå til menuen Konfigurer for Databasebrugeren.
  3. Feltnavnet i databasen skal indeholde præfikset tlv_ efterfulgt af TLV Tag'et. For eksempel, hvis feltnavnet er tlv_5721, er TLV Tag'et 5721.
  4. De data, der returneres i dette felt, vil være Værdien (Value) af TLV-feltet. Længden af TLV-feltet beregnes automatisk ud fra den returnerede data.
  5. For at tilpasse Databasebrugeren skal du klikke på fanebladet SQL for sending og i Polling-feltet indtaste tlv_-nøgleordet og TLV Tag'ets værdi, som vist i eksemplet: et SQL-feltnavn som tlv_5721, hvor Tag'et er 5721 og Værdien er '38353334322213'. Længden vil automatisk blive bestemt til '0007'.

Succesen med denne konfiguration kan også kontrolleres i Events for SMPP-serviceudbyderen, hvor de tilpassede parametre vil fremgå i loggen for de specifikke beskeder.

Via HTTP API

Valgfrie parametre kan også anmodes om via HTTP API, hvilket giver en høj grad af fleksibilitet for applikationer, der interagerer direkte med Ozeki NG SMS Gateway:

  1. Tilpasningen af TLV-parametre via HTTP API sker på samme måde som med Databasebrugeren.
  2. Parameteren i HTTP-anmodningen skal starte med tlv_ efterfulgt af TLV Tag'et (f.eks. tlv_5721).
  3. De data, der sendes som værdi for denne parameter, vil være Værdien (Value) af TLV-feltet, og Længden (Length) beregnes automatisk.

Et eksempel på en HTTP-anmodning kunne se således ud:

http://127.0.0.1:9501/api?action=sendmessage&username=admin&password=abc123&recipient=06301234567&tlv_5721=38353334322213&messagetype=SMS:TEXT&messagedata=Hello+world

I dette eksempel er tlv_5721 TLV Tag'et, og 38353334322213 er dens Værdi. Ozeki NG SMS Gateway vil acceptere beskeden til afsendelse, og du kan igen verificere de sendte TLV-parametre i loggen for SMPP-udbyderens Events.

Fordele ved at mestre TLV i din SMS-kommunikation

At forstå og kunne implementere TLV-felter giver en række betydelige fordele for enhver, der arbejder med avancerede SMS-løsninger:

  • Maksimal Fleksibilitet: Du får fuld kontrol over de data, der sendes med dine SMS-beskeder, hvilket giver mulighed for at understøtte selv de mest specifikke serviceudbyderkrav.
  • Fremtidssikring: Da TLV-felter er en udvidelsesmekanisme, kan nye parametre nemt tilføjes uden at skulle ændre den grundlæggende SMPP-protokol.
  • Forbedret Sporing og Rapportering: Ved at sende unikke identifikatorer eller statuskoder via TLV kan du forbedre sporingen af dine beskeder og få mere detaljerede rapporteringsmuligheder.
  • Overholdelse af Standarder: Selvom valgfrie, er TLV-felter en del af SMPP-standarden (fra v3.4), og brugen heraf sikrer kompatibilitet og robusthed i din kommunikation.

Sammenligning: Generel vs. Specifik TLV-tilpasning

Valget mellem generel og pr. SMS-tilpasning afhænger af dine specifikke behov. Her er en oversigt:

FunktionGenerel TilpasningTilpasning pr. SMS
AnvendelseAlle udgående beskeder via en bestemt SMPP-forbindelseSpecifikke, individuelle beskeder
MetodeKonfiguration direkte i SMPP-forbindelsens indstillingerVia Databasebruger eller HTTP API
FleksibilitetLavere (samme parameter for alle)Højere (parameter kan variere pr. besked)
KompleksitetSimpel opsætningKræver mere avanceret opsætning og integration
Typisk brugServiceudbyderkrav, der gælder for al trafikDynamiske parametre, unikke ID'er, specifikke tjenester

Ofte Stillede Spørgsmål om TLV i SMPP

Hvad er SMPP?

SMPP (Short Message Peer-to-Peer) er en telekommunikationsprotokol, der bruges til at udveksle SMS-beskeder mellem Short Message Service Centers (SMSCs) og External Short Message Entities (ESMEs), såsom SMS-gateways. Det er standardprotokollen for højvolumen SMS-trafik.

Hvorfor er TLV-felter vigtige?

TLV-felter er vigtige, fordi de giver en standardiseret og fleksibel måde at udvide SMPP-protokollen på. De gør det muligt at tilføje valgfrie, men ofte nødvendige, parametre til SMS-beskeder, som kan være afgørende for at opfylde serviceudbyderkrav, aktivere avancerede funktioner eller optimere systemets ydeevne.

Kræver alle serviceudbydere TLV-parametre?

Nej, ikke alle serviceudbydere kræver TLV-parametre. Behovet afhænger af udbyderens specifikke systemkonfiguration og de tjenester, de tilbyder. Det er altid bedst at konsultere din serviceudbyders dokumentation for at se, om der er specifikke TLV-krav.

Kan jeg bruge TLV med enhver SMS Gateway?

Understøttelse af TLV-felter afhænger af den specifikke SMS Gateway. Ozeki NG SMS Gateway understøtter fuldt ud TLV-funktionaliteten, men det er ikke en universel funktion for alle gateways. Du bør altid tjekke din gateways specifikationer.

Hvad hvis jeg ikke har Ozeki NG SMS Gateway v3.15.33 eller nyere?

Hvis du bruger en ældre version af Ozeki NG SMS Gateway, vil du sandsynligvis ikke have adgang til den fulde TLV-funktionalitet som beskrevet. Det anbefales at opgradere til den nyeste version for at sikre, at du kan udnytte alle funktioner og forbedringer, herunder avanceret TLV-håndtering.

Konklusion

TLV-felter er en essentiel del af moderne, avanceret SMS-kommunikation via SMPP-protokollen. De giver den nødvendige fleksibilitet til at imødekomme specifikke serviceudbyderkrav og udnytte avancerede funktioner, som standardprotokollen alene ikke kan levere. Med Ozeki NG SMS Gateway har du kraftfulde værktøjer til at implementere og tilpasse disse valgfrie parametre, uanset om du har brug for en generel indstilling for alle dine beskeder eller en granulær kontrol pr. SMS via databaseintegration eller HTTP API. Ved at mestre TLV sikrer du, at din SMS-kommunikation ikke blot er effektiv, men også fuldt optimeret til dine unikke behov.

Hvis du vil læse andre artikler, der ligner TLV i SMPP: Forståelse af Valgfrie Parametre, kan du besøge kategorien Mobil.

Go up