README.md 2.73 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
SMSGateway
==========

Dette er en liten sms gateway som imiterer den kommersielle tjenesten
[smssubmit](http://www.smssubmit.se/wp/.) Servleten har samme http baserte grensesnitt som
den nevnte tjenesten. Parametre og returverdier er beskrevet her:

   [smssubmit specs](http://www.smssubmit.se/files/smssubmit-httpspec-ver15.pdf)

At grensesnittet fra smsubmit.se er imitert betyr at man kan benytte seg av
Kjetil Thuen's avatar
Kjetil Thuen committed
11
andre programvarekomponenter som bruker denne tjenesten. F.eks PAM modulen otpsms:
12 13
[pam-otpsms](http://www.norlin.se/blog/pam-module-for-sending-one-time-passwords-otp-via-sms/)

Kjetil Thuen's avatar
Kjetil Thuen committed
14 15 16 17 18 19
En request kan typisk se slik ut 
   
   http://localhost:8080/sms/?USERNAME=user&PASSWORD=pass&DESTADDR=4755556666&MESSAGE=123456

...som vil sende en SMS til +4755556666 med passordet 123456

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
Oppsett
=======

Tjenesten kan konfigureres ved å redigere `WEB-INF/web.xml`. De følgenede nøklene er tilgjengelig:

 * `sms.sender.implementation` - Styrer hvilken backend som brukes for å sende sms. Tilgjengelige backends er:
    * `file` - Skriver SMS til en tekst fil. Typisk brukt sammen med smstools
    * `script` - Kjører et script med parameterene <telefonnummer> <melding>. Kan f.eks brukes med adb for å sende SMS med en Android enhet
    * `hand` - Skriver bare ut en SMS i loggen

 * `username` - Brukernavn for å autentisere den som bruker tjenesten. Hvis ikke oppgitt vil alle brukernavn godtas

 * `password` - Passord for å autentisere den som bruker tjenesten

I tillegg er der noen instillingsnøkler som bare gjelder de ulike backendene. Disse prefixes med backendes navn:

 * `file.outgoing.dir` - Hvilken katalog file backenden skal skrive sms filene til
 
 * `script.path` - Hvilkent script script backenden skal kalle

Nøkler med prefix "global" gjøres tilgjengelig for alle backender

 * `global.message.prefix` - Tekst som skal skrives i meldingen før passordet 
 
 * `global.message.suffix` - Tekst som skal skrives i meldingen etter passordet

Logging kan konfigurereres ved å redigere `WEB-INF/classes/log4j.properties`

Bygging/Installasjon
====================

Tjenesten bygges til en .war fil som kan deployes i applikasjonsservere som
Tomcat, Jetty eller lignende. Man kan bygge .war filen ved å kjøre kommandoen
`mvn package`. Man kan også kjøre tjenesten direkte uten en installert
applikasjonsserver med kommandoen `mvn jetty:run`.


Kjente problemer
================

Der er problemer med requesten som kommer fra pam-otpsms hvis man har definert
et meldingsprefix i pam-otpsms sin konfigurasjon. Selve passordet dropper ut av
Kjetil Thuen's avatar
Kjetil Thuen committed
62 63 64
requesten hvis "message" nøkkelen er satt i pam-otpsms sin konfigurasjonsfil.
Dette gjør at man må definere prefix i web.xml istedetfor i pam-otpsms sin
konfigurasjonsfil.
65 66 67

Script backenden sliter med linjeskift i meldingen