Thanks a million for your answer, now knowing we can use MultiSIM, we'll try to get High Availability through these means:
- 2 SIMs with the same number, incoming SMS go to both of them
- 2 USB 3G adapters
- 2 SMPP gateways + 2 SMPP connectors
- 2 mirrored SQL Server databases (main + replica)
- 2 physical servers with Diafaan SMS Server (both point to the same database) in 2 different locations
- Lock database option of each SQL Connector to lock the database table for reading when a message poll is in process
- Main database and replica database referenced in the connection strings of each Diafaan SMS Server
- Deduplication triggers on insert
I'll keep you informed of our findings regarding this subject.
Regards from Spain,
a) Diafaan SMS Server does not really use information of the SIM card to send and receive SMS messages. It simply uses the AT command interface of the GSM modems. If the SIM cards of two modems have the same number and both receive the same SMS message then Diafaan SMS Server will treat them as two different messages with the same message details.
b) If you want to prevent duplicate messages in this scenario then you have to filter them from the database with a trigger or with a separate script, Diafaan SMS Server does not have the functionality to filter duplicate messages. Even if a message is received two times by a GSM modem, for instance when the remove command to the modem fails, it will err on the side of caution and regard them as two separate messages.
c) I am no database expert and I am unfortunately not able to recommend the best database strategy and connections strings for a High Availability set up.
d) Diafaan SMS Server does not have any built-in High Availability functionality over multiple installations, it only has fail over functionality if one or more gateways fail, for instance when a GSM modem stops working. That means that you have to rely on the functionality of the operating system and database to set up a HA system over multiple servers.
In our effort to achieve high availability for our SMS platform, we would like to know if the use of what our operator calls MultiSIM, this is, having several SIM cards with just the same number, is supported on Diafaan SMS Server. We think the SIM adapters should have just the same number in order to have a single input channel (phone number) from the users point of view, but 2 real simultaneous input channels (they all would receive each SMS sent to the unique given number).
Our way of achieving high availability would be through the use of two simultaneous parallel SMS input channels located in two Diafaan Server instances residing on physically distant servers, each one located in a different secure site. Each one of them would have a 3G adapter with 1 SIM + 1 SMPP gateway + 1 SMPP connector to use the other server as a backup route for sending messages in case it fails to send on its primary GSM gateway.
They both would also be connected to the same database, located in the first secure site and synchronously replicated to the second secure site, with automatic failover in case of disaster to assure business continuity. The SQL Connectors of two installations of Diafaan SMS Server would use the same database table to retrieve the messages from, and would make use of the lock database option of the SQL Connector to lock the database table for reading when a message poll is in process to prevent that multiple processes retrieve the same records.
My questions are as follows:
a) Is this MultiSIM configuration supported?
b) Should I take additional measures (deduplication triggers on insert, for example) in order to avoid the duplicated processing of incoming messages coming through the 2 SIM cards?
c) Should the connection string of the SQL Connector be modified to indicate the Failover Partner?
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=True
Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;Initial Catalog=myDataBase;Integrated Security=True
d) Any other consideration or recommendation for our high availability solution we should take into account?
Thanks a million for your support.
Most Users Ever Online: 494
Currently Browsing this Page:
Guest Posters: 574
Newest Members:, Henk Helmantel
Administrators: Henk Helmantel: 1186