Quicklinks
The Short Message Peer to Peer protocol (SMPP) is used for sending and receiving SMS messages. It's a TCP/IP based binary application protocol which was specifically developed for high volume, low latency sending of SMS messages. The protocol supports all SMS features like delivery reports / binary SMS messages etc..
An SMPP client, such as the Mobile Messaging Toolkit, will connect directly to an SMPP based SMSC interface. It will connect either directly through the internet or through VPN software. Most SMPP providers support connecting directly through the internet.
Some advantages for using SMPP instead of a GSM modem:
The Smpp object features the following:
The Smpp object is part of the ActiveXperts Mobile Messaging Toolkit. Overview of all Mobile Messaging Toolkit objects:
Option Explicit ' Declare objects Dim objSmpp, objMessage, objSmsConstants ' Create objects Set objSmpp = CreateObject ( "AxMmToolkit.Smpp" ) Set objMessage = CreateObject ( "AxMmToolkit.SmsMessage" ) Set objSmsConstants = CreateObject ( "AxMmToolkit.SmsConstants" ) ' Connect to smpp provider objSmpp.Connect "smpp.activexperts-labs.com", 2775, 10000 WScript.Echo "Connect, result: " & objSmpp.LastError If ( objSmpp.LastError <> 0 ) Then WScript.Sleep 3000 WScript.Quit End If objSmpp.Bind objSmsConstants.SMPP_BIND_TRANSCEIVER, "myaccount", "topsecret", "", objSmsConstants.SMPP_VERSION_34, 0, 0, "", 10000 WScript.Echo "Bind, result: " & objSmpp.LastError If ( objSmpp.LastError <> 0 ) Then objSmpp.Disconnect WScript.Quit End If ' Message: set all properties objMessage.Clear objMessage.FromAddress = "+31612134567" objMessage.ToAddress = "+31612345678" objMessage.Body = "Hello, world!" objMessage.RequestDeliveryReport = False ' Submit the message to the SMSC objSmpp.SubmitSms( objMessage ) Wscript.Echo "SubmitSms, result: " & objSmpp.LastError ' Wait for the SMSC response to acknowledge the message objSmpp.WaitForSmsUpdate(1000) Set objMessage = objsmpp.FetchSmsUpdate Wscript.Echo "FetchSmsUpdate, result: " & objSmpp.LastError ' If this is '0' the message is accepted by the SMSC Wscript.Echo "Command status: " & objMessage.SmppCommandStatus objSmpp.Unbind objSmpp.Disconnect WScript.Echo "Disconnected."
Imports Microsoft.Win32 Imports System.IO Imports AxMmCtlLib Imports System.Threading Module SmppProgram Sub Main() Dim objSmpp As Smpp = New Smpp() ' Create instance of COM Object Dim objSmsMessage As SmsMessage = New SmsMessage() ' Create instance of COM Object Dim objSmsConstants As SmsConstants = New SmsConstants() ' Create instance of COM Object ' Connect to the SMPP server using host/IP-addess, a specific TCP port and a timeout objSmpp.Connect("smpp.activexperts-labs.com", 2775, 10000) Console.WriteLine(String.Format("Connect, result: {0})", objSmpp.LastError.ToString() )) If (objSmpp.LastError <> 0) Then GoTo _EndMain End If objSmpp.Bind( objSmsConstants.SMPP_BIND_TRANSCEIVER, "myaccount", "topsecret", "", objSmsConstants.SMPP_VERSION_34, 0, 0, String.Empty, 10000 ) Console.WriteLine(String.Format("Bind, result: {0})", objSmpp.LastError.ToString)) If (objSmpp.LastError <> 0) Then GoTo _EndMain End If objSmsMessage.Clear() objSmsMessage.ToAddress = "+31612345678" objSmsMessage.Body = ReadInput("Type SMS text", False) objSmsMessage.RequestDeliveryReport = False objSmpp.SubmitSms(objSmsMessage, objSmsConstants.MULTIPART_OK) Console.WriteLine("SubmitSms, result: " & objSmpp.LastError.ToString) If (objSmpp.LastError <> 0) Then GoTo _EndMain End If ' Wait for the SMSC response to acknowledge the message objSmpp.WaitForSmsUpdate(1000) Set objMessage = objsmpp.FetchSmsUpdate Console.WriteLine("FetchSmsUpdate, result: " & objSmpp.LastError.ToString) ' If this is '0' the message is accepted by the SMSC Console.WriteLine("Command status, result: " & objMessage.SmppCommandStatus.ToString) _EndMain: ' Unbind and Disconnect objSmpp.Unbind() objSmpp.Disconnect() Console.WriteLine("Disconnected.") Console.WriteLine("Ready.") Console.WriteLine("Pressto continue.") Console.ReadLine() End Sub End Module
Samples are available for: C# .NET, Visual Basic .NET, Visual C/C++, VBA, ASP, ASP .NET, Java, Javascript, PHP, HTML, ColdFusion, Delphi, C++ Builder and more.
On ftp.activexperts-labs.com, you can find many Mobile Messaging Toolkit samples. Samples are also part of the Mobile Messaging Toolkit installation.