[asterisk-dev] Simulation of radios with something like MeetMe()

David Van Ginneken davevg at btwtech.com
Thu Jan 10 08:30:01 CST 2008


Holger Wirtz wrote:
> On Wed, Jan 09, 2008 at 10:39:17AM -0600, Steven S. Critchfield wrote:
> [...]
>   
>> While thinking about this, meetme would probably be the wrong application
>> to host this. Specifically, as I understand it, meetme currently creates
>> one mix audio stream and then distributes this to the various parties.
>> What you need is a different stream per user mixed based on relative
>> distances. Also the need to be able to wipe certain signals out as they 
>> are overpowered b y closer strong signals.
>>     
>
> I took a lokk at the sources... maybe meetme is not the right base for
> writing such an application.
>
>   
>> I think what you need is going to be a fairly complex problem and well
>> beyond usefull in the telephony world where we want to make this all the
>> best quality sound possible.
>>     
>
> Yes, I know. Everyone is glad because Asterisk is a stable and flexible
> plattform and than a Flight-Sim'mer comes in and wants evil things like
> half-duplex, noise and distortion :-)
>
> I really so not want to block the developers from
> doing important things for Asterisk. But before starting with coding or
> even thinking deeper for this problem I just want to know if others
> think that this is manageable.
>
> Using Asterisk for communication has some big advantages. Currently an
> implementaion based on Asterisk is running - but it is ATC based, what
> means: the range calculation is done on the coords of the plane and the
> coords of the airport (fixed coords, where the ATC should sit and watch).
> There is no other physical simulation (noise, loudness, EQ) realised yet. The
> frequencies are simply coded to a number (which identifies the airport
> and the frequency clearly) and leaving the supposed range of 50 km means
> that a hangup is done (very digitial implemented :-) ).
>
> With Asterisk/VoIP you have a defined standard for coding and
> transmission. Also some features (like booking ATCs for frequencies) or
> simply setup weather informations for airports with to some kind of voicebox
> is simply done.
>
>   
>> You also might want to consider how realistic you want your radio
>> simulator to work. For instance, if you are flying below the peak of a
>> mountain range, your quality over the range is going to be affected by
>> where your receiver is and what kind of signal bounces you might get.
>>     
>
> No, I do not think that mountains should influence the sound. Here are
> some of my ideas (in descending order of implementation needs) which I
> like to realise:
>
> - quality interference (such as a LoFi filter: noise distortion,
>   bandpath EQ)
> - mixdown based on distance (means more noise and turning the sound
>   down)
> - crosstalk simulation (perhaps not realistic)
> - ...
>
> Regards, Holger
>
>   
>> -- 
>> Steven Critchfield critch at basesys.com
>>     
>
>   
>> X-Spam-Status: No, score=-2.599 tagged_above=-10 required=6.6
>> 	tests=[BAYES_00=-2.599]
>> Date: Wed, 9 Jan 2008 15:30:01 +0100
>> From: Holger Wirtz <wirtz at dfn.de>
>> To: asterisk-dev at lists.digium.com
>> Message-ID: <20080109143001.GJ29017 at arktur.dfn.de>
>> Subject: [asterisk-dev] Simulation of radios with something like MeetMe()
>>
>> Hi,
>>
>> I hope this is not too much OT. I am currently working on a simualtion
>> of radio equipment for the open sorce flightsimualtor FlightGear. It
>> works with Asterisk and the client is based on iaxclient (see
>> http://wiki.flightgear.org/flightgear_wiki/index.php?title=FGCOM)
>>
>> Actually it works but there are some problems. For more realistic radios
>> there should be an application like app_meetme with more features:
>>
>> For the outgoing audio stream to each client there has to be a mixup of
>> the stream based on the distance between the partners. I know that this
>> would use more cpu cycles than the normal conference.
>>
>> But the real problem is:
>> how do I get the coords of the plane from the client to the Asterisk
>> application? My idea was to send them once or twice a minute with a
>> SendText() on the channel.
>>
>> Now my questions:
>> - Can this be realized with an advanced app_meetme?
>> - Is it possible to work with text informations in an application like
>>   app_meetme?
>>
>> Thanks, Holger
>> -- 
>> #####  #### ##  ##   Holger Wirtz         Phone : (+49 30) 884299-40
>> ##  ## ##   ### ##   DFN-Verein           Fax   : (+49 30) 884299-70
>> ##  ## #### ######   Stresemannstr. 78    E-Mail: wirtz at dfn.de
>> ##  ## ##   ## ###   10963 Berlin
>> #####  ##   ##  ##   GERMANY              WWW   : http://www.dfn.de
>> GPG-Fingerprint: ABFA 1F51 DD8D 503C 85DC  0C51 E961 79E2 6685 9BCF
>>
>> _______________________________________________
>> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>>
>> asterisk-dev mailing list
>> To UNSUBSCRIBE or update options visit:
>>    http://lists.digium.com/mailman/listinfo/asterisk-dev
>>     
>
>   
>> _______________________________________________
>> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>>
>> asterisk-dev mailing list
>> To UNSUBSCRIBE or update options visit:
>>    http://lists.digium.com/mailman/listinfo/asterisk-dev
>>     
>
>   
Not sure if it will work, just throwing out another idea. You could try 
something like using an AGI with the Page application. The AGI will 
determine which peers are in radio range and issue the page application 
against them. Instead of sending text messages of the coordinates store 
them in a db to be queried by the AGI. You'd need to change the client 
side to allow it to answer multiple lines and mix the audio 
automatically for cases where there are multiple pages. I guess you 
could change app_page to also send the distance to each peer in the 
callerid so the distortion etc could be handled on the client side based 
on that value. You will still need to handle the outbound audio somehow.



More information about the asterisk-dev mailing list