Instalacja SMS Server Tools w Ubuntu 12.04 LTS
SMS Server Tools 3 (smstools) jest programową bramką SMS, która umożliwia wysyłanie i odbiór esemesów (SMS) za pośrednictwem modemu GSM w Linuksie. [1] Te narzędzia są szczególnie interesujące dla systemów do monitoringu, żeby powiadomienia nie były wysyłane jedynie mailem, lecz również SMSem. W tym artykule opisujemy jak należy skonfigurować smstools w systemie Ubuntu 12.04 LTS i następnie z nich korzystać. Ta konfiguracja została przez nas również przetestowana w systemach z Ubuntu 14.04 i 16.04.
Instalacja
Smstools są już zawarte w repozytorium Ubuntu i mogą zostać w prosty sposób zainstalowane następującymi komendami:[2]
sudo apt-get update
sudo apt-get install smstools
Po instalacji automatycznie jest uruchamiany daemon smsd (usługa smsd):
tkmon@tkmon:~$ sudo apt-get update [...] tkmon@tkmon:~$ sudo apt-get install smstools [...] The following extra packages will be installed: libmm14 The following NEW packages will be installed: libmm14 smstools 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 269 kB of archives. After this operation, 1286 kB of additional disk space will be used. Do you want to continue [Y/n]? [...] Setting up libmm14 (1.4.2-4) ... Setting up smstools (3.1.14-1) ... Adding user smsd to group dialout Starting SMS Daemon: smsd. [...]
Konfiguracja
Następujący przykład prezentuje dopasowanie pliku konfiguracyjnego /etc/smsd.conf do korzystania z smstools i modemu CEP CT63. Należy tutaj zwrócić uwagę na fakt, że konfiguracja może się różnić w zależności od stosowanego modemu.
Najpierw należy w /etc/smsd.conf dostosować "devices":
devices = CEP_CT63
Następnie dodać następujące wiersze na końcu pliku konfiguracyjnego /etc/smsd.conf. W tym przykładzie najpierw został wyłączony kod PIN karty SIM (karta SIM została na krótko włożona do telefonu komórkowego i wyłączony kod PIN):
[CEP_CT63] device = /dev/ttyACM0 incoming = no keep_open = yes cs_convert = yes # pin = 1234 report = no rtscts = no report_device_details = yes # Generate a status file for a monitoring solution to monitor the network status of the modem regular_run_interval = 60 regular_run_cmd = AT+CREG?;+CSQ;+COPS? regular_run_statfile = /dev/shm/sms_stat
Aby zmiany w konfiguracji zaczęły obowiązywać należy załadować konfigurację na nowo:
sudo service smstools reload
Wysłanie SMSa
Aby wysłać testowy SMS należy utworzyć plik tekstowy i z sudo przenieść go do katalogu /var/spool/sms/outgoing:
echo -e "To: 43699123456789\n\nTo jest SMS testowy." > Test-SMS
sudo mv Test-SMS /var/spool/sms/outgoing/
Krótko po tym zostaje wysłany SMS. W katalogu /var/spool/sms, w podkatalogu sent jest zapisany testowy SMS z informacjami odnośnie statusu:
$ cd /var/spool/sms /var/spool/sms$ find . . ./failed ./incoming ./outgoing ./checked ./sent ./sent/Test-SMS $ cat ./sent/Test-SMS To: 43699123456789 Modem: CEP_CT63 Sent: 14-07-22 07:27:00 IMSI: 232122000012345 To jest SMS testowy.
Uwaga: wspomniany w niektórych instrukcjach skrypt sendsms do wysyłania SMSów jest zawarty jako przykład w dokumentacji pakietu (/usr/share/doc/smstools/examples/scripts/sendsms).
Rozwiązywanie problemów
W przypadku wystąpienia problemów podczas wysyłania SMSów, żeby znaleźć przyczynę, może zostać podniesiony loglevel w /etc/smsd.conf. Należy w tym celu usunąć symbol # w następującym wierszu:
loglevel = 7
Tutaj również należy na nowo załadować konfiguracje, żeby zmiany zaczęły obowiązować:
sudo service smstools reload
Standardowo skonfigurowany w /etc/smsd.conf plik dziennika zawiera jedynie szczegółowe informacje, które mogą zostać otwarte następującą komendą:
sudo less -M /var/log/smstools/smsd.log
Odnośniki
- ↑ SMS Server Tools 3 (smstools3.kekekasvi.com)
- ↑ smstools in precise (packages.ubuntu.com)
Autorzy: Stefan Lengauer i Werner Fischer