SMSC Simulator

SMSC Simulator Technical Details

SMPP SMSC simulator to test SMS messaging applications.


Melrose Labs SMSC Simulator Technical Details Abbreviated SMPP PICS

SMSC Simulator Technical Details Abbreviated SMPP Protocol Implementation Conformance Statement (SMPP PICS)

Operations Supported

ItemFunctional Unit/DescriptionSupported
PDU-OUTBINDIs the outbind PDU supported?NO
PDU-BIND-TRANSMITTERIs the bind transmitter PDU supported?YES
PDU-BIND-RECEIVERIs the bind receiver PDU supported?YES
PDU-BIND-TRANSCEIVERIs the bind transceiver PDU supported?YES
PDU-UNBINDIs the unbind PDU supported?YES
PDU-ESME-GENERIC-NACKIs the generic_nack PDU initiated by the EMSE supported?YES
PDU-SMSC-GENERIC-NACKIs the generic_nack PDU initiated by the SMSC supported?YES
PDU-SUBMIT-SMIs the submit_sm PDU supported?

  • schedule_delivery_time - absolute and relative supported
  • validity_period - ignored
  • registered_delivery - SMSC delivery receipt supported
  • message_payload TLV (0x0424) supported
YES
PDU-SUBMIT-MULTIIs the submit_multi PDU supported?NO
PDU-DELIVER-SMIs the deliver_sm PDU supported?

  • MO SMS for ESME-initiated submit_sm only
  • delivery receipts for ESME-initiated submit_sm only
  • message_payload TLV (0x0424) supported
  • data_coding from submit_sm used in deliver_sm (MO)
YES
PDU-ESME-DATAIs the data_sm PDU initiated by the EMSE supported?

  • registered_delivery - SMSC delivery receipt supported
  • message_payload TLV (0x0424) supported
YES
PDU-SMSC-DATAIs the data_sm PDU initiated by the SMSC supported?

  • MO SMS for ESME-initiated data_sm only
  • delivery receipts for ESME-initiated data_sm only
  • message_payload TLV (0x0424) supported
YES
PDU-QUERY Is the query_sm PDU supported?

  • message_id - only parameter used to identify message
  • RX or TRX bind must be present to drive delivery of MT SMS
YES
PDU-CANCEL Is the cancel_sm PDU supported?

  • message_id - only parameter used to identify message
  • RX or TRX bind must be present to drive delivery of MT SMS
YES
PDU-REPLACEIs the replace_sm PDU supported?NO
PDU-ESME-ENQUIRE-LINKIs the enquire_link PDU initiated by the EMSE supported?YES
PDU-SMSC-ENQUIRE-LINKIs the enquire_link PDU initiated by the SMSC supported?YES
PDU-ALERTIs the alert_notification PDU supported?NO

Operation

Simulate Outbound SMS to to Mobiles

To simulate MT SMS being delivered to a mobile (i.e. outbound SMS or application-to-person SMS) from an application to a mobile, you can use an SMPP TX or TRX bind to submit the MT message to the simulator. The simulator will return a message ID to your application. If a delivery receipt was requested in your submission, a delivery receipt (DLR) will be returned a few seconds later indicating a successful delivery.

Simulate Inbound SMS to your Application

To simulate MO SMS (i.e. inbound SMS or person-to-application SMS) from a mobile to your application, you can either (a) use an SMPP TX bind to submit the MO message to the simulator or (b) use the above Inbound MO SMS Tool.

In either case, you would submit a message using the above SMPP account details to a destination_address that contains the digits of your system ID. By including the digits of your system ID in the destination_address, the message will be routed by the simulator to your application. The destination_address field must be at least 8 digits in length so ensure that you prepend or append at least two digits to your system ID, otherwise the simulator will reject the submission.

Example: If your system ID was "123456" then to send an inbound SMS to your application you would use a separate SMPP transmitter (TX) bind, or the Inbound MO SMS Tool, to submit a message (submit_sm) to the destination_address "99123456" (digits in bold are your system ID). This would cause the SMSC Simulator Technical Details service to send a deliver_sm to your application with the source_addr that you set in the submit_sm and destination_addr of "99123456".

The simulator also supports the use of schedule_delivery_time in the submit_sm and this can be used to schedule delivery of MT and MO SMS.

SMPP operations supported

We are working to ensure that our simulators allow you to test most, if not all, aspects of SMPP applications such as applications with SMS support and SMS infrastructure. Operations currently supported by the simulators are shown below. Further operations will be provided in future and frequent updates.

  • Session Management:
    • bind_receiver/resp - Used for receiving delivery receipts.
    • bind_transmitter/resp - Used for submitting messages.
    • bind_transceiver/resp - Supported for v3.4 and v5, and used for submitting messages and receiving delivery receipts.
    • unbind/resp - ESME unbinding from SMSC and SMSC issues unbind_resp. SMSC unbinding from ESME when ESME unresponsive.
    • enquire_link/resp - Will respond to enquire_link from ESME and will issue enquire_link to ESME every 45s of inactivity.
  • Message Submission:
    • submit_sm/resp - Will issue positive response with message_id of 8 characters in length for v3.3 and 64 characters for v3.4 and v5. Will issue error response (ESME_INVDSTADR/0x0000000B) if destination_address less than 8 characters in length.
  • Message Delivery:
    • deliver_sm/resp - Delivery receipts sent to ESME on receiver binds (SMPP v3.3, 3.4 and v5) and transceiver binds (SMPP v3.4 and v5 only). deliver_sm short_message field with textual receipt plus TLVs containing message ID (i.e. receipted_message_id), status of message (i.e. message_state with value of 2 for DELIVERED) and error (i.e. network_error_code with value of zero indicating no error)

Notes on using the SMSC Simulator Technical Details service

  1. SMPP (Short Message Peer-to-Peer) protocol must be used to connect to the simulator.
  2. Use SMPP v3.3, v3.4 or v5 and specify the version in the bind request.
  3. Bind using one or more transmitter (TX), receiver (RX) or transceiver (TRX) binds.
  4. Use transceiver (TRX) or receiver (RX) binds to receive delivery receipts.
  5. If a delivery receipt has been requested for a message, a receipt will be returned to your application in <1 second after the submit_sm_resp. If there is no existing TRX or RX bind, then the receipt may be discarded.
  6. Mobile numbers (MSISDNs) should be in international format.
  7. TLS 1.1 and up are supported for SMPP sessions. SSL and TLS 1.0 are not supported for connections.
  8. DeliverSM window size = 25 (default)

Service snapshot

  • Test SMS applications and infrastructure without SMS cost
  • SMPP v3.3, v3.4 and v5
  • MT and MO SMS testing (A2P and P2A)
  • SMPP over TCP and SMPP over TLS 1.1+ supported
  • SMPP test tool

Find out more...

Please provide your name.
Please provide a valid company name.
Please type your message.
Please provide a valid email address.