<DIV>I made a post a few days ago with a patch to the queue to allow you to insert </DIV>
<DIV>a penalty value in dynamic queue adding.</DIV>
<DIV> </DIV>
<DIV><A href="http://asterisk.650dialup.com">http://asterisk.650dialup.com</A></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>Since then, I decided I would make a whole new strategy called 'skillbased'</DIV>
<DIV> </DIV>
<DIV>I added a new option skillmask to the Queue appl and the </DIV>
<DIV>AddQueueMember func as well as the queues.conf</DIV>
<DIV> </DIV>
<DIV>basicly if the skillmask of the queuemember is & (bitwise anded) against the mask</DIV>
<DIV>of the call on the queue If they match then you can take the call and it boils down to </DIV>
<DIV>the penalty value (ringall) if not you are not even considered for the call.</DIV>
<DIV> </DIV>
<DIV>I used long as the variable so you can get a good deal of bits in a mask (int can have 32)</DIV>
<DIV> </DIV>
<DIV>For anyone not familiar with this concept see unix chmod that uses an octal </DIV>
<DIV>and the bits 1,2,4 </DIV>
<DIV> </DIV>
<DIV>For the queue skillmask just keep multing the number by 2 </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>1 = sales </DIV>
<DIV>2 = tech level 1 </DIV>
<DIV>4 = tech level 2</DIV>
<DIV>8 = tech level 3</DIV>
<DIV>16 = advanced problems </DIV>
<DIV>32 = coperate</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>to allow a queue member to be allowed to take the call just add up </DIV>
<DIV>all the numbers that go with his skills and set that as his skillmask</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>to set the call just use prompts to caculate what kind of call it is </DIV>
<DIV>and feed that skill bit to the Queue </DIV>
<DIV>exten => 1,1,Queue,skillqueue||1 ; 1 is for sales skill</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV><p><hr SIZE=1>
Do you Yahoo!?<br>
<a href="http://shopping.yahoo.com/?__yltc=s%3A150000443%2Cd%3A22708228%2Cslk%3Atext%2Csec%3Amail">The New Yahoo! Shopping</a> - with improved product search