Hlavní navigace

Urobte si vlastnú SMS bránu

Milan Gigel

Komunikácia prostredníctvom krátkych textových SMS správ z mobilných telefónov sa stala veľmi obľúbenou a populárnou. Na internete vzniklo množstvo SMS brán, spoľahlivejších i menej spoľahlivých. Dnes sa pozrieme na to, ako si takúto SMS bránu vytvoriť na svojom serveri.

Kapacita SMS brány je v podstate neobmedzená, spoľahlivosť je veľmi vysoká nepotrebujeme žiadny dodatočný hardware. Postačí nám iba web server s podporou php a mysql databáza. Pre použitie tejto SMS brány nie je potrebné sa prihlasovať ani sa registrovať, stačí napísať text a telefónne číslo. Správa bude doručená v priebehu 3–5 sekúnd prostredníctvom medzinárodnej SMS brány mtnsms.com

Takže vrhneme sa na to. V prvom rade je potrebné, aby sme si nadefinovali základné dve tabuľky v našej databázi.

Nazvime si teda databázu napríklad sms. Vytvoríme ju nasledovne:

    mysql -u root -p blablabla
    create database sms;

Teraz si vytvoríme tabuľku, ktorá bude obsahovať SMS kontá:

USE sms;
CREATE TABLE sms_user (
  id int(6) NOT NULL auto_increment,
  login varchar(30) NOT NULL default '',
  password varchar(20) NOT NULL default '',
  status char(1) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Ďalším krokom je vytvorenie tabuľky, do ktorej sa budú ukladať odoslané správy:

USE sms;
CREATE TABLE sms_data (
  cas varchar(25) NOT NULL default '',
  text varchar(150) NOT NULL default '',
  cislo varchar(30) NOT NULL default '',
  ip varchar(15) NOT NULL default '',
  PRIMARY KEY  (cas),
  KEY cas (cas)
) TYPE=MyISAM;

Teraz prejdeme k vytváraniu kont na medzinárodnej bráne mtnsms.com. Ako si vsimnete už pri registrácii, tak počet odoslaných správ cez túto bránu na jedno konto je obmedzený. Toto obmedzenie sa pohybuje od 20 do 30 SMS správ denne (Presnú hodnotu sa mi doteraz nepodarilo zistiť, pretože sa nevysvetliteľne mení, čo ale nie je pre nás problém.) Preto si zaregistrujeme toľko kont, aby pokryli nasu plánovanú kapacitu SMS brány (Osobne ich mám zaregistrovaných okolo 50, čo úplne stačí na dennú prevádzku, ktorá prechádza touto SMS bránou).

Registrácia je jednoduchá. Po zadaní emailovej adresy (na jednu emailovú adresu je možné zaregistrovať iba jedno konto, takže si musíte vytvoriť email kontá alebo aliasy) a hesla + doplnkových statistických údajov vám na emailovú adresu príde aktivačný kľúč, ktorým konto aktivujete. Po aktivácií treba prejsť na položku setup (cez site map), kde si vo vlastnostiach nastavíte, ako sa bude vaša SMS brána podpisovať na začiatok SMS správy a typ správy je potrebné prestaviť na SMS-XPRESS!!! Do kontakt listu si uložíte jeden kontakt (jeho správnosť nie je podstatná). Každé vytvorené konto je potrebné takýmto spôsobom nastaviť, inak správy cez našu SMS bránu nebudú odoslané. Treba si uvedomiť, že korektné nastavenie kont je dôležité pre správnu funkčnosť.

Po registrácii si vytvorené kontá naplníme do tabuľky sms_user

USE sms;
INSERT INTO sms_user VALUES (1,'konto01@domena.sk','heslo','Y');
INSERT INTO sms_user VALUES (2,'konto02@domena.sk','heslo','N');
...
...
INSERT INTO sms_user VALUES (50,'konto50@domena.sk','heslo','N');

Pole status musí mať vo všetkých záznamoch hodnotu N, na prvý záznam si nastavíme hodnotu Y. Pole indikuje cez ktoré konto sa majú SMS správy odosielať von. Skript automaticky kontroluje či nebol prekročený denný limit konta (podľa odozvy mtnsms.com) a v prípade, že sa tak stalo, nastaví na konte status na N, na nasledujúcom konte ho nastaví na Y a pokúsi sa správu odoslať cez neho. Takto je osetrené, ak by konto bolo používané aj iným spôsobom, konto bude preklopené vždy na ďalšie len vtedy, ak bol skutočne denný limit prekročený. Takýmto spôsobom nám rotujú kontá až do vyčerpania. Pri narazení na posledné konto sa znovu začína od začiatku.

Tabuľka sms_data slúži na uchovávanie odoslaných správ. V súčasnej verzii skriptu sa nepoužíva aktívne. Neskôr sa plánujú doplniť delivery reports. Je vhodné správy ukladať aj z iných jednoduchých dôvodov, napríklad zneužitie SMS brány… Do tejto tabuľky sa zapisuje dátum a čas, text správy, číslo na ktoré bola odoslaná a IP adresa odosielateľa.

Teraz si už stačí iba nakonfigurovať v mysql efektívneho užívateľa pre databázu SMS, skonfigurovať script index.php a spolu s knižnicou proc.php ho uploadnuť na svoj site. Skripty sú k dispozícii na ftp.compclub.sk/pub/smsb­rana.zip

Čo sa týka úprav. Treba si otvoriť index.php a upraviť si údaje o svojej databáze takže treba upraviť nasledovné riadky:

$connection = @mysql_connect("localhost","sms","blablabla") or
die('Nemozem sa konektnut na databazu !');

čiže názov servera, login name, password

$db = @mysql_select_db("sms", $connection) or
die('Nemozem zvolit databazu !');

čiže názov databázy

A naša sms brána je funkčná. Celkom jednoduché. Užite si ju. Dúfam, že vám poslúži a naplní vaše očakávania.

Našli jste v článku chybu?
6. 11. 2007 14:53
D4 (neregistrovaný)
Ja som to skusal s Orange.sk ale ani sa mi neozvali. Ide o web www.najsms.sk a chcel som urobit posielanie tych smsiek priamo na mobil.
6. 11. 2007 14:49
D4 (neregistrovaný)
Ako sa daju posielat smsky z emailu? Prosim odpiste mi na 4kadak4@pobox.sk dakujem