Overview

OSERL (Open SMPP Erlang Library) is an erlang implementation of the Short Message Peer to Peer protocol.

Short Message Peer to Peer (SMPP) protocol is an open, industry standard designed to provide a flexible data communications interface for the transfer of short message data between External Short Message Entities (ESME), Routing Entities (RE) and Message Centers (MC). OSERL is an open source library that comprises the entire specification of the recently released SMPP version 5.0 (February 20th, 2003). Moreover, thanks to an appropriated design, any future and previous version of the protocol are also directly supported by OSERL.

Currently OSERL is being updated to support other SM transfer protocols such us EMI UCP and CIMD.

OSERL is an open project, any comment, suggestion or collaboration will be welcome.

OSERL 1.1 Available

I wasn't completely satisfied with version 1.0, so I decided no to release it and move straight to version 1.1.

This new release has many new features:

gen_smsc and gen_smsc_session behaviors.

and behaviors. gen_connection removed.

removed. gen_esme and gen_smsc act as extended gen_servers. There's no need to implement several behaviors separately.

and act as extended gen_servers. There's no need to implement several behaviors separately. gen_esme and gen_smsc comply to the OTP design principles (so gen sessions do).

In addition, resulting implementation 50% more compact, and also more efficient and elegant.

Documentation

Links below lead to the API documentation of this library. Every library module and their exported functions were documented. Some design decisions and examples are also explained, thus those interested in how things were done will found the details on these documents.

OSERL uses the common_lib library. This library groups together some general purpose modules.

The API documentation has been generated using eDoc, a great tool for the erlang world much like the Javadoc TM .

The PICS proforma is the Protocol Implementation Conformance Statement (PICS) proforma for the SMPP v3.4 protocol. The information supplied after completing this questionnaire gives a concise and standard description of which sections of the SMPP v3.4 protocol an implementation will support.

I only had access to PICS for version 3.4 of the SMPP protocol (provided by the SMS Forum in MS word format :-(

With respect to version 5.0, I shall say that OSERL supports every field and every operation of this last version. Moreover, every encoding/decoding error on the specification, even those related to individual parameters, are detected and reported using the appropriate error code. Timers, congestion control and other dynamic aspects of the protocol are also implemented.

PICS proforma for The Open SMPP Erlang Library

PICS Proforma in openoffice.org format (34 KB)

Zipped PICS Proforma in MS word format (37 KB). Don't know if it'll be fully compatible with MS Word, I've edited and saved using openoffice.org.

Applications using OSERL