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