Francois,<br><br>Thanks for the example in your situation.  I think that, to control what you want the channel to do on a transfer, still does not need to be overly complex.<br><br>It looks like you are first bridging to specific endpoints.  You have various options available to you for setting force_transfer_context on the a-leg when the bridge happens (even an using execute_on_answer or api_on_answer or whatever).  The b-leg that answers can execute the appropriate set onto the a-leg (even using uuid_setvar or something else).  Then, any subsequent transfer would involve the context you desire.<br>
<br>- Steve<br><br><div class="gmail_quote">On Mon, Nov 22, 2010 at 1:23 AM, François Delawarde <span dir="ltr">&lt;<a href="mailto:fdelawarde@wirelessmundi.com">fdelawarde@wirelessmundi.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi Steve,<br>
<br>
Thanks for your view on this. My point was that by default a blind<br>
transfer acts differently from an attended transfer as it uses the<br>
transferee&#39;s context instead of the transferer&#39;s.<br>
<br>
It can in some way be controlled as you mention, but having to implement<br>
something quite complex only to have blind and attended xfers behaving<br>
in the same way seems a bit overkill.<br>
<br>
<br>
For example, if I wish to use the B-leg&#39;s context as transfer_context<br>
for the A-leg (as in attended xfers), then when bridging to a group it<br>
can become a bit complicated:<br>
<br>
&lt;action application=&quot;bridge&quot; data=&quot;user/<a href="mailto:100@example.com">100@example.com</a>,user/<a href="mailto:101@example.com">101@example.com</a>,...&quot;/&gt;<br>
<br>
In that case, I would have to use a lua script to set the<br>
force_transfer_context to the B-leg&#39;s context on answer (because<br>
beforehand you wouldn&#39;t know who is going to take the call), so that if<br>
a transfer happens, it goes in the correct context.<br>
<font color="#888888"><br>
François.<br>
</font><div><div></div><div class="h5"><br>
<br>
<br>
<br>
On Fri, 2010-11-19 at 15:39 -0500, S W wrote:<br>
&gt; And here we have a start on the wiki page<br>
&gt;<br>
&gt; <a href="http://wiki.freeswitch.org/wiki/Force_transfer_context_example" target="_blank">http://wiki.freeswitch.org/wiki/Force_transfer_context_example</a><br>
&gt;<br>
&gt; On Fri, Nov 19, 2010 at 3:34 PM, S W &lt;<a href="mailto:steve.d.ward@gmail.com">steve.d.ward@gmail.com</a>&gt; wrote:<br>
&gt;         I can go ahead and start a wiki page on this.  Feedback is<br>
&gt;         welcome.<br>
&gt;<br>
&gt;         I tried to make a general template-type single code file<br>
&gt;         people can use and work with.<br>
&gt;<br>
&gt;         <a href="http://pastebin.freeswitch.org/14560" target="_blank">http://pastebin.freeswitch.org/14560</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;         On Fri, Nov 19, 2010 at 2:48 PM, Michael Collins<br>
&gt;         &lt;<a href="mailto:msc@freeswitch.org">msc@freeswitch.org</a>&gt; wrote:<br>
&gt;                 Could you pastebin your dialplan? I&#39;d like to let<br>
&gt;                 others try it out. Once it&#39;s confirmed we&#39;ll wikify<br>
&gt;                 it.<br>
&gt;                 -MC<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                 On Fri, Nov 19, 2010 at 9:08 AM, S W<br>
&gt;                 &lt;<a href="mailto:steve.d.ward@gmail.com">steve.d.ward@gmail.com</a>&gt; wrote:<br>
&gt;                         Just as a comment, I have recently employed<br>
&gt;                         the functionality of force_transfer_context,<br>
&gt;                         and it is great exactly as it is.<br>
&gt;<br>
&gt;                         In my scenario I need to control how the<br>
&gt;                         channel RECEIVING a transfer/REFER handles<br>
&gt;                         that transfer.<br>
&gt;<br>
&gt;                         For example, I never want incoming calls to<br>
&gt;                         directly access certain call paths on my box.<br>
&gt;                         But, if a channel receives a REFER to off-box<br>
&gt;                         destination X, I want to handle that (even<br>
&gt;                         though my default context for incoming calls<br>
&gt;                         doesn&#39;t allow for destination X).<br>
&gt;<br>
&gt;                         So I have a context that is not associated<br>
&gt;                         with my SIP profile for incoming calls.  And<br>
&gt;                         that context has routing logic for destination<br>
&gt;                         X.  And I use force_transfer_context so that,<br>
&gt;                         when a channel is bridged and gets a REFER to<br>
&gt;                         destination X, the ROUTING state sends the<br>
&gt;                         channel through my special context for<br>
&gt;                         handling transfers.<br>
&gt;<br>
&gt;                         It&#39;s awesome!!!<br>
&gt;<br>
&gt;                         And just as another note on your comment,<br>
&gt;                         Francois - a transferer has total control over<br>
&gt;                         where he transfers another channel (e.g. you<br>
&gt;                         can use dialplan context and extension, etc<br>
&gt;                         etc. right in transfer app).<br>
&gt;<br>
&gt;                         These channel vars - force_transfer_context<br>
&gt;                         and force_transfer_dialplan - allow for<br>
&gt;                         controlling how a channel reacts to getting a<br>
&gt;                         transfer/REFER thrown at it.<br>
&gt;<br>
&gt;                         Anyway, just a comment....<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                         On Fri, Nov 19, 2010 at 11:45 AM, François<br>
&gt;                         Delawarde &lt;<a href="mailto:fdelawarde@wirelessmundi.com">fdelawarde@wirelessmundi.com</a>&gt;<br>
&gt;                         wrote:<br>
&gt;                                 Problem is those variables must be set<br>
&gt;                                 on the channel that has to be<br>
&gt;                                 transfered and not the channel that<br>
&gt;                                 performs the transfer.<br>
&gt;<br>
&gt;                                 I thought it would be more logical to<br>
&gt;                                 use the transferer context by<br>
&gt;                                 default (just like in attended xfers),<br>
&gt;                                 and for those variables to be set<br>
&gt;                                 on the transferer&#39;s side.<br>
&gt;<br>
&gt;                                 François.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                                 On Fri, 2010-11-19 at 08:32 -0600,<br>
&gt;                                 Brian West wrote:<br>
&gt;                                 &gt; force_transfer_dialplan<br>
&gt;                                 &gt; force_transfer_context<br>
&gt;                                 &gt;<br>
&gt;                                 &gt;<br>
&gt;                                 &gt; You can&#39;t tell if a transfer is<br>
&gt;                                 blind or attended.<br>
&gt;                                 &gt;<br>
&gt;                                 &gt;<br>
&gt;                                 &gt; /b<br>
&gt;                                 &gt;<br>
&gt;                                 &gt; On Nov 19, 2010, at 5:04 AM,<br>
&gt;                                 François Delawarde wrote:<br>
&gt;                                 &gt;<br>
&gt;                                 &gt; &gt; Hello,<br>
&gt;                                 &gt; &gt;<br>
&gt;                                 &gt; &gt; I pastebined a very simple<br>
&gt;                                 configuration for you to reproduce:<br>
&gt;                                 &gt; &gt;<br>
&gt;                                 <a href="http://pastebin.freeswitch.org/14552" target="_blank">http://pastebin.freeswitch.org/14552</a><br>
&gt;                                 &gt; &gt;<br>
&gt;                                 &gt; &gt; We have user 100 in context<br>
&gt;                                 &quot;public&quot;, 101 and 102 in context<br>
&gt;                                 &gt; &gt; &quot;local&quot;.<br>
&gt;                                 &gt; &gt;<br>
&gt;                                 &gt; &gt; Scenario:<br>
&gt;                                 &gt; &gt; 1. 100 calls destination &quot;123&quot;<br>
&gt;                                 &gt; &gt; 2. 101 answers, and transfers to<br>
&gt;                                 102<br>
&gt;                                 &gt; &gt;<br>
&gt;                                 &gt; &gt; In step 2., if 101 does an<br>
&gt;                                 attended transfer, it will of course<br>
&gt;                                 use<br>
&gt;                                 &gt; &gt; its<br>
&gt;                                 &gt; &gt; own context (local) and the<br>
&gt;                                 transfer will work. Now if 101 does a<br>
&gt;                                 &gt; &gt; blind<br>
&gt;                                 &gt; &gt; transfer instead, it will use the<br>
&gt;                                 context of the other leg (100 =&gt;<br>
&gt;                                 &gt; &gt; public) and it will not work.<br>
&gt;                                 &gt; &gt;<br>
&gt;                                 &gt; &gt; I think it should behave the same<br>
&gt;                                 way for both types of transfer by<br>
&gt;                                 &gt; &gt; default. A workaround is to set<br>
&gt;                                 force_transfer_context (uncomment<br>
&gt;                                 &gt; &gt; the<br>
&gt;                                 &gt; &gt; line on the &quot;public&quot; dialplan) in<br>
&gt;                                 the channel to be transfered,<br>
&gt;                                 &gt; &gt; which<br>
&gt;                                 &gt; &gt; can be a pain with more complex<br>
&gt;                                 configurations.<br>
&gt;                                 &gt; &gt;<br>
&gt;                                 &gt; &gt; Thanks,<br>
&gt;                                 &gt; &gt; François.<br>
&gt;                                 &gt;<br>
&gt;                                 &gt;<br>
&gt;<br>
&gt;                                 &gt;<br>
&gt;                                 _______________________________________________<br>
&gt;                                 &gt; FreeSWITCH-users mailing list<br>
&gt;                                 &gt;<br>
&gt;                                 <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;                                 &gt;<br>
&gt;                                 <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;                                 &gt;<br>
&gt;                                 UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;                                 &gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
&gt;                                 _______________________________________________<br>
&gt;                                 FreeSWITCH-users mailing list<br>
&gt;                                 <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;                                 <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;                                 UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;                                 <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                         _______________________________________________<br>
&gt;                         FreeSWITCH-users mailing list<br>
&gt;                         <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;                         <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;                         UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;                         <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                 _______________________________________________<br>
&gt;                 FreeSWITCH-users mailing list<br>
&gt;                 <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;                 <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;                 UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;                 <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; FreeSWITCH-users mailing list<br>
&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<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>
</div></div></blockquote></div><br>