Does AddQueueMember use Realtime? [Asterisk-11.1]


I have been deploying an Asterisk cluster (active-passive) with Realtime Database. In case server 1 fails, server 2 would take control.

When I use AddQueueMember or RemoveQueueMember “queue_members” table does not get updated. So when server-1 is taken down and server-2 starts, server-2 shows no members logged in.

Is it the expected behaviour?

Is there any chanve that server-2 knows what Members are logged in at startup?


Are you saving the data in a DB? If so, when the second server startup load that values?

Yes, I can insert data into the DB, but members log-in and log-out dinamically. There are no static members. :frowning:

Should I insert all possible members and Asterisk will handle them correctly if there are members not registered?

If not, is there any way to save that data and retrieve it from a second Asterisk server?

If I recall the dynamic agents are stored in the astdb, so you can share the astdb between your cluster nodes and take the info from there.

Yu can confirm if the agents are in astdb running: database show from cli and check for your agents.

OK, I understand now the queue_member Realtime.

I have to add all possible members to queue_member’s table. It doesn’t mean they are members activated forever because Asterisk handles their state in real-time (inuse, unvailable, etc.).

But, if a user logs off from queue but wants to keep registered “RemoveQueueMember()” does not remove him from queue_member.

Do I need to use func_odbc to access directly to the queue_member’s table instead of “Add/RemoveQueueMember()”?