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@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.