Ozeki NG SMS Gateway logo OZEKI NG SMS Gateway
"The World's most reliable SMS gateway software!"
info@ozekisms.com
Tel.: 00 36 52 532 731
SMS Gateway to send SMS via GSM modem or IP SMS connection Overview SMS Gateway to send SMS via GSM modem or IP SMS connection SMS Gateway to send SMS via GSM modem or IP SMS connection Quick start SMS Gateway to send SMS via GSM modem or IP SMS connection SMS Gateway to send SMS via GSM modem or IP SMS connection Download SMS Gateway to send SMS via GSM modem or IP SMS connection SMS Gateway to send SMS via GSM modem or IP SMS connection Manual SMS Gateway to send SMS via GSM modem or IP SMS connection SMS Gateway to send SMS via GSM modem or IP SMS connection How to buy SMS Gateway to send SMS via GSM modem or IP SMS connection SMS Gateway to send SMS via GSM modem or IP SMS connection FAQ SMS Gateway to send SMS via GSM modem or IP SMS connection SMS Gateway to send SMS via GSM modem or IP SMS connection Contact Us SMS Gateway to send SMS via GSM modem or IP SMS connection
OZEKI NG SMS Gateway - Product Guide

ASP Example Contents | SearchPHP SMS API

Home > Product Manual > Developers Guide > ASP SMS API > ASP with built in webserver

SMS Gateway SMS Gateway Home

  Product Manual
  Introduction
  SMS technology
  Installation Guide
  User Guide
  Developers Guide
  Tutorials
  ASP SMS API
  Overview
  SMS API for ASP developers
  ASP with built in webserver C#
  ASP.NET Example
  Partners
  ASP Example
  ASP with built in webserver
  PHP SMS API
  HTTP SMS API
  SQL SMS API
  C Sharp SMS API
  AJAX SMS API
  Delphi SMS API
  Cpp SMS API
  Java SMS API
  VB.NET SMS API
  Python SMS API
  Perl SMS API
  TCL/TK SMS API
  Coldfusion SMS API
  VB 6 SMS API
  Examples and Solutions
  Appendix
  FAQ
  Feature list
  Commercial Information
  Search
  Cookie policy
 


Automated phone calls?
Ozeki Phone System XE VoIP PBX software is an advanced PBX built for automated voice calls and 2 way SMS messaging. It has outstanding APIs for software developers. It can be used for:

Phone calls from SQL
Phone calls from HTTP
Voice and SMS applications

Callcenter developers
If you are working on telephone solutions, please check out the Ozeki VoIP SIP SDK.
It can be used to create VoIP client and server software.

Contact Us!
If you wish to get further information, do not hesitate to contact us!

E-mail: info@ozekisms.com

If you have a technical question, please submit a support request on-line.

ASP.NET with HttpListener to receive SMS messages

Download: VB.NET-SMS-Gateway-Source.zip

This guide gives you detailed instructions on how to use ASP.NET with HttpListener to receive SMS messages and to generate a response SMS messages. This solution is an in-house solution, which means you can set it up in your own computer if you purchase a GSM Modem with a datacable. You do not have to sign up for an SMS service provided by an SMS service provider over the Internet.

Introduction

To be able to receive SMS messages with a built in webserver in an ASP.NET application, you need an SMS Gateway, like Ozeki NG - SMS Gateway, you need a GSM Modem and a data cable. To start, you have to attach your GSM Modem with the data cable to the serial (RS232) port of your PC. Them you have to configure the SMS gateway to talk to the modem and to forward the incoming messages to the ASP.NET application.

Figure 1 illustrates the architecture of your setup. If you take a look at this diagram, you will see the process. The Mobile user sends an SMS message to the GSM Modem. Ozeki NG will collect this message from the modem and will forward it to the ASP.NET application using an HTTP request. The ASP.NET application will generate an HTTP response to the request. This HTTP response contains the text of the response SMS message. The response SMS message will be forwarded to the Mobile user through the GSM Modem.



Figure 1. - SMS Gateway to ASP.NET architecture

Configure your SMS Gateway

To get this setup running, the first step is to install and configure the SMS Gateway. The SMS Gateway we use in this article is the Ozeki NG - SMS Gateway it can be downloaded from www.ozekisms.com. We chose this SMS Gateway, because it is very reliable, easy to configure and it is based on .NET which means it integrates well into our architecture. In the SMS gateway first you should configure the GSM modem attached to your PC. This can be done by adding a GSM Modem service provider connection. Detailed steps:

