[asterisk-users] Fwd: add a new queue strategy: SBR

nik600 nik600 at gmail.com
Sun Apr 5 14:30:20 CDT 2009


Thanks, this is interesting.

I'm still looking with a customer on a possible implementation of sbr,
this is my proposal:


Example of skill.conf

[default]

;
; STATIC OR DYNAMIC DEFINITION
;
;skillpath=/etc/asterisk/skills.xml
skillpath=http://x.x.x.x/skillgenerator.php

; STATIC DEFINITION
[SIP/200]
sbr_theme=zzzz,1
sbr_theme=xxxx,1

[SIP/201]
sbr_theme=yyyy,1
sbr_theme=xxxx,1


*****************
Example of XML file located in /etc/asterisk/skills.xml / or generated
by http://x.x.x.x/skillgenerator.php

<skills>
	<member interface="default">
		<skill theme="zzzzz">1</skill>
		<skill theme="yyyyy">2</skill>
	</member>
	<member interface="SIP/200">
		<skill theme="zzzzz">2</skill>
		<skill theme="yyyyy">1</skill>
	</member>
	<member interface="SIP/300">
		<skill theme="yyyyy">1</skill>
		<skill theme="xxxxx">2</skill>
	</member>
</skills>

*************

you can set some variables in the channel before to queue it:

QUEUE_SBR_THEME_zzzzz
QUEUE_SBR_THEME_yyyyy
QUEUE_SBR_THEME_xxxxx

you can also set in queues.conf the theme for each queue

[queueA]
sbr_theme=zzzzz
sbr_theme=yyyyy
sbr_theme=xxxxx


On Sun, Apr 5, 2009 at 3:57 PM, Florian Hackenberger
<f.hackenberger at chello.at> wrote:
> On Sunday 08 March 2009 17:11:33 nik600 wrote:
>> Hi to all isn't there any plan to add the Skills Based Routing
>> strategy in queues.conf?
>>
>> I think that it will be enough to add an int skill to the struct
>> member and then order the member by skill desc.
>>
>> Is it enough to add this type of strategy in calc_metric in app_queue.c ?
>
> Hi!
>
> I have written a patch implementing skill based routing for asterisk 1.4.17
> (can be ported to later versions quite easily). It works like this:
>
> You define a database table which stores the skills:
> columns: membername, skillname, skill_level
>
> You set the strategy to skill based and set a variable for each incoming call
> which specifies which skills to take into account, the weight of the skill
> and the minimum level (optional).
>
> When selecting agents to ring, asterisk picks the agents according to
> the highest value of weighted skills (skill level multiplied by skill weight
> for all skills taken into account for that particular call). If an agent does
> not satisfy the minimum, this agent does not ring at all. You can for example
> use the minimum to make sure only agents speaking a particular language get a
> call which requires that language.
>
> The implementation is finished and we are currently testing it. Unfortunately
> I'm quite busy at the moment and it may take about 2 months before I can take
> the time to release the code. Unless someone hires me as a consultant to work
> on it.
>
> Cheers,
>        Florian
>
> --
> DI Florian Hackenberger
> florian at hackenberger.at
> www.hackenberger.at
>



-- 
/*************/
nik600
http://www.kumbe.it



More information about the asterisk-users mailing list