SMS rutiranje

Sa Ozeki SMS Gateway-om možete podesiti više veza sa mobilnim mrežama za slanje SMS poruka. Da biste kontrolisali koja veza se koristi za slanje SMS-a u mobilnu mrežu, možete koristiti SMS rutiranje.

Uvod u SMS rutiranje

Ovaj dokument vam daje uvod u SMS rutiranje. Obuhvata osnovne koncepte procedure SMS rutiranja u Ozeki SMS Gateway-u. Naučićete o ruting tabeli; saznaćete šta je ruting pravilo i dobićete jednostavne primere rutiranja. Napredniji primeri i više informacija dostupni su u vodiču za SMS rutiranje za pružaoce SMS usluga, vodiču kako kopirati i proslediti SMS poruke na više destinacija i u vodiču za rutiranje SMS-a po najnižoj ceni. Ako želite da menjate telefonske brojeve i tekst poruka tokom čitanja, posetite stranicu kako izmeniti SMS poruku u toku slanja.

Šta je SMS rutiranje?

SMS rutiranje je procedura koju koristi Ozeki SMS Gateway da odluči gde SMS tekstualna poruka treba da bude prosleđena. SMS rutiranje se zasniva na uparivanju šablona i omogućava modifikaciju poruka. Rešenja za SMS rutiranje koriste pružaoci SMS usluga i velike organizacije.

Šta je SMS rutiranje?
Slika 1 - Šta je SMS rutiranje?

Koje vrste SMS rutiranja postoje? Kako konfigurisati SMS rutiranje (Brzi spisak instrukcija)

Da biste konfigurisali SMS rutiranje, potrebno je da pokrenete Ozeki SMS aplikaciju i da otvorite ruting tabelu klikom na dugme "Routes" u alatnoj traci.

ruting tabela na ekranu ruting tabele
Slika 2 - Ruting tabela u SMS gateway-u.

Da biste konfigurisali SMS rutiranje, pratite ove brze korake:

  1. Otvorite Ozeki SMS Gateway na Windows desktopu
  2. Prijavite se sa korisničkim imenom "admin"
  3. Otvorite SMS Gateway aplikaciju
  4. Pronađite alatnu traku na vrhu
  5. Pronađite dugme "Routes" u alatnoj traci
  6. Kliknite na dugme "Routes" u alatnoj traci
  7. Ovo će otvoriti ruting tabelu
  8. Kliknite na "Create new route" da kreirate SMS rutu
  9. Popunite formular za kreiranje rute
  10. Kliknite OK da kreirate novu rutu
  11. Koristite crvene i zelene strelice da pomerite pravilo na željenu poziciju
Šta SMS rutiranje radi?

Rutiranje dodeljuje "To connection" poruci. Drugim rečima, bira odredišnu vezu na koju poruka treba da bude prosleđena. U Ozeki SMS gateway-u sve je "Connection". Veza je krajnja tačka za slanje poruka, koja može slati i primati poruke. Iako su veze prikazane u grupama (npr.: SMS korisnici, veze sa mobilnim mrežama, itd), one su i dalje identične veze kada je u pitanju rutiranje.

SMS rutiranje je procedura koja se koristi da odluči gde SMS poruka treba da bude prosleđena. Ova procedura se izvršava kada se ulazna poruka pošalje u ruting tabelu (Slika 2). Ruting tabela izvršava ruting algoritam i vraća izlaznu poruku, koja je identična ulaznoj poruci, ali joj je dodeljen "To connection". Nakon procedure rutiranja, izlazna poruka se prosleđuje na "To connection".

Slika 3 - SMS ruta bira odredište

Šta je SMS ruting pravilo?

SMS ruting tabela se sastoji od ruting pravila. Ruting pravilo ima uslov za podudaranje, skup komandi za modifikaciju i odredište. Kada se SMS pošalje, prvo se prosleđuje u ruting tabelu, gde se upoređuje sa ruting pravilima. Ako pravilo "odgovara" SMS-u, izvršava modifikatore i prosleđuje poruku na odredište. Podudaranje se vrši na osnovu konfigurisanih uslova, kao što su veza pošiljaoca, broj telefona pošiljaoca, tekst poruke, period usluge, itd. Pravila za modifikaciju se primenjuju samo ako SMS zadovoljava uslove za podudaranje. Ako uslovi za podudaranje nisu ispunjeni, sledeće ruting pravilo u ruting tabeli se proverava.

