is it possible to write USSD / SMS /SS7 apps in python

Banibrata Dutta banibrata.dutta at
Sat Jul 4 05:53:19 EDT 2009

BTW, if you just want to be able to send/receive SMS's in a Python
application, there are several alternatives.
1. Most operators, or 3rd party bulk-SMS vendors (who resell SMS capacity
from operators at a premium but in smaller bundles than what an operator
would sell), offer --
  a. HTTP based mechanism to send/receive messages
  b. SMPP protocol. OpenSMPP has a C API, and you could create Python
wrappers for same.

2. For very low volume application, you could use the Serial (or Serial
emulation over USB/Bluetooth) way, i.e. using "AT" commandset of a tethered
GSM mobile (with inbuilt GSM modem), or a separate GSM-modem (PCMCIA,
USB,...) via Python, to send / receive SMS's.

On Sat, Jul 4, 2009 at 3:17 PM, Banibrata Dutta
<banibrata.dutta at>wrote:

> QuoteGoke Aruna <pyklass at>
> what am saying is reading the ITU info on USSD, is it possible to use python
> to write the application SS7 with support for TCAP/MAP talking to E1 card to do the ss7 signalling.
> As Chris mentioned "possible, but probably not easy". AFAIK, not much of
> what you might need exists in form of existing Python modules, if that's
> what you were thinking -- and especially in the Open-source form. The only
> open-source initiative in the SS7 domain that I am aware of, is the openss7
> (, which has 'some' software available. No
> personal experience though, API's are C/C++ AFAIR, and last I'd checked, the
> status wasn't 'practically usable' in functionality terms. If they offer
> functionality of the ITU-T SS7 stack upto the TCAP layer, exposing a C/C++
> API to create dialogs, create components, populate and send them etc. (usual
> TCAP Primitives), then as Chris mentions, you could have Python wrappers
> (ctypes, swig...). Then, for the MAP layer, which is largely ASN.1 BER
> encoding/decoding, you'd need such functionality in Python. There are some
> ASN.1 BER codec implementations having Python API/bindings, but AFAIK, they
> are largely domain/application specific (s.a. for SNMP), and not generic or
> robust enough. Given the API's however, writing any application s.a. for
> performing some "business-logic" on receiving or before sending USSD / SMS
> message in Python, that's a no-brainer ! :-)
> If however, you want to implement the whole SS7 stack in Python --
> everything that Chris wrote is accurate, and that's potentially (and the
> most obvious) way you'd have to implement it.
> --
> regards,
> Banibrata

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list