27.06.2017
Today, our servers were updated with the software part of the SMPP server, which could cause short-term communication interruptions during the day, caused by several restarts of the new program to perform the last stage of testing and configuration under heavy load.
The new SMPP server has been completely rewritten by our programmers in C to meet the current service requirements that have increased over several years, optimized for speed as much as possible, and updated with the necessary functionality. The speed of processing requests in the new SMPP server is more than 10 thousand per second on a single physical server.
Important changes:
— Implemented a mechanism for controlling the speed of sending messages per second for each client, generating an error of exceeding the speed (throttling). When this error is received, the SMPP-standard client must repeat the sending, reducing the overall speed on its side. By default, the speed is set to 100 SMS / sec for each account. To change the maximum allowed speed, you need to send a request to the service support service.
— Improved the mechanism for transmitting delivery statuses (DLR). The waiting queue for statuses when the connection to the SMPP server is disconnected has been increased to 1 million statuses for each account with a waiting period of one day. Now you can set the size of the window for transmitting statuses by account (by default, 5) in the settings, which affects the speed of sending statuses. The overall speed of processing statuses is also significantly increased.
— Added priorities to the transmission of statuses — now the delivery statuses of higher-priority transactional messages will be given to clients earlier than the statuses for advertising and mass messages. Thus, unlike the old server, the statuses of single messages will not be placed in the client's queue after the statuses of a previously sent mass mailing from the same account, but will be transmitted to it as quickly as possible.
— The transmission of TLV fields with additional information about messages has been added to the final delivery statuses. In the TLV with the code 0x2000, a string with the value of the message in the format "n.nnnn"is passed. In the TLV with the code 0x2001, a flag is passed in the form of a 2-byte number with the message type and the template message attribute (bit 0x100). More detailed information on TLV fields will be added to the API section soon.
— The idle interval is reduced from 5 minutes to 2. During this time, the client must send a message or execute an empty enquire_link command, otherwise the connection will be terminated due to inactivity. If earlier in your settings the timeout was more than 2 minutes, then now you need to change this setting so that there are no communication interruptions.
— Added locks for frequent authorization errors or for incorrect command format.
This SMPP server was developed during this year and has been tested for the last 2 months on serving the traffic of some clients who have agreed to this. Testing showed full readiness and stability of the new server, in addition, after switching all clients, the latest problems related to the feature of sending messages by some clients were eliminated.
In the next few days, if necessary, there may be rare restarts with short-term disconnection, which should not affect the sending of messages and the transmission of statuses. Please report any problems you find when sending messages to our support service.
all news