Slika 4 - Šta je SMS pravilo

Kako se izvršavaju SMS pravila rutiranja?

Za svaku poruku koja se šalje, izvršava se tabela rutiranja. Izvršavanje se vrši odozgo nadole: Ako se pravilo poklapa, odredište ("To veza") se dodeljuje i rutiranje se zaustavlja. Poruka se prosleđuje izabranom odredištu.

Slika 5 - Redosled izvršavanja SMS pravila

Kako se prikazuje tabela rutiranja?

Ako otvorite početni ekran, videćete dva prikaza glavne tabele rutiranja. Na vrhu se nalazi filtrirana tabela koja prikazuje samo "ulazne rute", a na dnu se nalazi filtrirana tabela koja prikazuje samo "izlazne rute". U praksi nazivamo rutu ulaznom rutom ako je "From veza" klasifikovana kao SMS mrežna veza. Sve ostalo su izlazne rute.

Slika 6 - Filtrirana tabela SMS rutiranja na početnom ekranu

Ova podela je urađena jer većina korisnika razmišlja u terminima ulaznih i izlaznih ruta. Iako u Ozeki sistemu rutiranja nema razlike između takvih pravila, bolje je prikazati tabelu rutiranja na ovaj način. Ljudi bolje razumeju ako su rute organizovane po njihovoj pošiljalackoj vezi ("From veza") u grupe i samo te filtrirane grupe su prikazane. Ako želite da postanete ekspert za rutiranje, uvek koristite glavnu tabelu rutiranja umesto filtriranih prikaza, jer vam daje bolji uvid u to šta se dešava sa određenom porukom.

tabela rutiranja na početnom ekranu
Slika 7 - Tabela rutiranja na početnom ekranu.

Kako mogu da kreiram pravilo rutiranja?

Ako želite da kreirate pravilo rutiranja, otvorite glavnu tabelu rutiranja klikom na dugme "Routes" u alatnoj traci i kliknite na "Create new Route". Ovo će otvoriti formu za kreiranje rute. Obratite pažnju na kartice "Match" i "Modify" u ovoj formi. Ovo su stranice gde možete definisati uslove poklapanja i komande za modifikaciju.

kliknite na 'create new route'
Slika 8 - Kliknite na "Create new Route"

Šta ako ne vidim svoju vezu?

Veliki SMS sistemi mogu imati veoma veliki broj veza. Da bi se pojednostavio život, ponuđene "From" i "To" veze su podrazumevano filtrirane. Retko korišćene veze su sakrivene. Ovo može dovesti do toga da ne možete da pronađete svoju vezu na listi.

Ako ne vidite vezu sa kojom želite da radite na listi "From" ili "To", jednostavno kliknite na dugme Cog ispred kombinovanog okvira koji sadrži listu veza. Ovo će otvoriti dijalog gde možete izabrati druge tipove veza koji će biti prikazani na listi.

kliknite na cog da pronađete dodatne veze
Slika 9 - Kliknite na Cog da pronađete dodatne veze

Podrazumevano SMS rutiranje (Primer 1)

Pre nego što pređemo na složene konfiguracije rutiranja, dobra je ideja da razumemo podrazumevanu tabelu rutiranja. U podrazumevanoj tabeli rutiranja videćete dve rute: out_sms i in_admin. Ruta out_sms se koristi za prosleđivanje poruka od takozvanih "SMS korisnika" ka "SMS vezama". "SMS veze" su grupa veza koje se koriste za povezivanje vašeg sistema sa mobilnom mrežom. Ruta in_admin je automatski kreirano pravilo za prosleđivanje kopije svake dolazne SMS poruke admin korisniku. Možda ćete primetiti "Copy" režim u tabeli rutiranja. Više informacija o tome kako poslati kopiju SMS poruke određenom korisniku možete pronaći u vodiču kako proslediti dolaznu SMS poruku na više odredišta.

