Using Eiconcard X.25 Development tools with the Vodafone SMSC
Introduction
Large-scale SMS service providers to the Vodafone network in the U.K. often wish to use X.25 as a reliable and efficient mechanism to connect their systems to the Vodafone SMSC.
To send and receive SMS messages, an application running at the SMS service provider has to:
initiate and accept X.25 calls to and from the Vodafone SMSC.
exchange data using the SEMA protocol (specification is supplied to developers by Vodafone).
Eicon's X.25 hardware and software enables SMS service providers to connect to the Vodafone SMSC.
The Eiconcard X.25 Solution
Hardware
The Eiconcard S91 is the standard PCI card for this application.
More information on the Eiconcard product range
Software
The 'standard' software platform is either Windows NT 4 or Windows 2000, using our "Connections" software.
Programming interface
Eicon offers two distinct methods of providing the application developers access to X.25 support:
Eicon X.25 Toolkit interface
Virtual X.25 PAD (XPAD or TYY device) using X.3/X.28/X.29.
Eicon strongly recommends the X.25 Toolkit interface as the most powerful, flexible and robust mechanism for SMS service providers to develop applications that connect to the Vodafone SMSC. Using this interface, the programmer has total control over the data contents of every X.25 packet.
However, SMS service providers may have:
Already developed SMS drivers using a “Com Port” interface, and hence prefer to make use of this existing tested code.
Done initial development using the Vodafone RadioPad, which offers an XPAD like interface.
What to look out for
One very important operational detail is the use of sub-addressing digits by Vodafone for billing purposes. Vodafone require that two extra digits (local customer significance only) be appended to the normal customer (originating) X.25 network address. These last two digits are used by the Vodafone SMS system for billing information and tariff differentiation so that multiple SMS tariff schemes can be accessed by the customer simply by changing the originating X.25 sub-address of the SMS message. This mechanism means that:
X.25 calls directed to an SMSC must include the originator's address including the two-digit locally administered sub-address. Failure to provide the two digit sub-address will not result in a failure to connect but will result in the SMS messages being silently discarded since there is no billing criteria available.
Sample Toolkit SMS Application
To make life easier for developers writing applications using the Eicon toolkit to access the Vodafone SMS system, Eicon has made available a sample program for the Win32 platform (Windows NT and Windows 2000). This program can be used both to test the Eiconcard installation and the connection to the Vodafone SMSC.
Download the SMS sample program (plus the appropriate DLL file) in a zipped format here -
Note: The DLL file simply needs to be in the same directory as the sms.exe file when it is run
Running the application (SMS.exe) at the command prompt will result in the following help screen:
C:>sms
SMS Message Test Application Version 0.1.1
Copyright (C) 2000 Eicon Technology Ltd. All right reserved
No warranty given or implied. Supplied "as is".
Usage:
sms parameters
Parameters may be:
-N phone-no (mandatory, no default) must start with country code (eg. 44)
-D destination NUA (defaults to 235234201123)
-O originating NUA (defaults to empty)
-T Message text (defaults to "Text") may only contain alphanumeric and spaces
-P number (Eiconcard Port no., defaults to 1)
C:> |
To send a message using the sample application you might run:
C:>sms -N 44783123456 -D 23533000000003 -O 2342911364646 -T "Hello Tony" -P 1
SMS Message Test Application Version 0.1.1
Copyright (C) 2000 Eicon Technology Ltd. All right reserved
No warranty given or implied. Supplied "as is".
C:> |
If no errors are reported then the SMS message should be sent to the mobile phone specified.
Using XPAD with the Vodafone SMSC
To use the Virtual PAD interface (XPAD) under Windows NT to send and receive SMS messages you need to make sure of the following:
Configure the virtual PAD (WinNT: Control panel/network/services/Eicon PAD/) as follows:
Set the local PAD Profile to 2.
Set the remote PAD Profile to “none” and hit the “Show X.3” button.
Individually select and delete every parameter in the “Remote X.3 Parameters” section.
There should be nothing in any of the “Remote X.3 Parameters” section when finished - note that any zero (character “0”) entries MUST also be deleted.
Removing all these remote profile entries stops the PAD sending X.29 remote profile commands on call connection (which would cause the SMSC to instantly disconnect)
These changes do not guarantee that other conditions (such as certain characters in the data) will not cause XPAD to generate X.29 commands that will cause the SMSC to terminate the connection.
Use the CONNECT pad command to initiate a call.
Using the CONNECT command will make sure that the XPAD software will not include the default pad Call User Data of 01,00,00 which the SMSC does not expect on an incoming call.
Be sure to include your own X.25 DTE address when making outgoing calls (via the CONNECT command).
Failure to include your own DTE address will result in a connection but subsequent SMS messages will be silently discarded.
Limitations
Since there is no real way guaranteeing that XPAD will not issue X.29 commands then developers must accept the risk that if a situation occurs where XPAD does try to use an X.29 command (which it is entitled to do) then the SMSC will almost certainly drop the call. For this reason, we would recommend using the toolkit interface.
Eicon has performed limited testing on the above configuration with short SMS messages, less than 128 bytes. Service providers should be aware of a potential issue when sending large SMS messages (greater than 128 bytes). If a large SMS message is sent to XPAD then it will segment the message at the packet size boundary (128 Bytes by default) and use the X.25 More bit (M-bit) to indicate that more data is to follow.