how to avoid many "|" in bridge application?
Nowdays I 'm forced to put multiple "|" to find first free gateway, ie sofia/gateway/panas111/1000|sofia/gateway/panas112/1000|sofia/gateway/panas113/1000 , the whole sting is tooo long, is there any shorter way to write same thing? Like "sofia/gateway/panas*/1000" will try all gateways matching the pattern.
Max, I would like to see something similar too. For example, it would be wonderful if one could specify multiple gateways to try like this or something similar: <action application="bridge"> <!-- set some kind of *bridge-specific* parameter/variable --> <gateway order=1 data="sofia/gateway/gw-1/1$1"/> <gateway order=1 data="sofia/gateway/gw-2/1$1"/> <gateway order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *gw-specific* parameter/variable --> </gateway> <gateway order=3 data="sofia/gateway/gw-4/1$1"/> </action> One would be able to avoid the "[]" and "{}" hacks and combine sequential and simultaneous trying of gateways. What do the developers think of this? Carlos Max Ivanov wrote:
Nowdays I 'm forced to put multiple "|" to find first free gateway, ie sofia/gateway/panas111/1000|sofia/gateway/panas112/1000|sofia/gateway/panas113/1000 , the whole sting is tooo long, is there any shorter way to write same thing? Like "sofia/gateway/panas*/1000" will try all gateways matching the pattern.
_______________________________________________ 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
Take a look at http://jira.freeswitch.org/browse/FSCORE-422. This a feature request I submitted. This problem it solves is different - but the solution is the same. Perhaps you add your take to the comments there. On Tue, Aug 25, 2009 at 10:06 AM, Carlos S. Antunes<csa@nowthor.com> wrote:
Max,
I would like to see something similar too. For example, it would be wonderful if one could specify multiple gateways to try like this or something similar:
<action application="bridge"> <!-- set some kind of *bridge-specific* parameter/variable --> <gateway order=1 data="sofia/gateway/gw-1/1$1"/> <gateway order=1 data="sofia/gateway/gw-2/1$1"/> <gateway order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *gw-specific* parameter/variable --> </gateway> <gateway order=3 data="sofia/gateway/gw-4/1$1"/> </action>
One would be able to avoid the "[]" and "{}" hacks and combine sequential and simultaneous trying of gateways.
What do the developers think of this?
Carlos
Max Ivanov wrote:
Nowdays I 'm forced to put multiple "|" to find first free gateway, ie sofia/gateway/panas111/1000|sofia/gateway/panas112/1000|sofia/gateway/panas113/1000 , the whole sting is tooo long, is there any shorter way to write same thing? Like "sofia/gateway/panas*/1000" will try all gateways matching the pattern.
_______________________________________________ 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
_______________________________________________ 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
This suggestion violates the scope boundaries. gateways are specific concept to mod_sofia so a <gateway> tag in <action> (part of agnostic xml dialplan) does not flow properly. you can also use combinations of continue_on_fail and hangup_after bridge so you can just put each bridge statement in it's own action. On Tue, Aug 25, 2009 at 9:06 AM, Carlos S. Antunes <csa@nowthor.com> wrote:
Max,
I would like to see something similar too. For example, it would be wonderful if one could specify multiple gateways to try like this or something similar:
<action application="bridge"> <!-- set some kind of *bridge-specific* parameter/variable --> <gateway order=1 data="sofia/gateway/gw-1/1$1"/> <gateway order=1 data="sofia/gateway/gw-2/1$1"/> <gateway order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *gw-specific* parameter/variable --> </gateway> <gateway order=3 data="sofia/gateway/gw-4/1$1"/> </action>
One would be able to avoid the "[]" and "{}" hacks and combine sequential and simultaneous trying of gateways.
What do the developers think of this?
Carlos
Max Ivanov wrote:
Nowdays I 'm forced to put multiple "|" to find first free gateway, ie
sofia/gateway/panas111/1000|sofia/gateway/panas112/1000|sofia/gateway/panas113/1000
, the whole sting is tooo long, is there any shorter way to write same thing? Like "sofia/gateway/panas*/1000" will try all gateways matching the pattern.
_______________________________________________ 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
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Anthony, Yes, you are right, I was thinking strictly in terms of SIP gateways. I guess that instead on the tag "gateway", one could use "channel"? For example: <action application="bridge"> <!-- set some kind of *bridge-specific* variable --> <channel order=1 data="sofia/gateway/gw-1/1$1"/> <channel order=1 data="sofia/gateway/gw-2/1$1"/> <channel order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *channel-specific* variable --> </channel > <channel order=3 data="sofia/gateway/gw-4/1$1"/> </action> Would this be acceptable to you? Regarding the combinations of continue_on_fail and hangup_after bridge, I'll give that a try although I suspect it will result in less structured and harder to understand markup... Thanks! Carlos Anthony Minessale wrote:
This suggestion violates the scope boundaries.
gateways are specific concept to mod_sofia so a <gateway> tag in <action> (part of agnostic xml dialplan) does not flow properly.
you can also use combinations of continue_on_fail and hangup_after bridge so you can just put each bridge statement in it's own action.
On Tue, Aug 25, 2009 at 9:06 AM, Carlos S. Antunes <csa@nowthor.com <mailto:csa@nowthor.com>> wrote:
Max,
I would like to see something similar too. For example, it would be wonderful if one could specify multiple gateways to try like this or something similar:
<action application="bridge"> <!-- set some kind of *bridge-specific* parameter/variable --> <gateway order=1 data="sofia/gateway/gw-1/1$1"/> <gateway order=1 data="sofia/gateway/gw-2/1$1"/> <gateway order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *gw-specific* parameter/variable --> </gateway> <gateway order=3 data="sofia/gateway/gw-4/1$1"/> </action>
One would be able to avoid the "[]" and "{}" hacks and combine sequential and simultaneous trying of gateways.
What do the developers think of this?
Carlos
Max Ivanov wrote: > Nowdays I 'm forced to put multiple "|" to find first free gateway, ie > sofia/gateway/panas111/1000|sofia/gateway/panas112/1000|sofia/gateway/panas113/1000 > , > the whole sting is tooo long, is there any shorter way to write same thing? Like > "sofia/gateway/panas*/1000" will try all gateways matching the pattern. > > _______________________________________________ > 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 > >
_______________________________________________ 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
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <mailto:MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com <mailto:PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net <http://irc.freenode.net> #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <mailto:sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 <http://iax:guest@conference.freeswitch.org/888> googletalk:conf+888@conference.freeswitch.org <mailto:googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400 ------------------------------------------------------------------------
_______________________________________________ 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
That still wouldn¹t work... An action has 2 parameters application and data... And deeper then that and you have to start re-arranging all sorts of things... Continue_on_fail and hangup_after_bridge like tony pointed out are what you want if you don¹t want to use the | delimiting ... I use these all the time with gateway counts > 10 just stacking additional actions for each bridge line From: "Carlos S. Antunes" <csa@nowthor.com> Organization: Nowthor Corporation Reply-To: <freeswitch-users@lists.freeswitch.org> Date: Tue, 25 Aug 2009 22:50:08 -0400 To: <freeswitch-users@lists.freeswitch.org> Subject: Re: [Freeswitch-users] how to avoid many "|" in bridge application? Anthony, Yes, you are right, I was thinking strictly in terms of SIP gateways. I guess that instead on the tag "gateway", one could use "channel"? For example: <action application="bridge"> <!-- set some kind of *bridge-specific* variable --> <channel order=1 data="sofia/gateway/gw-1/1$1"/> <channel order=1 data="sofia/gateway/gw-2/1$1"/> <channel order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *channel-specific* variable --> </channel > <channel order=3 data="sofia/gateway/gw-4/1$1"/> </action> Would this be acceptable to you? Regarding the combinations of continue_on_fail and hangup_after bridge, I'll give that a try although I suspect it will result in less structured and harder to understand markup... Thanks! Carlos Anthony Minessale wrote:
This suggestion violates the scope boundaries.
gateways are specific concept to mod_sofia so a <gateway> tag in <action> (part of agnostic xml dialplan) does not flow properly.
you can also use combinations of continue_on_fail and hangup_after bridge so you can just put each bridge statement in it's own action.
On Tue, Aug 25, 2009 at 9:06 AM, Carlos S. Antunes <csa@nowthor.com> wrote:
Max,
I would like to see something similar too. For example, it would be wonderful if one could specify multiple gateways to try like this or something similar:
<action application="bridge"> <!-- set some kind of *bridge-specific* parameter/variable --> <gateway order=1 data="sofia/gateway/gw-1/1$1"/> <gateway order=1 data="sofia/gateway/gw-2/1$1"/> <gateway order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *gw-specific* parameter/variable --> </gateway> <gateway order=3 data="sofia/gateway/gw-4/1$1"/> </action>
One would be able to avoid the "[]" and "{}" hacks and combine sequential and simultaneous trying of gateways.
What do the developers think of this?
Carlos
Max Ivanov wrote:
Nowdays I 'm forced to put multiple "|" to find first free gateway, ie
sofia/gateway/panas111/1000|sofia/gateway/panas112/1000|sofia/gateway/panas1 13/1000
, the whole sting is tooo long, is there any shorter way to write same thing? Like "sofia/gateway/panas*/1000" will try all gateways matching the pattern.
_______________________________________________ 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
_______________________________________________ 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
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <mailto:MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com <mailto:PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net <http://irc.freenode.net> #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <mailto:sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 <http://iax:guest@conference.freeswitch.org/888> googletalk:conf+888@conference.freeswitch.org <mailto:googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ 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
_______________________________________________ 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
Continue_on_fail and hangup_after_bridge like tony pointed out are what you want if you don’t want to use the | delimiting ... I use these all the time with gateway counts > 10 just stacking additional actions for each bridge line
Let's imagine that I need to call 1000,1001,1002 via gw1,gw2,gw3 by choosing first available. How dialplan would look like? continue_on_fail=True hangup_after_bridge=True bridge gw1/1000 bridge gw1/1001 bridge gw1/1002 bridge gw2/1000 bridge gw2/1001 bridge gw2/1002 bridge gw3/1000 bridge gw3/1001 bridge gw3/1002 Is it easy to understand? From my point of view it's not. Compare to this: continue_on_fail=True hangup_after_bridge=True bridge ${get_avail_gw(gw1,gw2,gw3)}/1000 bridge ${get_avail_gw(gw1,gw2,gw3)}/1001 bridge ${get_avail_gw(gw1,gw2,gw3)}/1002
Hello Max, Don't improve that what's working well. ;) Wednesday, August 26, 2009 8:44:48 AM, you wrote:
Continue_on_fail and hangup_after_bridge like tony pointed out are what you want if you don’t want to use the | delimiting ... I use these all the time with gateway counts > 10 just stacking additional actions for each bridge line
MI> Let's imagine that I need to call 1000,1001,1002 via gw1,gw2,gw3 by MI> choosing first available. How dialplan would look like? MI> continue_on_fail=True MI> hangup_after_bridge=True MI> bridge gw1/1000 MI> bridge gw1/1001 MI> bridge gw1/1002 MI> bridge gw2/1000 MI> bridge gw2/1001 MI> bridge gw2/1002 MI> bridge gw3/1000 MI> bridge gw3/1001 MI> bridge gw3/1002 MI> Is it easy to understand? From my point of view it's not. Compare to this: MI> continue_on_fail=True MI> hangup_after_bridge=True MI> bridge ${get_avail_gw(gw1,gw2,gw3)}/1000 MI> bridge ${get_avail_gw(gw1,gw2,gw3)}/1001 MI> bridge ${get_avail_gw(gw1,gw2,gw3)}/1002 -- Mike Tkachuk
But how does get_avail_gw find out it's avail? It would have to try making the call so you would call over it to find out it's ok to call then pass that back up to bridge? You can try to hide the complexity but you still have to stash it somewhere. So if you don't like looking at it consider making a script or a C mod to hide it. Here's one cool way you can do with just regular dialplan. <extension name="gateways"> <condition field="destination_number" expression="gateway_macro"> <action application="set" data="continue_on_fail=true"/> <action application="set" data="hangup_after_bridge=true"/> <action application="bridge" data="sofia/gateway/gw1/${dialed_number}"/> <action application="bridge" data="sofia/gateway/gw2/${dialed_number}"/> <action application="bridge" data="sofia/gateway/gw3/${dialed_number}"/> <action application="bridge" data="sofia/gateway/gw4/${dialed_number}"/> <action application="bridge" data="sofia/gateway/gw5/${dialed_number}"/> </condition> </extension> <extension name="myext"> <condition field="destination_number" expression="^(whatever)$"> <action application="set" data="dialed_number=$1"/> <action application="transfer" data="gateway_macro"/> </condition> </extension> change whatever to your favorite regex so now all you have to do is set dialed_number and transfer to gateway_macro (you could have many of these with different names) One way or another all your real goal seems to be is hiding the complexity so *shrug* here's and easy way with existing tools. On Wed, Aug 26, 2009 at 12:44 AM, Max Ivanov <ivanov.maxim@gmail.com> wrote:
Continue_on_fail and hangup_after_bridge like tony pointed out are what
you
want if you don’t want to use the | delimiting ... I use these all the time with gateway counts > 10 just stacking additional actions for each bridge line
Let's imagine that I need to call 1000,1001,1002 via gw1,gw2,gw3 by choosing first available. How dialplan would look like?
continue_on_fail=True hangup_after_bridge=True bridge gw1/1000 bridge gw1/1001 bridge gw1/1002 bridge gw2/1000 bridge gw2/1001 bridge gw2/1002 bridge gw3/1000 bridge gw3/1001 bridge gw3/1002
Is it easy to understand? From my point of view it's not. Compare to this: continue_on_fail=True hangup_after_bridge=True bridge ${get_avail_gw(gw1,gw2,gw3)}/1000 bridge ${get_avail_gw(gw1,gw2,gw3)}/1001 bridge ${get_avail_gw(gw1,gw2,gw3)}/1002
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Keep in mind I am not trying to just arrogantly shoot down your idea, I enjoy the brainstorming. Unfortunately it's still a problem because the core bridge/originate mechanism does not parse XML it's only parses the dial string markup. The XML dialplan is completely abstract from the originate mechanism because there can be many dialplans not just XML. In the end you must end up with one string of application and one string of data. I am very strict about maintaining scope boundaries between abstract concepts. I think it's the number 1 breakdown that led to asterisk getting so messed up over the years and I want to avoid that same plague. I hope you understand and if you want to continue to ponder some more functionality I welcome it. On Tue, Aug 25, 2009 at 9:50 PM, Carlos S. Antunes <csa@nowthor.com> wrote:
Anthony,
Yes, you are right, I was thinking strictly in terms of SIP gateways. I guess that instead on the tag "gateway", one could use "channel"? For example:
<action application="bridge"> <!-- set some kind of *bridge-specific* variable --> <channel order=1 data="sofia/gateway/gw-1/1$1"/> <channel order=1 data="sofia/gateway/gw-2/1$1"/> <channel order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *channel-specific* variable --> </channel > <channel order=3 data="sofia/gateway/gw-4/1$1"/> </action>
Would this be acceptable to you?
Regarding the combinations of continue_on_fail and hangup_after bridge, I'll give that a try although I suspect it will result in less structured and harder to understand markup...
Thanks!
Carlos
Anthony Minessale wrote:
This suggestion violates the scope boundaries.
gateways are specific concept to mod_sofia so a <gateway> tag in <action> (part of agnostic xml dialplan) does not flow properly.
you can also use combinations of continue_on_fail and hangup_after bridge so you can just put each bridge statement in it's own action.
On Tue, Aug 25, 2009 at 9:06 AM, Carlos S. Antunes <csa@nowthor.com>wrote:
Max,
I would like to see something similar too. For example, it would be wonderful if one could specify multiple gateways to try like this or something similar:
<action application="bridge"> <!-- set some kind of *bridge-specific* parameter/variable --> <gateway order=1 data="sofia/gateway/gw-1/1$1"/> <gateway order=1 data="sofia/gateway/gw-2/1$1"/> <gateway order=2 data="sofia/gateway/gw-3/1$1"> <!-- set some kind of *gw-specific* parameter/variable --> </gateway> <gateway order=3 data="sofia/gateway/gw-4/1$1"/> </action>
One would be able to avoid the "[]" and "{}" hacks and combine sequential and simultaneous trying of gateways.
What do the developers think of this?
Carlos
Max Ivanov wrote:
Nowdays I 'm forced to put multiple "|" to find first free gateway, ie
sofia/gateway/panas111/1000|sofia/gateway/panas112/1000|sofia/gateway/panas113/1000
, the whole sting is tooo long, is there any shorter way to write same thing? Like "sofia/gateway/panas*/1000" will try all gateways matching the pattern.
_______________________________________________ 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
_______________________________________________ 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
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
------------------------------
_______________________________________________ FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Anthony Minessale wrote:
Unfortunately it's still a problem because the core bridge/originate mechanism does not parse XML it's only parses the dial string markup.
Wouldn't it be possible to "translate" the markup to a dial string prior to hitting the core mechanism?
In the end you must end up with one string of application and one string of data.
How about something like <action application="bridge"><data> ... </data></action> being somewhat* equivalent to <action application="bridge" data=" ... ">? (* somewhat to be properly define later)
I am very strict about maintaining scope boundaries between abstract concepts. I think it's the number 1 breakdown that led to asterisk getting so messed up over the years and I want to avoid that same plague.
I totally agree with you on this.
I hope you understand and if you want to continue to ponder some more functionality I welcome it.
Don't worry, I rarely stop having ideas. Feel free to shoot them down at will! :) Carlos
did you see my other email on this thread with the xml macro idea? When it comes to displacing the complexity there are many choices. if you want to make some api call that can look in xml and generate a big | sep dial string that's entirely possible. you could do something similar with lua or some other embedded language as well. On Wed, Aug 26, 2009 at 12:48 PM, Carlos S. Antunes <csa@nowthor.com> wrote:
Anthony Minessale wrote:
Unfortunately it's still a problem because the core bridge/originate mechanism does not parse XML it's only parses the dial string markup.
Wouldn't it be possible to "translate" the markup to a dial string prior to hitting the core mechanism?
In the end you must end up with one string of application and one string of data.
How about something like
<action application="bridge"><data> ... </data></action>
being somewhat* equivalent to
<action application="bridge" data=" ... ">?
(* somewhat to be properly define later)
I am very strict about maintaining scope boundaries between abstract concepts. I think it's the number 1 breakdown that led to asterisk getting so messed up over the years and I want to avoid that same plague.
I totally agree with you on this.
I hope you understand and if you want to continue to ponder some more functionality I welcome it.
Don't worry, I rarely stop having ideas. Feel free to shoot them down at will! :)
Carlos
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Anthony Minessale wrote:
did you see my other email on this thread with the xml macro idea? When it comes to displacing the complexity there are many choices.
Yes, I did see that macro idea. It looks indeed very good in the case of a failover scenario. But what about something like I proposed initially, that is, a mix of simultaneous and sequential dialing in arbitrary order? I guess this is also what Phillip Jones is after with his feature request (http://jira.freeswitch.org/browse/FSCORE-422). In any case, I am going to adopt your solution for the failover scenario as the most elegant so far! :)
if you want to make some api call that can look in xml and generate a big | sep dial string that's entirely possible. you could do something similar with lua or some other embedded language as well.
Yes, that is indeed another possibility. However, I am not sure it would allow that mix of simultaneous and sequential dialing, would it? Carlos
that simo-sequential dialing thing is highly complicated because like highlander there can be only one in the end. The way we do it now is all controlled by the same monitor thread and it's a ton more complexity added to a system that many now depend on. The things originate can do easily outdo the leading brand and i would hate to break anything. You already hate the syntax now and the only real solution would be to add even more delimiters to the originate syntax to denote sequential within simo as sequential currently has the highest priority. most chars are used up already maybe ^ is still free (it has to be valid in an xml attr too, we got rid of + for simo dial because of that) sofia/foo1^sofia/foo2,sofia/bar1^sofia/bar2 on top of all that it's a lot of work and we are not exactly swimming with coders blessed to hack the core volunteering their time =D On Wed, Aug 26, 2009 at 1:54 PM, Carlos S. Antunes <csa@nowthor.com> wrote:
Anthony Minessale wrote:
did you see my other email on this thread with the xml macro idea? When it comes to displacing the complexity there are many choices.
Yes, I did see that macro idea. It looks indeed very good in the case of a failover scenario. But what about something like I proposed initially, that is, a mix of simultaneous and sequential dialing in arbitrary order? I guess this is also what Phillip Jones is after with his feature request (http://jira.freeswitch.org/browse/FSCORE-422).
In any case, I am going to adopt your solution for the failover scenario as the most elegant so far! :)
if you want to make some api call that can look in xml and generate a big | sep dial string that's entirely possible. you could do something similar with lua or some other embedded language as well.
Yes, that is indeed another possibility. However, I am not sure it would allow that mix of simultaneous and sequential dialing, would it?
Carlos
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
participants (6)
-
Anthony Minessale
-
Carlos S. Antunes
-
Ken Rice
-
Max Ivanov
-
Mike Tkachuk
-
Phillip Jones