HTTP SMS Client Connection
This chapter provides detailed instructions on how to install and configure the HTTP Client service provider connection for SMS messaging using the Ozeki NG - SMS Gateway software.
As you can read on the Service Provider Connections page, you need to install and configure one or more service provider connections for SMS messaging using Ozeki NG - SMS Gateway. One of the service provider connections supported by the software is the HTTP Client connection.
The HTTP Client protocol can be used to connect your PC directly to the SMSC for sending SMS messages over the Internet. For each outgoing message an HTTP GET or HTTP POST request is used. Text and binary SMS message types are supported.
You can install and configure this connection using the graphical user interface of Ozeki NG - SMS Gateway. To start installing and configuring an HTTP Client connection, click the Add button in the top right-hand corner of the Service providers panel on the left of the Management Console interface. (To find out how to open this interface, check out the QuickStart Guide.)
You can also add a service provider connection by clicking the Add service provider item in the Service providers menu.
After you have clicked one of these, the Add service provider panel will show up on the right of the interface. The panel contains a list of protocols you can install and use for communication with an SMS service provider.
To select the HTTP Client protocol, click the Install link in the respective entry in the list (Figure 1).
When you have installed the HTTP Client protocol, the Configuration panel will show up on the right of the interface. The first tab of the panel is the HTTP settings tab, which consists of a Connection and an Identification section.
In the Connection section, specify the HTTP Client settings. This information is provided by the SMS service provider when you subscribe to the service (Figure 2).
First you need to specify the Target URL of the HTTP server in the template. This URL can contain certain keywords that will be replaced before the URL is called. The following keywords can be used:
Keyword | Description |
$originator | This denotes the sender telephone number. |
$recipient | This denotes the recipient telephone number. |
$messagedata | This denotes the first 1024 characters of the message text. |
$messageid | This is the unique identifier string of the message. This identifier is generated by Ozeki NG - SMS Gateway. |
You can also determine the HTTP method: you can select GET or POST.
Then, specify the telephone number assigned to this connection and the service provider connection name. To facilitate identification and to avoid confusion, you should name the connection after the GSM service provider. E.g., if you have set up an HTTP Client connection with Vodafone, it is advisable to name it "Vodafone". Also, note that different connections should be given different names. If you have different connections from the same service provider, you can use different but similar names for them, e.g.: "Vodafone1", "Vodafone2" (or something of the like). However, some load balancing solutions require an identical name for different connections. For details, visit the Load Balancing and the Load Balancing for SMPP v3.3 page.
Enter the information in the respective edit boxes. Remember to enter the phone number in international format: starting with "+". You can check the overridable checkbox to the right of the Telephone number edit box. This ensures that you can replace the phone number specified in the Telephone number edit box with a different one to be displayed as the sender of an outgoing message. You can also replace the number with (alphanumeric) text consisting of a maximum of eleven (11) characters. Therefore, when a message is sent out, e.g. using the Database user, you can specify any different phone number or a name to be displayed as the sender of the message.
Note that the phone number to be specified in the Telephone number edit box is a mandatory value. If you leave the edit box blank, the sending will be unsuccessful.
To perform general settings related to sending and receiving SMS messages using the HTTP Client connection, click the General Settings tab (Figure 3).
In the upper section of the panel, you can check either or both of the checkboxes. Which one(s) to check depends on what you wish to use this connection for. You can choose to use the connection for only sending or only receiving SMS messages (or both sending and receiving). Note that HTTP Client connections are mainly used for sending messages. However, it is possible to set up HTTP polling to download incoming messages from an HTTP server. In the Polling interval edit box you can specify the polling interval in seconds by entering a positive whole number in numerical format. If you are content with the default specification (2 seconds), leave this edit box unchanged.
In the lower section of the tab, you can make choices and specifications to handle your connection to the SMS Centre and the status of your SMS messages.
In the Submit timeout edit box you can specify the maximum waiting time for an SMS Centre response confirming that your message has been successfully submitted. Successful submission means that the SMS Centre has accepted the message for delivery. You can specify the waiting time by giving the number of seconds in numerical characters representing any positive whole number. If you are content with the default specification (60 seconds), leave this edit box unchanged.
You can choose how to consider a message you have sent if there is no response from the SMS Centre after the specified length of time. Select one of the three radio buttons.
- Select Sent to consider a message sent even if there is no response from the SMS Centre.
- Select Not sent to consider a message not sent if there is no response from the SMS Centre.
- Select Retry later to make the program try to send a message later if the SMS Centre has not confirmed its status as sent. Then, the message will be placed last in the outgoing message queue and sent out again when it is its turn.
To configure logging, click the Logging tab in the Configuration panel.
You can choose whether to make the program write log entries about sent and received messages in human readable format and/or log low level communication. Choosing the latter option will make the program produce logfiles containing binary codes representing the communication data. You should check at least the Log sent and received messages in human readable format checkbox, as logfiles can be useful in debugging communication problems (Figure 4).
In the Log file settings section of the tab, you can make specifications for the size and the number of available logfiles. Log rotation saves disk space, as it ensures that older (and probably no longer needed) logfiles will be automatically deleted from the log directory, which is specified in the Log directory text box. By default, the access path to the logfiles is: C:\Program Files\Ozeki\OzekiNG - SMS Gateway\Logs
In the Maximum log file size text box, you can specify the maximum size of a logfile. Once this size is reached, a new logfile will be created. Specify the number of kilobytes for the size of a logfile by entering a positive whole number. By default, the maximum logfile size is 8000 kB.
In the Number of rotated files text box, specify the maximum number of rotated logfiles that are saved. Specify this number by entering a positive whole number. By default, the number of logfiles that are saved is 4 (see Figure 4 above).
If you are content with the default specifications, leave the text boxes unchanged.
On Response parsing tab you can provide a keyword for response messages on successful delivery and keyword in response on failed delivery (Figure 5).
By default, a message delivery is considered successful if the HTTP server responds with an HTTP 200 OK. Some providers return HTTP 200 OK on all submissions and put the status code, that indicates delivery success into the HTTP message body. If this is the case, specify a keyword to search for in the message body.
If there is no keyword that indicates successful delivery, you can specify a keyword that indicates failed delivery. If this keyword is specified, Ozeki NG will consider a message delivered to the network only if this keyword is not present in the HTTP message body returned by the HTTP server.
The Info tab enlists the following keywords that can be used in the HTTP template. These keywords will be replaced to the appropriate values prior to the HTTP request is made. The meaning of these values are explained on the following webpage: https://ozekisms.com/p_2353-variables-for-http-client-service-provider-connection.html.
The Configuration panel for service provider connections contains a Connect automatically on startup checkbox (in the bottom left-hand corner). If it is checked, Ozeki NG - SMS Gateway will automatically initiate a connection with the SMS Centre when the program has started. If this checkbox is not checked, the connection has to be initiated manually.
To initiate the connection manually, click the Connect link in the panel of the service provider connection (Figure 7).
You can open the panel of a service provider connection by clicking its name in the Service providers panel in the Management Console.
The panel of a service provider connection consists of three sections.
- In the upper section you can find the name of the service provider connection (with the name of its protocol in brackets).
- You can see an icon showing if the service provider connection is connected. If it is not, the icon is marked with an "x".
To the right of the icon, you can find links to perform different operations.
- Configure: to configure or modify the configuration of an installed service provider connection. Clicking this link will take you back to the Configuration panel.
- Events: to view the logging of the latest server events related to the service provider connection. Clicking it will bring up the Events panel containing the logging of the latest server events.
- Connect: to connect the service provider connection with the SMS Centre.
- Disconnect: to disconnect the service provider connection from the SMS Centre.
- Uninstall: to uninstall the service provider connection.
In the middle section of the panel, you can see some of the most important configuration information.
- The options that have been (re)activated during the configuration are marked with a tick.
- The options that have not been activated or those that have been deactivated during the configuration are marked with an "x".
In the lower section of the panel of the service provider connection you can read some information about its protocol.
FAQs
Why sometimes do I get a message from my HTTP client user that says that it could not resolve the name corresponding to the URL it is calling?
There are two main reasons why your device might be unable to resolve a URL (website address):
- Internet Connectivity Issues: If your internet connection is completely down, all communication with online resources, including URL resolution, becomes impossible.
- DNS Server Malfunction: The Domain Name System (DNS) server acts as a translator, converting user-friendly website names (e.g., "https://www.example.com ") into numerical IP addresses that computers can understand. If the DNS server is not responding to queries, your device cannot translate the website name and therefore cannot locate the desired resource.
While modifying the "hosts" file can be a temporary solution, it's not recommended for long-term use. For a permanent fix, it's crucial to verify your internet connection and ensure your DNS server is functioning properly. If the issue persists, contacting your internet service provider (ISP) for further assistance might be necessary.
I am using the HTTP Client user. Some SMS request messages are served by HTTP queries which are very slow. We see that if the reply from the website takes too long the reply is an empty message. Is there a way of increasing the time for the http client user to wait longer for a reply from the website?
Yes. You can increase the HTTP submit response timeout.
This setting is easily adjustable within the "HTTP User" configuration form,
specifically under the "HTTP Connection" tab. By default, the HTTP timeout value
is set at 30 seconds. This means that incoming SMS messages are forwarded to a
webpage via HTTP almost immediately.
When I send an SMS message through the HTTP API, the "+" sign in the content of the SMS and in the phone number is not forwarded to the Ozeki NG SMS Gateway. How can I solve this issue?
Both phone numbers and SMS messages can contain special characters that might
disrupt communication during the HTTP request process. Encoding ensures these
characters are represented in a way computers can understand, preventing errors
and ensuring accurate delivery.
While you need to send the HTTP request in an encoded format (like URL encoding),
the good news is that Ozeki NG SMS Gateway will handle the decoding process on
the receiving end.
By taking this simple step of encoding your phone numbers and SMS messages before
sending the HTTP request, you can guarantee smooth communication and successful
SMS delivery.
Can I send and receive SMS messages via HTTPS API?
Yes! The HTTPS API provides a secure method for sending SMS messages.
More information