[asterisk-bugs] [JIRA] (ASTERISK-17366) [patch] Skill routing

Sylvain Boily (JIRA) noreply at issues.asterisk.org
Tue Apr 30 15:36:48 CDT 2019


    [ https://issues.asterisk.org/jira/browse/ASTERISK-17366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=247056#comment-247056 ] 

Sylvain Boily commented on ASTERISK-17366:
------------------------------------------

I think this discussion need to be on asterisk dev mailing list. We discussed about this patch at this astridevcon 2011, asterisk developers said, this patch is to huge and we don't want to add new big features on asterisk app_queue. So, i don't know if asterisk developers have changed idea about this philosophy but it seems the futur for the asterisk app_queue, it's better to create a new application with ARI.
To include in asterisk someone need to create a gerrit entry with the patch and probably test, review, doc etc...

> [patch] Skill routing
> ---------------------
>
>                 Key: ASTERISK-17366
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-17366
>             Project: Asterisk
>          Issue Type: New Feature
>          Components: Applications/app_queue
>            Reporter: Romain Bignon
>              Labels: patch
>         Attachments: 0001-ADD-initial-try-to-add-queue-skills.patch, asterisk.queue.skills.20110330.patch, asterisk.queue.skills.patch
>
>
> This patch introduces the skills for queue members, and the ability to route calls by skill rules.
> ****** ADDITIONAL INFORMATION ******
> Two new configuration files are created:
> — queueskills.conf, which defines skills groups. Every members can be associated to a skills group. All skills are a string with a weight (an integer value)
> — queueskillrules.conf defines rules sets.
> The Queue() app can get a new parameter, the skill ruleset to use to route this call.
> A ruleset groups several rules, which are compound by two parts. The first one is the condition to test this rule. If it fails, it jumps to the next one.
> When a caller enters in the queue with a ruleset, the first rule is run. It evaluates the first part to know if we run it. For example, if the condition is that this rule may be evaluated the first 60 seconds, the selected members will be selected by this rule. If the caller waits more than 60 seconds, it jumps to the next rule.
> To select members, the second part of a rule is an expression with logical operators ('&', '|'), arithmetical operators ('=', '<', '>', etc.), skills variables and meta variables. It is evaluated against every members.
> A skills variable is an alphanumerical name which has the value of the skill weight.
> A meta variable starts with a '$', and and used to substitute them with values given on the Queue() call.
> For example, a rule “WT < 60, technic & ($os > 29 | english > 39)” is evaluated only the first 60 seconds. $os is replaced by the value given to Queue() (determined by the caller number or a voice menu, for example). Then, only members with the 'technic' skill, and the given os skill (for example 'linux') with a weight > 29, or with an 'english' skill > 39, will be selected.
> To get more information with rules, please read configs/queueskillrules.conf.sample.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list