Da bismo razumeli kako radi ruta out_sms, kreiraćemo dve SMPP SMS klijentske veze ka dva različita mobilna operatera. Ove veze ćemo nazvati SMPP_client_1 i SMPP_client_2. (U ovom primeru nećemo modifikovati podrazumevanu tabelu rutiranja). Poslaćemo SMS poruku od admin korisnika, klikom na dugme "New" u alatnoj traci. U ovoj postavci, SMS poruka od admina će biti poslata preko SMPP_client_1 ili SMPP_client_2. Sistem će nasumično izabrati prvu dostupnu SMS vezu za odlaznu poruku. Korišćena ruta je "out_sms" ruta, koja prosleđuje SMS poruke od "Any_SMS_User" ka "Any_SMS_Connection".

podrazumevana ruta istaknuta u ekranu tabele rutiranja
Slika 10 - Podrazumevana ruta istaknuta u ekranu tabele rutiranja.

Kada se koristi podrazumevana ruta, SMS poruka poslata od strane admina se prosleđuje preko rute nazvane "out_sms"

Slika 11 - Nasumično odabrana mobilna mreža

Vredi pomenuti da ovaj nasumični izbor rute nije baš nasumičan. U stvari, algoritam za balansiranje opterećenja raspoređuje opterećenje među mobilnim mrežnim vezama sa slobodnim kapacitetom, uzimajući u obzir prethodno izmereni kapacitet svake veze.

Sledeći primer pokazuje kako se SMS rutiranje može koristiti za dodelu fiksnog odredišta određenom izvoru. U našem primeru želimo da sve SMS poruke koje šalje admin idu preko SMPP_Client_1. Ova postavka se često koristi, jer je često zahtev da korisnik uvek koristi određenu mobilnu mrežnu vezu. Da bismo to postigli, možemo kreirati jednostavnu rutu od izvora ka odredištu.

Da bismo pokazali kako ova postavka funkcioniše, možemo koristiti isti broj veza kao u Primeru 1. Možemo dodati dodatnu rutu u našu tabelu rutiranja koja će prosleđivati SMS od admina ka SMPP_Client_1. Ruta će osigurati da SMS od admina bude usmeren ka SMPP_client_1. U ovoj konfiguraciji SMPP_client_2 uopšte neće biti korišćen.

ruta SMS poruka koje idu ka +3611111111 na ekranu tabele rutiranja
Slika 12 - Ruta koja forsira SMS od admina ka SMPP klijentu 1.

SMS od admina se uvek prosleđuje ka SMPP_client_1
Slika 13 - SMS od admina se uvek prosleđuje ka SMPP_client_1

SMS rutiranje prema prefiksu telefonskog broja (Primer 3)

Sledeći primer pokazuje kako se SMS rutiranje može vršiti na osnovu prefiksa telefonskog broja. Ovo je čest zadatak jer često želite da određene poruke koje pripadaju mreži identifikovanoj prefiksom telefonskog broja budu poslate preko određene veze. Na primer, ako želite da usmerite SMS poruke namenjene Mađarskoj, možete usmeriti poruke sa prefiksom +36.... ka mreži Vodafone Mađarska. Takođe možete postaviti drugu rutu koja će usmeravati prefikse +44.... ka mreži T-Mobile u UK.

Sledeća slika pokazuje kako možete definisati prefiks telefonskog broja kao uslov za poklapanje. Primer koristi regularni izraz tipa pcre. Ovaj izraz se koristi za poklapanje adrese primaoca ("To phone number") kako bi se odlučilo da li će ruta biti primenjena ili ne.

kreiranje nove rute za SMS rutiranje prema prefiksu telefonskog broja
Slika 14 - Kreiranje nove rute za SMS rutiranje prema prefiksu telefonskog broja

postavljanje prefiksa za SMS rutiranje
Slika 15 - Postavljanje prefiksa za SMS rutiranje

