Multiple SIP-registrations and leg-specific variables.
Got a situation where an extension has two phones registered, but my dialplan is a little too simplistic to handle: i.e my bridge string has something like this in it: [tenant_id=0024,b_ext=201,accept_mode=Direct,leg_timeout=15]${sofia_contact(0024312)}' But ${sofia_contact(0024312)} expands to "sofia/internal/sip:0024307@84.92.90.149:59031;transport=udp,sofia/internal/sip:0024307@37.157.38.162:51910" so the leg-specific parameters only affect the first registration. I suppose I could write something in Lua to work it all out properly, but it might be more elegant if there was something like this: [tenant_id=0024,b_ext=201,accept_mode=Direct,leg_timeout=15](${sofia_contact(0024312)}) Where the brackets mean to apply the [] parameters to anything that comes out of the expression. Is this available?!
FWIW, Here's my lua function function fixupMultiDest(dpDest) -- eg dpDest = "[leg_timeout=15,origination_caller_id_name=mystery caller]sofia/internal/sip:0024307@84.92.90.149:59031;transport=udp,sofia/internal/sip:0024307@37.157.38.162:51910" leg_params, leg_dest_list = dpDest:match("([^]]+)]([^]]+)") leg_params = leg_params.."]" result = "" for leg_dest in string.gmatch(leg_dest_list, '([^,]+)') do if leg_dest ~= "error/user_not_registered" then if result~="" then result=result.."," end result = result..leg_params..leg_dest end end -- eg result = "[leg_timeout=15,origination_caller_id_name=mystery caller]sofia/internal/sip:0024307@84.92.90.149:59031;transport=udp,[leg_timeout=15,origination_caller_id_name=mystery caller]sofia/internal/sip:0024307@37.157.38.162:51910" return result end
You just need { instead of [ See: http://wiki.freeswitch.org/wiki/Channel_Variables#Channel_Variables_in_Dial_... There's three options: < { [ -Avi On Tue, Jun 17, 2014 at 11:00 AM, Alex Lake <alex@digitalmail.com> wrote:
Got a situation where an extension has two phones registered, but my dialplan is a little too simplistic to handle:
i.e my bridge string has something like this in it:
[tenant_id=0024,b_ext=201,accept_mode=Direct,leg_timeout=15]${sofia_contact(0024312)}'
But ${sofia_contact(0024312)} expands to "sofia/internal/sip:0024307@84.92.90.149:59031 ;transport=udp,sofia/internal/sip:0024307@37.157.38.162:51910"
so the leg-specific parameters only affect the first registration.
I suppose I could write something in Lua to work it all out properly, but it might be more elegant if there was something like this:
[tenant_id=0024,b_ext=201,accept_mode=Direct,leg_timeout=15](${sofia_contact(0024312)})
Where the brackets mean to apply the [] parameters to anything that comes out of the expression.
Is this available?!
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Thanks, but that's not going to do what I need. My example wasn't clear on that at all! Let me try again... i.e my bridge string has something like this in it: {you_are_tenant=0024}[you_are_ext=312,leg_timeout=15]${sofia_contact(0024312)}, [you_are_ext=313,leg_timeout=20]${sofia_contact(0024313)}, [you_are_ext=314,leg_timeout=25]${sofia_contact(0024314)} We have two classes of channel variable here: {} eg you_are_tenant - which applies to ALL outbound legs [] eg you_are_ext - which applies individually to each user login on a particular extension If 312 has more than one SIP phone logged in, the expansion is to {you_are_tenant=0024}[you_are_ext=312,leg_timeout=15]<312handset_1>,<312handset_2> [you_are_ext=313,leg_timeout=20]<313handset_1>, [you_are_ext=314,leg_timeout=25]<314handset_1> And the leg_timeout on the call to <312handset_2> will be the default. Is that better?! BTW, this is somewhat academic now!
You just need { instead of [
See: http://wiki.freeswitch.org/wiki/Channel_Variables#Channel_Variables_in_Dial_...
There's three options: < { [
-Avi
On Tue, Jun 17, 2014 at 11:00 AM, Alex Lake <alex@digitalmail.com <mailto:alex@digitalmail.com>> wrote:
Got a situation where an extension has two phones registered, but my dialplan is a little too simplistic to handle:
i.e my bridge string has something like this in it:
[tenant_id=0024,b_ext=201,accept_mode=Direct,leg_timeout=15]${sofia_contact(0024312)}'
But ${sofia_contact(0024312)} expands to "sofia/internal/sip:0024307@84.92.90.149:59031;transport=udp,sofia/internal/sip:0024307@37.157.38.162:51910 <http://sip:0024307@37.157.38.162:51910>"
so the leg-specific parameters only affect the first registration.
I suppose I could write something in Lua to work it all out properly, but it might be more elegant if there was something like this:
[tenant_id=0024,b_ext=201,accept_mode=Direct,leg_timeout=15](${sofia_contact(0024312)})
Where the brackets mean to apply the [] parameters to anything that comes out of the expression.
Is this available?!
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
No virus found in this message. Checked by AVG - www.avg.com <http://www.avg.com> Version: 2014.0.4570 / Virus Database: 3972/7698 - Release Date: 06/18/14
participants (2)
-
Alex Lake
-
Avi Marcus