Automatic MMS response from database

This guide gives you information on how to send MMS replies to incoming SMS messages automatically. The solution presented can be used to send a brochure containing pictures to a cellphone if a keyword is received from it in an SMS message. In this solution the MMS response is stored in a MySQL database and the MMS picture attachments are stored in the file system.


To setup a service, where you receive SMS messages and you send MMS responses you need two connections to the mobile network. One connection will be used to receive the SMS messages, the other will be used to send the MMS reply back. The SMS Connection can use an IP SMS service provider through the SMPP protocol. The MMS connection can use the MM7 protocol to send MMS messages over the Internet to an MMS service provider. The automatic response can be generated by the Autoreply database option of Ozeki NG SMS Gateway (Figure 1).

system architecture
Figure 1 - System architecture

Database structure

To setup this solution, we recommend you to install a MySQL database server and a MyODBC database driver. To connect to the MySQL databse server, you need to configure the following connection string in the "Autoreply database" user of Ozeki NG SMS Gateway:

Connection type: ODBC
Connection string:
Driver={MySQL ODBC 5.1 Driver};Server=;

In the MySQL database server you should create a database for this example called ozekisms, and you should define the following database tables


USE ozekisms;

CREATE TABLE keywordresponse (
        messagetype varchar(10),
        messagetext varchar (600),
        keyword varchar (30)

After the database table has been created, please insert a test record into it using the following SQL command:

INSERT INTO keywordresponse (messagetype, messagetext, keyword)
  Deart customer!
  This color is the perfect choice for you if you
        want to get in the center of attention!

Autoreply database script

After the database has been setup, you need to create the Autoreply database script. You should include the following SQL query in this script:

SELECT '$sender', messagetext, messagetype FROM keywordresponse WHERE keyword='$keyword'

Note that this query includes a messagetype column.

More information