SMS over HTTP

This provider is an alternative to GpsGate SMS Proxy. It will accept incoming SMS over HTTP, and send outgoing SMS using an HTTP GET request. In this way you can easily make an integration to existing web services that provide SMS.

Setup

1. Login to Site Admin
2. Go to Settings > SMS
3. Select HttpMessageProvider in the drop-down list.
4. Name, can be anything.
5. URL should be the full HTTP URL to a GpsGate ready SMS web service. (Or to your integration code, see below).
6. Username and Password for authentication.
7. Click Save.
8. Configure web service to send SMS to your GpsGate Server.

Now SMS is enabled on your server.

Troubleshooting

You can use the Send Test SMS feature under Settings in Site Admin.

All sent and received SMS can be monitored in the Terminal. You can also send SMS directly from the Terminal. More info here.

For Developers only

Outgoing SMS from GpsGate Server

GpsGate Server sends an SMS using the following HTTP GET request
URL?username=user&pw=xyz&clientaddress=+4671823737&message=Hello&transport=sms&id=12

Where "URL" is the url you specified when adding the "Message Provider" in step 7. above.

If the request to send an SMS fails the HTTP error code should be set. GpsGate will in that case try again every 15 minutes, and give up after 8 hours.

GpsGate Server -> HTTP -> (Your integration) -> SMS web service

Incoming SMS to GpsGate Server

After saving the HttpMessageProvider, please click Edit again to see the URL you should send incoming SMS to.

SMS web service -> (Your integration) -> HTTP -> GpsGate Server

NOTE! Make sure port 8008 is opened in your firewall!

The URL explained

username, pw - This is the username and password specified when configuring the "Message Provider". For incoming SMS the username and password must match, or the response will be HTTP Forbidden.

clientaddress - This is the phone number in MSISDN format. That is a "+" + country code + aread code + number. E.g. +1783016454

message - The SMS message itself.

transport - Type of message. This should be set to "sms" for SMS, but can also be set to "orb" for ORBCOMM. If left out "sms" is assumed. This integration method can be used for any kind of message based communication, including satellite based messages.

clientdate - UTC date when message was sent from device/phone. Format "DDMMYY".

clienttime - UTC time when message was sent from device/phone. Format "HHMMSS.ss"

id - ID for message.