[Freeswitch-users] dynamic conference

Carole O. carole.olivier at enst.fr
Thu Dec 18 01:37:42 PST 2008


Hello,

Thanks for your answers!
Concerning the creation of a new variable for the conference the problem is
that I do not create channels from the conference. I call separately a new
member on a new channel and add it on the conference only if he agrees to
enter it. So it was the same problem as for the uuid, I am not sure I can
access the good variable from anywhere in case many conferences are running.

So, I do the following if somebody is interested in:

<extension name="Local_Extension">
     .....................
      <condition field="destination_number"
expression="^${caller_id_number}$">
        <anti-action application="bind_meta_app" data="1 a o transfer::
transf_opp_leg_${db(select/conference/${caller_id_number})}_${destination_number}"/>
        <anti-action application="bind_meta_app" data="2 ab s
transfer::-both
transf_both_${uuid}_${caller_id_number}_${destination_number}"/>
       ..........
</extension>

<extension name="transf_both_legs">
     <condition field="destination_number"
expression="^transf_both_(.*)_(.*)_(.*)$">
         <action application="db" data="insert/conference/$2/conf_$1"/>
         <action application="db" data="insert/conference/$3/conf_$1"/>
         <action application="answer"/>
         <action application="conference" data="conf_$1 at conf_dynamic"/>
     </condition>
</extension>

<extension name="transf_opposite_leg">
     <condition field="destination_number"
expression="^transf_opp_leg_(.*)_(.*)$">
         <action application="db" data="insert/conference/$2/$1"/>
         <action application="answer"/>
         <action application="conference" data="$1 at conf_dynamic"/>
     </condition>
</extension>

This is not perfect and I am not sure it is "cleanly" programmed but it
works and it is flexible. All the members in the conference can invite new
members thanks to the conference name they all have in the database.

If you still have critics they are all welcome!
Thanks for your help,
Best regards,
Carole


Rupa Schomaker (lists)-2 wrote:
> 
> On 12/17/2008 8:24 AM, Carole O. wrote:
>> It would be unique you are right but I am not sure I can get its value if
>> A
>> puts the call on hold, calls C and wants to add it to the conference
>> whose
>> name dependent of the uuid of another session. 
>> I think if I use ${uuid} to add C I will have the uuid of the session
>> between A and C and not A and B no?
>> And I really have to configure this from the dialplan so statically.
>> 
>> Am I wrong somewhere??
>> 
>> Carole
> 
> Ah, yeah.  uuid would not be the same when initiating a new call that
> you then transfer to the conference call.  You need something that is
> intrinsic to the endpoint.
> 
> I did a quick info dump to an originated call.  Depending on your
> use-case (are these calls originating from registered handsets, trunked
> from a sip provider, etc) you might want to rely on the variable
> "sip_contact_uri" which is a combination of registered user name and ip
> (and port if port isn't 5060).  This should be unique per endpoint.
> 
> 
> 
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
> 
> 

-- 
View this message in context: http://www.nabble.com/dynamic-conference-tp21053181p21069519.html
Sent from the Freeswitch-users mailing list archive at Nabble.com.





More information about the FreeSWITCH-users mailing list