[asterisk-dev] Queue realtime and members ordering
Leandro Dardini
ldardini at gmail.com
Mon Feb 9 16:17:10 CST 2015
I am back to try to fight with the problem highlighted few years ago
https://issues.asterisk.org/jira/browse/ASTERISK-18480
In short, when using realtime queue members, it is impossible to use
ordered ringing method because it is impossible to define the ordering of
agents and the alphabetical ordering is used.
I side stepped the problem by using custom member name like Local/AG-000-56
and Local/AG-001-23 and so on to make agent 56 to be ring before agent 23.
Unfortunately this solution has the nasty problem of letting wrapuptime to
not work across multiple queues when using the shared_lastcall. Member 56
can be Local/AG-000-56 in one queue and Local/AG-002-56 in another queue.
A solution can be to change the way ast_load_realtime_multientry works, by
providing the ordering field, maybe adding a second SENTINEL item defining
it, so in
find_load_queue_rt_friendly(const char *queuename)
instead of
member_config = ast_load_realtime_multientry("queue_members", "interface
LIKE", "%", "queue_name", queuename, SENTINEL);
we can use something like
member_config = ast_load_realtime_multientry("queue_members", "interface
LIKE", "%", "queue_name", queuename, SENTINEL, member_order, SENTINEL);
with member_order to contain the ordering of the members
obviously all functions and subsequent structures need to be changed to
accept the new format
Do you think it is doable? will such change be accepted? do you think there
can be a better way?
Leandro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150209/48465a4a/attachment.html>
More information about the asterisk-dev
mailing list