'+36.*' ide preko rute 'Mađarska' ka SMPP_client_1
Slika 16 - "+36.*" ide preko rute "Mađarska" ka SMPP_client_1

SMS rutiranje putem potpunog podudaranja telefonskog broja (Primer 4)

Ako posedujete skup telefonskih brojeva, možete dodeliti jedinstveni telefonski broj svojim klijentima ili korisnicima. U ovom slučaju, želite da usmerite dolazne SMS poruke poslate na određeni telefonski broj određenom korisniku. Primer 4 prikazuje konfiguraciju rutiranja za postizanje ovog cilja.

U ovom primeru dodajemo dva HTTP korisnika: http_user_1 i http_user_2 koji će primati dolazne poruke. Jedan će biti dodeljen telefonskom broju +3633333333, a drugi telefonskom broju +3644444444. Sada kreiramo dve rute sa potpunim podudaranjem telefonskog broja. Ove rute će prosleđivati bilo koji SMS poslat na ove telefonske brojeve odgovarajućim korisnicima.

ruta SMS poruka koje idu na +3633333333 na ekranu tabele rutiranja
Slika 17 - Ruta SMS poruka koje idu na +3633333333 na ekranu tabele rutiranja.

Kao što možete videti na gornjoj slici, polje "From" je postavljeno na "Any_SMS_Connection". Ovo je zato što želimo da sve SMS poruke poslate na telefonski broj +3633333333 budu usmerene na http_user_1 bez obzira na to sa koje SMS veze stižu. Odredište ("To") za ovu rutu je fiksirano na http_user_1. Ako pogledate donju sliku, videćete da u ovom slučaju navodimo puni telefonski broj u uslovu podudaranja primalaca. Primetite da ne stavljamo kosu crtu (/) ispred i iza telefonskog broja. Ovo je zato što u ovom slučaju ne vršimo podudaranje uzorka regularnim izrazom. Mi jednostavno vršimo strogo poređenje telefonskih brojeva.

postavi puni telefonski broj za podudaranje sa +3633333333
Slika 18 - Postavi puni telefonski broj za podudaranje sa +3633333333.

Konfiguracija za HTTP korisnika 2 je vrlo slična. Razlika je u polju odredišta ("To") i telefonskom broju koji se unosi u okvir "To address" na kartici "Match" u pravilu rutiranja. Takođe možete primetiti da će ove dve rute biti nazvane route_3 i route_4.

ruta SMS poruka koje idu na +3644444444 na ekranu tabele rutiranja
Slika 19 - Ruta SMS poruka koje idu na +3644444444 na ekranu tabele rutiranja.

Ako radite sa mnogo ruta, dobra je ideja da dodate smislene nazive rutama, kako biste ih brzo identifikovali. Postoje bolji nazivi od podrazumevanih route_3 ili route_4 korišćenih u ovom primeru.

postavi puni telefonski broj za podudaranje sa +3644444444
Slika 20 - Postavi puni telefonski broj za podudaranje sa +3644444444.

dolazni SMS poslat na +363333333 je usmeren na http_user_1
Slika 21 - Dolazni SMS poslat na +363333333 je usmeren na http_user_1

SMS rutiranje po ključnim rečima (Primer 5)

Sledeći primer se bavi SMS rutiranjem na osnovu ključnih reči u tekstu poruke. Ova funkcija se često koristi u kviz igrama, SMS glasanju ili uslugama pretraživanja sadržaja na osnovu ključnih reči. U ovom primeru usmeravamo bilo koji SMS koji dolazi iz Any_SMS_Connection i sadrži reč "vote" na HTTP korisnika 2.

usmeri bilo koji SMS koji sadrži reč 'vote' na HTTP korisnika 2
Slika 22 - Usmeri bilo koji SMS koji sadrži reč "vote" na HTTP korisnika 2.

Gledajući sledeću sliku, možete primetiti da koristimo podudaranje regularnim izrazima. U ovom obrascu regularnog izraza (takođe nazvanom regex obrazac), stavljamo obrazac .* ispred i iza reči. Ovo govori regex motoru da ključna reč "vote" može biti bilo gde u porukama. Ovaj uslov će odgovarati sledećim SMS tekstovima: "Hello, here is my vote: red" ili "vote red" ili "I am not voting".

