Query: I have multiple asterisk server using realtime database for Queue and SIP Peers separatly. I am thinking to centralised the realtime database for evey server using the table tables. Can one please suggest what could be some pitfalls and problem could occure in production?
Concern: I am setting up the realtime centralised database between two servers.
Location of DB server: Canada
Location of Asterisk Server1 : Canada
Location of Asterisk Server2: France
Asterisk Server1 and DB server are able connect successfully and running perfectly.
But when I am connecting Server2 and DB Server. The odbc connection(res_odbc) and mysql(res_config_mysql) both are connected but when I run commond “queue show” the result never get showed up in the asterisk cli and after 1 minute the asterisk gets crashed. But If I run “queue show any_queue_name” the queue does get showed up but with a bit delay. My guessed problem could be latancy.
You really really really don’t want to connect to non-local database servers. Latency and ANY network or problems between your Asterisk and the database server will result in problems. Many operations will block waiting on that remote database, which can then block other things (such as calls).
What do you by local and non-local? Do you mean by local is loopback address(localhost) or within same network like two servers in same location of a datacenter?
Ideally as local as possible. Think of it this way - every point of failure you add, every point of latency, decreases how resilient your phone system is. Without a database then Asterisk is your point of failure, add a database and now you have two critical points of failure.
Hi! I installed the server for realtime DB latancy below 1 ms and it’s working great now. I am using Master to Master Mysql Replication to have multiple server for high availabity. It’s working really great.
Thanks Joshua and David! You guys are superheroes of Asterisk World.