How to configure Ozeki SMS Gateway to provide Kannel API

This guide explains how to configure Ozeki SMS Gateway as a Kannel-compatible SMSBox service, allowing existing Kannel-based applications to submit SMS messages through a familiar HTTP API. You will create and enable a Kannel user, configure secure credentials and logging, then verify the integration with both a curl request and the Ozeki Kannel client.

How to configure Ozeki SMS Gateway Kannel SMSBox user

Open the Ozeki SMS Gateway management interface and start creating a new user or application connection. This user will represent the Kannel-compatible SMSBox endpoint and controls API authentication and permissions. Choose the option to add an application-type user before proceeding with the Kannel-specific setup.

Add new user/application
Figure 1 - Add new user/application

Select the Kannel user type from the available installation options. This adds the compatibility layer that accepts Kannel-style HTTP API requests within Ozeki SMS Gateway. Complete the installation so the new user can be configured with credentials and operational settings.

Install Kannel user
Figure 2 - Install Kannel user

Set a dedicated username and a strong password for the Kannel API user. Kannel clients must supply these credentials when calling the Ozeki endpoint to submit SMS messages. Use credentials that are unique to this integration and store them securely in the client configuration.

Confiugre username and password
Figure 3 - Confiugre username and password

Turn on logging for the Kannel user to record incoming API requests and message-processing events. The logs help validate authentication, troubleshoot malformed requests, and trace SMS submission outcomes. Use this information during initial testing and retain only the log detail appropriate for your security policy.

Enable logging
Figure 4 - Enable logging

Enable the configured Kannel user so that Ozeki begins accepting requests through its Kannel-compatible API. A disabled user cannot process client submissions, even when its URL and credentials are correct. Confirm that the user status is active before testing with curl or an Ozeki Kannel client.

Enable Kannel user
Figure 5 - Enable Kannel user

The completed configuration creates an active Kannel API access point in Ozeki SMS Gateway. At this point, compatible applications can authenticate with the assigned username and password and submit SMS traffic. The next step is to verify the endpoint URL and perform an actual message-submission test.

Kannel API access created
Figure 6 - Kannel API access created

How to test with curl

Identify the base URL displayed for the configured Kannel API user. This address is the target that Kannel-compatible clients and curl commands use to reach Ozeki SMS Gateway. Verify the hostname, port, protocol, and network accessibility from the machine that will send requests.

Check base url
Figure 7 - Check base url

Use curl to send a test SMS through the Kannel-compatible HTTP endpoint using the configured credentials. Include the required request parameters, such as recipient phone number and message text, in the API call. A successful response confirms that the URL, authentication, and basic API submission flow are working.

curl --location "http://localhost:13013/cgi-bin/sendsms?username=ozkannel&password=test&to=358401234567&from=12345&text=Hello+from+Curl"

Send SMS with curl
Figure 8 - Send SMS with curl

Review the Ozeki SMS Gateway log after submitting the curl test message. The log should show the received request and subsequent processing of the outbound SMS. If the message fails, use the recorded details to isolate authentication, routing, or provider-side issues.

Send SMS log
Figure 9 - Send SMS log

How to test with Ozeki client

Kannel API compatibility tester client

To test Kannel API compatibility in Ozeki, you can download this free open source HTTP API tester client app. This was developed to verify the Kannel API functionality.

Download: kannel-client.zip (297Kb)

Launch the Ozeki Kannel client to test the API through a graphical client application. This provides an alternative to curl for validating connection settings and submitting a sample message. Ensure the client can reach the same Ozeki SMS Gateway host that exposes the Kannel-compatible endpoint.

Open Ozeki Kannel client
Figure 10 - Open Ozeki Kannel client

Enter the Ozeki server address, Kannel API credentials, and any required connection settings in the client. The values must match the Kannel user created earlier in Ozeki SMS Gateway. Save the configuration so the client can authenticate and send requests to the correct API endpoint.

Configure Ozeki Kannel client
Figure 11 - Configure Ozeki Kannel client

Compose a test message in the Ozeki Kannel client and provide a valid recipient number. Send it through the configured connection to verify that the graphical client can use the Kannel-compatible API. Successful submission demonstrates that the client configuration and gateway-side Kannel user work together.

Send test sms from Kannel client
Figure 12 - Send test sms from Kannel client

Check the Ozeki SMS Gateway message log after sending the test SMS from the Kannel client. The entry confirms receipt of the API request and shows the gateway’s handling of the outbound message. Use the log to confirm delivery processing or diagnose any routing, connectivity, or provider errors.

Send SMS log
Figure 13 - Send SMS log


More information