[Freeswitch-users] dynamic conference

Carole O. carole.olivier at enst.fr
Sun Dec 21 23:25:33 PST 2008


Hello,

Ray, thanks for your detailed answer!!

Fidibus83, when are you pressing *1 ? Because the last version of the
program I gave is thought to be executed like the following:
 - A and B are on call
 - A and B decide to change their call into a conference in order to invite
other people. So A or B press first *2. In this way, both legs are
transferred to the extension named transf_both_legs. In this extension, the
name of the conference will be created and added in the database so you can
not skip it.
 - A and B are now in a conference
 - A (or B) puts B (or A) on hold.
 - A (or B) calls C.
 - if C answers and agrees then A (or B) press *1. This transfers the
opposite leg, this means C, to the extension transf_opposite_leg. C will be
here transferred to the conference whose name will also be added in the db
as an entry for C.
 - A (or B) comes back to the conference it had put on hold.
 - A, B and C are now all in the conference.

So I am not sure but maybe you press first *1 instead of *2 isn't?
If this is not the case then you could press F8 to debug and find out what's
wrong. I am sorry but I can not help you more, I am new with freeswitch and
not very experienced.

Thanks to all of you for your help,
I am going to improve this small program,
Best regards,
Carole


Raymond Chandler-2 wrote:
> 
> Carole O. wrote:
>> 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.
>>
>>   
> you could use the db app to hold state across multiple calls... maybe 
> use the ${caller_id_number} and the ${destination_number} as keys for 
> the insert/select so that there's something constant to use in the 
> select... and another extension or two may be needed...
> 
> You could do the db lookup before you make the call so that you see if 
> your caller is already a member of a conference.... if he is, then the 
> transfer from *1 would work much the same as it does now except you'd 
> use the result of the db lookup as the conference number... if he's not 
> a member of an existing conference, then you could generate the uuid 
> like Anthony said before, then do a db insert for ${caller_id_number} 
> and ${destination_number} to insert that newly created uuid and use it 
> as the conference number.... one caveat that i see here is that the 
> destination_number would have to be exactly the same as if that user 
> were callling and it was his caller_id_number, otherwise your query will 
> fail.
> 
> you'll also need to "clean" the db when you hangup, which should be able 
> to be accomplished with an execute_on_hangup that does a delete of the 
> conf data for each user
> 
> -Ray
> 
> _______________________________________________
> 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-tp21053181p21123756.html
Sent from the Freeswitch-users mailing list archive at Nabble.com.





More information about the FreeSWITCH-users mailing list