Rechercher une page de manuel
gammu-smsd-tables
Langue: cs
Version: Leden 31, 2009 (debian - 07/07/09)
Section: 7 (Divers)
Sommaire
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ánReceivingDateTime (timestamp)
kdy byla přijata SMSText (text)
zakódovaný text zprávy (pro všechny SMS)SenderNumber (varchar(20))
číslo odesílatele SMSCoding (enum('Default_No_Compression', 'Unicode_No_Compression', '8bit', 'Default_Compression', 'Unicode_Compression'))
kódování textu SMSUDH (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áznamProcessed (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ánInsertIntoDB (timestamp)
kdy byla zpráva vložena do databázeSendingDateTime (timestamp)
nastavte na libovolnou hodnotu, pokud chcete vynutit poslání zprávy i po naplánovaném časeText (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říjemceCoding (enum('Default_No_Compression', 'Unicode_No_Compression', '8bit', 'Default_Compression', 'Unicode_Compression'))
kódování textu SMSUDH (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 sekvenceProsí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ávyRelativeValidity (integer)
platnost SMS zakódovaná podle GSM specifikacíSenderID (text)
která instance SMSD by měla odesílat tuto sekvenciSendingTimeOut (timestamp)
použito SMSD pro vlastní účelyDeliveryReport (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 outboxSequencePosition (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 PhoneIDUpdatedInDB (timestamp)
kdy byl tento záznam aktualizovánInsertIntoDB (timestamp)
kdy byl tento záznam vytvořen (kdy byl telefon připojen)TimeOut (timestamp)
kdy tento záznam expirujeSend (boolean)
v současné době vždy trueReceive (boolean)
v současné době vždy trueIMEI (text)
IMEI telefonuClient (text)
jméno klienta, obvykle text Gammu a verzeBattery (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ánInsertIntoDB (timestamp)
kdy byla zpráva vložena do databázeSendingDateTime (timestamp)
kdy byla zpráva odeslánaDeliveryDateTime (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átuDestinationNumber (varchar(20))
číslo adresáta SMSCoding (enum('Default_No_Compression', 'Unicode_No_Compression', '8bit', 'Default_Compression', 'Unicode_Compression'))
kódování textu SMSUDH (text)
hlavička uživatelských dat (UDH) v šestnáctkovém formátuSMSCNumber (varchar(20))
číslo servisního centra (SMSC), které odeslalo zprávuClass (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 IDSenderID (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 © 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>.Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre