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

Florian Hackenberger f.hackenberger at chello.at
Mon Apr 6 03:02:50 CDT 2009


Implementing support for configuration of skills using an XML file would 
require rewriting one function. Adding the skill selections as an 
option of the queue would require a few lines of code. Apart from that 
your proposal pretty much matches my implementation.

Cheers,
	Florian

On Sunday 05 April 2009, nik600 wrote:
> 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



-- 
DI Florian Hackenberger
florian at hackenberger.at
www.hackenberger.at



More information about the asterisk-users mailing list