SMSC Simulator

SMPP SMSC simulator to test SMS messaging applications.

Use Simulator Find out more

SMSC simulator for testing your SMS applications and messaging infrastructure using the SMPP protocol. Simulate delivery of SMS to and from mobiles.

Conversational Messaging Messaging Bulk SMS 

Melrose Labs operates SMSC simulators (aka SMPP server simulators) for use in the development and testing of SMS text messaging capabilities within applications. They simulate SMSCs (short message service centres) and SMPP SMS gateways. These SMSC simulators support applications using SMPP v3.3, SMPP v3.4 and SMPP v5. Our SMSC simulators are also part of Melrose Labs' SMPP Implementation Testing.

SMS messages are sent by the application to mobile numbers by it submitting messages to the SMSC simulator using SMPP. The SMSC simulators will simulate the delivery of the messages, including the generation of delivery receipts back to the application. SMS messages from mobile numbers can be submitted on this webpage and delivered to the SMS application. The MT SMS (to mobiles) and MO SMS (from mobiles) operation of the application can therefore be tested using the simulators.

The advantage of the SMSC simulators is that you can send SMS messages from your application without messages being delivered to real mobile phones and therefore without any SMS delivery costs and various scenarios tested before live operation. Stress testing of your application can also be performed to show how your application behaves under load. The SMSC simulators can handle high volumes of SMS messages per second and a high number of simultaneous connections from your application.

Using the SMSC Simulators

The SMSC simulators are publicly available and connection details dedicated to individual users are provided (see below for your SMPP account details). The system ID test, with password test, can be used by any user. SMPP over TLS support is available for SMS applications to connect securely (SMPP TLS port: 8775). Note that the less secure SSL and TLS 1.0 are not supported.

SMSC Simulator SMPP Account Details

The system ID and password are dynamically updated on this webpage. The details below are allocated for your sole use:

  • Server:
  • Port: 2775 (non-TLS), 8775 (TLS)
  • System ID: 0974586
  • Password: EMRGYT
  • System type: null

In order to simulate MO SMS (i.e. inbound SMS) from a mobile to an application, it is necessary to have a Pro account. This enables you to use a web console that allows you to compose a message, or set of messages, and have them submitted from a single or multiple mobile numbers over a period of time that you select.

SMPP operations supported by the simulators

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
    • 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.
    • enquire_link/resp - Will respond to enquire_link from ESME and will issue enquire_link to ESME every 120s 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 transceiver binds only (SMPP v3.4 and v5 only). Empty short_message field and 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)

Melrose Labs SMSC Simulator Abbreviated SMPP PICS

SMSC Simulator Abbreviated SMPP Protocol Implementation Conformance Statement

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?YES
PDU-SUBMIT-MULTIIs the submit_multi PDU supported?NO
PDU-DELIVER-SMIs the deliver_sm PDU supported?YES
PDU-ESME-DATAIs the data_sm PDU initiated by the EMSE supported?NO
PDU-SMSC-DATAIs the data_sm PDU initiated by the SMSC supported?NO
PDU-QUERYIs the query_sm PDU supported?NO
PDU-CANCELIs the cancel_sm PDU supported?NO
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

Notes on using the SMSC simulators

  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) binds only to receive delivery receipts. Separate transmitter and receiver binds are not yet supported for delivery receipts. Receipts will only be returned in the same SMPP session as the submit_sm/submit_sm_resp to which they relate.
  5. If a delivery receipt has been requested for a message, a receipt will be returned to your application in 3-12 seconds (random) after the submit_sm_resp.
  6. Mobile numbers (MSISDNs) should be in international format.

If you wish to perform testing using production SMSCs for delivery to mobiles, then we recommend that you use the HSL Mobile SMSCarrier service. If you wish your application to receive messages from mobiles then see HSL Mobile's Advanced Services.

Source code for our SMSC simulator can be found in the Melrose Labs GitHub repository at smpp-smsc-simulator.

For production SMSCs and SMS gateways we suggest you take a look at the following:

Service snapshot

  • Test SMS applications and messaging 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

Find out more about this service...

Please provide your first name.
Please provide your last name.
Please provide a valid company name.
Please provide a valid email address.