Rerouting SMS to the next-in-line vendor

In general, rerouting means sending the message to the next-in-line vendor in case of receiving an unsuccessful submit_sm_resp or delivery status from the initial vendor or in case when the vendor hasn't returned any DLV at all (each type is configured separately). In this case, the next-in-line vendor means the following vendor from the routing list, which is created separately for each SMS: when a message is sent to the System, the System checks a list of available vendors which is formed according to the routing rules from the SMS/Routing/Routing rules interface.

  • In case of dynamic routing, the vendors are rated in the list according to the formula and ranged by their weight, the final list contains the number of routes that does not exceed the value of the Max routes parameter in the rule. For example, in the screenshot below, a maximum of two routes can be selected. Note that if several products of the same vendor are included in the rule, there can be several routes. Also, in some cases, the vendor product which is selected in a routing rule, can have 2 different POIs and channels - and it means that the second POI/channel is considered the "next-in-line" route.

  • In case of static routing with several choices, the user chooses the vendors and their order manually, so there in theory can be as many vendors in the routing list as there are choices in the routing rule, provided that all of those choices have Condition = TRUE, all vendors are admitted to routing (according to the balance, carrier settings, and so on), and only one routing rule is used for this traffic. If there are several vendors within one choice (the traffic is shared between them via the Share option), only one of those vendors will get to the routing list and, consequently, be available for rerouting. For example, in the screenshot below, a maximum of three routes can be selected. 

It is between vendors from the routing list that rerouting takes place. There are three types of rerouting:

  1. submit_sm_resp-based rerouting is always enabled and based on the response to our submit received from the vendor. If submit_sm_resp is unsuccessful (error code other than 0x00) or the message is rejected by the submit_sm_resp timeout (30 seconds by default, configurable in SMS channels interface), the message will be sent to the next vendor in line. 

    This rerouting will be repeated until the system finds the vendor who will accept the message for further delivery, or until there will be no more suitable vendors. The logic can be changed using the Routing stop codes parameter. As soon as the code defined in the Routing stop codes parameter is received from the vendor, routing stops (the message will not be sent to the next vendor in line.

  2. DLV-based rerouting is related to delivery reports received from the vendor side. It can be configured for the corresponding vendor channel in the Carriers\SMS channels interface, Reroute statuses field:

    If the vendor returns one of the selected statuses, the System will send the SMS through the next-in-line vendor. For example, if a multi-choice static routing rule is used, then if the DLV from the vendor from the first choice has a status which is included in the Reroute statuses field in that vendor's channel, the message will be sent to the vendor from the second choice. If the second vendor also returns an unsuccessful DLV from some of the reroute statuses field configured on their channel, then the message will be sent to the vendor from the third choice and so on. Note that self-rerouting is also available (the option is disabled by default). To be able to resend a message by delivery status through the same vendor channel, you can use the Allow rerouting to the same channel checkbox in the Carriers/SMS Channels interface:

    When it is activated, the Rerouting intervals (sec.) field becomes available: upon receipt of the delivery status selected in the Reroute statuses list, and if this checkbox is enabled, the message will be forwarded through the same vendor channel after the specified interval. Multiple intervals for forwarding can be separated by commas. If you are interested in resending messages to the same vendor channel after the first unsuccessful attempt, you can refer to the following article.

  3. SENT-rerouting is the possibility to resend messages to the next vendor if a delivery report was not received for them within the specified time (which corresponds to the message being in the SENT status). This is a custom option, to configure it, please contact Technical Support and provide the code BZ29102, a list of client channels for which functionality should be enabled (it is possible to enable functionality for all client channels), and the interval after which the resending will take place (in seconds, each channel may have its own value). If the delivery report has not been received after the interval, an EDR with the EXPIRED status will be generated, which will allow you to ignore subsequent received delivery reports from the supplier. If the route is the last (or only) one in the list, then the waiting time for the delivery report depends, as before, on the system parameter Delivery waiting period, sec.

     

A common concern with rerouting is the financial consequences: if a message from a client was sent through a vendor who returned an unsuccessful DLV status, and then resent through a second vendor, then the client will be charged only for the initial submit, while in the case with the vendor side, it may be necessary to pay both vendors (for example, if vendor billing occurs by submits). This is a common reason for the difference between Billable (C) and Billable (V) metrics' values in Analytics. For instance, for the above example, Billable (C) = 1 and Billable (V) = 2, which can lead to financial losses. When analyzing such cases, it is recommended to export problem EDRs and analyze "Attempt number" and "Is last" columns (as a rule, clients are billable only for final EDRs with "Is last" = 1), then check the configured rerouting ("Reroute statuses" in the corresponding vendor channels).

If you have any remaining questions, feel free to contact the support team and provide as much detail as possible regarding your issue, including channel ID, EDRs and Simulation ID (if applicable).

 

AKBSMS - Alaris Knowledge Base

Related Questions:
How rerouting works?
Rerouting based on SENT status.
Rerouting setup.
Rerouting based on unsuccessful vendor's response.
Configuring status-based rerouting.

Link to this Article: https://helpdesk.alarislabs.com/en/knowledge_base/article/278/category/134/