[Freeswitch-users] Persistence BLFs (or: Dear PBX please remember the BLF state)

Patrick Plattes patrick.plattes at niemann-frey.info
Thu Jan 27 21:32:35 MSK 2011


Hi,

if've pcaps and videos to show you our problem.
http://kwixo.de/fs

Thank you,
 Patrick.

2011/1/27 Michael Collins <msc at freeswitch.org>:
> Could you humor us and get sip traces of the blf working on a reboot w/
> asterisk and not working with freeswitch? Put them in
> pastebin.freeswitch.org and drop the link in this thread.
> Thanks,
> MC
>
> On Wed, Jan 26, 2011 at 12:33 AM, Patrick Plattes
> <patrick.plattes at niemann-frey.info> wrote:
>>
>> Hi List :-),
>>
>> I'm currently switching from Asterisk to FreeSWITCH. It's really hard
>> work for an Asterisk user, but using Asterisk becomes more and more
>> painful even for small installations (less than 100 sip users). I know
>> FreeSWITCH is not a drop-in replacement for the Asterisk PBX, but I
>> don't want to change the behaviour of the PBX for the users.
>>
>> It's a preconception in Germany that the American people like
>> (especially for the X-mas time) kitsch. Everyone here know the
>> American houses with a hole bunch of blinking lights. But those
>> decorated hoses are nothing against our offices! Our phones have up to
>> 136 lights (BLFs). You often have to wear sunglasses at the office ;-)
>>
>> A typical usage of BLFs is to check if an agent is a member of the
>> queue. I've build a simple extension to add and delete a member. I can
>> user "presence in" and "presence out" to enable or disable the BLF,
>> but there is one big issue. After a reboot of the phone the the user
>> is still a member of the queue, but the BLF is off. We are using hints
>> at Asterisk to show the user if he is a member and it works even after
>> a reboot - with "presence" at FreeSWITCH it works (of cause) not. Does
>> anyone have an idea how to implement it?
>>
>> My current extension is just for testing and so I use mod_fifo. It
>> shouldn't be a problem to use mod_callcenter. The phone calls
>> "queue-the_name_of_the_queue-the_name_of_the_user at pbxdomain" eg.
>> "queue-sales_de-1000 at freeswitch.cust"
>>
>> So how implement BLF persistence?
>>
>> Thanks,
>>  Patrick
>>
>>
>> Colourized version: http://pastebin.com/ufJ7U930
>>
>>
>>
>> <extension name="Queue Management">
>>
>>  <condition field="destination_number"
>> expression="^queue-(\w+)-(\d+)$" break="on-false">
>>   <action application="set"
>> data="queue_name=${regex(${destination_number}|^queue-(\w+)-(\d+)$|$1)}"
>> inline="true"/>
>>   <action application="set"
>> data="queue_user=${regex(${destination_number}|^queue-(\w+)-(\d+)$|$2)}"
>> inline="true"/>
>>  </condition>
>>
>>  <condition field="${fifo(list ${queue_name}@${domain_name})}"
>> expression="${queue_user}">
>>   <action application="answer"/>
>>   <action application="set" data="result=${fifo_member(del
>> ${queue_name}@${domain_name}
>> {fifo_member_wait=nowait}user/${queue_user} )}"/>
>>   <action application="log" data="INFO Delete FIFO agent result:
>> ${result}"/>
>>   <action application="log" data="INFO User Logout: ${user_name}"/>
>>   <action application="sleep" data="600"/>
>>   <action application="playback"
>> data="ivr/ivr-you_are_now_logged_out.wav"/>
>>   <action application="set" data="result=${presence(out
>> queue-${queue_name}-${queue_user}@${domain_name} inuse inuse)}"/>
>>   <action application="log" data="INFO Presence OUT ${result}"/>
>>   <action application="hangup"/>
>>
>>   <anti-action application="answer"/>
>>   <anti-action application="set" data="result=${fifo_member(add
>> ${queue_name}@${domain_name}
>> {fifo_member_wait=nowait}user/${queue_user} )}"/>
>>   <anti-action application="log" data="INFO Add FIFO agent result:
>> ${result}"/>
>>   <anti-action application="log" data="INFO User Login: ${user_name}"/>
>>   <anti-action application="sleep" data="600"/>
>>   <anti-action application="playback"
>> data="ivr/ivr-you_are_now_logged_in.wav"/>
>>   <anti-action application="set" data="result=${presence(in
>> queue-${queue_name}-${queue_user}@${domain_name} inuse inuse)}"/>
>>   <anti-action application="log" data="INFO Presence IN ${result}"/>
>>   <anti-action application="hangup"/>
>>  </condition>
>> </extension>
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>



-- 
Patrick Plattes
IT - Projektleiter

Niemann + Frey GmbH
Adolf-Dembach-Str. 24
47829 Krefeld

Tel.: +49/2151 - 5554-263
Fax : +49/2151 - 5554-123
patrick.plattes at niemann-frey.info

Geschäftsführer: Gerd Frey
Sitz und Registergericht: Krefeld HRB 10851

www.niemann-frey.de



More information about the FreeSWITCH-users mailing list