Takođe možete razmotriti dodavanje modifikatora za neosetljivost na veličinu slova nazvanog "i" što znači ignorisanje veličine slova ako očekujete da će ključna reč biti poslata ili malim ili velikim slovima. Obrazac "/.*vote.*/i" bi odgovarao "vote", "Vote", "VOTE" ili "vOtE".

postavi prefiks teksta poruke za primanje SMS za HTTP korisnika 2
Slika 23 - Postavi prefiks teksta poruke za primanje SMS za HTTP korisnika 2.

Usmeravanje SMS poruka prema tekstu i vremenskom periodu (Primer 6)

Korisno je znati da postoji i uslov poklapanja servisnog perioda, koji se može koristiti da ograniči vek trajanja ovog pravila. Ova kombinacija: poklapanje tekstualnih ključnih reči i servisni period često se koriste zajedno za SMS sadržajne servise koji funkcionišu u određenom vremenskom periodu. U ovom primeru usmeravamo bilo koji SMS koji dolazi sa Any_SMS_Connection i sadrži reč "vote" između 2021-04-01 00:000:00 i 2021-04-30 24:00:00 ka http korisniku 2.

Slika 24 - Usmeri bilo koji SMS koji sadrži reč "vote" u servisnom periodu 2021-04-01 00:000:00 i 2021-04-30 24:00:00 ka http korisniku 2.

postavi prefiks teksta poruke za prijem SMS-a za http korisnika 2
Slika 25 - Postavi prefiks teksta poruke za prijem SMS-a za http korisnika 2.

postavi formu servisnog perioda za prijem SMS-a za http korisnika 2
Slika 26 - Postavi formu servisnog perioda za prijem SMS-a za http korisnika 2.

Kako testirati usmeravanje SMS poruka

Ako želite da testirate usmeravanje SMS poruka bez stvarnog prosleđivanja SMS poruka u mobilnu mrežu, možete podesiti SMPP simulator vezu. SMPP simulator može da se ponaša kao virtuelni SMPP server, koji prihvata poslate SMS poruke preko SMPP veze i može da simulira izveštaje o isporuci SMS poruka.

Dodatna literatura o SMS modifikacionim komandama

Gornji primeri su demonstrirali uslove za poklapanje SMS poruka. Još jedna jaka funkcija se zove modifikacija SMS poruka tokom usmeravanja. Ideja je da jednom kada se SMS poruka poklopi sa pravilom, SMS poruka može biti modifikovana. Ova funkcija je veoma korisna, jer ne samo da vam omogućava da kontrolišete sve poruke koje prolaze kroz vaš sistem, već možete i ispraviti određene greške, kao što su neispravni brojevi primaoca, ili možete blokirati određene neprihvatljive sadržaje. Sledeći dokumenti pružaju informacije o modifikaciji SMS sadržaja.

Često postavljana pitanja Šta je dvosmerni SMS sistem?

SMS sistem koji može da šalje i prima SMS poruke.

U svetu SMS-a, dvosmerni sistem vam omogućava da vodite razgovor sa mobilnim korisnicima. Možete im slati poruke, a oni vam mogu odgovoriti kroz isti sistem.

Kada mobilni korisnik odgovori na moju SMS poruku, mogu li da znam na koju poruku je originalno odgovorio?

Ne, to nije moguće.

Zamislite razgovor u kojem možete poslati samo jednu rečenicu odjednom, bez sećanja na ono što je bilo pre. To je svet SMS-a!

  • Izgubljene veze: SMS protokol nema ugrađenu funkciju kao što je "ID razgovora" da poveže poruke zajedno. Svaki tekst se tretira kao pojedinačna, nezavisna poruka.
  • Ključne reči kao tragovi: Jedini način da potencijalno povežete odgovore sa prethodnim porukama je uključivanjem ključnih reči u sam tekst poruke. Ove ključne reči bi služile kao referentne tačke za povezivanje poruka.
  • Zaobilazno rešenje sa dugim kodom (samo za IP SMS): Za one koji koriste IP SMS veze sa provajderom usluga koji podržava duge kodove (specijalne brojeve pošiljaoca sa više cifara), postoji potencijalni trik. Možete kodirati dodatne cifre unutar broja pošiljaoca da identifikujete originalnu poruku. Međutim, ovo zavisi od specifičnih uslova i mogućnosti provajdera usluga.