Step 1.) Open http://127.0.0.1:9501 in Internet Explorer, login with admin/abc123

Step 2.) In the "Service provider connections" menu click on "Add service provider connection", then select "GSM Modem Connection" and click "Install"

Step 3.) On the GSM modem configuration form, select the com port (usually COM1) and click on autodetect to configure your modem

The next step is to configure an HTTP Client user, that will forward the incoming messages to your ASP.NET application. This automated user will not only forward the messages to your application, but will also process the HTTP responses.



Figure 2 - Installing a Http Client user

Step 4.) To install the HTTP Client user, go into the "Users and applications" menu click on "Add user", the select "HTTPClient user" and click on "install"

Step 5.) For username provide "httpclient1"

Step 6.) For Target URL enter:
http://localhost:9800/getresponse.asp?sender=$originator&receiver=$recipient&msgdata=$messagedata&recvtime=$receivedtime&msgid=$messageid


Figure 3 - HTTP Target URL setting

Step 7.) In the configuration form I suggest you to turn on detailed logging. You can do this by enabling the checkbox: "Log low level communication."

After you have followed these steps, your SMS Gateway setup will look like this:


Figure 4 - SMS Gateway setup

Build your ASP.NET application

Once you have the SMS Gateway configured, you can build your ASP.NET application. This application uses HttpListener as the built int webserver. HttpListener is a very efficient webserver available on Windows XP SP2 and Windows 2003 or later windows version such as Windows 2012. The HttpListener class is part of the System.Net package and it comes with .NET Framework 3.5.

If you read the source code (Figure 5) you will see that the first step to get this solution running is to register the "http://127.0.0.1:9800/" address as your URL prefix. Please note, that we have configure this URL into the SMS Gateway HTTP Client user.

After we have registered the URL prefix, we have started 20 asynchronous callback servers by calling listener.BeginGetContext. This means that we can serve twenty incoming SMS messages at the same time.

Imports System.Net

Module Module1

    Dim listener As HttpListener

    Sub Main()
        listener = New HttpListener
        listener.Prefixes.Add("http://127.0.0.1:9800/")
        listener.Start()

        Dim i As Integer
        For i = 1 To 20
            listener.BeginGetContext(New AsyncCallback(AddressOf request),
            listener)
        Next

        Console.WriteLine("The built in HTTP Server is accepting incoming
        SMS messages")
        Console.ReadLine()
    End Sub

    Private Sub request(ByVal result As IAsyncResult)
        If listener Is Nothing Then Return

        Dim context As HttpListenerContext
        context = listener.EndGetContext(result)
        listener.BeginGetContext(New AsyncCallback(AddressOf request), listener)
        processrequest(context)
        context.Response.Close()
    End Sub

    Private Sub processrequest(ByVal context As HttpListenerContext)
        Dim sender As String
        sender = context.Request.QueryString("sender")
        Dim msg As String
        msg = context.Request.QueryString("msg")
        MsgBox(sender + " has sent the following SMS: " + msg)

        Dim response As String
        response = "{SMS:TEXT}{}{+1234657}{" + sender + "}{Thank you for your
        message}"

        Dim Buffer() As Byte = {}
        Buffer = System.Text.Encoding.UTF8.GetBytes(response)
        context.Response.ContentLength64 = Buffer.Length
        context.Response.ContentType = "text/html; charset=utf-8"
        context.Response.OutputStream.Write(Buffer, 0, Buffer.Length)
        context.Response.Close()
    End Sub

End Module

Figure 5 - Source code for receiving SMS messages through HTTP

The request subrouting is called asynchronously when an incoming SMS arrives. This sub is very simple, it calls the process request function to serve the requests.

The process request subroutine has two parts the first part reads the message from the HTTP requests and displays a MessageBox. The second part generates a response by writing to the Outputstream. The output will be encoded in UTF8 to support international characters. This is achieved by using UTF 8 encoding in the System.Text.Encoding.UTF8.GetBytes statement.

Summary

In this guide you could read a simple example on how to use ASP.NET with a built in webserver to receive incoming SMS messages and to send a response to these messages. The configuration of an HTTP - SMS Gateway has been shown and the capabilities of the HttpListener class has been demonstrated. The example application can be developed to server real life solutions.



Next page: PHP SMS API

Copyright © 2000 - 2017 Ozeki Informatics Ltd.
All rights reserved

Software PBX for Windows | VoIP SDK   |   Legal information   |   Privacy policy   |   Terms of use
Please, address your inquiries to info@ozekisms.com