simultaneous interpretation conference system
Hi freeswitch devs, This is my first post to the list so I want to start by thanking you for the great work you have done on Freeswitch. And, sorry for the long post! I have specific questions at the bottom... I'm looking for advice on how to build a simultaneous intrepration conference call system. The way we'd like it to work: The system is required to handle two languages, but the ability to handle more than two languages would be an added bonus. For the purposes of this description, I'm giving the example of spanish and english. The conference call would have spanish-only, english-only, and bi-lingual speakers. In addition, one or more interpreters would be on the call. Bi-lingual speakers would participate in the call like it was a normal conference call. They would hear speakers in the original english or spanish, and would have the option of speaking either english or spanish based on their preferences. The english-only and spanish-only speakers would press 1 to hear a live intrepretation of the call. When spanish is spoken on the call, an english intrepretaton would be heard. When English is spoken, a spanish interpretation would be heard. This would only affect what they hear - they could still speak into the main conference. Participants would press 0 to return to hearing the main conference call. The interpreters would press 2 to enter interpretation mode. During this mode their voice is not heard on the main conference, instead it's only heard by people who have pressed 1 to hear the interpretation. When english is spoken, the intrepret to spanish and vice-versa. They could press 0 to return to the normal conference mode. Ideas on how to implement: First - has anyone implemented anything like this already? Based on the wiki docs, I think the conference relate function would be ideally suited for ensuring people who press 1 only heard the audio from people who have press 2 and for reversing the effect when 0 is pressed. Any ideas on a better way? The next problem is how to capture the digits pressed by conference call participants. I *think* this could be done by running a process that listens for freeswitch events. However, I'm not sure how much information is sent with the event. It would need to pass the conference id, the user id, and the digit they pressed. Is that information sent by the event handler? Or, is there a more elegant way to capture key-presses by conference participants? Thanks in advance for any light you can shed on this topic, jamie -- Jamie McClelland May First/People Link Growing networks to build a just world http://www.mayfirst.org https://support.mayfirst.org OpenPGP Key: http://current.workingdirectory.net/pages/identity/
Hello Jamie, I think you're on the right track with the 'relate' setting for members. That will allow you to control who hears whom. I'm not aware of anyone who has done anything quite like this but I'm sure that if you can keep track of which 'mode' each conference member puts himself in then you could have a program to control everything. If you are looking at a DIY project then come join us in #freeswitch on irc.freenode.net and we'll talk in realtime. There are a few telephone geeks in there. :) If you'd like professional assistance you can always email support@freeswitch.org and they can help you with scope, pricing, etc. Thanks, Michael On Mon, Feb 11, 2013 at 6:31 AM, Jamie McClelland <jm@mayfirst.org> wrote:
Hi freeswitch devs,
This is my first post to the list so I want to start by thanking you for the great work you have done on Freeswitch. And, sorry for the long post! I have specific questions at the bottom...
I'm looking for advice on how to build a simultaneous intrepration conference call system.
The way we'd like it to work:
The system is required to handle two languages, but the ability to handle more than two languages would be an added bonus. For the purposes of this description, I'm giving the example of spanish and english. The conference call would have spanish-only, english-only, and bi-lingual speakers. In addition, one or more interpreters would be on the call.
Bi-lingual speakers would participate in the call like it was a normal conference call. They would hear speakers in the original english or spanish, and would have the option of speaking either english or spanish based on their preferences.
The english-only and spanish-only speakers would press 1 to hear a live intrepretation of the call. When spanish is spoken on the call, an english intrepretaton would be heard. When English is spoken, a spanish interpretation would be heard. This would only affect what they hear - they could still speak into the main conference. Participants would press 0 to return to hearing the main conference call.
The interpreters would press 2 to enter interpretation mode. During this mode their voice is not heard on the main conference, instead it's only heard by people who have pressed 1 to hear the interpretation. When english is spoken, the intrepret to spanish and vice-versa. They could press 0 to return to the normal conference mode.
Ideas on how to implement:
First - has anyone implemented anything like this already?
Based on the wiki docs, I think the conference relate function would be ideally suited for ensuring people who press 1 only heard the audio from people who have press 2 and for reversing the effect when 0 is pressed. Any ideas on a better way?
The next problem is how to capture the digits pressed by conference call participants. I *think* this could be done by running a process that listens for freeswitch events. However, I'm not sure how much information is sent with the event. It would need to pass the conference id, the user id, and the digit they pressed. Is that information sent by the event handler? Or, is there a more elegant way to capture key-presses by conference participants?
Thanks in advance for any light you can shed on this topic,
jamie
-- Jamie McClelland
May First/People Link Growing networks to build a just world http://www.mayfirst.org https://support.mayfirst.org
OpenPGP Key: http://current.workingdirectory.net/pages/identity/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
Oh, I forgot to mention: regarding DTMFs, you'll need to modify the conference profile not to use whatever keys you want the callers to use. Just remove them from the profile. (See conf/autoload_configs/conference.conf.xml where there's all sorts of key bindings like 0=mute/unmute) You could listen for DTMF events, but most likely you'll need to set verbose_events to true so that you get all the event headers, not just the pre-selected ones. I like to use fs_cli for tinkering with events so that I can see what's going on. Check out the /events and /filter commands. Also see chapter 4 of the FreeSWITCH Cookbook. -MC On Tue, Feb 12, 2013 at 4:20 PM, Michael Collins <msc@freeswitch.org> wrote:
Hello Jamie,
I think you're on the right track with the 'relate' setting for members. That will allow you to control who hears whom. I'm not aware of anyone who has done anything quite like this but I'm sure that if you can keep track of which 'mode' each conference member puts himself in then you could have a program to control everything.
If you are looking at a DIY project then come join us in #freeswitch on irc.freenode.net and we'll talk in realtime. There are a few telephone geeks in there. :)
If you'd like professional assistance you can always email support@freeswitch.org and they can help you with scope, pricing, etc.
Thanks, Michael
On Mon, Feb 11, 2013 at 6:31 AM, Jamie McClelland <jm@mayfirst.org> wrote:
Hi freeswitch devs,
This is my first post to the list so I want to start by thanking you for the great work you have done on Freeswitch. And, sorry for the long post! I have specific questions at the bottom...
I'm looking for advice on how to build a simultaneous intrepration conference call system.
The way we'd like it to work:
The system is required to handle two languages, but the ability to handle more than two languages would be an added bonus. For the purposes of this description, I'm giving the example of spanish and english. The conference call would have spanish-only, english-only, and bi-lingual speakers. In addition, one or more interpreters would be on the call.
Bi-lingual speakers would participate in the call like it was a normal conference call. They would hear speakers in the original english or spanish, and would have the option of speaking either english or spanish based on their preferences.
The english-only and spanish-only speakers would press 1 to hear a live intrepretation of the call. When spanish is spoken on the call, an english intrepretaton would be heard. When English is spoken, a spanish interpretation would be heard. This would only affect what they hear - they could still speak into the main conference. Participants would press 0 to return to hearing the main conference call.
The interpreters would press 2 to enter interpretation mode. During this mode their voice is not heard on the main conference, instead it's only heard by people who have pressed 1 to hear the interpretation. When english is spoken, the intrepret to spanish and vice-versa. They could press 0 to return to the normal conference mode.
Ideas on how to implement:
First - has anyone implemented anything like this already?
Based on the wiki docs, I think the conference relate function would be ideally suited for ensuring people who press 1 only heard the audio from people who have press 2 and for reversing the effect when 0 is pressed. Any ideas on a better way?
The next problem is how to capture the digits pressed by conference call participants. I *think* this could be done by running a process that listens for freeswitch events. However, I'm not sure how much information is sent with the event. It would need to pass the conference id, the user id, and the digit they pressed. Is that information sent by the event handler? Or, is there a more elegant way to capture key-presses by conference participants?
Thanks in advance for any light you can shed on this topic,
jamie
-- Jamie McClelland
May First/People Link Growing networks to build a just world http://www.mayfirst.org https://support.mayfirst.org
OpenPGP Key: http://current.workingdirectory.net/pages/identity/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
On Wed Feb 13, Michael Collins wrote:
Oh, I forgot to mention: regarding DTMFs, you'll need to modify the conference profile not to use whatever keys you want the callers to use. Just remove them from the profile. (See conf/autoload_configs/conference.conf.xml where there's all sorts of key bindings like 0=mute/unmute)
You could listen for DTMF events, but most likely you'll need to set verbose_events to true so that you get all the event headers, not just the pre-selected ones. I like to use fs_cli for tinkering with events so that I can see what's going on. Check out the /events and /filter commands. Also see chapter 4 of the FreeSWITCH Cookbook.
Thanks so much for the support. I'll give it a try and report back my progress. jamie -- Jamie McClelland May First/People Link Growing networks to build a just world http://www.mayfirst.org https://support.mayfirst.org OpenPGP Key: http://current.workingdirectory.net/pages/identity/
Hi everyone, Thanks to the foundational work of the freeswitch devs and community, I've managed to write my application in about 150 lines of code. It's still in early alpha testing phase, but if you are interested in seeing the code, it's available here: git://git.mayfirst.org/mfpl/mexcla I wanted to also thank Alexandre Fiori - because it wouldn't have been so easy and pleasant without https://github.com/fiorix/eventsocket. jamie On Wed Feb 13, Michael Collins wrote:
Oh, I forgot to mention: regarding DTMFs, you'll need to modify the conference profile not to use whatever keys you want the callers to use. Just remove them from the profile. (See conf/autoload_configs/conference.conf.xml where there's all sorts of key bindings like 0=mute/unmute)
You could listen for DTMF events, but most likely you'll need to set verbose_events to true so that you get all the event headers, not just the pre-selected ones. I like to use fs_cli for tinkering with events so that I can see what's going on. Check out the /events and /filter commands. Also see chapter 4 of the FreeSWITCH Cookbook.
-MC
On Tue, Feb 12, 2013 at 4:20 PM, Michael Collins <msc@freeswitch.org> wrote:
Hello Jamie,
I think you're on the right track with the 'relate' setting for members. That will allow you to control who hears whom. I'm not aware of anyone who has done anything quite like this but I'm sure that if you can keep track of which 'mode' each conference member puts himself in then you could have a program to control everything.
If you are looking at a DIY project then come join us in #freeswitch on irc.freenode.net and we'll talk in realtime. There are a few telephone geeks in there. :)
If you'd like professional assistance you can always email support@freeswitch.org and they can help you with scope, pricing, etc.
Thanks, Michael
On Mon, Feb 11, 2013 at 6:31 AM, Jamie McClelland <jm@mayfirst.org> wrote:
Hi freeswitch devs,
This is my first post to the list so I want to start by thanking you for the great work you have done on Freeswitch. And, sorry for the long post! I have specific questions at the bottom...
I'm looking for advice on how to build a simultaneous intrepration conference call system.
The way we'd like it to work:
The system is required to handle two languages, but the ability to handle more than two languages would be an added bonus. For the purposes of this description, I'm giving the example of spanish and english. The conference call would have spanish-only, english-only, and bi-lingual speakers. In addition, one or more interpreters would be on the call.
Bi-lingual speakers would participate in the call like it was a normal conference call. They would hear speakers in the original english or spanish, and would have the option of speaking either english or spanish based on their preferences.
The english-only and spanish-only speakers would press 1 to hear a live intrepretation of the call. When spanish is spoken on the call, an english intrepretaton would be heard. When English is spoken, a spanish interpretation would be heard. This would only affect what they hear - they could still speak into the main conference. Participants would press 0 to return to hearing the main conference call.
The interpreters would press 2 to enter interpretation mode. During this mode their voice is not heard on the main conference, instead it's only heard by people who have pressed 1 to hear the interpretation. When english is spoken, the intrepret to spanish and vice-versa. They could press 0 to return to the normal conference mode.
Ideas on how to implement:
First - has anyone implemented anything like this already?
Based on the wiki docs, I think the conference relate function would be ideally suited for ensuring people who press 1 only heard the audio from people who have press 2 and for reversing the effect when 0 is pressed. Any ideas on a better way?
The next problem is how to capture the digits pressed by conference call participants. I *think* this could be done by running a process that listens for freeswitch events. However, I'm not sure how much information is sent with the event. It would need to pass the conference id, the user id, and the digit they pressed. Is that information sent by the event handler? Or, is there a more elegant way to capture key-presses by conference participants?
Thanks in advance for any light you can shed on this topic,
jamie
-- Jamie McClelland
May First/People Link Growing networks to build a just world http://www.mayfirst.org https://support.mayfirst.org
OpenPGP Key: http://current.workingdirectory.net/pages/identity/
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Jamie McClelland May First/People Link Growing networks to build a just world http://www.mayfirst.org https://support.mayfirst.org OpenPGP Key: http://current.workingdirectory.net/pages/identity/
participants (2)
-
Jamie McClelland
-
Michael Collins