Category Archives: SMS

Short Messaging Service

EMI UCP protocol

External Machine Interface (EMI), an extension to Universal Computer Protocol (UCP) is a SMSC VAS protocol created by CMG. As one of the major SMSC vendor, EMI and SMPP are two of the widely used SMSC VAS protocol. Even after the merger of Logica and CMG, both protocols are still widely used.

One of the free library that I’ve using is from Marco Romano. It is a Perl library which can be used to generate EMI/UCP message easily. Please take a look at:

http://search.cpan.org/~nemux/Net-UCP-0.29/

Perl Module to access Clickatell HTTP API

I’ve written a perl module to access to Clickatell HTTP API. This module supports the API from Clickatell’s HTTP API Specification v.2.2.7.

The following are all the available APIs and whether they are supported or not:

Basic Commands

  • http://api.clickatell.com/http/auth
  • Yes (But session Not support)
  • http://api.clickatell.com/http/ping
    • Yes (But session Not support)
  • http://api.clickatell.com/http/querymsg
    • Yes
  • http://api.clickatell.com/http/sendmsg
    • Yes

    Additional Commands

    • http://api.clickatell.com/http/delmsg
    • No
  • http://api.clickatell.com/http/getbalance
    • Yes
  • http://api.clickatell.com/http/routeCoverage.php
    • Yes
  • http://api.clickatell.com/mms/ind_push.php
    • Yes
  • http://api.clickatell.com/mms/si_push.php
    • Yes
  • http://api.clickatell.com/http/getmsgcharge
    • Yes
  • http://api.clickatell.com/http/token_pay
    • No

    Batch Messaging

    • http://api.clickatell.com/http_batch/startbatch
    • No
  • http://api.clickatell.com/http_batch/senditem
    • No
  • http://api.clickatell.com/http_batch/quicksend
    • No
  • http://api.clickatell.com/http_batch/endbatch
    • No

    I tested this module on perl v5.8.5.

    INSTALL

    To install the module, perform the usual perl module installation procedures. The following is the steps:

            perl Makefile.PL
            make
            make install
    

    Continue reading Perl Module to access Clickatell HTTP API

    How to convert SI message to GSM SMS User Data

    After publishing the article on “How to send WAP Push data through SMPP”, there is a lot of requests on how to formulate the GSM SMS User Data.

    Basically, the following is an example in java with remark in the code to explain how this is done:

      public String toSmsBinary() {
        /**
         GSM SMS User Data
         06: UDH Length which is 6
         05: 16 bit address
         04: Length(4)
         0B84: Destination Port(2948)
         23F0: Source Port(9200)
         
         Wireless Session Protocol 
         90: Transaction ID
         06: PDU Type(Push)
         01: Headers Length is 1
         AE: Content-Type is application/vnd.wap.sic
         
         */
        StringBuilder ud = new StringBuilder().append("0605040b8423f0900601ae");
        ud.append(toWBXML());
        return ud.toString();
    
      }
    

    The above function creates the GSM SMS User Data and Wireless Session Protocol (WSP) header. Continue reading How to convert SI message to GSM SMS User Data

    How to send WAP Push data through SMPP

    After publishing the article on “How to send WAP Push data through SMPP”, there is a lot of requests on how to formulate the GSM SMS User Data.

    Basically, the following is an example in java with remark in the code to explain how this is done:

      public String toSmsBinary() {
        /**
         GSM SMS User Data
         06: UDH Length which is 6
         05: 16 bit address
         04: Length(4)
         0B84: Destination Port(2948)
         23F0: Source Port(9200)
         
         Wireless Session Protocol 
         90: Transaction ID
         06: PDU Type(Push)
         01: Headers Length is 1
         AE: Content-Type is application/vnd.wap.sic
         
         */
        StringBuilder ud = new StringBuilder().append("0605040b8423f0900601ae");
        ud.append(toWBXML());
        return ud.toString();
    
      }
    

    The above function creates the GSM SMS User Data and Wireless Session Protocol (WSP) header. Continue reading How to send WAP Push data through SMPP