Conference issue - big challenge

Hi everyone,

I am facing a big challenge, the situation is this one :
1 talker
3 intermediaire
10 listerners

I want that :

  • listerners can only listen to 1 specific intermediaire (choosen on criteres)
  • intermediaires can talk to the listeners and only listen to the talker
  • talker can only talk to all intermediaires but not to listeners

(all on SIP channels)

I am thinking about MeetMe conferences… or a way to hold 2 SIP communications at the same time and mute people who have to be… well i didn t find a way to make it …

Anybody could help me ?

pull the listener and the inter out of the conference and connect them with, for example, a bridge() command. you will have to have an external app (probably agi) that keeps tags of the “channel” variable of each caller involved.

Hi drivefast,

Excuse me, I didn’t really understand your solution… I should create a conference with the 3 (talker, inter and listener). Then if I pull the inter out of the conference, how will he be able to listen to the talker ? What should I keep the tags of the channel variable ?

Thank you very much.

then i’m the one that most apologize, perhaps i didnt understand what you want to do. i thoght you want to have a main talker, a bunch of listeners, and your intermediares are some sort of screeners (they talk privately to the listeners, before giving them the right to talk in the main conference). one way or another, i’m not clear who is talking to who in your scenario, maybe try explaining that in more detail and i’ll see if i have any suggestions.

by keeping tabs of the channels involved, i meant having a way of identifying what channel has what role (talker, inter, listener) at one point in time. plenty of way to achieve that - databases, flat files, whatever is easier for you.

Thank you very much for you fast answer. I will try to explain the problem better.

This is a first archhitecture of the system-

  • The greek speaker talks
  • The translators listen to the speech in greek and translate it in english and french
  • The listeners can choose what language they want to hear.

At first all would happen on SIP Channel

I am thinking about the following :

  • the greek talker initiate a SIP call on the asterisk server which one will not hangup and keep listening.
  • The translators can initiate a SIP call on the asterisk server and be redirected to the SIP call of the talker
    (----> but they just can hear this communiation)
    Once the translator can hear the talker, another SIP call will be initiate on the asterisk server.
    (----> but he can only talk on this call)
  • The listeners can choose what translation they want and start initiate a SIP call in order to listen only to the translator they chose.

Would you have an idea to realize that ?

Thank you very much !


oh ok, i think i got it now… but after scratching my head a little, i got to the point where i doubt an asterisk-only implementation will be your solution. you need a conference with a main talker, and a bunch of translators in listen only mode. at the same time, for each translator, you need a language-specific conference, with the translator being the talker, and a whole bunch of listeners. the problem is - the translator’s call has to be in 2 conferences at the same time: in the main conference with its downstream audio, and in the translated conference with its upstream audio. unless someone knows different, i dont think asterisk out-of-the-box can split the audio streams of a call and treat them as 2 different calls.

therefore rather than coming with some crazy and who knows how stable modification, here’s how i would do it. i would leave the first conference as described - main talker calls in and talks, the translators call in and listen in their headphones. however, instead of a 2nd call for the translators, i would have them each talk on an internet radio station kind of rig (have a regular microphone, and use for example an ezstream + icecast setup). you can then pull the audio stream from the icecast station in a language-specific conference (generate an automated call with one side connecting to the language-specific conference in talk only, the other side connecting to the audio stream), OR the listeners can listen directly to the stream broadcasted by icecast.

hope this will set you on the right research path :wink:

It’s exactly the point. It looks quite a hard to solve puzzle…
Your solution looks interesting I’ll give it a try.
Do you know any other forum where I could talk about this problem ? just to get potencial new ideas ?
Thank you very much!

What about the page() application ? could it be useful ? … call+HOWTO

3 way conference ?