Signaling System #7 (SS7)
Signaling System #7 (SS7) is a set of telephony signaling protocols which are used to set up the vast majority of the world's public switched telephone network telephone calls. The main purpose is to set up and tear down telephone calls. Other uses include number translation, prepaid billing mechanisms, short message services, and a variety of mass market services.
It is usually abbreviated to SS7 though in North America it is often referred to as CCSS7, an acronym for "Common Channel Signaling System 7". In some European countries, specifically the United Kingdom, it is sometimes called C7 (CCITT number 7) and is also known as number 7 and CCIS7. (ITU-T was formerly known as CCITT.)
There are four major variants of the underlying SS7 transport protocols. They are defined respectively by standards in the area of their use. They are: ANSI, ITU-T, China, and Japan.
The Internet Engineering Task Force (IETF) has also defined level 2, 3, and 4 protocols that are compatible with SS7 MTP2 (M2UA and M2PA) MTP3 (M3UA) and SCCP (SUA), but use an IP transport mechanism. This suite of protocols is called SIGTRAN.
SMPP - Short message peer-to-peer protocol
The short message peer-to-peer protocol (SMPP) is a telecommunications industry protocol for exchanging SMS messages between SMS peer entities such as short message service centres. It is often used to allow third parties (e.g. value-added service providers like news organisations) to submit messages, often in bulk.
SMPP was originally designed by Aldiscon, a small Irish company that was later acquired by Logica (now split off and known as Acision). In 1999, LogicaCMG formally handed over SMPP to the SMPP Developers Forum, later renamed as The SMS Forum and now disbanded. The SMPP protocol specifications are still available through the website which also carries a notice stating that it will be taken down at the end of 2007.
The protocol is based on pairs of request/response PDUs (protocol data units, or packets) exchanged over OSI layer 4 (TCP session or X.25 SVC3) connections. PDUs are binary encoded for efficiency.
The most commonly used versions of SMPP are v3.3, the most widely supported standard, and v3.4, which adds transceiver support (single connections that can send and receive messages). Data exchange may be synchronous, where each peer must wait for a response for each PDU being sent, and asynchronous, where multiple requests can be issued in one go and acknowledged in a skew order by the other peer. The latest version of SMPP is v5.0.
Example
This is an example of the binary encoding of a 60-octet submit_sm PDU. The data is shown in Hex octet values as a single dump and followed by a header and body break-down of that PDU.
This is best compared with the definition of the submit_sm PDU from the SMPP specification in order to understand how the encoding matches the field by field definition.
The value break-downs are shown with decimal in parentheses and Hex values after that. Where you see one or several hex octets appended, this is because the given field size uses 1 or more octets encoding.
Again, reading the definition of the submit_sm PDU from the spec will make all this clearer.
PDU Header
'command_length', (60) ... 00 00 00 3C 'command_id', (4) ... 00 00 00 04 'command_status', (0) ... 00 00 00 00 'sequence_number', (5) ... 00 00 00 05
PDU Body
'service_type', () ... 00 'source_addr_ton', (2) ... 02 'source_addr_npi', (8) ... 08 'source_addr', (555) ... 35 35 35 00 'dest_addr_ton', (1) ... 01 'dest_addr_npi', (1) ... 01 'dest_addr', (555555555) ... 35 35 35 35 35 35 35 35 35 00 'esm_class', (0) ... 00 'protocol_id', (0) ... 00 'priority_flag', (0) ... 00 'schedule_delivery_time', () ... 00 'validity_period', () ... 00 'registered_delivery', (0) ... 00 'replace_if_present_flag', (0) ... 00 'data_coding', (0) ... 00 'sm_default_msg_id', (0) ... 00 'sm_length', (15) ... 0F 'short_message', (Hello wikipedia) ... 48 65 6C 6C 6F 20 77 69 6B 69 70 65 64 69 61'
Benefits of SMPP
SMPP is ideal for customers who want a simple and quick way to send large volume SMS messages to UK and International GSM phones.
- Reliability & Security - A PageOne SMPP connection provides both a reliable and a direct connection to the PageOne Messaging Network.
- Increased Efficiency - SMPP connections allow for permanent connectivity to PageOne.
- Capacity - Establishing an SMPP gateway allows customers to send large SMS message volumes quickly and easily to UK and International GSM phones.
- Reporting - Delivery receipts include whether a message has been “Delivered”, is “Pending” or has “Failed” in its delivery to the intended recipient. Upon request users can be provided with intermediary delivery receipts providing almost instantaneous acknowledgement of whether messages have been accepted or rejected by the Network Operator.
- 2-way messaging - Both the termination (MT) and origination (MO) of SMS is supported.
SMPP with Perl module Net::SMPP
Implements Short Message Peer to Peer protocol, which is frequently used to pass short messages between mobile operators implementing short message service (SMS). This is applicable to both european GSM and american CDMA/TDMA systems.
This documentation is not intended to be complete reference to SMPP protocol - use the SMPP specification documents (see references section) to obtain exact operation and parameter names and their meaning. You may also need to obtain site specific documentation about the remote end and any protocol extensions that it supports or demands before you start a project. This document follows the convention of spelling parameter names exactly as they appear in the SMPP v3.4 documentation. SMPP v4.0 support also follows the respective documentation, except where v4.0 usage is in conflict with v3.4 usage, in which case the latter prevails (in practise I believe no such conflicts remain in the madule at present). For a complete list of error code and optional parameter enumerations, the reader is encouraged to consult the source code or SMPP speciofications.
Despite its name, SMPP protocol defines a client (ESME) and a server (often called SMSC in the mobile operator world). Client usually initiates the TCP connection and does bind to log in. After binding, a series of request response pairs, called PDUs (protocol data units) is exchanged. Request can be initiated by either end (hence "peer-to-peer"?) and the other end reponds. Requests are numbered with a sequence number and each response has corresponding sequence number. This allows several requests to be pending at the same time. Conceptually this is similar to IMAP or LDAP message IDs. Usually the $smpp object maintains the sequence numbers by itself and the programmer need not concern himself with their exact values, but should a need to override them arise, the seq argument can be supplied to any request or response method.
$smpp->bind_transceiver(
system_id => 'username', # usually needed (default '') password => 'secret', # usually needed (default '') system_type => '', # default ok, often not needed interface_version => 0x34, # default ok, almost never needed addr_ton => 0x00, # default ok, type of number unkwn addr_npi => 0x00, # default ok, number plan indic. address_range => '', # default ok, regex matching tels ) or die;
Net::SMPP is free to download over CPAN.org
Cell-phone Network Technologies: 3G
3G technology is the latest in mobile communications. 3G stands for "third generation" -- this makes analog cellular technology generation one and digital/PCS generation two. 3G technology is intended for the true multimedia cell phone -- typically called smartphones -- and features increased bandwidth and transfer rates to accommodate Web-based applications and phone-based audio and video files.
3G comprises several cellular access technologies. The three most common ones as of 2005 are:
- CDMA2000 - based on 2G Code Division Multiple Access (see Cellular Access Technologies)
- WCDMA (UMTS) - Wideband Code Division Multiple Access
- TD-SCDMA - Time-division Synchronous Code-division Multiple Access
3G networks have potential transfer speeds of up to 3 Mbps (about 15 seconds to download a 3-minute MP3 song). For comparison, the fastest 2G phones can achieve up to 144Kbps (about 8 minutes to download a 3-minute song). 3G's high data rates are ideal for downloading information from the Internet and sending and receiving large, multimedia files. 3G phones are like mini-laptops and can accommodate broadband applications like video conferencing, receiving streaming video from the Web, sending and receiving faxes and instantly downloading e-mail messages with attachments.
Of course, none of this would be possible without those soaring towers that carry cell-phone signals from phone to phone. 3G is a cell phone network protocol.
References
Informations: Great site! How stuf works?
Informations: Wiki - Free encyclopedia
SMPP v 3.4 protocol documentation - download