Summary: | ASTERISK-14159: [patch] Refactor queue member properties and add functions to retrieve/modify them | ||
Reporter: | Atis Lezdins (atis) | Labels: | |
Date Opened: | 2009-05-18 18:32:51 | Date Closed: | 2017-12-12 21:20:05.000-0600 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_queue |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) queue_member_field_refactoring_pmw_v1.patch ( 1) queue_member_field_refactoring_v1.patch ( 2) queue_member_fields_pmw_v2.patch | |
Description: | I'm trying to add QUEUE_MEMBER function which would allow to read/write fields of member like penalty/calls/paused/lastcall/wrapuptime Also there's refactoring for all kinds of access (dialplan functions/AMI/CLI) to use the same mechanisms and update logics, allowing to set +/- values relative to current value. This is work-in-progress, there are some TODO's left in patch, and some more refactoring has to be done. I'm sharing this with eliel, as he is currently adding per-member-wrapuptime which is a really good candidate for using the same structure. | ||
Comments: | By: Eliel Sardanons (eliel) 2009-05-19 15:11:37 In your patch you remove the QUEUE_MEMBER_COUNT function if I am not wrong, that is not possible, we need backward compatibility, we do not remove those apps/funs anymore. By: Atis Lezdins (atis) 2009-05-19 16:06:54 Not really. QUEUE_MEMBER_COUNT was an obsoleted function in 1.4 replaced by QUEUE_MEMBER. However, now the name QUEUE_MEMBER is much more suited for manipulating actual members, so I rename QUEUE_MEMBER to QUEUE_MEMBER_COUNT, while still supporting "count" functionality in QUEUE_MEMBER, but deprecating use of it. I'll try to provide more complete documentation in UPGRADE.txt when all those changes are done By: Atis Lezdins (atis) 2009-05-19 19:00:17 Actually, another diff-check revealed that You're partially right. So, I just have to add default behavour of QUEUE_MEMBER_COUNT to be the old QUEUE_MEMBER_COUNT. By: Atis Lezdins (atis) 2009-05-19 19:48:55 Ok, another patch comes here. Added missing backward compatibility for QUEUE_MEMBER(count|free|logged), as well as some comments for myself and few for eliel's code. By: Atis Lezdins (atis) 2009-05-21 11:06:10 Some idea of new feature based on this and per-member-wrapuptime (18:52:18) philippel: if you have A and B with penalty 1, and C with penalty 2, the normal behavior is never try C if A or B are available, and not answering the phone is considered available. This is proper for standard call centers, agents shoudl always answer or be busy talking (18:52:44) philippel: however, there are many situaitons where you may want to change the behavior and say if A or B don't answer there phone, then it shoudl go to C (18:52:51) atis_work: you could tweak it with wrapuptime (18:53:01) philippel: how (18:53:36) philippel: from what I understand and have played with, it wil never escllate up to C if A and B can be run unless both are busy (18:53:41) atis_work: well, if wrapuptime is high enough, A missing call will get lastcall set to current time, and then wrapuptime kicks in (18:54:04) atis_work: also, there's feature in development, that will allow to change wrapuptime temporarily for agent (18:54:35) atis_work: so, when you get NOANSWER in dialplan, you just set wrapuptime for next call to 1 minute, and let ring other agents (18:54:48) atis_work: or 5 minutes - depending on count of agents (18:54:48) (hesco ir pametis šo istabuquit: Read error: 104 (Connection reset by peer)). (18:55:27) philippel: atis_work interesting approach, doens't wrapupttime only apply if they answered the call though? (18:55:51) atis_work: well.. i'm confident to change that :D (18:56:17) atis_work: actually - wrapuptime applys always based on lastcall (18:56:42) atis_work: so, i'm thinking of letting user to update lastcall upon missed call (optionally) (18:56:56) atis_work: so, wrapuptime gets added - and agent still can't be called (18:57:26) atis_work: but yeah, that's quite complex system.. not for easy enable-and-works (18:57:53) atis_work: or few custom settings could be created based on this mechanism (18:58:02) atis_work: putnopvut: are you reading? :) (18:59:16) philippel: atis_work well there are various ways to get the starts and moons to line up that may get thigns working, but it would be really nice to find a way to get penalties to work as described, ideally on a per queue basis but on an all or nothing basis woudl be quite acceptable as well (e.g. in general, usepenaltyonnoanswer=yes, somethign like that) By: Corey Farrell (coreyfarrell) 2017-12-12 21:20:05.934-0600 Suspended due to lack of activity. If you wish to resume work on this issue you can post a comment to reopen. |