Iako je SMS odličan način za slanje brzih poruka, praćenje niti razgovora može biti izazov. Ako vam je potrebna platforma koja pamti prošle poruke, SMS možda nije najbolji izbor. Za SMS komunikaciju, razmislite o korišćenju ključnih reči ili istražite duge kodove (ako su primenljivi) da poboljšate šanse za povezivanje odgovora sa originalnom porukom.

Kako mogu pouzdano slati SMS poruke na različite globalne destinacije?

Za optimalnu pouzdanost, razmislite o postavljanju nekoliko veza sa SMS provajderima usluga unutar vašeg sistema. Svaka veza će imati određeno ime za lako referenciranje u tabeli za odlazno usmeravanje.

Tabela za odlazno usmeravanje deluje kao vaš kontrolni centar. Ovde definišete odlazne rute koje određuju koja veza će obraditi svaku poruku.

Da biste povećali pouzdanost, koristite najmanje dve veze. Kombinacija, kao što je IP SMS veza i GSM modem veza, nudi moćno rešenje. Podesite GSM modem kao rezervu za IP SMS vezu unutar tabele za odlazno usmeravanje.

Ako IP SMS veza prestane da funkcioniše, tabela za odlazno usmeravanje automatski preusmerava poruke na GSM modem. Ovo obezbeđuje neprekidnu isporuku poruka, maksimizujući pouzdanost sistema.

Postoji li način da utvrdim da li je dolazna SMS poruka odgovor na moju prethodno poslatu SMS poruku?

Nažalost, sama SMS tehnologija ne nudi ugrađeni način da se utvrdi da li je dolazna poruka odgovor na prethodno poslatu SMS poruku. Ovo otežava definitivno povezivanje odgovora.

Evo nekoliko pristupa koje možete razmotriti:

  • Identifikator u tekstu poruke: Uključite jedinstveni identifikator u originalnoj poruci. Ovo vam omogućava potencijalno uparivanje sa odgovorom, ali zahteva saradnju korisnika i nije nepogrešiv.
  • Upoređivanje vremenskih oznaka: Uporedite vremenske oznake poslatih i primljenih poruka. Iako korisno, ova metoda može biti neprecizna zbog potencijalnih kašnjenja.
  • Ključne reči u odgovorima: Podstaknite korisnike da uključe određenu ključnu reč u svojim odgovorima. Zatim možete postaviti dolaznu rutu na osnovu ove ključne reči (Uslov #3: tekst poruke) kako biste uspostavili labavu vezu sa originalnom porukom. Međutim, pridržavanje korisnika je ključno za ovaj pristup.
Iako ove metode imaju ograničenja, mogu pružiti neke naznake o potencijalnim odgovorima.

Mogu li da promenim parametre poruke tokom rutiranja?

Da, SMS rutiranje nudi iznenađujuću supermoć: mogućnost izmene brojeva telefona i sadržaja poruke tokom procesa dostave! Ovo otvara vrata za neke kreativne primene:

  • Poboljšanje broja: Treba da dodate prefiks ili postfiks broju telefona? Rutiranje može da reši to, osiguravajući da pozivi stignu na pravu destinaciju.
  • Ciljano oglašavanje: Želite da dodate promotivnu poruku na odlazne tekstove? Rutiranje vam omogućava da neprimetno integrišete ove oglase u vaš postojeći tok komunikacije.
Ova funkcionalnost dodaje fleksibilnost vašoj SMS strategiji, omogućavajući vam da optimizujete brojeve telefona i čak dodate malo marketinške magije vašim porukama.