Okay, I did something 100% in dialplan with some conference.conf.xml additions. It's an example of how crazy powerful the dialplan really is. First, you need to add these to your conference.conf.xml:<div><br></div><div>
<font class="Apple-style-span" face="'courier new', monospace"><caller-controls></font></div><div><font class="Apple-style-span" face="'courier new', monospace">...</font></div><div><div><font class="Apple-style-span" face="'courier new', monospace"> <group name="plain"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <control action="mute" digits="0"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <control action="energy up" digits="9"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <control action="energy equ" digits="8"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <control action="energy dn" digits="7"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <control action="vol talk up" digits="3"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <control action="vol talk zero" digits="2"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <control action="vol talk dn" digits="1"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <control action="vol listen up" digits="6"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <control action="vol listen zero" digits="5"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <control action="vol listen dn" digits="4"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> </group></font></div><div><font class="Apple-style-span" face="'courier new', monospace">...</font></div><div><font class="Apple-style-span" face="'courier new', monospace"></caller-controls></font></div>
<div><br></div><div>And add a new conference profile:</div><div><br></div><div><font class="Apple-style-span" face="'courier new', monospace"><profiles></font></div><div><font class="Apple-style-span" face="'courier new', monospace">...</font></div>
<div><div><font class="Apple-style-span" face="'courier new', monospace"> <profile name="simple"></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="domain" value="$${domain}"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="rate" value="16000"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="interval" value="10"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="energy-level" value="300"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="muted-sound" value="conference/conf-muted.wav"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="unmuted-sound" value="conference/conf-unmuted.wav"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="alone-sound" value="conference/conf-alone.wav"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="moh-sound" value="$${hold_music}"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="kicked-sound" value="conference/conf-kicked.wav"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="locked-sound" value="conference/conf-locked.wav"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="is-locked-sound" value="conference/conf-is-locked.wav"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="pin-sound" value="conference/conf-pin.wav"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="caller-id-name" value="$${outbound_caller_name}"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="caller-id-number" value="$${outbound_caller_id}"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <param name="caller-controls" value="plain"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <param name="comfort-noise" value="true"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> </profile></font></div></div><div><font class="Apple-style-span" face="'courier new', monospace">...</font></div><div><font class="Apple-style-span" face="'courier new', monospace"></profiles></font></div>
<div><br></div>Add these extensions to your dialplan. I just put them in conf/dialplan/default/01_Conf_Add_Caller.xml:</div><div><br></div><div><div><font class="Apple-style-span" face="'courier new', monospace"><include></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <!-- Sample dialplan for sending member or moderator to a conference where he/she can add/remove calls --></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <!-- Dial 46xx for member, *46xx for moderator --></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <extension name="Simple add-caller conf: member"></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <condition field="destination_number" expression="^(46\d{2})$"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><action application="answer"/></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><action application="conference" data="$1@simple"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> </condition></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> </extension></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <extension name="Simple add-caller conf: moderator"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <condition field="destination_number" expression="^\*(46\d{2}$)"></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><!-- set up a few bind_digit_action (BDA) bindings for the moderator --></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <action application="bind_digit_action" data="moderator,*1,exec:execute_extension,ASK_FOR_NUMBER__$1 XML default"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><action application="bind_digit_action" data="moderator,*2,exec:execute_extension,CANCEL_LAST_CALL__$1 XML default"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><action application="digit_action_set_realm" data="moderator"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><action application="conference" data="$1@simple"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> </condition></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> </extension></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> </font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <extension name="Add new OB call to conference"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <condition field="destination_number" expression="^ASK_FOR_NUMBER__(\d+)$"></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><!-- ask caller for a number + #, collect into ${target_num} variable --></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><action application="play_and_get_digits" data="4 11 1 5000 # ivr/ivr-enter_destination_telephone_number.wav ivr/ivr-that_was_an_invalid_entry.wav target_num \d+"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><!-- add this call to the conference --></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><action application="execute_extension" data="ADD_CALL_TO_CONF__${target_num}"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> </condition></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> </extension></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> <extension name="Remove last OB call added to conference"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <span class="Apple-tab-span" style="white-space:pre">        </span><condition field="destination_number" expression="^CANCEL_LAST_CALL__(\d+)$"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><!-- remove this call from the conference --></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><action application="set" data="res=${uuid_kill ${new_uuid}}"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> <span class="Apple-tab-span" style="white-space:pre">        </span></condition></font></div><div><font class="Apple-style-span" face="'courier new', monospace"> </extension></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">        </span><extension name="add that call"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><!-- if we have a four-digit number then attempt to dial it as a user ... --></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><condition field="destination_number" expression="^ADD_CALL_TO_CONF__(\d\d\d\d)$" break="on-true"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><action application="set" data="new_uuid=${create_uuid foo}" inline="true"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><action application="set" data="res=${bgapi originate {origination_uuid=${new_uuid}}user/$1 &conference(${conference_name})}"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span></condition></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><!-- if we have a five+ digit number then attempt to dial it as a gw connection ... --></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><condition field="destination_number" expression="^ADD_CALL_TO_CONF__(\d\d\d\d)$" break="on-true"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><action application="set" data="new_uuid=${create_uuid foo}" inline="true"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><action application="set" data="res=${bgapi originate {origination_uuid=${new_uuid}}sofia/gateway/mygw/$1 &conference(${conference_name})}"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><!-- Alternatively, you can just use loopback, but that creates three call legs instead of one, so be warned --></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><!--</font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><action application="set" data="res=${bgapi originate {origination_uuid=${new_uuid}}loopback/$1 &conference(${conference_name})}"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span>--></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span></condition></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><!-- ... otherwise inform moderator that the operation was not exactly successful --></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span><condition field="destination_number" expression="^ADD_CALL_TO_CONF__$"></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span><action application="playback" data="ivr/ivr-dude_you_suck.wav"/></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">                </span></condition></font></div><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-tab-span" style="white-space:pre">        </span></extension></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"></include></font></div><div><br></div><div>How it works:</div><div>Moderator dials *46xx to go into a conference. ("Normal" users dial 46xx and they cannot add a new call.) Moderator dials *1 and gets a dialog asking to enter the destination number and # key. Moderator keys in a phone number (or extension number) and presses #. System makes call and drops it into the conference. As a bonus feature I added *2 which will disconnect the most recently added phone call.</div>
<div><br></div><div>I did this mostly as a proof of concept, but there's no reason you can't take this code and put it into production. In fact, you could add a PIN or user id (or both) checker so that just anyone can't add a call to a conference. If you guys actually like this then I'll add it to the wiki or something so everyone else can reference it.</div>
<div><br></div><div>Enjoy,</div><div>MC</div><div><br></div><div><br></div><div class="gmail_quote">2011/5/16 fieldpeak <span dir="ltr"><<a href="mailto:fieldpeak@gmail.com">fieldpeak@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Gurus,<br><br>Is there anybody can help this issue? thanks!<br><br>Regards,<br>Charles<br><br><div class="gmail_quote">在 2011年5月14日 下午3:54,fieldpeak <span dir="ltr"><<a href="mailto:fieldpeak@gmail.com" target="_blank">fieldpeak@gmail.com</a>></span>写道:<div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Michael,<br><br>Thanks for your detailed suggestion.<br><br>i test it as below steps, it works fine, however, there is a limiation that i have to fill fixed callee number in conference.conf.xml (data="execute_extension 5001"), while actually i what to dial arbitrary number after "*" dynamically(e.g *1234, *2345), i can think out it could realize by a IVR script like "data="execute_extension IVR_scripts" and after IVR give some voice prompt (pls input the callee number) then ... however, considering simplicity, can i convey the DTMF into the dialplan (just directly press *1234, and then 1234 ring...)? could you please provide any hints or any suggestion... Thanks a lot!<br>
<br>1. in conference.conf.xml, set as below,<br><control action="execute_application" digits="*" data="execute_extension <span style="background-color:rgb(255, 255, 102)">5001</span>"/><br>
<br>2. in dial plan,<br><br><!-- for confernce named conf100 --><br><extension name="conf100" ><br> <condition field="destination_number" expression="^666$"><br> <action application="answer"/><br>
<action application="set" data="conference_user_list=|"/><br> <action application="conference" data="conf100@default"/><br> </condition><br></extension><br>
<br>and <br><br><!-- for dial out 5001 from the conference conf100 --><br><br><extension name="5_to_conf_out" ><br> <condition field="destination_number" expression="^(5\d+)$"><br>
<!-- <action application="conference" data="conf100 dial sofia/internal/<a href="mailto:5001@192.168.200.201" target="_blank">5001@192.168.200.201</a> 100 Conference_Caller_Name"/> --><br>
<!-- <action application="bridge" data="sofia/internal/$<a href="mailto:1@192.168.200.201" target="_blank">1@192.168.200.201</a>"/> --><br>
<action application="set" data="api_result=${conference(conf100 dial sofia/internal/$<a href="mailto:1@192.168.200.201" target="_blank">1@192.168.200.201</a> 100 Conference_Caller_Name)}"/><br>
</condition><br>
</extension><br><br>3. register a extension 3001, call 666 and join a conference, and then press "*", the FS will call 5001 on a IAD.<br>then 5001 and 3001 join the same conference.<br><br><br><div class="gmail_quote">
<div><div></div><div>
2011/5/12 liuyp2 <span dir="ltr"><<a href="mailto:liuyp2@asiainfo-linkage.com" target="_blank">liuyp2@asiainfo-linkage.com</a>></span><br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div></div><div>
<div style="font-size:10pt;font-family:verdana">
<div><font size="2" color="#0000ff" face="Verdana">
<div><font size="2" color="#0000ff" face="Verdana">conference Your-Conf-Name dial
user/1002</font></div></font></div>
<div><font size="2" face="Verdana"></font> </div>
<div align="left">
<div align="left"><font size="2" face="Verdana">
<hr style="width:122px;min-height:2px" size="2">
</font></div>
<div><font color="#c0c0c0"><font size="2" face="Verdana"><span>liuyp2</span></font></font></div>
<div><font size="2" face="Verdana">2011-05-12</font></div></div>
<div><font size="2" face="Verdana">
<hr>
</font></div>
<div><font face="Verdana"><font size="2"><b>发件人:</b>
fieldpeak</font></font></div>
<div><font face="Verdana"><font size="2"><b>发送时间:</b>
2011-05-12 11:11:41</font></font></div>
<div><font face="Verdana"><font size="2"><b>收件人:</b>
FreeSWITCH-users</font></font></div>
<div><font face="Verdana"><font size="2"><b>抄送:</b> </font></font></div>
<div><font face="Verdana"><font size="2"><b>主题:</b> [Freeswitch-users]
call somebody into conference after conferenceestablished</font></font></div><div><div></div><div>
<div><font size="2" face="Verdana"></font> </div>
<div><font size="2" face="Verdana">Hi Gurus,<br><br>i dial 666 and enter a
conference, then i need call some body's phone number to join him into this
conference...<br>is there anyone can advise how can realize this scenario?
<br><br>thanks.<br><br>Regards,<br>Charles<br></font></div></div></div></div>
<br></div></div><div>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">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>
<br></div></blockquote></div><br>
</blockquote></div></div></div><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>
<br></blockquote></div><br></div>