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

Anthony Minessale anthony.minessale at gmail.com
Thu Jan 27 22:33:55 MSK 2011


try setting the variable presence_id to the blf entity you are
subscribing to (include the domain)


On Thu, Jan 27, 2011 at 12:32 PM, Patrick Plattes
<patrick.plattes at niemann-frey.info> wrote:
> 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
>
> _______________________________________________
> 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
>



-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
googletalk:conf+888 at conference.freeswitch.org
pstn:+19193869900



More information about the FreeSWITCH-users mailing list