gammu-smsd-tables

Autres langues

Langue: cs

Version: Leden 31, 2009 (fedora - 06/07/09)

Section: 7 (Divers)

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

Vkládání zprávy s více částmi je poněkud náročnější, musíte také vytvořit UDH hlavičku. Například dlouhá textová zpráva by vypadala následovně (povšimněte si, že UDH obsahuje číslo zprávy):
    
    INSERT INTO outbox (
        CreatorID,
        MultiPart,
        DestinationNumber,
        UDH,
        TextDecoded,
        Coding
    ) VALUES (
        'Gammu 1.23.91',
        true,
        '123465',
        '050003D30501',
        '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,
        '050003D30502',
        'u xewz qisubevumxyzk ufuylehyzc. Nse xobq dfolizygqysj t bvowsyhyhyemim ovutpapeaempye giuuwbib.',
        <ID_VLOŽENÉHO_ŘÁDKU_DO_TABULKY_OUTBOX>,
        '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 © 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>.