Instalace a Nastavení

 

 

Vytvořit tabulku fronta:

CREATE TABLE `QUEUE` (
`ID` int(11) NOT NULL auto_increment,
`PHONE` varchar(15) NOT NULL default '',
`MSG` text NOT NULL,
`SCRIPT` varchar(200) default NULL,
`SENDTIME` timestamp(14) NOT NULL,
`TRY` smallint(6) default '0',
`ERRORNUM` smallint(6) default '0',
`STATUS` smallint(6) default '0',
`PARAM` text,
PRIMARY KEY (`ID`),
KEY `SENDTIME` (`SENDTIME`,`STATUS`)
);

 

Vaše tabulka může mít odlišnou strukturu (název si také můžete zvolit sami) ale jsou nutné následující pole (nutné dodržet název)

ID - jako jednoznačný identifikátor každého záznamu

PHONE - pro číslo SMS zprávy

MSG - text vlastní zprávy

SCRIPT - brána přes kterou bude zpráva odeslána

PARAM - další parametry brány (doručenka, flash, identifikace, ...)

 

Význam volitelných (doporučených) sloupců:

SENDTIME - kdy se má zpráva odeslat

TRY - počet pokusů odeslané zprávy, lze využít pro maximální počet pokusů při odesílání

ERRORNUM - číslo chyby při odesílání, seznam chyb najdete na konci tohoto dokumentu

STATUS - stav zprávy, například 0 připravena k odeslání, 1 odeslaná

 

Specifikovat SQL příkazy

Jedná se o sql příkazy na vybrání zpráv k odeslaní (select.sql), příkazy po úspěšném odeslání zprávy (sentok.sql) a při chybě (error.sql)

 

Příklady těchto příkazů:

select.sql - očekává 4 hodnoty id, phone, msg, script a pamam

Select ID, phone, msg, script, param from QUEUE Where sendtime <= now() and status = 0 and TRY < 3

tzn. vyberou se zprávy, které mají status 0 počet pokusů menší jak 3 a jejichž čas je menší než současný

 

sentok.sql - očekává jeden parametr - ID právě odeslané zprávy:

Update QUEUE SET STATUS = 1 where ID = ?

 

error.sql - očekává dva parametry - číslo chyby a ID zprávy

Update QUEUE SET TRY=TRY+1, ERRORNUM = ? WHERE ID = ?

 

Tyto 3 sql soubory musí být uloženy v domácím adresáři (v adresáři, kde je dserver.jar)

 

 

Setup.ini - přístup k databázi a další nastavení

jdbc.name=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/SMSdb
jdbc.user=admin
jdbc.password=mykey

Tyto údaje získáte v instrukcích k vašemu jdbc driveru. Příklad zde uvedený je pro mysql, a databázi SMSdb (obsahující tabulku queue), která je uložena na lokálním stroji.

 

 

refresh=30 #jak často se má kontrolovat přítomnost nových zpráv ve frontě (údaj v sekundách)
runSMTPServer=false # zda se má spouštět smtp server
Log_Screen=true # vypisovat log i na obrazovku

Pokud používáte proxy k připojení na internet, vyplnit ještě tyto údaje:

proxy_name=localhost
proxy_port=3128
proxy_realm=WinProxy
proxy_user=jmeno
proxy_pwd=heslo

 

Gates.ini - nastavení parametrů bran - zejména jména a hesla

V současnosti jsou podporovány tyto brány:

Oskar - volná brána Oskara

Mobilbonus, SMScz, Smsmidlet, Mobilem - toto jsou placené brány našich partnerů, které umějí odesílat na všechny operátory, více info.

Pro placené brány je nutné zadat vaše registrační jméno a heslo, tyto údaje jsou náplní tohoto souboru.

např.

MobilBonus_Login=kubik
MobilBonus_Password=heslo

Mobilem_Login=kubik
Mobilem_Password=druheheslo

 

tzn. názevskriptu, podtržítko a Login pro zadání jmén nebo Password pro zadání hesla.

Operators.ini - přiřazení bran operátorům

Tento soubor je na rozdíl od předchozích uložen v adresáři Scripts, zde si nastavíte jakou odesílací bránu chcete použít pro jednotivlé operátory například:

Eurotel=Smscz
Oskar=Oskar
T-Mobile=SmsMidlet

 

Tyto údaje se použijí v případě, že není vyplněn script v tabulce fronty, přidání dalších operátorů můžete provést v souboru prefixes.ini

A to je vše...

 

Program z konzole spustíte takto:

windows: java -cp "c:\jaybird\firebirdsql-full.jar;.\;c:\jserver\dserver.jar" dserver.Service

kde c:/jaybird/firebirdql.jar nahraďte vaším jdbc driverem

 

linux: java -cp "/opt/firebirdsql-full.jar:./:/opt/jserver/dserver.jar" dserver.Service

 

Veškeré události (chyby, odesílání...) jsou ukládány do souboru dserver.log (případně i na obrazovku)

 

 

Zprovoznění jako služby (NT service) pod windows

K provozování služby je použit takzvaný wrapper, uložený v adresáři service. Stačí když upravíte soubor wrapper.conf a to řádek:

wrapper.java.classpath.4=

kde uveďte plnou cestu k vašemu jdbc driveru, příp.

wrapper.java.command=

kde uveďte cestu k java interpretu (java.exe)

 

Spuštěním Installservice-NT.bat, nainstalujete službu do systému, spuštění, ukončení služby potom provádíte klasicky ve správci služeb jako každou jinou službu. Odinstalování provedete UninstallService-NT.bat

 

Vyzkoušet wrapper můžete spuštěním přes konzoly -> start.bat

 

Zprovoznění jako daemona na Linuxu

K provozování služby je použit takzvaný wrapper, uložený v adresáři daemon. Stačí když upravíte soubor wrapper.conf a to řádek:

wrapper.java.classpath.4=

kde uveďte plnou cestu k vašemu jdbc driveru, příp.

wrapper.java.command=

kde uveďte cestu k java interpretu JVM

 

Spouštěcí skript je jserver, což je klasický daemon script.

jserver console spustí v konzole, jserver start spuštěním jako service, dále stop, restart, příp. dump