<style>blockquote {padding-left: 1ex; margin: 0px 0px 0px 0.8ex; border-left: #cccccc 1px solid;} p {margin: 0px;padding: 0px;} </style>
<p>Michael, Brian,</p>
<p>&nbsp;</p>
<p>The "hacked" version i used was not hacked indeed. I just tried to correct the patch I send to Jira, but was totally unrelated to this case. Now I use 1.0.7 with default configuration. Then, in conf/dialplan/default folder I added following file (subtest.xml):</p>
<p>&nbsp;</p>
<p><span style="font-family: courier new,courier;"><span style="font-size: x-small;">&lt;include&gt;<br />&nbsp;&nbsp;&nbsp; &lt;extension name="test_subconf"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;condition field="destination_number" expression="^(34\d{2})$"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="confX_num=$1"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="answer"/&gt;<br 
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="transfer" data="confX_join"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/extension&gt;<br />&nbsp;&nbsp;&nbsp; &lt;extension name="confX_join"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;condition field="destination_number" expression="^confX_join$"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="bind_meta_app" data="1 a s 
execute_extension::subX_1"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="bind_meta_app" data="2 a s execute_extension::subX_2"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="conference" data="confX_${confX_num}"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/extension&gt;<br />&nbsp;&nbsp;&nbsp; &lt;extension name="subX_1"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;condition 
field="destination_number" expression="^subX_1$"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="pass_rfc2833=true"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="conference" data="confX_${confX_num}_1"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/extension&gt;<br />&nbsp;&nbsp;&nbsp; &lt;extension name="subX_2"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;condition 
field="destination_number" expression="^subX_2$"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="pass_rfc2833=true"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="conference" data="confX_${confX_num}_2"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/extension&gt;<br />&lt;/include&gt;</span><br /></span></p>
<p>&nbsp;</p>
<p>Feature I expected to achieve was to allow some users to enter sub conference (i.e. "confX_3400_1") to discuss something on side, then get back to the main one ("confX_3400"). During this time other participants should treat them as they are still present in the conference, but probably muted.</p>
<p>&nbsp;</p>
<p>What I observed was:</p>
<p>* while joining "confX_3400_1" first user hears "you are the only..." message, then MOH</p>
<p>* when second user joins "confX_3400_1", both hear entry beep, and MOH stops</p>
<p>* while in sub conf, no DTMF codes are processed; no messages like "switch_rtp.c:3113 RTP RECV DTMF 2:1600" appear on FSW console; no one is able to leave using "#"</p>
<p>* while in "confX_3400_1" no one can be hear; just like they were muted</p>
<p>* while in  "confX_3400_1" they are still listed as  "confX_3400"participants</p>
<p>* after they're kicked from  "confX_3400_1" from&nbsp; the console, they are again audible by other participants of "confX_3400", without any propt or beep, just like the were unmuted; and can use *1 again to enter sub conf.</p>
<p>&nbsp;</p>
<p>So at this moment I have two problems:</p>
<p>* User cannot use "#" even if it is defined as a "hangup" action in "default" configuration profile (used here).</p>
<p>* Users cannot hear each other (or they cannot talk to each other, but the result is the same).</p>
<p>&nbsp;</p>
<p>My question is: is there something I missed in a dialplan or this is the way freeswitch works now?</p>
<p>&nbsp;</p>
<p>Regards,</p>
<p>&nbsp;</p>
<p>Mariusz</p>
<p>&nbsp;</p>
<p>Dnia 14-01-2011 o godz. 19:39 Michael Collins napisał(a):</p>
<blockquote>Mariusz,
<div><br /></div>
<div>After moving from the main conference to the second conference, when the user presses digits, do any of them work? The way to test would be to call in to the first conference then press #1 to go to the sub conference, then press 0 a few times to see if you mute/unmute. Also, try pressing &nbsp;1, 2, 3, etc. and watch the FS console. Be sure that you are in debug mode on the console. (If you use fs_cli then you will be at loglevel debug by default.)</div>
<div><br /></div>
<div>Question - what customizations have you made? I see that your version is "hacked" so most likely you've done some tinkering. One thing you can do to test is to update to latest git and don't do any "hacking" to the code. Test your dialplan and see if the DTMFs work as expected. If your DTMFs work on a plain install then you know that your customizations are doing something. If not, then pastebin your output (<a href="http://pastebin.freeswitch.org">pastebin.freeswitch.org</a>) and we'll 
take a look.</div>
<div><br /></div>
<div>-MC</div>
<div><br />
<div class="gmail_quote">On Fri, Jan 14, 2011 at 8:31 AM, Mariusz Czulada <span dir="ltr">&lt;<a href="mailto:manieq@wp.eu">manieq@wp.eu</a>&gt;</span> wrote:<br />
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi All,<br /> <br /> I'm trying to implement subconference feature, to allow some<br /> participants go (or rather "gosub") to a another conference room to<br /> discuss something then get back to the main conference. I use FreeSWITCH<br /> Version 1.0.head (hacked-20110112T172836Z). Bellow some configure<br /> extracts:<br /> <br /> &gt;From conference.conf.xml:<br /> &nbsp;...<br /> 
&nbsp;&lt;caller-controls&gt;<br /> &nbsp; &nbsp;...<br /> &nbsp; &nbsp;&lt;group name="just_exit"&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;control action="hangup" digits="#"/&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;control action="hangup" digits="1"/&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;control action="mute" digits="0"/&gt;<br /> &nbsp; &nbsp;&lt;/group&gt;<br /> &nbsp; &nbsp;...<br /> &nbsp;&lt;/caller-controls&gt;<br /> &nbsp;...<br /> &nbsp;&lt;profiles&gt;<br /> &nbsp; &nbsp;..<br /> &nbsp; 
&nbsp;&lt;profile name="confX_M"&gt;<br /> &nbsp; &nbsp; &nbsp;...<br /> &nbsp; &nbsp; &nbsp;&lt;param name="caller-controls" value="just_exit"/&gt;<br /> &nbsp; &nbsp; &nbsp;...<br /> &nbsp; &nbsp;&lt;/profile&gt;<br /> &nbsp; &nbsp;&lt;profile name="confX_S"&gt;<br /> &nbsp; &nbsp; &nbsp;...<br /> &nbsp; &nbsp; &nbsp;&lt;param name="caller-controls" value="just_exit"/&gt;<br /> &nbsp; &nbsp; &nbsp;...<br /> &nbsp; &nbsp;&lt;/profile&gt;<br /> &nbsp;&lt;/profiles&gt;<br /> &nbsp;...<br /> <br 
/> <br /> &gt;From dialplan (own) public/confX.conf.xml:<br /> &nbsp; &nbsp;...<br /> &nbsp; &nbsp;&lt;extension name="confX_join"&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;condition field="destination_number" expression="^confX_join$"/&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;condition field="${confX_num}" expression="^1(\d{4})$"&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action application="bind_meta_app" data="1 a s<br /> execute_extension::subX_1"/&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action 
application="bind_meta_app" data="2 a s<br /> execute_extension::subX_2"/&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action application="bind_meta_app" data="3 a s<br /> execute_extension::subX_3"/&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action application="conference" data="confX_${cpnfX_num}@confX_M"/&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;/condition&gt;<br /> &nbsp; &nbsp;&lt;/extension&gt;<br /> &nbsp; &nbsp;...<br /> &nbsp; &nbsp;&lt;extension name="subX_1"&gt;<br /> &nbsp; &nbsp; 
&nbsp;&lt;condition field="destination_number" expression="^subX_1$"&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action application="set" data="pass_rfc2833=true"/&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action application="conference" data="confX_${cpnfX_num}_1@confX_S"/&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;/condition&gt;<br /> &nbsp; &nbsp;&lt;/extension&gt;<br /> &nbsp; &nbsp;&lt;extension name="subX_2"&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;condition field="destination_number" 
expression="^subX_2$"&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action application="set" data="pass_rfc2833=true"/&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action application="conference" data="confX_${cpnfX_num}_2@confX_S"/&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;/condition&gt;<br /> &nbsp; &nbsp;&lt;/extension&gt;<br /> &nbsp; &nbsp;&lt;extension name="subX_3"&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;condition field="destination_number" expression="^subX_3$"&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action 
application="set" data="pass_rfc2833=true"/&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;action application="conference" data="confX_${cpnfX_num}_3@confX_S"/&gt;<br /> &nbsp; &nbsp; &nbsp;&lt;/condition&gt;<br /> &nbsp; &nbsp;&lt;/extension&gt;<br /> &nbsp; &nbsp;...<br /> <br /> <br /> During connection user is first handled by IVR, where he enters<br /> conference number (assume: "1234") which is stored in "confX_num"<br /> variable. Then call is transfered to "confX_join". Here I assign 
actions<br /> for *1, *2 and *3 DTMF sequences then join main conference<br /> ("confX_1234_M"). When some user presses i.e. "*2" then he also enters<br /> subconf 2 ("confX_1234_2"). Those users attached to "confX_1234_2" are<br /> at the same time still attached also to "confX_1234_M", but found muted<br /> and deaf to other participants. Then, leaving subconference they will be<br /> back "alive" in master conference, which I tested by kicking them from<br /> "confX_1234_2" manually.<br /> 
<br /> Now my problem begins. Then user is on "confX_1234_M" dialing "#" forces<br /> user to leave conference, as defined in "just-exit" controls. But when<br /> user enters also "confX_1234_2" DTMF codes are no longer processed,<br /> neither by master conference nor by subconference. I set<br /> "pass_rfc2833=true" but it is not helpful. Did I missed to set something<br /> [1] in the dialplan or other config files, or [2] actually no DTMF codes<br /> can be processed while in "*2" leg? And 
if [2]==true: would it be<br /> possible to develop such DTMF handling?<br /> <br /> BTW: DTMFs are not processed while in subconference but if user is<br /> kicked off from subconf back to main conference, one can use DTMF codes<br /> again to (un)mute (0), join sub (*2) or leave (# or 1).<br /> <br /> TIA for your help or tips.<br /> <br /> Regards,<br /> Mariusz<br /> <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 /></blockquote>
</div>
<br /></div>
</blockquote>
<p><br /></p><br />