Provided by:
gammu-smsd_1.24.0-1ubuntu1_i386 
JMÉNO
gammu-smsd-tables - popis tabulek pro databázové služby gammu-smsd(1)
POPIS
gammu-smsd(1) podporuje několik služeb. Aktuálně použitá je zvolená v
konfiguračním souboru gammu-smsdrc(5).
Jednotlivé služby jsou popsány v samostatných manuálových stránkách.
Tato manuálová stránka popisuje strukturu databáze a potřebné tabulky.
Několik SMS démonů může sdílet jedinou databázi. Pokud v jejich
nastavení nezadáte PhoneID, všechny jsou brány jako rovnocenné a
kterýkoliv z nich může odeslat odchozí zprávu. Pokud nastavíte PhoneID
a použijete ho při vkládání zprávy to tabulky outbox
(gammu-smsd-inject(1) to dělá), každý SMS démon bude mít vlastní
frontu odchozích zpráv.
Přijímání zpráv
Přijaté zprávy jsou ukládány v tabulce inbox.
Odesílání zpráv
Zprávy k odeslání jsou čteny z tabulky outbox a jejich případné další
části z tabulky outbox_multipart.
Popis tabulek
daemons
Informace o běžících démonech.
gammu Tato tabulka obsahuje jedinou hodnotu - verzi databázového
schématu. V části HISTORIE se můžete podívat, co se měnilo.
inbox Tabulka, ve které jsou ukládány přijaté zprávy.
Popis sloupců:
UpdatedInDB (timestamp)
kdy byl tento záznam aktualizován
ReceivingDateTime (timestamp)
kdy byla přijata SMS
Text (text)
zakódovaný text zprávy (pro všechny SMS)
SenderNumber (varchar(20))
číslo odesílatele SMS
Coding (enum('Default_No_Compression', 'Unicode_No_Compression',
'8bit', 'Default_Compression', 'Unicode_Compression'))
kódování textu SMS
UDH (text)
zakódovaná hlavička uživatelských dat (UDH)
SMSCNumber (varchar(20))
číslo centra zpráv (SMSC)
Class (integer)
třída SMS nebo -1 (0 je normální SMS, 1 jen pro zobrazení na
displej)
TextDecoded (varchar(160))
dekódovaný text (pro zprávy ve výchozí abecedě nebo unicode)
ID (integer unsigned)
identifikátor zprávy (pro použití v externích aplikacích)
RecipientID (text)
který démon Gammu přidal tento záznam
Processed (enum('false', 'true'))
můžete použít pro označení, jestli byla zpráva zpracována nebo
nebyla
outbox Zprávy určené k odeslání by měly být uloženy v této tabulce.
Pokud zpráva obsahuje více částí, další části jsou uloženy v
tabulce outbox_multipart.
Popis sloupců:
UpdatedInDB (timestamp)
kdy byl tento záznam aktualizován
InsertIntoDB (timestamp)
kdy byla zpráva vložena do databáze
SendingDateTime (timestamp)
nastavte na libovolnou hodnotu, pokud chcete vynutit poslání
zprávy i po naplánovaném čase
Text (text)
Text SMS zakódovaný šestnáctkově ve správné znakové sadě. Pokud
chcete použít pole TextDecoded, nechte zde NULL (nebo prázdný
text).
DestinationNumber (varchar(20))
číslo příjemce
Coding (enum('Default_No_Compression', 'Unicode_No_Compression',
'8bit', 'Default_Compression', 'Unicode_Compression'))
kódování textu SMS
UDH (text)
User Data Header encoded using hex values which will be used for
constructing the message. Without this, message will be sent as
plain text.
Class (integer)
třída SMS nebo -1 (0 je normální SMS, 1 jen pro zobrazení na
displej)
TextDecoded (varchar(160))
text zprávy v lidsky čitelné podobě
ID (integer unsigned)
číslo SMS/SMS sekvence
Prosím uvědomte si, že toto číslo musí být unikátní i pro
tabulku sentitems, takže opětovné používání ID zpráv nemusí být
nutně dobrý nápad.
MultiPart (enum('false','true'))
informace, zda se v tabulce outbox_multipart nacházejí další
části této SMS zprávy
RelativeValidity (integer)
platnost SMS zakódovaná podle GSM specifikací
SenderID (text)
která instance SMSD by měla odesílat tuto sekvenci
SendingTimeOut (timestamp)
použito SMSD pro vlastní účely
DeliveryReport (enum('default','yes','no'))
při výchozí hodnotě bude nastavení doručenky záviset na
nastavení SMSD, při yes se doručenka vynutí
CreatorID (text)
identifikace odesílajícího démona, musí odpovídat PhoneID v
konfiguraci SMSD, aby SMSD zprávu zpracoval
outbox_multipart
Data pro odchozí zprávy, které jsou z více částí.
Popis sloupců:
ID (integer unsigned)
Text (text)
Coding (enum('Default_No_Compression', 'Unicode_No_Compression',
'8bit', 'Default_Compression', 'Unicode_Compression'))
UDH (text)
Class (integer)
TextDecoded (varchar(160))
ID (integer unsigned)
mají stejný význam jako v tabulce outbox
SequencePosition (integer)
kolikátá zpráva je tato v SMS sekvenci (začíná se od 2, první
část je uložena v tabulce outbox).
phones Informace o připojených telefonech. Tato tabulka je pravidelně
obnovována a můžete v ní najít informace jako stav baterie nebo
síla signálu.
Popis sloupců:
ID (text)
hodnota PhoneID
UpdatedInDB (timestamp)
kdy byl tento záznam aktualizován
InsertIntoDB (timestamp)
kdy byl tento záznam vytvořen (kdy byl telefon připojen)
TimeOut (timestamp)
kdy tento záznam expiruje
Send (boolean)
v současné době vždy true
Receive (boolean)
v současné době vždy true
IMEI (text)
IMEI telefonu
Client (text)
jméno klienta, obvykle text Gammu a verze
Battery (integer)
stav baterie v procentech (nebo -1 pokud není znám)
Signal (integer)
úrověň signálu v procentech (nebo -1 pokud není znám)
Sent (integer)
Počet odeslaných SMS zpráv (SMSD tento čítač nenuluje, takže
může přetéct).
Received (integer)
Počet přijatých SMS zpráv (SMSD tento čítač nenuluje, takže může
přetéct).
sentitems
Informace o odeslaných (a neodeslaných) zprávách a jejich stavu.
Při zapnutých doručenkách je stav zprávy aktualizován při jejím
přijetí.
Popis sloupců:
UpdatedInDB (timestamp)
kdy byl tento záznam aktualizován
InsertIntoDB (timestamp)
kdy byla zpráva vložena do databáze
SendingDateTime (timestamp)
kdy byla zpráva odeslána
DeliveryDateTime (timestamp)
Čas přijetí doručenky (pokud jsou zapnuty).
Status (enum('SendingOK', 'SendingOKNoReport', 'SendingError',
'DeliveryOK', 'DeliveryFailed', 'DeliveryPending',
'DeliveryUnknown', 'Error'))
Stav odesílání zprávy. SendingError znamená, že telefonu se
nepodařilo zprávu odeslat, Error indikuje jinou chybu při
zpracovávání zprávy.
SendingOK - Message has been sent, waiting for delivery report.
SendingOKNoReport - Message has been sent without asking for
delivery report.
SendingError - Sending has failed.
DeliveryOK - Delivery report arrived and reported success.
DeliveryFailed - Delivery report arrived and reports failure.
DeliveryPending - Delivery report announced pending deliver.
DeliveryUnknown - Delivery report reported unknown status.
Error - Some other error happened during sending (usually bug
in SMSD).
StatusError (integer)
Stav z doručenky, hodnoty jsou definovány ve specifikaci GSM.
Text (text)
text SMS zprávy v šestnáctkovém formátu
DestinationNumber (varchar(20))
číslo adresáta SMS
Coding (enum('Default_No_Compression', 'Unicode_No_Compression',
'8bit', 'Default_Compression', 'Unicode_Compression'))
kódování textu SMS
UDH (text)
hlavička uživatelských dat (UDH) v šestnáctkovém formátu
SMSCNumber (varchar(20))
číslo servisního centra (SMSC), které odeslalo zprávu
Class (integer)
třída SMS nebo -1 (0 je normální SMS, 1 jen pro zobrazení na
displej)
TextDecoded (varchar(160))
text zprávy v lidsky čitelné podobě
ID (integer unsigned)
SMS ID
SenderID (text)
Vkládání zpráv pomocí SQL
která instance SMSD odeslala tuto sekvenci
SequencePosition (integer)
pořadí SMS v SMS sekvenci
TPMR (integer)
reference zprávy, podle specifikací GSM
RelativeValidity (integer)
platnost SMS zakódovaná podle GSM specifikací
CreatorID (text)
zkopírováno CreatorID z tabulky outbox, odpovídá PhoneID
pbk SMSD tuto tabulku v současné době nepoužívá, je zde jen pro
použití v aplikaci.
pbk_groups
SMSD tuto tabulku v současné době nepoužívá, je zde jen pro
použití v aplikaci.
HISTORIE
Historie verzí schématu:
10 - DeliveryDateTime je nyní NULL pokud zpráva nebyla doručena,
přidáno několik indexů.
9 - přidána počítadla přijatých a odeslaných zpráv do tabulky phones
8 - přidána tabulka phones
7 - do tabulek přidáno CreatorID (obsahuje PhoneID, pokud je nastaveno)
PŘÍKLAD
Vytváření tabulek
SQL skripty potřebný pro vytvoření všech tabulek pro většinu databází
je obsažen v dokumentaci Gammu (docs/sql). Ta také obsahuje pár PHP
skriptů pro práci s databází.
Například vytvoření tabulek pro SQLite vypadá následovně:
sqlite3 smsd.db < docs/sql/sqlite.sql
Vkládání zpráv pomocí SQL
Pro posílání zpráv buď použijte gammu-smsd-inject(1), které za vás
udělá veškerou magii, nebo můžete vložit zprávy ručně. Nejjednodušší je
vložit obyčejnou textovou zprávu:
INSERT INTO outbox (
DestinationNumber,
TextDecoded,
CreatorID,
Coding
) VALUES (
'800123465',
'This is a SQL test message',
'Program',
'Default_No_Compression'
);
Vkládání dlouhých zpráv pomocí SQL
Inserting multipart messages is a bit more tricky, you need to
construct also UDH header. For example long text message would look
like (please note that each UDH needs to contain number of parts and
sequence position as last two bytes, the D3 value in example is message
reference number, it can be anything):
INSERT INTO outbox (
CreatorID,
MultiPart,
DestinationNumber,
UDH,
TextDecoded,
Coding
) VALUES (
'Gammu 1.23.91',
true,
'123465',
'050003D30201',
'Mqukqirip ya konej eqniu rejropocejor hugiygydewl tfej
nrupxujob xuemymiyliralj. Te tvyjuh qaxumur ibewfoiws zuucoz tdygu
gelum L ejqigqesykl kya jdytbez',
'Default_No_Compression'
)
INSERT INTO outbox_multipart (
SequencePosition,
UDH,
Class,
TextDecoded,
ID,
Coding
) VALUES (
2,
'050003D30202',
'u xewz qisubevumxyzk ufuylehyzc. Nse xobq dfolizygqysj t
bvowsyhyhyemim ovutpapeaempye giuuwbib.',
<ID_OF_INSERTED_RECORD_IN_OUBOX_TABLE>,
'Default_No_Compression'
)
DALŠÍ INFORMACE
Databázové služby: gammu-smsd-mysql(7), gammu-smsd-pgsql(7),
gammu-smsd-dbi(7)
gammu-smsd(1), gammu-smsdrc(5), gammu(1), gammurc(5)
AUTOR
gammu-smsd a tuto manuálovou stránku napsal Michal Čihař
<michal@cihar.com>.
COPYRIGHT
Copyright (C) 2009 Michal Čihař a další autoři. Licence GPLv2: GNU GPL
verze 2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
Tento program je volný software; můžete jej šířit a modifikovat. Není
poskytována ŽÁDNÁ ZÁRUKA, v rozsahu jaký je povolen zákonem.
HLÁŠENÍ CHYB
Prosím hlašte chyby na <http://bugs.cihar.com>.