[asterisk-users] One leg in a conference and adjusting stream volume of other leg

Johan Wilfer lists at jttech.se
Mon Aug 27 13:16:32 CDT 2012


2012-08-27 19:48, Markus skrev:
> Hi Matthew,
>
> Am 27.08.2012 15:41, schrieb Matthew Jordan:
>>> When they adjust the volume of the stream, if effects only their
>>> stream,
>>> and not the volume of the stream of the other callers.
>>>
>>> In short: All callers at all times are *always* in the same
>>> conference,
>>> but each caller is able to increase or decrease the volume of "their"
>>> MP3 stream individually.
>>
>> You can use ConfBridge's DTMF menus to allow a participant to change
>> their listening volume.  This should only affect the audio that the
>> participant hears, and not the other participants in the conference -
>> regardless of whether or not the audio originates from the same source.
>
> thanks! I wasn't clear enough in my original mail. What I meant is: the
> volume of the stream that a user is listening to is adjusted, but the
> volume of the conference itself is not changed! That means, a conference
> is going on, and everyone is listening to the same music at the same
> time, but when the music becomes too loud or annoying, a user can
> individually adjust the volume of his music, while the volume of the
> speech of each user, basically the conference itself, remains the same.
>
> I think what I'm looking for is to inject the MP3 stream into only the
> "listening" direction of each user, and allow its volume to get adjusted
> via DTMF. And at the same time, each user is in the same conference.
>
> Even more: I would like to be able to feed each user a *different*
> volume-adjustable MP3 stream, but all of the users are still in the same
> conference (not hearing each others MP3 stream, only their voice!).
>
> I've researched high and low and came up with the following pointers:
>
> - Dial with the G flag
> - ChanSpy, whispering
> - VOLUME()
> - MOH connected to a local channel
> - Queue that loops indefinitely
>
> But I don't know yet how to put it all together.
>
> I found some hints in the right direction here:
>
> "Playing audio to one channel only":
> http://www.mail-archive.com/asterisk-users@lists.digium.com/msg245811.html
>
> "Meetme with background music" (last post)
> http://fonality.com/trixbox/forums/trixbox-forums/help/meetme-background-music
>
>
> "Background music during a call"
> http://www.mail-archive.com/asterisk-users@lists.digium.com/msg254252.html
>
>
> Does anyone have the right solution and is available to create a
> dialplan for me for cash? Please get in touch!


I would do it like this:

1. Use Meetme or Confbridge and use functionality to jump out of the 
conference if DTMF is pressed (X-flag in meetme, I expect similar exists 
in confbridge).

2. Call AGI, Log to DB, etc - whatever - and return to the conference.

3. Have a external program that manipulates the channel playing the 
music. For example this could be done by ChannelRedirect AMI to special 
dialplan extensions that lower and raises the volum. You can use 
System()-app in asterisk, or AGI for example. Then use AMI in the script.


The music on hold could be implemented as a Local channel.

a. Look at Originate-app, or Originate AMI command. One side of the call 
are connected to a context/extension/priority (for example: Meetme 
here). And the other end you dial Local/extension at context (for example: 
Here you play music).

b. Prepare some extensions that lower/raises volume (look at func_volume)

Good luck!

/Johan



More information about the asterisk-users mailing list