BIND FAILED - Failed vendor or client bind troubleshooting

Introduction

One of the most common situations in SMPP interconnection is an unsuccessful bind between the system owner and the client/vendor.

Typical SMPP session establishment

A typical Short Message Peer-to-Peer (SMPP) session involves several key steps that ensure the successful transmission of SMS messages between an SMPP client and an SMPP server. Here's a breakdown of these steps:

  1. TCP Session Establishment:

    • The SMPP protocol operates over TCP/IP, so the first step is to establish a TCP connection between the SMPP client and the SMPP server (system owner in our case). This involves the standard TCP handshake process to ensure a reliable connection is set up.
  2. SMPP Bind Operation:

    • Once the TCP session is established, the SMPP client initiates a "bind" operation. This operation is used to authenticate the client with the server and to establish the type of SMPP connection (Transmitter, Receiver, or Transceiver).
    • The client sends a bind_transmitter, bind_receiver, or bind_transceiver request, depending on its role and needs.
    • This request includes necessary credentials like system ID, password, and other parameters.
  3. Bind Response:

    • The SMPP server responds to the bind request with a bind_resp message. This response indicates whether the bind operation was successful or not. If successful, it includes a status code and other information, effectively allowing the client to start sending or receiving messages.
  4. Message Submission (submit_sm):

    • Once the bind is successful, the client can send SMS messages using the submit_sm command. This command contains the details of the SMS, including the destination address, message content, and other optional parameters.
    • The client sends this command to the server for each SMS message it wants to transmit.
  5. Submit_sm Response:

    • The server acknowledges each submit_sm request with a submit_sm_resp message. This response includes a message ID and a status code indicating the success or failure of the message submission.
  6. Message Delivery (deliver_sm):

    • For incoming messages (in the case of a bind_receiver or bind_transceiver), the server sends a deliver_sm command to the client. This command carries the incoming SMS message's content and details.
  7. Deliver_sm Response:

    • The client acknowledges the receipt of each deliver_sm command with a deliver_sm_resp message. This is to inform the server that the message has been successfully received.

Throughout the session, various other SMPP protocol operations and responses can be used based on specific requirements, but the steps outlined above represent the core of a typical SMPP session for sending and receiving SMS messages.

Example of SMPP session:

 

Bind failed

SMPP connection can be established only if bind parameters are the same on both sides. The list of matching bind parameters is as follows:

  1. System_id (case-sensitive, cannot be empty)
  2. Password (case-sensitive, cannot be empty)
  3. System_type (case-sensitive, can be empty)

All of these parameters can be set in Alaris SMS channel and found in PCAP traces as shown in the figure below.

Example of pcap trace with successful bind:

 

The "bind failed" issue in an SMPP (Short Message Peer-to-Peer) session occurs when the attempt to establish a connection between an SMPP client and an SMPP server is unsuccessful during the binding process. To diagnose such problems, it is also necessary to capture traces in the interface Start/Administration/Trace analyzer

This issue can arise due to several reasons, which can generally be categorized as follows:

  1. Incorrect Credentials:

    • One of the most common causes of a bind failure is incorrect credentials (System ID, Password, System_type). The client must provide the correct system ID, password, and, in some cases, a system type. If these credentials do not match what the server expects, the bind request will be rejected.
  2. Network Issues:

    • Problems with network connectivity can lead to bind failures. This includes issues such as the server being unreachable due to network outages, incorrect IP addresses or port numbers, or firewall restrictions blocking the connection. If you notice that the system does not respond to a packet from a client or vendor, but simply ignores it (as a rule, TCP retransmits will be visible in the trace from the remote side), then you need to contact Alaris support and provide .pcap trace.
  3. Incompatible Protocol Versions:

    • SMPP servers and clients must use compatible protocol versions (e.g., SMPP v3.3, v3.4, or v5.0). If the client tries to bind with a version that is not supported by the server, the bind operation can fail.
  4. Exceeding Connection Limits:

    • SMPP servers often have a limit on the number of simultaneous connections they can handle. If the server has reached its capacity and cannot accept new connections, a bind attempt will fail.
  5. Server Configuration or Restrictions:

    • The server might have specific configuration settings or restrictions that can cause a bind failure. This includes things like allowed IP addresses, binding as a specific type of SMPP entity (Transmitter, Receiver, Transceiver), or time-based access controls. Make sure that the client/vendor is sending packets from the IP address specified in the SMS Channels/Hostname.
  6. Server Errors or Overload:

    • Server-side issues such as software errors, hardware failures, or server overload can prevent successful binding. In such cases, the server may be unable to process bind requests properly. If you notice similar problems where you are the server side, please contact Alaris support and provide traces.

For example, if any of the mentioned parameters (system ID, password, system type) do not match on both sides, unsuccessful bind_tranceiver_resp will be sent and the channel will remain ‘rebind needed’ for a vendor channel and ‘offline’ for a client channel (see figure below). If no submit or submit_resp is received from the partner the channel will remain ‘offline’.

Example of "Bind failed":

 

How to resolve the issue

In case “Bind failed” is observed in PCAP traces

  •    For the vendor connection:
    • contact the vendor to confirm that the correct login(system_id), password, system_type are sent from the Alaris side. Also make sure that the vendor's packets reach the system; responses from the vendor should be visible in the trace.
  •    For the client connection:
    • find the discrepancy in the login(system_id), password, system_type which are sent in the client’s bind_tranceiver. Also, it would be a good idea to check the SMPP protocol version and make sure that there are no network problems with the remote side (no duplicates or retransmits in the trace)
    • provide the client with correct parameters or change them in the SMS channel settings

We checked the parameters on the client/vendor side, they are completely the same. What to do?

If you cannot find the source of the problem, then you need to contact Alaris support and provide traces (it is highly desirable from both sides, client or vendor)

 

AKBSMS - Alaris Knowledge Base

Related Questions: 
How do I troubleshoot a bind failed from vendor?
How do I troubleshoot a bind failed for a client?
What is BIND FAILED?
How to solve the BIND FAILED issue?

Link to this article: https://helpdesk.alarislabs.com/en/knowledge_base/article/238/category/131/