Cum să configurezi câmpul sm_default_msg_id
Câmpul sm_default_msg_id
face parte din PDU-urile submit_sm
și deliver_sm
din protocolul SMPP (Short Message Peer-to-Peer). Este folosit pentru a referenția mesaje scurte predefinite (încorporate) stocate pe SMSC, de obicei printr-un ID numeric.
Detalii despre câmp
- Nume câmp: sm_default_msg_id
- Dimensiune: 1 octet (întreg fără semn)
- Interval: 0–255
- Utilizare: Indică care mesaj predefinit să fie trimis (dacă există)
Descrierea utilizării
Câmpul sm_default_msg_id
permite unui utilizator să solicite ca SMSC să trimită un mesaj predefinit din depozitul său intern de mesaje. Acest lucru poate fi util în medii cu resurse limitate sau pentru trimiterea de mesaje standard de sistem fără a transmite textul complet de fiecare dată.
Comportament implicit
- Dacă
sm_default_msg_id = 0
, atunci este utilizat conținutul mesajului definit de utilizator înshort_message
. - Dacă
sm_default_msg_id > 0
, atunci este utilizat mesajul cu acel ID, iar câmpulshort_message
ar trebui să fie de obicei gol sau ignorat de SMSC.
Practică comună
În majoritatea sistemelor moderne de SMS și API-uri, sm_default_msg_id
nu este utilizat și este de obicei setat la 0
. Conținutul real al mesajului este trimis prin câmpul short_message
.
Exemplu de PDU cu valoare implicită
0000003B // Lungimea comenzii (59 de octeți) 00000004 // ID comandă: submit_sm 00000000 // Stare comandă 00000001 // Număr de secvență 00 // service_type 01 // source_addr_ton 01 // source_addr_npi 31323334 // source_addr ("1234") 00 01 // dest_addr_ton 01 // dest_addr_npi 35363738 // destination_addr ("5678") 00 00 // esm_class 00 // protocol_id 00 // priority_flag 00 // schedule_delivery_time 00 // validity_period 00 // registered_delivery 00 // replace_if_present_flag 00 // data_coding 00 // sm_default_msg_id = 0 (folosește short_message) 05 // sm_length 48656C6C6F // short_message = "Hello"
Exemplu de PDU cu ID de mesaj predefinit
... 00 // sm_default_msg_id = 1 (folosește mesajul predefinit 1) 00 // sm_length (gol) // short_message este gol sau ignorat
Când să folosești
Deși rar, ai putea folosi sm_default_msg_id
când:
- Lucrezi cu implementări vechi de SMSC care acceptă mesaje predefinite
- Trimiți alerte sau șabloane de sistem repetitive și în volum mare stocate pe SMSC
- Furnizorul tău de SMS îți recomandă să folosești această funcționalitate
Considerații importante
- Dacă
sm_default_msg_id > 0
, unele SMSC-uri pot ignora completshort_message
. - Dacă sunt folosite ambele, comportamentul este specific implementării. Testează mereu sau verifică documentația.
- Setarea unei valori diferite de zero fără un ID de mesaj predefinit valid poate duce la eșecul livrării sau la respingerea mesajului.
Concluzie
Câmpul sm_default_msg_id
este o funcționalitate moștenită din protocolul SMPP care permite referențierea șabloanelor de mesaje predefinite stocate pe SMSC. Deși este în mare parte nefolosit în sistemele moderne, înțelegerea rolului său ajută la asigurarea compatibilității atunci când lucrezi cu gateway-uri vechi sau implementări personalizate de SMSC.
Referințe
- Specificația protocolului SMPP 3.4
- Documentația specifică furnizorului pentru SMSC SMPP
More information
- How to configure the SMPP Service Type field
- How to configure the SMPP Phone Number fields
- How to configure the SMPP ESM Class field
- How to configure the SMPP PID field
- How to configure the SMPP Prioirity field
- How to configure the SMPP Scheduled Time field
- How to configure the SMPP Validity Period field
- How to configure the SMPP Registered Delivery field
- How to configure the SMPP Replace if Present field
- How to configure the sm_default_msg_id field
- How to configure the SMPP DCS field
- How to calculate the SMPP SM Length field
- How to put data into the SMPP SM field