+7 495 225-44-09
+7 495 225-44-09
Based onBased on

Industrial SMS Gateway for a Bank

Nowadays in the market there are a lot of SMS providers offering SMS delivery services on subscribers’ phones. However it is not rare that SMS providers’ links are disconnected and as a result delivery time can increase up to several hours, providers’ gateways are not always able to cope with peak traffic.

Herewith banks have emergency messages and in this case delay is inadmissible. So, in order to guarantee the required work level of SMS services it is necessary to take a number of measures:

  • to control quality level of SMS providers and get notification messages in case of problems;
  • to have standby channels for message delivery and in case of problems to switch to them automatically;
  • to choose a channel according to a message priority;
  • to balance traffic load among different channels.

The implementation of own software SMS gateway into the bank infrastructure can be a good solution. SMS gateway based on WINGS platform guarantees reliable work with SMS messages for all information systems of the bank. It can be easily integrated into the bank infrastructure and does not require any changes in current information systems and applications.


There are a lot of interfaces for integration with bank applications and legacy systems:

  • HTTP(S);
  • Web services including SOAP, REST, XML RPC, XML over HTTP(S);
  • Email: SMTP, POP3. For instance, the gateway receives an email and starts SMS send out;
  • File interface (through a directory);
  • JMS - connection to Enterprise Service Bus;
  • Java, NET;
  • DB API - integration on DBMS level (activation of core banking stored procedures and etc.);
  • SMPP (SMS gateway serves as SMPP server, banking systems serve as SMPP clients and etc.).

Integration with processing systems by ISO 8583 protocol is possible.

Key Characteristics:

  • flexible message routing - automated SMS distribution by different channels;
  • multiuser bulk SMS portal (including various access levels and sending quotas for different banking units and information systems);
  • common interface for statistics review, control over users, bulk message startup);
  • message priority (for instance, sending one-time passwords and SMS-banking messages have a great priority over newsletters);
  • failover (in case of failure sending the message is automatically forwarded by an alternative channel, load balancing and etc.);
  • scaling out, productivity increase, monitoring;
  • in order to connect to operators and SMS providers the solution supports the following protocols: SMPP, UCP, CIMD, SS7/MAP, HTTP (S), SMTP;
  • blocking of repeat messages to one subscriber;
  • personalized bulk messages support;
  • WAP-push and Flash-SMS support;
  • speed regulation for the channel as well as for the separate send out;
  • possibility to use two-way communications (incoming and outgoing SMS);
  • "blacklists" - lists of subscribers automatically excluded from send out;
  • intuitive wizard for creating and start up of bulk messages through WEB interface;
  • a full range of on-line reports:
    • graphics on each send out;
    • detailed statistics on sent messages;
    • final reports on the total amount and cost of the sent SMS, on the temporal distribution of SMS traffic and etc.;
    • financial statistics;
    • export of reports through WEB interface.

Solution reliability and productivity

The solution is based on WINGS industrial platform and is notable for its high productivity and false tolerance. The platform is built on SOA architecture and consists of independent agents (modules), which interact with each other through queues.

Such architecture enables:

  • To pipe messages: system module takes the message from incoming queue, handles it and puts it into outgoing queue and continues to handle the next message without waiting for the recipient.
  • To supports working efficiency of the whole system if one or several modules fail (the messages are kept in the module incoming queue and can be handled by other module samples);
  • To update and add system modules without interrupting the whole work of the system;
  • To scale the system by adding module samples for handling messages from one incoming queue;
  • To locate module samples on different servers.