is this possible to "return" from the transfer?
Hello! With "bridge" we can do something like: <action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/> Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/> The idea - to find what context may serve the called number. -- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
They're very different things. Bridge attempts to create a new channel (bleg) and if it succeeds joins it to the first channel (aleg). That means the aleg is waiting to see whether it worked, and as such can continue processing from the same point in the dialplan. Transfer is a bit like a GOTO - it jumps dialplan processing to another context+extension, so it can't return if that fails (what is a failure? Not matching an extension doesn't necessarily mean it failed). You could try using a loopback bridge. That'll could allow you to create a new outgoing channel internally which could be handled by the other context, and it would be able to continue if that failed since it's still a bridge. -Steve On 8 November 2010 10:23, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
With "bridge" we can do something like:
<action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/>
Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/>
The idea - to find what context may serve the called number.
--
С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
look execute_extension On Mon, Nov 8, 2010 at 7:37 PM, Steven Ayre <steveayre@gmail.com> wrote:
They're very different things. Bridge attempts to create a new channel (bleg) and if it succeeds joins it to the first channel (aleg). That means the aleg is waiting to see whether it worked, and as such can continue processing from the same point in the dialplan. Transfer is a bit like a GOTO - it jumps dialplan processing to another context+extension, so it can't return if that fails (what is a failure? Not matching an extension doesn't necessarily mean it failed).
You could try using a loopback bridge. That'll could allow you to create a new outgoing channel internally which could be handled by the other context, and it would be able to continue if that failed since it's still a bridge.
-Steve
On 8 November 2010 10:23, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
With "bridge" we can do something like:
<action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/>
Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/>
The idea - to find what context may serve the called number.
--
С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
If you need run all extensions, just use empty conditions in your context. <condition> </condition> On Mon, Nov 8, 2010 at 10:08 PM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
Yes, I looked at it. But I need to run throught all extensions in context.
look execute_extension
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
Hello! May You give an example? AFAIK <condition> is a part of extension, not context.
If you need run all extensions, just use empty conditions in your context.
<condition>
</condition>
On Mon, Nov 8, 2010 at 10:08 PM, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
Yes, I looked at it. But I need to run throught all extensions in context.
look execute_extension
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
Sorry, it's in extension. Just give an absolute condition should be ok. <extension ... <condition> <action... </condition> </extension> On Wed, Nov 10, 2010 at 11:23 AM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
May You give an example? AFAIK <condition> is a part of extension, not context.
If you need run all extensions, just use empty conditions in your context.
<condition>
</condition>
On Mon, Nov 8, 2010 at 10:08 PM, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
Yes, I looked at it. But I need to run throught all extensions in context.
look execute_extension
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
You also need continue=true in extensiion On Wed, Nov 10, 2010 at 2:06 PM, Seven Du <dujinfang@gmail.com> wrote:
Sorry, it's in extension. Just give an absolute condition should be ok.
<extension ...
<condition> <action... </condition> </extension>
On Wed, Nov 10, 2010 at 11:23 AM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
May You give an example? AFAIK <condition> is a part of extension, not context.
If you need run all extensions, just use empty conditions in your context.
<condition>
</condition>
On Mon, Nov 8, 2010 at 10:08 PM, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
Yes, I looked at it. But I need to run throught all extensions in context.
look execute_extension
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
Hello! No, Seven. I want tranfer the call to another context. If the call may be served by this context it must be served, else transfer should return to the same place and I'll tranfer the call to another context. E.g.: <action application="tranfer" data="../context1"/> (if call may be served by context it must be served and stop processing, else return from context and do next tranfer) <action application="tranfer" data="../context2"/> and so on
You also need continue=true in extensiion
On Wed, Nov 10, 2010 at 2:06 PM, Seven Du<dujinfang@gmail.com> wrote:
Sorry, it's in extension. Just give an absolute condition should be ok.
<extension ...
<condition> <action... </condition> </extension>
On Wed, Nov 10, 2010 at 11:23 AM, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
May You give an example? AFAIK<condition> is a part of extension, not context.
If you need run all extensions, just use empty conditions in your context.
<condition>
</condition>
On Mon, Nov 8, 2010 at 10:08 PM, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
Yes, I looked at it. But I need to run throught all extensions in context.
look execute_extension
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
Use a catch all extension in the last section of context1, then transfer to context2, then maybe context3 On Wed, Nov 10, 2010 at 2:21 PM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
No, Seven. I want tranfer the call to another context. If the call may be served by this context it must be served, else transfer should return to the same place and I'll tranfer the call to another context. E.g.:
<action application="tranfer" data="../context1"/> (if call may be served by context it must be served and stop processing, else return from context and do next tranfer) <action application="tranfer" data="../context2"/> and so on
You also need continue=true in extensiion
On Wed, Nov 10, 2010 at 2:06 PM, Seven Du<dujinfang@gmail.com> wrote:
Sorry, it's in extension. Just give an absolute condition should be ok.
<extension ...
<condition> <action... </condition> </extension>
On Wed, Nov 10, 2010 at 11:23 AM, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
May You give an example? AFAIK<condition> is a part of extension, not context.
If you need run all extensions, just use empty conditions in your context.
<condition>
</condition>
On Mon, Nov 8, 2010 at 10:08 PM, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
Yes, I looked at it. But I need to run throught all extensions in context. > look execute_extension > -- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
On Wed, Nov 10, 2010 at 7:21 AM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
No, Seven. I want tranfer the call to another context. If the call may be served by this context it must be served, else transfer should return to the same place and I'll tranfer the call to another context. E.g.:
<action application="tranfer" data="../context1"/> (if call may be served by context it must be served and stop processing, else return from context and do next tranfer) <action application="tranfer" data="../context2"/> and so on
all you need is to do is use execute_extension <?xml version="1.0" encoding="utf-8"?> <!-- http://wiki.freeswitch.org/wiki/Dialplan_XML --> <include> <context name="default"> <extension name="context_lookup"> <!-- you can yout put an empty condition here if you like --> <condition field="destination_number" expression="^.*$"/> <action application="execute_extension" data="service_lookup XML context1"/> <action application="execute_extension" data="service_lookup XML context2"/> <action application="execute_extension" data="service_lookup XML context3"/> <!-- do whatever you want here --> </condition> </extension> </extension> <!-- do whatever you want here --> <extension> </context> <context name="context1"> <extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context1 ########################\n"/> </condition> </extension> <extension> <!-- do whatever you want here --> </extension> </context> <context name="context2"> <extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context2 ########################\n"/> </condition> </extension> <extension> <!-- do whatever you want here --> </extension> </context> <context name="default"> <extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context3 ########################\n"/> </condition> </extension> <extension> <!-- do whatever you want here --> </extension> </context> </include>
That's what I thought previously, so I recommended execute_extension. but it seems he changed his mind, if it is served by context1, then won't goto context2. On Wed, Nov 10, 2010 at 5:42 PM, Tihomir Culjaga <tculjaga@gmail.com> wrote:
On Wed, Nov 10, 2010 at 7:21 AM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
No, Seven. I want tranfer the call to another context. If the call may be served by this context it must be served, else transfer should return to the same place and I'll tranfer the call to another context. E.g.:
<action application="tranfer" data="../context1"/> (if call may be served by context it must be served and stop processing, else return from context and do next tranfer) <action application="tranfer" data="../context2"/> and so on
all you need is to do is use execute_extension
<?xml version="1.0" encoding="utf-8"?> <!-- http://wiki.freeswitch.org/wiki/Dialplan_XML --> <include> <context name="default">
<extension name="context_lookup"> <!-- you can yout put an empty condition here if you like --> <condition field="destination_number" expression="^.*$"/> <action application="execute_extension" data="service_lookup XML context1"/> <action application="execute_extension" data="service_lookup XML context2"/> <action application="execute_extension" data="service_lookup XML context3"/> <!-- do whatever you want here --> </condition> </extension>
</extension> <!-- do whatever you want here --> <extension>
</context>
<context name="context1">
<extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context1 ########################\n"/> </condition> </extension>
<extension> <!-- do whatever you want here --> </extension>
</context>
<context name="context2">
<extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context2 ########################\n"/> </condition> </extension>
<extension> <!-- do whatever you want here --> </extension>
</context>
<context name="default">
<extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context3 ########################\n"/> </condition> </extension>
<extension> <!-- do whatever you want here --> </extension>
</context>
</include>
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
Thanks to all who help me find the solution!
That's what I thought previously, so I recommended execute_extension. but it seems he changed his mind, if it is served by context1, then won't goto context2. -- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
Hello! Ough! Thanks, I'll try this way!
On Wed, Nov 10, 2010 at 7:21 AM, Boris Kovalenko <boris@tagnet.ru <mailto:boris@tagnet.ru>> wrote:
Hello!
No, Seven. I want tranfer the call to another context. If the call may be served by this context it must be served, else transfer should return to the same place and I'll tranfer the call to another context. E.g.:
<action application="tranfer" data="../context1"/> (if call may be served by context it must be served and stop processing, else return from context and do next tranfer) <action application="tranfer" data="../context2"/> and so on
all you need is to do is use execute_extension
<?xml version="1.0" encoding="utf-8"?> <!-- http://wiki.freeswitch.org/wiki/Dialplan_XML --> <include> <context name="default">
<extension name="context_lookup"> <!-- you can yout put an empty condition here if you like --> <condition field="destination_number" expression="^.*$"/> <action application="execute_extension" data="service_lookup XML context1"/> <action application="execute_extension" data="service_lookup XML context2"/> <action application="execute_extension" data="service_lookup XML context3"/> <!-- do whatever you want here --> </condition> </extension>
</extension> <!-- do whatever you want here --> <extension>
</context>
<context name="context1">
<extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context1 ########################\n"/> </condition> </extension>
<extension> <!-- do whatever you want here --> </extension>
</context>
<context name="context2">
<extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context2 ########################\n"/> </condition> </extension>
<extension> <!-- do whatever you want here --> </extension>
</context>
<context name="default">
<extension name="service_lookup" continue="true"> <condition> <action application="log" data="INFO ######################## trying context3 ########################\n"/> </condition> </extension>
<extension> <!-- do whatever you want here --> </extension>
</context>
</include>
_______________________________________________ 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
-- ? ?????????, ????? ????????? ??? "??????" (3435) 494991
please stop sending mails On Tue, Nov 9, 2010 at 5:38 AM, Seven Du <dujinfang@gmail.com> wrote:
If you need run all extensions, just use empty conditions in your context.
<condition>
</condition>
On Mon, Nov 8, 2010 at 10:08 PM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
Yes, I looked at it. But I need to run throught all extensions in context.
look execute_extension
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
_______________________________________________ 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
You are on a mailing list. If you want to stop receiving the messages, unsubscribe. On 10 November 2010 11:25, srinivasa rajasekhar <rajasekharsrinivasa@gmail.com> wrote:
please stop sending mails
On Tue, Nov 9, 2010 at 5:38 AM, Seven Du <dujinfang@gmail.com> wrote:
If you need run all extensions, just use empty conditions in your context.
<condition>
</condition>
On Mon, Nov 8, 2010 at 10:08 PM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
Yes, I looked at it. But I need to run throught all extensions in context.
look execute_extension
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- Blog: http://www.dujinfang.com Proj: http://www.freeswitch.org.cn
_______________________________________________ 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
Hello! Would You please provide a short example?
They're very different things. Bridge attempts to create a new channel (bleg) and if it succeeds joins it to the first channel (aleg). That means the aleg is waiting to see whether it worked, and as such can continue processing from the same point in the dialplan. Transfer is a bit like a GOTO - it jumps dialplan processing to another context+extension, so it can't return if that fails (what is a failure? Not matching an extension doesn't necessarily mean it failed).
You could try using a loopback bridge. That'll could allow you to create a new outgoing channel internally which could be handled by the other context, and it would be able to continue if that failed since it's still a bridge.
-Steve
On 8 November 2010 10:23, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
With "bridge" we can do something like:
<action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/>
Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/>
The idea - to find what context may serve the called number.
--
С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_bridge#loopback http://wiki.freeswitch.org/wiki/Loopback On 8 November 2010 14:06, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
Would You please provide a short example?
They're very different things. Bridge attempts to create a new channel (bleg) and if it succeeds joins it to the first channel (aleg). That means the aleg is waiting to see whether it worked, and as such can continue processing from the same point in the dialplan. Transfer is a bit like a GOTO - it jumps dialplan processing to another context+extension, so it can't return if that fails (what is a failure? Not matching an extension doesn't necessarily mean it failed).
You could try using a loopback bridge. That'll could allow you to create a new outgoing channel internally which could be handled by the other context, and it would be able to continue if that failed since it's still a bridge.
-Steve
On 8 November 2010 10:23, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
With "bridge" we can do something like:
<action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/>
Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/>
The idea - to find what context may serve the called number.
--
С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
Hello! Thank You, Steven! I'll look.
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_bridge#loopback http://wiki.freeswitch.org/wiki/Loopback
On 8 November 2010 14:06, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
Would You please provide a short example?
They're very different things. Bridge attempts to create a new channel (bleg) and if it succeeds joins it to the first channel (aleg). That means the aleg is waiting to see whether it worked, and as such can continue processing from the same point in the dialplan. Transfer is a bit like a GOTO - it jumps dialplan processing to another context+extension, so it can't return if that fails (what is a failure? Not matching an extension doesn't necessarily mean it failed).
You could try using a loopback bridge. That'll could allow you to create a new outgoing channel internally which could be handled by the other context, and it would be able to continue if that failed since it's still a bridge.
-Steve
On 8 November 2010 10:23, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
With "bridge" we can do something like:
<action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/>
Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/>
The idea - to find what context may serve the called number.
--
С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
Hello! I did some test and loopback is good for me. But there are some stranges with logging. My primary log settings:
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_bridge#loopback http://wiki.freeswitch.org/wiki/Loopback
On 8 November 2010 14:06, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
Would You please provide a short example?
They're very different things. Bridge attempts to create a new channel (bleg) and if it succeeds joins it to the first channel (aleg). That means the aleg is waiting to see whether it worked, and as such can continue processing from the same point in the dialplan. Transfer is a bit like a GOTO - it jumps dialplan processing to another context+extension, so it can't return if that fails (what is a failure? Not matching an extension doesn't necessarily mean it failed).
You could try using a loopback bridge. That'll could allow you to create a new outgoing channel internally which could be handled by the other context, and it would be able to continue if that failed since it's still a bridge.
-Steve
On 8 November 2010 10:23, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
With "bridge" we can do something like:
<action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/>
Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/>
The idea - to find what context may serve the called number.
--
С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
Hello! I did some test and loopback is good for me. But there are some stranges with logging. My primary log settings: <param name="default-template" value="fs-lega"/> <param name="rotate-on-hup" value="true"/> <param name="legs" value="a"/> and when loopback connects with local application I get this log entry: "TAGNET","73435230001","9000","test.ru",""Boris Kovalenko" <73435230001>","sofia/i-tagnet.ru/73435230001@tagnet.ru","loopback/9000-a","bridge","loopback/9000/tagnet.ru","2010-11-08 22:36:01","2010-11-08 22:36:01","2010-11-08 22:36:04","3","3","NORMAL_CLEARING","","65702c92-043a-472d-ba72-d8fadcae61b5","PCMU","PCMU","" and when loopback connects with other bridge application the log is: "","73435230001","73435327569","tagnet.ru",""Boris Kovalenko" <73435230001>","loopback/73435327569-a","sofia/e-tagnet.ru/73435327569","hangup","","2010-11-08 22:36:28","2010-11-08 22:36:31","2010-11-08 22:36:31","3","0","NORMAL_CLEARING","","94457053-2b3f-40ee-b972-5c358e9125f7","PCMU","PCMU","" note accountcode is not here and session_time is 0 while connect_time is 3. What is wrong with my logging?
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_bridge#loopback http://wiki.freeswitch.org/wiki/Loopback
On 8 November 2010 14:06, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
Would You please provide a short example?
They're very different things. Bridge attempts to create a new channel (bleg) and if it succeeds joins it to the first channel (aleg). That means the aleg is waiting to see whether it worked, and as such can continue processing from the same point in the dialplan. Transfer is a bit like a GOTO - it jumps dialplan processing to another context+extension, so it can't return if that fails (what is a failure? Not matching an extension doesn't necessarily mean it failed).
You could try using a loopback bridge. That'll could allow you to create a new outgoing channel internally which could be handled by the other context, and it would be able to continue if that failed since it's still a bridge.
-Steve
On 8 November 2010 10:23, Boris Kovalenko<boris@tagnet.ru> wrote:
Hello!
With "bridge" we can do something like:
<action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/>
Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/>
The idea - to find what context may serve the called number.
--
С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ 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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
Are you logging just the A leg of the call? -MC On Mon, Nov 8, 2010 at 10:03 AM, Boris Kovalenko <boris@tagnet.ru> wrote:
Hello!
I did some test and loopback is good for me. But there are some stranges with logging. My primary log settings: <param name="default-template" value="fs-lega"/> <param name="rotate-on-hup" value="true"/> <param name="legs" value="a"/>
and when loopback connects with local application I get this log entry: "TAGNET","73435230001","9000","test.ru",""Boris Kovalenko" <73435230001>","sofia/i-tagnet.ru/73435230001@tagnet.ru ","loopback/9000-a","bridge","loopback/9000/tagnet.ru","2010-11-08 22:36:01","2010-11-08 22:36:01","2010-11-08
22:36:04","3","3","NORMAL_CLEARING","","65702c92-043a-472d-ba72-d8fadcae61b5","PCMU","PCMU",""
and when loopback connects with other bridge application the log is: "","73435230001","73435327569","tagnet.ru",""Boris Kovalenko" <73435230001>","loopback/73435327569-a","sofia/e-tagnet.ru/73435327569 ","hangup","","2010-11-08 22:36:28","2010-11-08 22:36:31","2010-11-08
22:36:31","3","0","NORMAL_CLEARING","","94457053-2b3f-40ee-b972-5c358e9125f7","PCMU","PCMU",""
note accountcode is not here and session_time is 0 while connect_time is 3. What is wrong with my logging?
Hello! Yes. I tried to setup process_cdr=true right before loopback bridge to have both legs logged with no success. Indeed, why when loopback is terminated on local application I get normal log record and another when loopback is terminated via another brigde. Both calls are from the same device.
Are you logging just the A leg of the call? -MC
On Mon, Nov 8, 2010 at 10:03 AM, Boris Kovalenko <boris@tagnet.ru <mailto:boris@tagnet.ru>> wrote:
Hello!
I did some test and loopback is good for me. But there are some stranges with logging. My primary log settings: <param name="default-template" value="fs-lega"/> <param name="rotate-on-hup" value="true"/> <param name="legs" value="a"/>
and when loopback connects with local application I get this log entry: "TAGNET","73435230001","9000","test.ru <http://test.ru>",""Boris Kovalenko" <73435230001>","sofia/i-tagnet.ru/73435230001@tagnet.ru <http://i-tagnet.ru/73435230001@tagnet.ru>","loopback/9000-a","bridge","loopback/9000/tagnet.ru <http://tagnet.ru>","2010-11-08 22:36:01","2010-11-08 22:36:01","2010-11-08 22:36:04","3","3","NORMAL_CLEARING","","65702c92-043a-472d-ba72-d8fadcae61b5","PCMU","PCMU",""
and when loopback connects with other bridge application the log is: "","73435230001","73435327569","tagnet.ru <http://tagnet.ru>",""Boris Kovalenko" <73435230001>","loopback/73435327569-a","sofia/e-tagnet.ru/73435327569 <http://e-tagnet.ru/73435327569>","hangup","","2010-11-08 22:36:28","2010-11-08 22:36:31","2010-11-08 22:36:31","3","0","NORMAL_CLEARING","","94457053-2b3f-40ee-b972-5c358e9125f7","PCMU","PCMU",""
note accountcode is not here and session_time is 0 while connect_time is 3. What is wrong with my logging?
_______________________________________________ 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
-- ? ?????????, ????? ????????? ??? "??????" (3435) 494991
Hi Yes, you can do that: <action application="set" data="continue_on_fail=true" /> <action application="set" data="hangup_after_bridge=false" /> <action application="bridge" data="...." /> <action application="bridge" data="...." /> <action application="bridge" data="...." /> <action application="bridge" data="...." /> .... Diego Toro http://voipensando.blogspot.com/ --- On Mon, 11/8/10, Boris Kovalenko <boris@tagnet.ru> wrote: From: Boris Kovalenko <boris@tagnet.ru> Subject: [Freeswitch-users] is this possible to "return" from the transfer? To: "FreeSWITCH Users Help" <freeswitch-users@lists.freeswitch.org> Date: Monday, November 8, 2010, 5:23 AM Hello! With "bridge" we can do something like: <action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/> Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/> The idea - to find what context may serve the called number. -- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991 _______________________________________________ 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
Hello! I know I may do it with bridge, Diego. I asked may I do the same trick with transfer.
Hi
Yes, you can do that:
<action application="set" data="continue_on_fail=true" /> <action application="set" data="hangup_after_bridge=false" />
<action application="bridge" data="...." /> <action application="bridge" data="...." /> <action application="bridge" data="...." /> <action application="bridge" data="...." /> ....
Diego Toro http://voipensando.blogspot.com/
--- On *Mon, 11/8/10, Boris Kovalenko /<boris@tagnet.ru>/* wrote:
From: Boris Kovalenko <boris@tagnet.ru> Subject: [Freeswitch-users] is this possible to "return" from the transfer? To: "FreeSWITCH Users Help" <freeswitch-users@lists.freeswitch.org> Date: Monday, November 8, 2010, 5:23 AM
Hello!
With "bridge" we can do something like:
<action application="set" data="continue_on_fail=true"/> <action application="bridge" ..."/> <action application="bridge" ..."/> <action application="bridge" ..."/>
Is this possible to get same behavior with "transfer"? For example: <action application="set" data="continue_on_fail=true"/> <action application="tranfer" data="$1 XML context1"/> <action application="tranfer" data="$1 XML context2"/> <action application="tranfer" data="$1 XML context3"/>
The idea - to find what context may serve the called number.
--
С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org </mc/compose?to=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
-- С уважением, Борис Коваленко ЗАО "Тагнет" (3435) 494991
participants (7)
-
Boris Kovalenko
-
Diego Toro
-
Michael Collins
-
Seven Du
-
srinivasa rajasekhar
-
Steven Ayre
-
Tihomir Culjaga