FGCom (before 3.0): Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(→‎The -f910 Test: small changes ;))
(Switch to {{gitorious url}} and {{fgmeta url}} to fix the broken Gitorious links. This required a switch from <div> and <table> tags to <syntaxhighlight>.)
 
(76 intermediate revisions by 25 users not shown)
Line 1: Line 1:
{{cleanup}}
{{historical
| type  = article
| tense  = is
| text  = obsolete
| reason = The new version of FGCom is much more simple to use and a clean documentation is available at [[FGCom 3.0]]
| talk  =
| date  = 1 January 2015
| nocat  =
}}


'''FGCom''' is an addon for [[FlightGear]]. With FGCom (and the infrastructure behind it), FlightGear now has a realtime voice communication system which enriches the FlightGear capabilities, especially for Multiplayer events, like:
{{Infobox Software
*flying in groups  (see e.g. the '''Forum Multiplayer Events'''):
| title                  = FGCom
**invite friends to a guided sightseeing tour in your most beloved area or do “Fly In's”
| logo                  =
**do military training like [[Howto: Air-Air Refueling|“Air-Air-Refuelling”]], “Dog fights”, “Escort flights”, etc.
| image                  =
*offering additional services at an airport like [[Air traffic control|ATC]], [[Vehicle|Snowplows, Pushbacks]], [[FlightGear Race|Racing-Events]] etc.
| alt                    =
*have a [[Dual control|real time flighttraing]] (e.g. pilot in Hongkong, teacher in Sydney) or do [[Soaring|Glider-towing]] or just ask for on-line support during flight or just ask somebody flying a plane of interest about specifics
| developedby            = Holger Wirtz, Martin Spott, Csaba Halasz
*or e.g. just sit in a cockpit e.g. in Germany while sightseeing San Francisco in a C172, voice-chatting with a Texan in a plane I dreamed of as a boy (Super Constellation), and both getting informations from a New Zealand guy (it shall be a wonderful island – but do real people live there? He said: Yes!!).
| hostedby              = tgreer @ tsone . info
*etc.
| initialrelease        =
You can even use it in models without radios - just use the standard FlightGear menu --> Equipment --> Radio Settings.<br>
| latestrelease          =
| writtenin              =
| os                    =
| platform              =
| developmentstatus      = Active (2007-)
| type                  =
| license                = [[GNU General Public License]]
| website                = {{gitorious url|fg|fgcom}}
}}


In the future FGCom surely will extend further and surely will get a “Speech to Text” capability in order to also integrate the Text-based automated ATC-routines inside FlightGear.
'''FGCom''' is an addon for [[FlightGear]]. With FGCom (and the infrastructure behind it), FlightGear has a realtime voice communication system which enriches the FlightGear capabilities, especially for [[Howto: Multiplayer|multiplayer]] events, like:


==Status==
* Flying in groups, see the [http://forum.flightgear.org/viewforum.php?f=10 multiplayer events forum]
*'''March, 2009:'''
** Invite friends to a guided sightseeing tour in your most beloved area or do “Fly In's”
Adding User-Informations for installing, using, maintaining FGCOM on different platforms.
** Do military training like [[Howto:Aerial_refueling|“Air-Air-Refuelling”]], “Dog fights”, “Escort flights”, etc.
* Offering additional services at an airport like [[Air traffic control|ATC]], [[Vehicle|snowplows, pushbacks]], racing-events, etc.
* Have a [[Dual control|real time flighttraining]] (e.g. pilot in Hongkong, teacher in Sydney), do [[Soaring|Glider-towing]], ask for on-line support during flight or just ask somebody flying a plane of interest about specifics.
* Or just sit in a cockpit in Germany while sightseeing San Francisco in a [[Cessna C172|C172]], voice-chat with a Texan in a plane I dreamed of as a boy ([[Lockheed Constellation|Super Constellation]]) and both getting information from a New Zealand guy (it shall be a wonderful island – but do real people live there? He said: Yes!!).
* And much more!


*'''18 November, 2008:'''
You can even use it in models without radios - just use the standard FlightGear menu --> Equipment --> Radio Settings).
Latest SVN (rev 163) has the compile problems fixed. Also we have a '''new server: fgcom.flightgear.org.uk'''. User accounts not required (ie. do '''not''' use -U or -P)
*'''31 October, 2008:'''


The latest SVN release at this time is the '''r149''' which does not compile due to a constant that is not defined (STL_STRING). Such constant appears at line 57 in the file ''src/fgcom_init.cpp'' which is:
In the future FGCom surely will extend further and surely will get a “Speech to Text” capability in order to also integrate the text-based automated ATC-routines inside FlightGears.
''#include STL_STRING''
 
I guess that such constant must point to the STL library include file but I am not sure.
I revert to the '''r148''' SVN version which successfully compiles.
 
Command to get such version is: ''svn co -r148 svn://svn.dfn.de:/fgcom/trunk fgcom-r148''
 
* '''19 June, 2008:''' Currently the server is <u>down</u> due to hardware problems. It is unknown when the service comes back because he currently has no time to fix the problems.
 
* '''22 November 2007:''' Due to heavy development at this time there may be some differences between the information on the web pages and the installation. Please follow the discussions on the FlightGear development list!
 
==The Client installation==
===Installing FGCom===
====Hardware Requirements====
If you are satisfied with the operation and responsetimes of your current FGFS installation, then you should see no significant difference after adding the FGCom. If your FGFS installation runs already a little marginal, then you might experience some delays when many new airplane-models etc. must be loaded. This may happen  when starting up at a busy airport. You can monitor/verify such a "short-time overload" in the FGstart command-window.


For details see the FGFS common hardware and driver requirements on http://www.flightgear.org/hardwarereq.html
== The Client installation ==
=== Prequisites ===
==== Hardware Requirements ====
If you are satisfied with the operation and response times of your current FlightGear installation, then you should see no significant difference after adding the FGCom. If your FlightGear installation runs already a little marginal, then you might experience some delays when many new airplane-models etc. must be loaded. This may happen  when starting up at a busy airport. You can monitor/verify such a "short-time overload" in the FlightGear command-window.


Of course you will also need a connection to the Internet for worldwide voice communication to work.
For details see the [http://www.flightgear.org/hardwarereq.html common hardware and driver requirements].


====Prequisites/Companions====
Of course you will also need a connection to the internet for this real-time, worldwide voice communication.


{| style="width:75%" border="1"
==== Software requirements ====
|+
{| border="1"
|-
|align="center" width="90px" |'''FlightGear''' ||The basic [[FlightGear]] Flight Simulation installation. This must be installed prior to installing FGCom ''(except if installing the Linux "Git complete" version which can install FGCom and FlightGear concurrently)''.
|align="center" width="100" |'''FGFS''' ||The basic Flight-Gear-Flight-Simulation installation. This must be installed prior to installing the FGCom ''(except if installing the Linux "CVS complete" version which can install FGCom and FGFS concurrently)''. ref.: http://www.flightgear.org/
|-
|align="center" | '''FGrun'''||This [[FlightGear Launch Control]] (also known as FG-Wizard), is a graphical front end to start the FGFS. This makes it very easy to startup the FGFS with all it's possible options. In some newer distributions this is already part of the basic FGFS installation package
|-
|align="center" |'''Atlas'''||[[Atlas]] displays the current position of your airplane on an landscape type of map together with navigational informations. It derives its data direct out of the installed FGFS databases. So you do not need any connections to the INTERNET.
|-
|align="center" |'''MPMap'''||[[MPMap]] is a pure browser application based on Google Maps, so it does not need any installation, except a Web-Browser. With MPMap you can watch all Multiuser-planes worldwide on a road-map, satellite picture or a composite of both. It includes most of the airports, navigational aids, and current weather informations. So it can be used for preflight planning, without having the FGFS started or even installed. But it needs a constant connection to the INTERNET - on the other hand you can do your preflight planning anywhere where there is a PC, connected to the INTERNET.
|-
|align="center" |'''Multiplayer'''||[[Howto: Multiplayer|“Multiplayer”]] is not an installable program but an integrated function of the FGFS. As the name says, it enables communication of several players via a chat-function (keyboard) - or with this vocal interface ==> FGCom.
|-
|align="center" |'''Festival'''||Festival is a TTS (Text To Speech) system that can convert all in the FGFS displayed written text (ATC, Chat, etc.) into speech and put it on your loudspeakers. ref.: http://www.flightgear.org/Docs/getstart/getstartch5.html#x10-790005.6
|-
|-
|align="center" |'''Runwayfinder'''||This standalone Browser-Application( http://www.runwayfinder.com ) does present a fantastic Fight-Planning tool, showing similar aspects like the "MPMap" but adds an Aeronatical map. It does not link to FGFS or MPMap or Multiplayer -- and covers only the domestic USA.  
|align="center" |'''Multiplayer'''||[[Howto: Multiplayer|“Multiplayer”]] is not an installable program but an integrated function of FGFS. As the name says, it enables communication of several players via a chat-function (until now per keyboard - now also with this vocal interface: FGCom).
|}
|}
====Install on Linux====
For Linux-Systems there are 3 ways to install:


'''1) Downloading from the “Distributor” (Debian, Ubuntu, Red Hat, Suse, etc.).'''
==== Nice to have ====
*'''Advantage:''' This is the easiest way and ensures that maintenance and services for this package and all concurrencies to it are provided automatically for a reasonable time-frame.
{| border="1" cellpadding="10"
*'''Disadvantage:''' The availability of those packages is usually very late and most Distributors do not cover all FGFS-features. To our knowledge none of the Distributors has an FGCom package available as of March 2009.
|align="center" width="90px" | '''FGrun'''||This [[FlightGear Launch Control]] (also known as FG Wizard), is a graphical front end to start the FGFS. This makes it very easy to startup the FGFS with all its possible options. In some newer distributions this is already part of the basic FGFS installation package.
*'''Installation:''' Follow the usual procedures of your distributer on how to install additional packages.
'''2) Installing a “CVS complete”'''
*'''Advantage:''' It is the very easiest form of installation and installs in one step all prerequisite/companion modules (FGFS, FGrun, FGcom, PLIB, OSG, Simgear, AT). Also it can be added and removed from the system without disturbing the rest of the system (Libraries, Menus, Structures, etc.). It was tested on several Ubuntu and Debian systems.
*'''Disadvantage:''' No automated maintenance available. The handling is a little different from the standard Menu-driven practice.
*'''Installation:'''  http://wiki.flightgear.org/index.php/Scripted_Compilation_on_Linux_Debian/Ubuntu
'''3) Compiling it locally'''
*'''Advantage:''' After a successful installation it is integrated into the system like a package from the distributor.
*'''Disadvantage:''' No automated maintenance available. Also the user should have some basic knowledge of his system and it's devices.
*'''Installation:'''
<ol><li>
Fetch FGCom (a copy of a working iaxclient is inside) from<br>
svn co https://appfgcom.svn.sourceforge.net/svnroot/fgcom fgcom
<br>
</li><br><li>
Optional: edit iaxclient/lib/Makefile
::{| style="width:80%" border="2"
|+
|-
||USE_PA_OSS=0||Set to "1" to use the oss emulation
|-
||USE_PA_ALSA=0||Set to "1" to use portaudio alsa (WARNING: only if your card natively supports 8000Hz sample rate)
|-
|-
||USE_PA_JACK=0||Set to "1" to use
|align="center" |'''MPMap'''||[[MPMap]] is a pure browser application based on Google Maps, so it does not need any installation, except a Web-Browser. With MPMap you can watch all Multiuser-planes worldwide on a road-map, satellite picture or a composite of both. It includes most of the airports, navigational aids, and current weather information. So it can be used for preflight planning, without having the FGFS started or even installed. But it needs a constant connection to the Internet - on the other hand you can do your preflight planning anywhere where there is a PC, connected to the Internet (with/or without FlightGear installed!).
|-
|-
||AUDIO_ALSA=0||Set to "1" to use native alsa (WARNING: PTT won't work)
|align="center" |'''SkyVector'''||[http://skyvector.com/ SkyVector] is a standalone Browser-Application. It does present a fantastic Fight-Planning tool, showing similar aspects like the "MPMap" - but is based on a an real Aeronatical map ("Sectional"). On it you can graphically plan your routes.
But it does not directly link into FGFS, MPMap or Multiplayer -- and it covers only the domestic USA.
|-
|-
||AUDIO_OPENAL=1||'''Set to "0"''' if you do not want to use OpenAl ('''as recommended and set as default for now'''. Note however, that it requires OpenAl with capture support.)
|align="center" |'''Atlas'''||[[Atlas | Atlas]] displays the current position of your airplane on an landscape type of map together with navigational information. It derives its data direct out of the installed FGFS databases. So you do not need any connections to the Internet.
|-
|-
|align="center" |'''Festival'''||http://www.flightgear.org/Docs/getstart/getstart.html#QQ2-10-108 is a TTS (Text To Speech) system that can convert all in the FGFS displayed written text (ATC, Chat, etc.) into speech and put it in your loudspeakers.
|}
|}
</li><br><li>
Edit fgcom/src/Makefile and check the pathes for PLIB_PREFIX and OPENAL_PREFIX.
</li><br><li>
Compile iaxclient and fgcom. To do so, do the following:
cd fgcom/src && make
</li><br><li>
Note: If you ran that Debian Script you likely need to edit the CXXFLAGS and LDFLAGS lines to, that want to have a dir-info.
e.g.
CXXFLAGS ... -I [...]/OpenSceneGraph/include
LDFLAGS  -L [...]/OpenSceneGraph(/lib)
</li><br><li>
Install
make install
</li><br><li>
continue with [[FGCOM#Test the basic function|testing the basic functions]]
</li></ol>


====Install on Windows====
=== Installing FGCom ===
There is no download available directly from the FlightGear home-pages, so you need to search for one in the Internet. We found and tested that one: http://emmerich-j.de/FGFS
==== Install on Linux ====
*Download the ZIP-file “FGCOM_win_1.1.0.zip” (or similar) to your favorite download-directory
:For Linux-Systems there are various ways to install:
*Unzip the 3 downloaded files into your FGFS- or FGCOM-directory
# '''"Integrated Installation” to be available with FGFS 3.0 spring 2014''', may be tested with GIT 2.99'''
** fgcom.exe
#* '''Advantage:''' This will be the long expected "integration", i.e. users do not have to care about installing FGCOM manually. And you will be able to switch FGCOM on/off during flight (see http://wiki.flightgear.org/Integrating_FGCom)
** phonebook.txt
#* '''Disadvantage:''' This is still in a "Test-mode", so you might have problems when testing
** positions.txt
#* '''Installation:''' Is done automatically when installing FGFS (starting FGFS 3.0 / GIT 2.99)
More detailed Informations about installing FGCOM under windows you find on: http://wiki.flightgear.org/index.php/FGCOM_for_Windows
# '''Installation of a "Standalone FGCOM"
#* '''Advantage:''' you can use this "Standalone FGCOM" without using FGFS (e.g. when operating OpenRadar)
#* '''Disadvantage:''' There may be only a engineering test version available (as of today) - use that with care!
#* '''Installation:'''You can download the needed "Standalone FGCOM".zip from http://fgcom.flightgear.org/download/.
#*:: and unzip it into a directory of your choice
#*:: then you start fgcom in a terminal like:
::::<syntaxhighlight lang="sh>
cd /home/YourName/fgfs/bin
./fgcom
</syntaxhighlight>
# '''Downloading from the “Distributor” (Debian, Ubuntu, Red Hat, Suse, etc.).'''
#* '''Advantage:''' This is the easiest way and ensures that maintenance and services for this package and all concurrencies to it are provided automatically for a reasonable time-frame.
#* '''Disadvantage:''' The availability of those packages is usually very late and most Distributors do not cover all FGFS-features. To our knowledge none of the Distributors has a FGCom-package available as of Oct. 2013.
#* '''Installation:''' Follow the usual procedures of your distributor on how to install additional packages.
# '''Install today’s newst GIT or released version 
#* '''Advantage:''' It is the very easiest form of installation and installs in one step any (or all) prerequisite/companion modules (FGFS, FGrun, FGcom, PLIB, OSG, Simgear, AT). Also it can be added and removed from the system without disturbing the rest of the system (Libraries, Menus, Structures, etc.). It was tested on several Ubuntu and Debian systems.
#* '''Disadvantage:''' No automated maintenance available. The handling is a little different from the standard Menu-driven practices.
#* '''Installation:''' use the [[Scripted Compilation on Linux Debian/Ubuntu]]
::{{#tag:syntaxhighlight|
mkdir fgcom
cd fgcom
wget {{fgmeta url|download_and_compile.sh}}
chmod +x ./download_and_compile.sh
./download_and_compile.sh PLIB FGCOM
| lang = "sh"
}}
... it will ask 2 x for the root password
then it looks like this:
::<syntaxhighlight lang="sh">
[ 95%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom.cpp.o
[ 97%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom_init.cpp.o
[ 98%] Building CXX object CMakeFiles/fgcom.dir/src/position.cpp.o
[100%] Building CXX object CMakeFiles/fgcom.dir/src/utils.cpp.o
Linking CXX executable fgcom
 
[100%] Built target fgcom
-- Install configuration: "Release"
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/bin/fgcom
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/share/fgcom/positions.txt
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/share/fgcom/special_frequencies.txt
To start fgcom, run the run_fgcom.sh file
To start fgcom GUI, run the run_fgcomgui.sh file
Usage: ./download_and_compile.sh -h
for help
</syntaxhighlight>
then you can start fgcom like this:
::<syntaxhighlight lang="sh">
./run_fgcom.sh -Sfgcom.flightgear.org
</syntaxhighlight>


====Install on Mac====
==== Install on Mac ====
You can download the "MAC OSX Binary" from the FGFS download-center ( http://www.flightgear.org/Downloads/binary.shtml#mac ). The current version of the code does contain the FGCOM.  
# '''MacFlightGear 1.9.1/2.0.0'''<br />
#* You can download the "MacFlightGear"-Application from the [http://www.flightgear.org/Downloads/binary.shtml#mac FlightGear download-center]. Starting with version 2.0.0 the code does contain the FGCom and works for OSX >= 10.5. (with OSX versions < 10.5 you will end up with a generic "bus error" message).
# '''Installation of a "Standalone FGCOM"
#* '''Advantage:''' you can use this "Standalone FGCOM" without using FGFS (e.g. when operating OpenRadar)
#* '''Disadvantage:''' There may be only a engineering test version available (as of today) - use that with care!
#* '''Installation:'''You can download the needed "Standalone FGCOM".zip from http://fgcom.flightgear.org/download/.


But '''you do need OS X 10.5''' as prerequisite. With lower versions you will end up with a generic "bus error" message!
==== Install on Windows ====
# '''Please use the Windows installation description'''
#* available through [[FGCOM for Windows]].'''
# '''Installation of a "Standalone FGCOM"
#* '''Advantage:''' you can use this "Standalone FGCOM" without using FGFS (e.g. when operating OpenRadar)
#* '''Disadvantage:''' There may be only a engineering test version available (as of today) - use that with care!
#* '''Installation:'''You can download the needed "Standalone FGCOM".zip from http://fgcom.flightgear.org/download/.


===Testing===
''If in the following some pictures seem to small to read on your screen, click on it and it will enlarge. Then return with the left arrow at the top of your screen.''<br><br>
====Test the basic function====
Prior to your first FGCom-tests you should verify your audio-system, because the FGCom-installation relies heavily on a good performance of it. If you had already used microphone-recordings or VoIP and thus “trust” your system, then you may pass this chapter and continue with [[FGCOM#The -f910 Test|the -f910 Test]]. But be sure to return here just as soon as the audio system is not performing as you expected!
<br><br>For these basic tests you do not have to start the FGFS nor do you need to operate the PTT (PushToTalk) button.


=====Verifying your Audio-System=====
=== Functional test & user briefing ===
Keep the audio-tools easily accessible for adjustments. Please be aware that, due to the different Operating-Systems multiplied by the different Sound-Cards, there are thousands of different tools available for the following tasks. If you cannot recognize the tools by the sample-pictures, please see your system and/or sound-card documentation for the tools you can use for the following basic tasks:
To insure that we can differentiate between troubles
#Make sure you have '''easy access to your audio-controls''' – and know them.
* that may be caused by the FGFS
#From the devices available '''define the audio-devices''' you want to use. You may have an audio-module on your motherboard, and multiple sound-cards,  and headsets, and Dolby-surround, etc. etc. We strongly recommend to use a headset (at least not to use loudspeakers) in order to reduce the very possible problem of feedback noise. A further reduction in noise can be achieved by using USB-headsets.
* and those caused by FGCom
#'''Adjust''' your master '''volume-control''' and possible sub-controls to please your ears. Check your volume-control-panel for all controls that may influence your sound output. At least there is one master-control affecting all outputs. In addition there may be several outputs with individual adjustments. You may switch all regulators and switches off – and then switch them on one by one to find out which ones you need. You may also look into all tabs of your volume-control-panel, to see if there are features which may not have been used yet (if e.g. you never yet used a microphone, or VoIP, etc.)
we will also describe the FGFS-Start and it's, for this test needed, settings in detail.  
#'''Adjust the Microphone''' and “Boost” devices. All modern Operating-Systems do have an integrated audio-recorder for such adjustments – you should be able to make an acceptable speech-recording. Most microphones do need a “boost” device-driver or extra amplifier. It is nice that all systems do provide this capability, but you have to activate it manually (if needed)! Also be aware that some of the devices may be switched off automatically if the system gets rebooted or an application gets closed.
#Finally '''find the “best fit”''' between your hardware, the network, and the FGCom-server response.


See the following examples:
Experiences pointed out, that the cooperation between FGCom and FlightGear works more reliable, if FlightGear is started first. So we will start with setting up FGFS first:


'''1) Easy access to your audio-controls:''' You may need those controls often, so they should be placed easily accessible. Check if you have the Audio-Icon in your Task-bar:  e.g.
==== Start FlightGear ====
[[image:FGCOM-Audio-Icon.jpg|thumb|center|400px|Audio-Icon]]
To set all required and/or proposed settings for this first functional test, we suggest to use
If there is no such Icon anywhere on the screen do:
*for Windows and Linux [[FGRun]]
{| align=center width=900 border="1"
*which for MAC-OSX is the integrated "GUI Launcher"
|+
In the following we will just point out those commands which are significant for the FGCom-operation:
|width=300|typical for '''Linux'''
|width=300|typical for '''Windows'''
|width=300|typical for '''MAC'''
|-
|<br>To my knowledge the icon is shown on all graphical systems of all Linux-Distributions. Thus there is no action required.
|Click on Start → Control Panel → Sounds and Audio:
[[image:FGCOM-W-Volume.jpg|thumb|center|250px|Enabel Audio-Icon]]
|}
<br>'''2) Define the audio-devices to use:'''
{| align=center width=900 border="1"
|-
|width=300|Enter [[Command line|command]]: ''gnome-sound-properties''
[[image:FGCOM-U-Prefs.jpg|thumb|center|250px|test devices]]
For each task you can open a selection-menu (on the right the downward arrow) in order to select the wanted device. I suggest to first try setting all to "Autodetect". Then click onto the green "Test"-button. If you need to make changes, reboot the PC after each change!
|width=300|Click right onto the audio-icon → Preferences → Audio-tab:
[[image:FGCOM-W-Audio.jpg|thumb|center|250px|set devices]]
Select your Devices for Playback and Mic.
|width=300|
|}
If you did change these device-settings, it is a good idea to reboot the PC and retest the settings prior to continue.
<br><br>
'''3) Adjust volume-control'''  (for theses first adjustments you should switch off the Mic.!)
{| align=center width=900 border="1"
|-
|width=300|Click right on Audio-Icon → Open Vol. Ctrl:
[[image:FGCOM-UVolCtrl.jpg|thumb|center|250px|Volume Control]]
The amount of the slider-controls vary depending on the capabilities of the sound-card or the usage of USB-headsets.


The “booster” is available under “Switches”.
If you don't have an icon available to start FGrun, then start it manually:
|width=300|Click right on the Audio-Icon → Volume-Ctrl. (or type command: sndvol32)
[[image:FGCOM-W-VolCtrl.jpg|thumb|center|250px|set devices]]
In this example the card overrides the std. Microsoft “Mic.” with “Rear Pink In” because all jacks can accept whatever you like!) - in this case it is the Mic. Be aware of such changes caused by usually “high expense” devices!


The “booster” is available under options.
# Start a [[Command line|command-window]]
|-
# Change into the directory in which FGFS was installed
|width=300|Just click onto the green “Test” marks in the above device-selection and adjust  the volume controls for a good sound.
# Execute the following command or something similar
|width=300|Click on tab. Sounds
::{|
[[image:FGCOM-W-Sound.jpg|thumb|center|250px|Sound-test]]
! style="background:#efefef" | Linux
Select one of the longer lasting signals (1), then click on 2 and adjust loudness with above slider-controls.
|fgrun
|width=300|
|}
<br>'''4) Adjust the Microphone:'''
<br>Use the volume-control-panels to enable the microphone for this test. Then:
{| align=center width=900 border="1"
|-
|-
|width=300|Open the recorder with the [[Command line|command]]: ''gnome-sound-recorder''
! style="background:#efefef" | Windows
[[image:FGCOM-U-sndctrl.jpg|thumb|center|250px|Recording-test]]
|C:<br />cd 'C:\Program Files\Flightgear\win32'<br />fgrun.exe
*Record
*Stop
*Play
|width|Open the Recorder with [[Command line|command]]: ''sndrec32''
[[image:FGCOM-W-sndrec.jpg|thumb|center|250px|Recording-test]]
*Start recording (click red point)
*talk some words into the mic
*stop (rectangel)
*spool back ( < < )
*listen  (>)
|width=300|
|}
|}
Try to find the lowest possible microphone-volume for a reasonable speech-replay, without adjusting the loudness-volume from the above set values. If needed add the “booster” or “gain”. But it would be better if you do not need/use the booster, because that will always try to adjust to a recordable volume – even if there are only some background-noises which nobody really wants to hear.
<br><br>
'''5) Find the “best fit”'''


Now perform the following -f910 Test" and make final adjustments if needed:
Wait for the program window to start and then define:
=====The -f910 Test=====
<ol>
Prior to executing the following [[Command line|command]] change into the directory, into which the FGCom was installed. This path will then shown up before the "$" sign.
<li> Start by '''choosing an airplane'''. For this first try we suggest the [[Cessna C172]]P, so we have a common understanding in the following. Also be aware of some airplane-designers reassigning keyboard-keys (e.g. the “space-bar” which is used as PTT, may activate a "BombDrop" in a Fighter-jet!), thus you may not have the PTT-key (“Push To Talk”) available.  See [[FGCOM#Tips and Tricks]].<br />→ Click "Next".
In case one use the [[Scripted_Compilation_on_Linux_Debian/Ubuntu|download_and_compile.sh script]] the "fgcom" has to be replaced by "sh ./run_fgcom.sh". Then type:
</li><li> As '''starting place''' please define the airport KPAO (Palo Alto) runway 13, so we all see the same messages in the following reports. A second reason for KPAO is of course that KPAO comes already with the basic scenery-package, and thus is available for everybody.<br />→ Click "Next".[[File:FGrun_base.jpg|thumb|Basic & multiplayer options]]
</li><li> Define the '''Multiplayer options:''' (see [[Howto: Multiplayer]] for details).
* “AI models” must be activated in order to see all traffic
* “Multiplayer” must be activated
* type “'''mpserverXX.flightgear.org'''” into the field “Hostname:”, replace “XX” with the server number nearest you - select it in http://mpserver15.flightgear.org/mpserverstatus/. Actually it does not matter which server you take (as long as it is online and not as overcrowded as mpserver02) - you might try which server gives you the best response-times.
* insert your “Callsign:” (max. 7 characters)
* define the “in” and “out” ports both with the standard “5000”
* With "Load/Save as" you may build up yourself a library of settings for different airports.<br />→ Click "Advanced".[[File:FGrun_IP.jpg|thumb|Advanced: Initial Position]]
</li><li> In the “'''Advanced Options'''” check the following sections (click/select them in the left column):
* General: Those settings were defined before. Check “Control”, if needed select your input device (Joystick, Keyboard, or Mouse).
* Features: “AI Traffic” should be activated already
* Initial Position: You may define here an unique “starting/parking” position outside a runway. Thus you could avoid starting on top of another player, because most of them pile up at the end of a runway. You can look up a position in the MPMap: ''(see next item)''
** ''Be aware that any data defined here override already predefined data (e.g. also an airport and runway). So '''do not forget''' to change/delete the here defined positions if some time you want to start from another airport.'' Of course you may save/reload settings for different airports, see "Load/save as" on the main window.[[File:MPmap.jpg|thumb|[[MPMap]]]]
</li><li> Open the '''[http://mpmap02.flightgear.org MPMap]'''
* if the control-panel is not visible click onto "FGMap | mpserver02:5000 | pilots: 7”
* click on “nav”
* disable all options except “apt code”
* type “KPAO” into the filed “Navaids lookup”
* hit ENTER or click onto the reading-glass symbol
* click onto the appearing line “Airport -- KPAO -- Palo Alto”
* now you could/should support your preflight planning by clicking onto the wedge in the upper right corner after the airport name and then analyse all data given under “info”, “atc”, metar”, and “links”
* then zoom into the airport
* set the mouse over the wanted “Parking lot” and read that position in the upper right corner of the screen
* type those long/lat values into the field below and also the wanted heading of the plane while parking[[File:FGrun_net.jpg|thumb|Advanced: Network]]
</li><li> '''Network:''' Those data you have already predefined on the Base-Page. But in case you have network-problems (may be due to many PC's on a home-network with even more LAN-cards) you may specify here your actual IP-Adress.
* WARNING: When saving these settings and reloading them again, FGRun might replace the given IP-Nr. by the PC-name. As of March 2009 you then have to replace that again with the IP-Nr. So use it only if you have to - first try it by adding nothing between the ",,". Keep it as "in,10,,5000".
* If you need to '''define the unique IP-Address''', open a [[Command line|command-window]] and type


    $ fgcom -Sfgcom.flightgear.org.uk -f910     
::{|
 
! style="background:#efefef" | OS
<br>That will give the following output:
! style="background:#efefef" | to type
    fgcom - a communication radio based on VoIP with IAX/Asterisk
! style="background:#efefef" | cap.
    (c)2007 by H. Wirtz <wirtz@dfn.de>
! style="background:#efefef" | returned values
    Version 1.2.2 build 163M
    Using iaxclient library Version SVN 163M
   
    Successfully parsed commandline options.
    Reading list of airports...done.
    Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org.uk
    Call 0 accepted
    Call 0 answered
 
speak into the mic and your words will be echoed back with a short delay.
<br>Then type <nowiki>ctrl-C</nowiki> to exit this Quick-Test
 
<br>'''In case of trouble''' check the following:
 
*'''"parsed command-line options"''' not successful: Check for wrong commands and/or missing “-” signs in front of them. See [[FGCOM#Commandline Parameters|Commandline Parameters]].
*'''"Reading list of airports .."''' not successful: Check your file “positions.txt” which should be in the same directory in which you installed the FGCom. This is a normal text-file in which you can add missing informations. (Replacing a complete "Windows" position.txt with a "Linux" one can lead to errors, although lines of both files may be exchanged/added).
*'''"Initializing IAX client"''' not successful: Check if you defined the right server, it must be "-Sfgcom.flightgear.org.uk”. Watch it: The “S” must be capital in Linux, but small for Windows (“-sfgcom.flightgear.org.uk”)!  
*No response '''"Call 0 accepted"''': Check your network, especially your firewall for open ports.
*If you did not hear the '''"delayed response"''' echoed back, check the Chapter [[FGCOM#Solving Audio-Problems|Solving Audio-Problems]].
 
====Functional Test + User Briefing====
 
Experiences pointed out, that the cooperation FGCom/FGFS works more reliable, if the FGFS gets started first. So we will start with setting up a flight-test-environment:
=====Start the FGFS=====
We suggest to use the FGrun ([[FlightGear Launch Control]]) to define required and/or proposed settings, in order to avoid typo-errors etc. If you keep the “Show command line” active (compare item 3 following), you also get the correct writing for all the command-options (in case you later want to start from a command-line and/or out of a script). In the following we will just point out those commands which are significant for the FGCom-operation:
 
If you don't have an Icon available to start the FGrun, then
*use a [[Command line|command-window]]
*change into the directory in which FGFS was installed
*and start the program from there:
{|border="1"
|+
|-
|width="150"|for linux CVS e.g.:
|width="250"|cd ~/fgfs<br>sh ./run_fgrun.sh
|-
|-
||for Std. Linux e.g.: ||fgrun
! style="background:#efefef" | Linux
|ifconfig
|eth0
|Link encap:Ethernet  HWaddr 00:1d:92:80:a6:ab<br />inet addr:'''192.168.178.23'''  Bcast:192.168.178.255  Mask:255.255.255.0
|-
|-
||for Windows e.g.: ||D:<br>cd \flightgear<br>fgrun
! style="background:#efefef" | Windows
|-
|ipconfig /all
||for Mac: || ||
|et
|Physikalische Adresse . . . . . . : 00-16-E6-40-AB-BF
<br />DHCP aktiviert. . . . . . . . . . : Ja
<br />Autokonfiguration aktiviert . . . : Ja
<br />IP-Adresse. . . . . . . . . . . . : '''192.168.178.20'''
<br />Subnetzmaske. . . . . . . . . . . : 255.255.255.0
<br />IP-Adresse. . . . . . . . . . . . : fe80::216:e6ff:fe40:abbf%4
|}
|}
Wait for the Program-Window to start and then define:<br><br>
:: '''192.168.178.23''' (or '''20''') is the number you would have to input between the two commas. Be very careful and double-check that you do not mistype “.” and “,”!![[File:FGrun_IO.jpg|thumb|Advanced: Input/Output]]
'''1)''' Start by '''choosing an airplane'''. For this first try we suggest the c172p, so we have a common understanding in the following. Also be aware of some airplane-designers reassigning keyboard-keys (e.g. the “space-bar”), thus you may not have the  PTT-key (“Push To Talk”) available. See [[FGCOM#Tips and Tricks]])<br>
</li><li> '''Input/Output:'''  
→ Click “Next”<br><br>
* You do need a "generic" line as shown, because '''this defines the interface between FlightGear and FGCom'''.
'''2)''' As '''starting place''' please define the airport KPAO (Palo Alto)  runway 13, so we all see the same messages in the following reports. A second reason for KPAO is of course that KPAO comes already with the basic scenery-package, and thus is available for everybody.<br>
** To input a new line: Start by selecting “generic” in the field “Protocol”. Then hit “New” and define the rest as shown.
→ Click “Next”<br><br>
** Editing an existing line: Start by clicking onto the existing one, then change as required.
'''3)''' Define the '''Multiplayer options:''' (ref. wiki [[Howto: Multiplayer]] for details)
** Deleting an existing line: Click onto the line to be deleted, then hit "Delete"
{|
* For fgo or the command line add --generic=socket,out,10,localhost,16661,udp,fgcom to the command line options
|+
</li><li> '''Avionics:''' let us define:
::{|
! style="background:#efefef" | Nav1:
| 114.10
| San Jose VOR
|-
|-
|width=610|[[image:FGrun_base.jpg|thumb|left|600px|Basic + Multiplayer Options]]
! style="background:#efefef" | Nav2:  
|“AI models” must be activated in order to see all traffic
| 115.80
<br><br>“Multiplayer” must be activated
| SF VOR
<br><br>type “mpserverXX.flightgear.org” into the field “Hostname:”, replace “XX” with the server number nearest you - select it in http://pigeond.net/flightgear/mpstatus/. Actually it does not matter which server you take (as long as it is online) - you might try which server gives you the best response-times.
<br><br>Insert your “Callsign:” (max. 7 characters)
<br><br>define the “in” and “out” ports both with the standard “5000”
<br><br>With "Load/Save as" you may build up yourself a library of settings for different airports.
|}→ Click “Advanced”<br>
'''4)''' In the “'''Advanced Options'''” check the following sections (click/select them in the left column):
#General: Those settings were defined before. Check “Control”, if needed select your input device (Joystick, Keyboard, or Mouse).
#Features: “AI Traffic” should be activated already
#Initial Position:
{|
|+
|-
|-
|width=420|[[image:FGrun_IP.jpg|thumb|left|400px|Advanced: Initial Position]]
! style="background:#efefef" | ADF:  
|
| 379
You may define here an unique “starting/parking” position outside a runway. Thus you could avoid starting on top of another player, because most of them pile up at the end of a runway. You can look up a position in the MPMap: ''(see next item)''
| Brijj, beacon at SF
<br><br><br>''Be aware that any data defined here override already predefined data (e.g. also an airport and runway). So '''do not forget''' to change/delete the here defined positions if some time you want to start from another airport.'' Of course you may save/reload settings for different airports, see "Load/save as" on the main window.
|}
|}
Open  http://mpmap01.flightgear.org
* And activate DME to Nav1
{|
* There is no field to input COM-radios, but remember them for setting them later manually:
|+
::{|
! style="background:#efefef" | Com1
| 118.60
| Paolo Alto
|-
|-
|width=510|[[image:MPmap.jpg|thumb|left|500px|Preflight]]
! style="background:#efefef" | Com2
|
| 120.50
*if the control-panel is not visible click onto "FGMap | mpserver01:5000 | pilots: 7”
| San Francisco
*click on “nav”
*disable all options except “apt code”
*type “KPAO” into the filed “Navaids lookup”
*hit ENTER or click onto the reading-glass symbol
*click onto the appearing line “Airport KPAO Palo Alto Arpt Of Santa Clara Co”
*now you could/should support your preflight planning by clicking onto the wedge in the upper right corner after the airport name and then analyze all data given under “info”, “atc”, metar”, and “links”
*then zoom into the airport
*set the mouse over the wanted “Parking lot” and read that position in the upper right corner of the screen
*type those long/lat values into the field below and also the wanted heading of the plane while parking
|}
|}
'''5) Network:'''  
</li><li> '''Properties:'''  
{|
* Here you can define any presetting for any values in the FGFS. See e.g.: <tt>File > Browse Internal Properties</tt> in the FlightGear [[menu]].[[File:FGrun_prop.jpg|thumb|Advanced: Properties]]
|+
* I personally do not want the plane to start rolling without me telling it to. So I set the parking break as default at startup.
|-
** Input a new line: Just hit “New” and type your string.
|width=420|[[image:FGrun_net.jpg|thumb|left|400px|Preflight]]
** Edit a line: Be sure first to click onto an existing item and then edit this “Property”
|Those data you have already predefined on the Base-Page. But in case you have network-problems (may be due to many PC's on a home-network with even more LAN-cards) you may specify here your actual IP-Adress.
** Delete a line: Click onto the line to be deleted then hit "Delete"
<br><br>WARNING: When saving these settings and reloading them again, FGrun might replace the given IP-Nr. by the PC-name. As of March 2009 you then have to replace that again with the IP-Nr. So use it only if you have to - first try it by adding nothing between the ",,". Keep it as "in,10,,5000".
</li></ol>
|}
Hit “OK” → “Run” and watch FlightGear starting. If screen-place allows you may want to pull the shown "FGFS Report-Window" to the side and watch how busy your PC is while loading the other multi-player models.
If you need to '''define the unique IP-Address''', open a [[Command line|command-window]] and type
{|border="1"
|+
|width="100"|OS
|width="75"|'''to type'''
|width="40"|Cap. ||returned values
|-
||for linux: ||ifconfig ||eth0 ||
Link encap:Ethernet  HWaddr 00:1d:92:80:a6:ab
<br>inet addr:'''192.168.178.23'''  Bcast:192.168.178.255  Mask:255.255.255.0
|-
||for Windows: ||ipconfig /all ||et ||
Physikalische Adresse . . . . . . : 00-16-E6-40-AB-BF
<br>DHCP aktiviert. . . . . . . . . . : Ja
<br>Autokonfiguration aktiviert . . . : Ja
<br>IP-Adresse. . . . . . . . . . . . : '''192.168.178.20'''
<br>Subnetzmaske. . . . . . . . . . . : 255.255.255.0
<br>IP-Adresse. . . . . . . . . . . . : fe80::216:e6ff:fe40:abbf%4
|-
||for Mac: || || ||
|}
The  '''192.168.178.23''' (or '''20''') is the number you would have to input between the two commas. Be very careful and double-check that you do not mistype “.” and “,”!!


'''6) Input/Output:'''
{|
|+
|-
|width=420|[[image:FGrun_IO.jpg|thumb|left|400px|Preflight]]
|You do need a "generic" line as shown, because '''this defines the interface between FGFS and FGCom'''.
<br><br><br>
To input a new line: Start by selecting “generic” in the field “Protocol”. Then hit “New” and define the rest as shown.<br><br>
Editing an existing line: Start by clicking onto the existing one, then change as required.<br><br>
Deleting an existing Line: Click onto the line to be deleted, then hit "Delete"


|}
==== Start FGCom ====
Open a [[Command line|command-window]] and change into the directory in which FGCom was installed (probably the same as FlightGear) and start FGCom. The server you want to use for events is '''fgcom.flightgear.org''' (fgcom.flightgear.org.uk was the originally used server and is not available any more).


'''7) Avionics:''' let's define:
To start FGCom with the defined server you must insert the server address after a "-S" (watch: The "S" must be a capital!):
{|
::{| border="2" cellpadding="5"
|+
! style="background:#efefef" |Linux||fgcom -Sfgcom.flightgear.org
|-
|"-Sfgcom..." with capital "S"
|width="50"|
|width="60"|Nav1:
|width="100"|114.10 ||San Jose VOR
|-
| ||Nav2: || 115.80 ||SF  VOR
|-
| ||ADF: || 379 || Brijj, beacon at SF
|}
and activate: DME  to Nav1<br><br>
There is no field to input COM-radios, but remember them for setting them later manually:
{|
|+
|-
|width="50"|
|width="60" |Com1
|width="100" |118.60 ||Paolo Alto
|-
|-
| ||Com2 || 120.50 || San Francisco
! style="background:#efefef" |Linux Git<br>
|}
<small>(FS 3.00 or GIT 2.99)</small>
 
| cd ~/fgfs<br />sh ./run_fgcom.sh  
'''8) Properties:'''
| This is the new integrated version, which you will start and set options from inside the FGFS!
Here you can define any presetting for any values in the FGFS.<br>see e.g.: FGFS-menu-bar --> File --> “Browse Internal Properties”
{|
|+
|-
|width=520|[[image:FGrun_prop.jpg|thumb|left|500px|Preflight]]
|
e.g. I personally do not want the plane to start rolling without me telling it to. So I set the parking break as default at startup.
<br><br>Input a new line: Just hit “New” and type your string.
<br><br>Edit a line: Be sure first to click onto an existing item and then edit this “Property”
<br><br>Delete a line: Click onto the line to be deleted then hit "Delete"
|}
Hit “OK” → “Run” and watch the FGFS starting. If screen-place allows you may want to pull the shown "FGFS Report-Window" to the side and watch how busy your PC is while loading the other multi-player models.<br>
 
=====Start the FGCom=====
Open a [[Command line|command-window]] and change into the directory in which FGCom was installed (probably the same as the FGFS) and start the FGCom. Do not use any other options than the server address “-sfgcom.flightgear.org.uk”:
{|border="1"
|+
|-
|width="150"|for linux CVS e.g.:
|width="250"|cd ~/fgfs<br>sh ./run_fgcom.sh  
||for this “CVS complete” you do not need to specify the server address, because it is embedded in the script-file.
|-
||for Std. Linux e.g.: ||fgcom -Sfgcom.flightgear.org.uk ||"-Sfgcom..." with capital "S"
|-
|-
||for Windows e.g.: ||D:<br>cd \flightgear<br>fgcom -sfgcom.flightgear.org.uk ||"-sfgcom..." with small "s"
! style="background:#efefef" |Windows  
|-
|cd 'C:\Program Files\Flightgear\win32'<br />fgcom.exe -Sfgcom.flightgear.org  
||for Mac: || ||
|"-Sfgcom..." with capital "S"
|}
|}
For the following test position this command-window somewhere, where you can monitor it throughout the test.


The first response should be:
For the following tests, position the command-window somewhere, where you can monitor it throughout the test.
   /fgcom - a communication radio based on VoIP with IAX/Asterisk  
<br><br>
   (c)2007 by H. Wirtz <wirtz@dfn.de>  
'''''Be aware that the standard range for the FGCom is 50km, but some people have a version with a range of 100 km! So in the following description the "50 km" restriction might be replaced with 100km!!'''''
   Version 1.2.2 build 206M
<br><br>
   Using iaxclient library Version SVN 206M
'''1) The first response should be:'''
   fgcom - a communication radio based on VoIP with IAX/Asterisk
   Original (c) 2007-2011 by H. Wirtz <wirtz@dfn.de>
  OSX and Windows ports 2012-2013 by Yves Sablonier and Geoff R. McLane, resp.
   Version 3.1.0 compiled Mar  2 2014, at 00:21:19
   Using iaxclient library Version SVN 261
    
    
   Successfully parsed command-line options.  
   Successfully parsed commandline options
   Reading list of airports...done.
  Loaded file [/usr/share/flightgear/special_frequencies.txt].
   Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org.uk
   Reading airports [/usr/share/flightgear/positions.txt]
If your printout up to that line is different go back to chapter [[FGCOM#Test the basic function|Test the basic function]]
  loaded 47171 entries
   Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org


{|
If, due to a prior flight, COM1 was set to anything else but 118.600 (e.g. to 119.650) you will see the following 2 lines added to the above shown initialization of the FGCom-window:
|+
|-
|width="300"| ||
|-
|1) If, due to a prior flight, COM1 was set to anything else but 118.600 (e.g. to 119.650) you will see the following 2 lines added to the initialization of the FGCom-window: ||
|-
|
  Selected frequency: 119.650  
  Selected frequency: 119.650  
  Call rejected by remote
  Call rejected by remote
|
Instead of  “119.650” there will be shown the last used frequency. In the above example the source of the ATC-Freq. 119.650 is more than 50km away from your actual position, so FGCom rejects a connection to it. If the last frequency used would have been within 50 km you get an indication very similar to the next item.
Instead of  “119.650” there will be shown the last used frequency. In this case the source of the nearest ATC-Freq. 119.650 is more than 50km away from your actual position of the airplane, so FGCom rejects a connection to it. If the last frequency used would have been within 50 km you get an indication very similar to the next item.
<br><br>
|-
'''2) Switch COM1 to 118.60 (as needed at Palo Alto):'''
|2) Switch COM1 to 118.60 (needed at Palo Alto):
|-
|
  Selected frequency: 118.600  
  Selected frequency: 118.600  
  Hanging up call 0  
  Hanging up call 0  
Line 441: Line 313:
  Call 0 answered  
  Call 0 answered  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km)  
|This last line will be repeated according the to time span you defined in the “Input/Output” command “--generic=socket,in,'''10''',,5500,tcp”, you may change that value later according to your preferences.
This last line will be repeated according the to time span you defined in the “Input/Output” command “--generic=socket,in,'''10''',,5500,tcp” (10 means all 10 sec.), you may change that value later according to your preferences.
|-
<br><br>
|<br>3) Press your PTT (PushToTalk on space-bar and joystick, as available):
'''3) Press your PTT (PushToTalk on space-bar and joystick, as available):'''
|-
|
  [SPEAK] unmute mic, mute speaker  
  [SPEAK] unmute mic, mute speaker  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
  [SPEAK] unmute mic, mute speaker  
  [SPEAK] unmute mic, mute speaker  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|Only in between “SPEAK” and “LISTEN” you are able to talk to others.
Only in between “SPEAK” and “LISTEN” you are able to talk to others.
|-
<br><br>
|<br>Now lets set/verify the other Radios:
'''4) First let us set/verify the other Radios:'''
*COM2 = 120.50 San Francisco
COM2 = 120.50 San Francisco
*NAV1  = 114.10 San Jose
NAV1  = 114.10 San Jose
*NAV2  = 115.80 San Francisco
NAV2  = 115.80 San Francisco
4) Pressing Upper+Space will switch to the next radio: '''NAV1'''
<br>
|-
'''Then: Pressing Upper+Space will switch to the next radio: '''NAV1'''
|
  Radio-Select: NAV1  
  Radio-Select: NAV1  
  Selected frequency: 114.100  
  Selected frequency: 114.100  
Line 464: Line 333:
  Call rejected by remote  
  Call rejected by remote  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|Compare this to the NAV2 indication 2 steps later: something is wrong – and it wasn't your fault: Although this NAV is valid (see ...FGFS/data/Airports/apt.dat.gz), it is missing in the FGCom listing .../FGCom/positions.txt. I encountered this problem several times, as well for Airports as also for VOR's. If this happens with your most beloved airport you can add those missing data with a text-editor. But before changing be sure to save the original data somewhere - just in case!
Compare this to the NAV2 indication 2 steps later: something is wrong – and it wasn't your fault: Although this NAV is valid (see ...FGFS/data/Airports/apt.dat.gz), it is missing in the FGCom listing .../FGCom/positions.txt. I encountered this problem several times, as well for Airports as also for VOR's. If this happens with your most beloved airport you can add those missing data with a text-editor. But before changing be sure you know what/how you are doing and also save the original data somewhere - just in case!
|-
<br><br>
|<br>5) Pressing Upper+Space once more switches to '''COM2'''
'''5) Pressing Upper+Space once more switches to COM2'''
|-
|
  Radio-Select: COM2  
  Radio-Select: COM2  
  Selected frequency: 120.500  
  Selected frequency: 120.500  
Line 475: Line 342:
  Call 0 accepted  
  Call 0 accepted  
  Call 0 answered
  Call 0 answered
|That looks OK: San Francisco is about 29 km away<br><br>watch the “km” instead of miles!<br>'''10 km''' = '''6.2137 mi'''
That looks OK: San Francisco is about 29 km away!<br />Watch the “km” instead of miles! '''10 km''' = '''6.2137 mi'''
|-
<br><br>
|<br>6) Pressing Upper+Space once more switches to '''NAV2'''
'''6) Pressing Upper+Space once more switches to NAV2'''
|-
|
  Radio-Select: NAV2  
  Radio-Select: NAV2  
  Selected frequency: 115.800  
  Selected frequency: 115.800  
Line 487: Line 352:
  Call 0 answered  
  Call 0 answered  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|And Yes: The SF VOR is just a little closer than the airport(center)
And Yes: The SF VOR is just a little closer than the airport-center
|-
<br><br>
|<br>7) Pressing Upper+Space once more brings back '''COM1''':
'''7) Pressing Upper+Space once more brings back '''COM1''':'''
|-
|
  Radio-Select: COM1  
  Radio-Select: COM1  
  Selected frequency: 118.600  
  Selected frequency: 118.600  
Line 499: Line 362:
  Call 0 answered  
  Call 0 answered  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|-
<br>
|<br>8) Lets us start and continue flying in the direction about 130°:
'''8) Lets us start and continue flying with a heading of about 130°:'''
|-
|
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.4 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.4 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.2 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.2 km)  
Line 509: Line 370:
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 1.9 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 1.9 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 2.4 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 2.4 km)  
|notice that you first come closer (to the center of the airport) and after that getting away
notice that you first come closer (to the center of the airport) and after that getting away
|-
<br><br>
|<br>9) Let's switch to '''COM2''' (San Francisco) and watch:  
'''9) Let's switch to '''COM2''' (San Francisco) and watch:'''
|-
|
  Radio-Select: COM2  
  Radio-Select: COM2  
  Selected frequency: 120.500  
  Selected frequency: 120.500  
Line 529: Line 388:
  Call rejected by remote  
  Call rejected by remote  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|That means: at about 50KM we are getting out of range and thus the on COM2 active SF getts terminated. Notice that also the inactive NAV2 gets terminated, because it exceeded the allowable range at about the same time!
That means: at about 50KM we are getting out of range and thus the on COM2 active SF getts terminated. Notice that also the inactive NAV2 gets terminated, because it exceeded the allowable range at about the same time!
|}
10) You could turn now and watch the opposite: At about the same distance those two will become active again (automatically, if you did not change the settings).
<br><br>
<br><br>
If you got here without any (technical) problems your FGCom is fully functional. All you have to do now, is trying to test the audio.
You could turn now and watch the opposite: At about the same distance those two will become active again (automatically, if you did not change the settings).
=====Final Audio Test=====
There is no formal Test-Environment for that. Just cruise within the San Francisco (or any other) area and listen and/or try calling from time to time:  “This is ''YourCallSign'', is somebody listing” or similar. If you hear somebody talking (and it is not the AI-ATC chatter!) but you get no answers, see the chapter [[FGCOM#Solving Audio-Problems|Solving Audio-Problems]].
 
You also could participate in "Multiplayer Events". Most of them use the FGCom possibilities in addition to the text-based FGFS-Menu "Network --> Chat" to enable communication also outside the FGCom. See the Flightgear-Forum http://www.flightgear.org/forums/ and there the "Multiplayer Events".


Last but not least you can, while flying, tune your Radio to the (Tower-) frequency 910.00. This should give you the same delayed response as in the -f910 test (see above). Do not forget to switch back - on that frequency you can only receive your own voice!!
If you got here without any (technical) problems your FGCom is fully functional. Have fun when using it.


===Using FGCom===
=== Using FGCom ===
There are basically 3 types of FGCOM-usage: (ref. the introduction to this wiki-page]]):
There are basically three types of FGCom-usage:
*'''Normal usage at airports:''' i.e. You set your radio to the airport as usual. Thus you are set up for the usual ATC-(keyboard)-procedures (either through the "'" (UpperCase#) and/or the Chat-Menus. In addition you then can talk to anybody in a radius of about 50 km (about 30 miles) around the airport, may that be friends, a maintained FGCOM-ATC/Twr-Operator, airport utilities, etc.. Be aware that as of April 2009 only very few planes are using the FGCOM for ATC-purposes - thus you should always use the ATC-Chat "keyboard"-procedures to announce arrivals/departures/taxiing etc. in addition. (We hope that may change in some future!)<br><br>
* '''Normal usage at airports:''' i.e. You set your radio to the airport as usual. Thus you are set up for the usual ATC-(keyboard)-procedures (either through the "'" (UpperCase#) and/or the Chat-Menus). In addition you then can talk to anybody in a radius of about 100 km (about 54 miles) around the airport, may that be friends, a maintained FGCOM-ATC/Twr-Operator, airport utilities, etc.. Be aware that as of April 2009 only very few planes are using the FGCOM for ATC-purposes - thus you should always use the ATC-Chat "keyboard"-procedures to announce arrivals/departures/taxiing etc. in addition. (We hope that may change in some future!)
*The '''AirToAir frequencies (122.75 and 123.45)''' are ideal for all Multiplayer events. They are without any range-limitations - but not yet "overcrowded!). Also when traveling you might want to listen on the 122.75 for others who want to contact you (or reverse). When there is much "talk" on the 122.75 you might just arrange with your partner to switch to 123.45 - and return to 122.75 afterward. As of April 2009 the 122.75 is already operational for this application (except for Windows-PC's, sorry), the 123.45 will follow. You may try from time to time if these limitations still exist.<br><br>
* The '''AirToAir frequencies (122.75 and 123.45)''' are ideal for all Multiplayer events. They are without any range-limitations - and not yet "overcrowded!). Also when traveling you might want to listen on the 122.75 for others who want to contact you (or reverse). When there is much "talk" on the 122.75 you might just arrange with your partner to switch to 123.45 - and return to 122.75 afterward. As of April 2009 the 122.75 is already operational for this application, the 123.45 will follow soon. You may try from time to time if this limitations still exist.
*Finally you can manipulate the frequency-tables (positions.txt in your FGFS/FGCOM local directory) and define an own frequency for special events. e.g. a Flight-School at one airport with maybe multiple student-groups. Of course those are local manipulations on your own PC, which you have to agree on with your (planned to be) partners in advance.
* The Echo-Test frequency 910.00 to test your sound settings
* Finally you can manipulate the frequency-tables (positions.txt in your FGFS/FGCOM local directory) and '''define an own frequency for special events'''. e.g. a Flight-School at one airport with maybe multiple student-groups. Of course those are local manipulations on your own PC, which you have to agree on with your (planned to be) partners in advance.


===Supplemantery Informations===
=== Supplemantery Information ===
====Tips and Tricks====
==== Tips and Tricks ====
'''Airport missing in FGCom:'''<br>
===== Airport missing in FGCom: =====
In case your favorite airport does not show up in the FGCOM (command-window), although you can tune your COMM to it, you can add it to your data-file “'''positions.txt'''” in your fgcom directory. See e.g. the line  
In case your favorite airport does not show up in the FGCOM (command-window), although you can tune your COMM to it, you can add it to your data-file “'''positions.txt'''” in your fgcom directory. See e.g. the line  
   KSFO,120.500,37.616630,-122.385478,TWR,San Francisco Intl
   KSFO,120.500,37.616630,-122.385478,TWR,San Francisco Intl
Line 560: Line 414:
  type    = whatever
  type    = whatever
  name    = whatever
  name    = whatever
''(of course those definition are only known to your own PC and last only until the next data update!)''<br>
''(of course those definition are only known to your own PC and last only until the next data update!)''


'''Editing'''<br>
===== Editing FGCOM-Data-Files =====
If you edit Textfiles (e.g. Radio-listings) or xml-files you might not see line-endings when using your standard editor.
If you edit Textfiles (e.g. Radio-listings) or xml-files you might not see line-endings when using your standard editor.
*For windows you can use "WordPad"
* For windows you can use "WordPad"
*For Linux the "gedit" works fine<br>
* For Linux the "gedit" works fine


'''Copying-Printing this WIKI-Page'''<br>
===== Copying-Printing this WIKI-Page =====
If you absolutely want to have a local copy of this on your PC or need a hard-copy, then:
If you absolutely want to have a local copy of this on your PC or need a hard-copy, then:
*goto this page: ( http://wiki.flightgear.org/index.php/FGCOM )
*to copy:
**select in the Browser-Menu: "File" --> "Save Page as.. "
*to print:
**select the last entry in the sidebar on the left:  "Printable version"
**Then I suggest: Menu --> File --> "Page Setup": Set to "Landscape" --> "Apply"
**before printing I recommend: Menu --> File --> "Print Preview" and you see those many many pages!
**If you really want to wast that paper: Menu --> "File" --> "Print" and it will print on your favorite printer
Remember the policies: '''Private use only''' !


'''Joystick: ''' ref also: [[Joystick]]<br>
* to copy:
** select in the Browser-Menu: "File" --> "Save Page as.. "
* to print:
** go to the [http://wiki.flightgear.org/index.php?title=FGCOM&printable=yes printable version].
** Then I suggest: Menu --> File --> "Page Setup": Set to "Landscape" --> "Apply"
** before printing I recommend: Menu --> File --> "Print Preview" and you see those many many pages!
** If you really want to wast that paper: Menu --> "File" --> "Print" and it will print on your favorite printer
 
===== Joystick compatibility between Operating Systems: =====
{{Main article|Joystick}}
 
You may use the same joystick-definitions across all Operating-Systems: But you may need to change the assigned numbers - your joystick-vendor might have done that for you already. Check e.g. (Unix, Mac, Win having assigned different "numbers"):
You may use the same joystick-definitions across all Operating-Systems: But you may need to change the assigned numbers - your joystick-vendor might have done that for you already. Check e.g. (Unix, Mac, Win having assigned different "numbers"):
  <axis>        (instead of the usual <axis n=”3”> )
  <axis>        (instead of the usual <axis n=”3”> )
Line 594: Line 449:
  </axis>
  </axis>


'''Joystick and PTT'''<br>
===== Assign PTT to joystick =====
If you want to assigne the PushToTalk function to your joystick, add the following (for n you have to find your own number!)
If you want to assign the PushToTalk function to your joystick, add the following (for n you have to find your own number!)
  <button n="x">  
  <button n="x">  
   <desc>PTT - Push To Talk</desc>  
   <desc>PTT - Push To Talk</desc>  
Line 610: Line 465:
  </button>
  </button>


'''PTT Problems''' (Push To Talk)
==== Helpful internet adresses ====
*'''if the FGCom Command-window initiates, but does not respond to any COMM or PTT activity:'''
'''World-Time:'''  
**Try to enforce (the usually predefined) port as option. i.e. add “-p16661” to the FGCom Start-Command
* [http://www.timeanddate.com/worldclock/custom.html?sort=1 standard deviations]
**check the FGrun extended Options → Input/output “generic=socket..”: The port there must be the same as for the FGCom, i.e. 16661 (if it was not intentionally changed by you)
* [http://www.timezoneconverter.com/cgi-bin/tzc.tzc direct conversions]
**You may try to change the port to e.g. UPD 5004. In this case you have to watch 3 places:
 
***add the option “-p5004” to the FGCom start-command
Especially for multiplayer events you should define all times in the internationally used GMT (Greenwich Meantime). Just pick up your deviation from GMT and memorize it. If everybody does it, we could avoid a lot of misunderstandings.
***also change the value in the FGrun (“Wizard”) → Advanced Options → Input/output to 5004.
***and you may have to tell your Firewall to allow port UPD 5004<br><br>
*'''if in the FGCom Command-Window the Airport indication is ok''',
**but when hitting the PTT it does not appear:
***[LISTEN] mute mic, unmute speaker
***[SPEAK] unmute mic, mute speaker</nowiki> <br>
**Be sure the FGFS window is the active window. Move the Mouse-Pointer into the FlightGear-Window and click once, then try again (while the Mouse-Pointer remains in that window! Some systems do change the “active Window” according to where the mouse is!)
**Check the “''YourPlane''-set.xml” file in your FGFS/data/Aircraft/YourPlane directory: If you find a line “<key n="32">” then this plane is intentionally  using “key 32” (Space) for something other than the PTT. Known planes that do that as of Feb. 2009 are: an2, bluebird-base, ogel, OV10..,  seafireIIc, spitfireIIa, ufo.


====Solving Audio-Problems====
* '''Decimal to Degree''' http://www.hbnweb.de/mathematik/grad-dezimal.html <br />
The following assumes that you have problems even after you did set up your system as described in [[Verifying your Audio-System]].
*: Some programs need Decimal Lon/Lat values, others the Degrees/Minutes/Sec. Just convert it.<br /><br />
=====Poor Audio Quality=====
* '''Miles, km, feet, etc. etc. ...''': http://www.convertunits.com/
*Check especially your microphone-cables for a good quality shielding and root them as far away as possible from electromagnetic noise emitters (motors, blowers, AC-cabling, lamps, etc.).
*: If like to avoid troubles (like NASA lost a satellite because of it) just look it up.
*It may help to place your sound-card into a different slot
*A (digital) USB-headset helps in avoiding noise and feedback problems
=====Background noise raising with time=====
This is typical for an active automatic “Boost”, “Gain”, or “Amplifier” device, or a microphone set too sensible. i.e. while there is no “real sound” the devices will try to “boost” the “background noise” to a real sound level – and that may hurt your ears.
*'''Basically:''' Do not keep the PTT pushed longer than absolutely necessary,  before and after speaking!<br>  
*Try to say something and the sound-system should adjust to that – but the problem will reappear after a short while. '''You should always switch off your microphone if you are not really talking – and keep the microphone level as low as possible!'''
*If anyhow possible, do not use automatic boosters. If your microphone does  need such a support, keep it to a minimum. Especially in the FGCom application the microphone output needs less power because the central server does equalize the loudness of all users.
=====Unexpected behavior=====
Especially “high quality” sound-cards may get you into trouble, because e.g.:
*they may monitor how long the microphone was not used and switch it off after some timespan (without you noticing it)
*during reboot or restart they may initiate with values out of a special profile instead of reusing the “last used” values
*or they may set some slide controls to “0” (especially microphone sliders)
*some do switch the microphone only after pushing '''and''' releasing the space-bar – while we want to change the microphone-status only while the space-bar is pushed down! (This may not affect a PTT asigned to a joystick)<br>
So know your standard settings and check if they have changed (without your written permission!)
=====Special for Linux (.alsoftrc)=====
(ref [[Linux software audio mixing with FlightGear]]) <br>
check your Home-directory (“~/”) for a file "'''.alsoftrc'''"
(remember that the “show hidden files” must be enabled!)
*if ".alsoftrc" does not exist
**Check if there is a (old version) ".openalrc"
***if yes: Check if you really use the old OpenAL library and not the newer OpenAL-soft library. If still have the old you put something like this in ".openalrc":
(define devices '(alsa))
(define alsa-out-device "plug:dmix")
**if not, create a new ".alsoftrc" file and insert something like the following into it:
format = AL_FORMAT_STEREO16
cf_level = 1
drivers = alsa
[alsa]  # ALSA backend stuff
device = plug:dmix
capture = plug:dsnoop
The system wide OpenAL-soft configuration file may be /etc/openal/alsoft.conf or similar. It usually contains comments describing all possible configuration options.
=====USB-Headsets-Problems with Linux (Ubuntu)=====
The following is based/verified on Ubuntu, but should be similar on other distributions:
*If Recording is ok '''and''' the f910-Test looks alright in the window, '''but''' there is no delayed response:
**type "cat /proc/asound/modules" into the command window, e.g.:
$ cat /proc/asound/modules
  0 snd_usb_audio
  1 snd_hda_intel
**If that displays multiple devices (as shown in the above list, which is the result '''after''' doing the following!), then the USB-Headset should be in the "0" position. If this is not the case, notice the name of your USB-device and edit it. e.g.:
"sudo gedit /etc/modprobe.d/alsa-base"
**add as last line into that file, e.g.:
options snd_usb_audio index=0
<br>
*If you use '''Festival''' (the Text/Speech AddOn)
**and
*** it works OK when running alone
*** but runs int error "can't open /dev/dsp" when running with FGFS (and/or other applications)
** then add a TextFile ".festivalrc" into your home-directory, containing:
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
(Parameter.set 'Audio_Method 'Audio_Command)


====Helpfull INTERNET Adresses====
'''Ports needed'''
'''World-Time:'''  
*for standard deviations:http://www.timeanddate.com/worldclock/custom.html?sort=1
*for direct conversions: http://www.timezoneconverter.com/cgi-bin/tzc.tzc
Especially for multiplayer events you should define all times in the internationally used GMT (Greenwich Meantime). Just pick up your deviation from GMT and memorize it. If everybody does it, we could avoid a lot of misunderstandings.<br><br>
'''Decimal to Degree''' http://www.hbnweb.de/mathematik/grad-dezimal.html <br>
Some programs need Decimal Lon/Lat values, others the Degrees/Minutes/Sec. Just convert it.<br><br>
'''Miles, km, feet, etc. etc. ...''': http://www.convertunits.com/
<br>If like to avoid troubles (like e.g. NASA lost a satellite because of it) just look it up.


'''Ports needed'''<br>
In case of problems over the internet you might check that the the following ports are allowed:
In case of problems over the INTERNET you might check that the the following ports are allowed:
  1314 TCP if the Festival-Server is used for Text/Sound  
  1314 TCP if the Festival-Server is used for Text/Sound  
  2005 UDP Vcp-Stream
  2005 UDP Vcp-Stream
Line 704: Line 492:
Also consider that some modern modems do already provide a firewall. If in addition to that you use a local firewall in your PC, than you might expect an unhealthy competition between those two concurrent firewalls. In case of problems you should deactivate one of those (usually the one inside the PC, especially if several PCs are connected via that modem).
Also consider that some modern modems do already provide a firewall. If in addition to that you use a local firewall in your PC, than you might expect an unhealthy competition between those two concurrent firewalls. In case of problems you should deactivate one of those (usually the one inside the PC, especially if several PCs are connected via that modem).


====Commandline Parameters====
==== Commandline Parameters ====
  fgcom --help
  fgcom --help
returns the following useful info
returns the following useful info
    fgcom - a communication radio based on VoIP with IAX/Asterisk
    (c)2007 by H. Wirtz <wirtz@dfn.de>
    Version 1.2.2 build 163M
    Using iaxclient library Version SVN 163M


   OPTION                                       DESCRIPTION
   fgcom - a communication radio based on VoIP with IAX/Asterisk
  Original (c) 2007-2011 by H. Wirtz <wirtz@dfn.de>
  OSX and Windows ports 2012-2013 by Yves Sablonier and Geoff R. McLane, resp.
  Version 3.1.0 compiled Mar  2 2014, at 00:21:19
  Using iaxclient library Version SVN 261
 
    OPTION                                               DESCRIPTION
 
    -d, -debug, --debug=                                  show debugging information
    -S, -voipserver, --voipserver=                        voip server to connect to (default: 'fgcom.flightgear.org')
    -s, -fgserver, --fgserver=                            fg to connect to  (default: 'localhost')
    -p, -port, --port=                                    where we should listen to FG (default: '16661')
    -a, -airport, --airport=                              airport-id (ICAO) for ATC-mode
    -f, -frequency, --frequency=                          frequency for ATC-mode
    -C, -callsign, --callsign=                            callsign to use (default: 'guest')
    -U, -user, --user=                                    username for VoIP account (default: 'guest')
    -P, -password, --password=                            password for VoIP account (default: 'guest')
    -i, -mic, --mic=                                      mic input level (0.0 - 1.0)
    -o, -speaker, --speaker=                              speaker output level (0.0 - 1.0)
    -b, -mic-boost, --mic-boost=                          enable mic boost
    -t, -silence-threshold, --silence-threshold=          set silence threshold (-60.0 - 0.0)
    -l, -list-audio, --list-audio=                        list audio devices
    -r, -set-audio-in, --set-audio-in=                    use <devicename> as audio input
    -k, -set-audio-out, --set-audio-out=                  use <devicename> as audio output
    -c, -codec, --codec=                                  use codec <codec> as transfer codec (default: 'u')
    -T, -positions, --positions=                          location positions file (default: '/usr/share/flightgear/positions.txt')
    -Q, -special, --special=                              location spl. frequency file (opt) (default: '/usr/share/flightgear/special_frequencies.txt')
 
    Available codecs:
          u - ulaw (default and best codec because the mixing is based onto ulaw)
          a - alaw
          g - gsm
          s - speex
          7 - G.723
 
 
    Mode 1: client for COM1 of flightgear:
          $ fgcom
    - connects fgcom to fgfs at localhost:16661
          $ fgcom -sother.host.tld -p23456
    - connects fgcom to fgfs at other.host.tld:23456
 
    Mode 2: client for an ATC at <airport> on <frequency>:
          $ fgcom -aKSFO -f120.500
    - sets up fgcom for an ATC radio at KSFO 120.500 MHz
 
 
  Note that fgcom starts with a guest account unless you use -U and -P!


  -d, -debug, --debug=                          show debugging information
Also note that the current server (fgcom.flightgear.org) works with guest account, so '''do not use -U or -P'''
  -S, -voipserver, --voipserver=                voip server to connect to (default: 'fgcom1.parasitstudio.de')
  -s, -fgserver, --fgserver=                    fg to connect to  (default: 'localhost')
  -p, -port, --port=                            where we should listen to FG (default: '16661')
  -a, -airport, --airport=                      airport-id (ICAO) for ATC-mode
  -f, -frequency, --frequency=                  frequency for ATC-mode
  -U, -user, --user=                            username for VoIP account (default: 'guest')
  -P, -password, --password=                    password for VoIP account (default: 'guest')
  -i, -mic, --mic=                              mic input level (0.0 - 1.0)
  -o, -speaker, --speaker=                      speaker output level (0.0 - 1.0)
  -b, -mic-boost, --mic-boost=                  enable mic boost
  -l, -list-audio, --list-audio=                list audio devices
  -r, -set-audio-in, --set-audio-in=            use <devicename> as audio input
  -k, -set-audio-out, --set-audio-out=          use <devicename> as audio output
  -c, -codec, --codec=                          use codec <codec> as transfer codec (default: 'u')


  Available codecs:
== Server installation ==
        u - ulaw (default and best codec because the mixing is based onto ulaw)
{{Main article|Howto: Set up a FGCom server}}
        a - alaw
Main FGCom server fgcom.flightgear.org hosted by F-JJTH (contact on forum, IRC, mailing list)
        g - gsm
        s - speex
        7 - G.723


  Mode 1: client for COM1 of flightgear:
== External links ==
        $ fgcom
* [http://sourceforge.net/projects/fgcom/ fgcom(SourceForge-Project)] Subversion is [http://fgcom.svn.sourceforge.net/ available here]. If you haven't used Subversion before, you might find it easier to fetch a [http://fgcom.svn.sourceforge.net/viewvc/fgcom/?view=tar archive] instead.
  - connects fgcom to fgfs at localhost:16661
* latest source available here (?): http://code.google.com/p/fgcomgui/
        $ fgcom -sother.host.tld -p23456
  - connects fgcom to fgfs at other.host.tld:23456


  Mode 2: client for an ATC at <airport> on <frequency>:
=== Deprecated or broken links ===
        $ fgcom -aKSFO -f120.500
* [http://squonk.abacab.org/dokuwiki/fgcom Old Official website]
  - sets up fgcom for an ATC radio at KSFO 120.500 MHz
* [http://squonk.abacab.org/dokuwiki/fgcom-manual Manual]


    Note that /home/hcs/src/fgcom/trunk/src/fgcom starts with a guest account unless you use -U and -P!
== Status ==
* '''October, 2013:'''
FGCom standalone is now part of FlightGear release ( two release per year, same version number policy)


Also note that the current server (fgcom.flightgear.co.uk) works with guest account, so '''do not use -U or -P'''
FGCom standalone is available at http://fgcom.flightgear.org/download


==Server installation==
* '''August, 2013:'''
FGCom has been integrated into FlightGear


For running a FGCOM server you need Asterisk and depending on the amount of users much bandwith and CPU power. Because of putting pilots and ATCs in a VoIP conference the server-admin has to assure that there is enough network and cpu power to avoid drop-outs of the voice stream.
'''New FGCom server : fgcom.flightgear.org''' ( ATIS message record, backward compatibility with old/wrong frequencies, ready for 8.33KHz spacing frequency, new dialplan using last data from X-Plane)


===Prerequirements===
* '''March, 2009:'''
Adding User-Information for installing, using, maintaining FGCOM on different platforms.


Install Asterisk on top of your favorite distribution. Please refer to installation manuals (e.g. [[http://www.asteriskguru.com/|Asterisk-Guru]]) you can find on the net. You do not need H.323 or SIP because the fgcom client uses IAX2 as VoIP signaling protocol. Only if you think about connecting external VoIP applications to FGCOM you should consider to activate H.323 or SIP (but this is not the scope of this small howto).
* '''18 November, 2008:'''
Latest SVN (rev 163) has the compile problems fixed. Also we have a new server: fgcom.flightgear.org.uk. User accounts not required (ie. do '''not''' use -U or -P)


Notice: You need to install the zaptel driver modules - even if you won't use any hardware for telecom interfacing. You need the ztdummy kernel module for the asterisk conference application MeetMe() because it simulates a hardware clock needed by this application. Further development of FGCOM might use app_conference which don't needs any timing device.
* '''31 October, 2008:'''


For now we want to use /etc/asterisk as the base configuration directory.
The latest SVN release at this time is the '''r149''' which does not compile due to a constant that is not defined (STL_STRING). Such constant appears at line 57 in the file ''src/fgcom_init.cpp'' which is:
''#include STL_STRING''


===Setting up the radio frequencies===
I guess that such constant must point to the STL library include file but I am not sure.
I revert to the '''r148''' SVN version which successfully compiles.


The radio frequencies are "simple" Conferences and realized due to the Asterisk application MeetMe().
Command to get such version is: ''svn co -r148 svn://svn.dfn.de:/fgcom/trunk fgcom-r148''


====Part 1: General configuration====
* '''19 June, 2008:''' Currently the server is <u>down</u> due to hardware problems. It is unknown when the service comes back because he currently has no time to fix the problems.


First you have to set up the general configuration of the system. Put the following at the top of your "extensions.conf" file:
* '''22 November 2007:''' Due to heavy development at this time there may be some differences between the information on the web pages and the installation. Please follow the discussions on the FlightGear development list!
 
  [general]
  static=yes
  writeprotect=yes
  ;
  [globals]
  ;
  [macro-com]
  exten => s,1,Answer()
  exten => s,n,MeetMe(${MACRO_EXTEN},qd)
  exten => s,n,Hangup()
  ;
  [macro-echo]
  exten => s,1,Answer()
  exten => s,n,Echo()
  exten => s,n,Hangup()
  ;
  [guest]
  ; ATC-Help
  exten => 01-ZZZZ-911.000,1,Macro(com)
  exten => 012525252591100,1,Dial(Local/01-ZZZZ-911.000)
  exten => 01-ZZZZ-910.000,1,Macro(echo)
  exten => 012525252591000,1,Dial(Local/01-ZZZZ-910.000)
  ;
  [default]
  include => guest
  ;
  ; Code:
  ; 01 - FlightGear
  ; 02 - Microsoft Flight-Simulator
  ; 03 - ...
  ;
  ; Air2Air
  exten => 01-ZZZZ-123.450,1,Macro(com)
  exten => 012525252512345,1,Dial(Local/01-ZZZZ-123.450)
  exten => 01-ZZZZ-122.750,1,Macro(com)
  exten => 012525252512275,1,Dial(Local/01-ZZZZ-122.750)


====Part 2: Adding your favorite (all?) frequencies====
== Related content ==
 
* [[FlightGear related projects]]
For this you have simply to create an extension for every touple of airport/frequency in extensions.conf. The following is an example for Berlin-Tempelhof (EDDI). The information comes from the file "apt.dat.gz" of your FlightGear installation.
* [[FGComGui]]
 
  ; EDDI ATIS 126.020 - Berlin Tempelhof
  exten => 01-EDDI-126.020,1,Macro(com)
  exten => 010403030812602,1,Dial(Local/01-EDDI-126.020)
  ;
  ; EDDI BERLIN DEP 120.620 - Berlin Tempelhof
  exten => 01-EDDI-120.620,1,Macro(com)
  exten => 010403030812062,1,Dial(Local/01-EDDI-120.620)
  ;
  ; EDDI BERLIN DIRECTOR 121.120 - Berlin Tempelhof
  exten => 01-EDDI-121.120,1,Macro(com)
  exten => 010403030812112,1,Dial(Local/01-EDDI-121.120)
  ;
  ; EDDI BERLIN ARR 126.420 - Berlin Tempelhof
  exten => 01-EDDI-126.420,1,Macro(com)
  exten => 010403030812642,1,Dial(Local/01-EDDI-126.420)
  ;
  ; EDDI GND 121.950 - Berlin Tempelhof
  exten => 01-EDDI-121.950,1,Macro(com)
  exten => 010403030812195,1,Dial(Local/01-EDDI-121.950)
  ;
  ; EDDI TWR 119.570 - Berlin Tempelhof
  exten => 01-EDDI-119.570,1,Macro(com)
  exten => 010403030811957,1,Dial(Local/01-EDDI-119.570)
  ;
  ; EDDI BERLIN DIRECTOR 136.100 - Berlin Tempelhof
  exten => 01-EDDI-136.100,1,Macro(com)
  exten => 010403030813610,1,Dial(Local/01-EDDI-136.100)
  ;
  ; EDDI TWR 118.100 - Berlin Tempelhof
  exten => 01-EDDI-118.100,1,Macro(com)
  exten => 010403030811810,1,Dial(Local/01-EDDI-118.100)
  ;
  ; EDDI BERLIN DEP 119.500 - Berlin Tempelhof
  exten => 01-EDDI-119.500,1,Macro(com)
  exten => 010403030811950,1,Dial(Local/01-EDDI-119.500)
  ;
  ; EDDI BERLIN ARR 119.620 - Berlin Tempelhof
  exten => 01-EDDI-119.620,1,Macro(com)
  exten => 010403030811962,1,Dial(Local/01-EDDI-119.620)
 
What does the above mean? There are two lines (three with the comment) for each frequency: The first one sets up an extension named "01-EDDI-119.500". Yes, for VoIP you can use textual extensions but be careful if you want to setup your Asterisk-Server with POTS (=Plain old telephone service). Therefor you need the second line which is the same as above but without dashes and the letters in the decimal representation of the ASCII Code. The second line does only a "rewrite" of the numerical representation to the textual one.
 
For setting up all airports you can write your own simple script. But this maybe also not needed in further versions of FGCOM.
 
After editing the extensions.conf file you have to reload the extensions file (e.g. "asterisk -rx extensions reload").
 
You can add further nice goodies to your extensions.conf: MorseCode() for morsing the code of the VOR (MorseCode() will only work in Asterisk >= 1.4), Recording of metar data and playing this recording back when using the frequency of the metar information, ...
===Setting up user accounts===
 
The user accounts are located in the file iax.conf (and perhaps also in sip.conf, but this is not necessary). The top of the file should look like this:
 
  [general]
  bandwith=low
  disallow=lpc10
  jitterbuffer=yes
  forcejitterbuffer=no
  tos=lowdelay
  autokill=yes
  disallow=all
  allow=alaw
  allow=gsm
  allow=ilbc
  allow=g726
  allow=ulaw
  language=en
  maxauthreq=10
  context=guest
  ;
  [guest]
  type=user
  username=guest
  context=guest
  qualify=yes
  callerid=Guest IAX User
  host=dynamic
  ;
 
You may want to disallow more codecs or want to allow additional codecs (such as speex). But have in mind that the internal mixing of the conferences are done in "ulaw". But "ulaw" needs about 80 kBit/s because it does no compression. So you have to think about what's better for you: less bandwidth (per user) and more CPU usage or  more bandwidth (per user) and less CPU usage... you should also consider the "sound" of some codecs may not have the 'real radio sound'.
 
For each user you have to add a bunch of lines to your iax.conf file:
 
  [<USERNAME>]
  type=user
  username=<USERNAME>
  secret=<PASSWORD>
  context=default
  host=dynamic
  nat=yes
  notransfer=yes
 
You just have to fill in the <USERNAME> and <PASSWORD>. After each change you have to reload the configuration (e.g. "asterisk -rx reload chan_iax2.so"). Perhaps you want to write scripts for automatic configuration and so on. But be warned: Further versions of fgcom may use the multiplayer servers for getting usernames and position data and you have to change your scripts.
 
===Problems?===
 
If you have problems you can contact me via email at "dcoredump AT gmail.com".
 
==External links==
* [http://squonk.abacab.org/dokuwiki/fgcom Old Official website]
* [http://squonk.abacab.org/dokuwiki/fgcom-manual Manual]
* [http://sourceforge.net/projects/fgcom/ fgcom(SourceForge-Project)]
==Development==


TODO
== External link ==
* [http://sourceforge.net/projects/fgcom/ Old repository] at sourceforge


==See also==
[[Category:FGCom]]
*[[FlightGear related projects]]
[[Category:Multiplayer]]


[[Category:Software]]
[[fr:FGCom]]

Latest revision as of 16:42, 8 March 2016

This article is obsolete but is kept for historical reference.

The new version of FGCom is much more simple to use and a clean documentation is available at FGCom 3.0
See also the discussion page.


FGCom
Developed by Holger Wirtz, Martin Spott, Csaba Halasz
Development status Active (2007-)
License GNU General Public License
Website

FGCom is an addon for FlightGear. With FGCom (and the infrastructure behind it), FlightGear has a realtime voice communication system which enriches the FlightGear capabilities, especially for multiplayer events, like:

  • Flying in groups, see the multiplayer events forum
    • Invite friends to a guided sightseeing tour in your most beloved area or do “Fly In's”
    • Do military training like “Air-Air-Refuelling”, “Dog fights”, “Escort flights”, etc.
  • Offering additional services at an airport like ATC, snowplows, pushbacks, racing-events, etc.
  • Have a real time flighttraining (e.g. pilot in Hongkong, teacher in Sydney), do Glider-towing, ask for on-line support during flight or just ask somebody flying a plane of interest about specifics.
  • Or just sit in a cockpit in Germany while sightseeing San Francisco in a C172, voice-chat with a Texan in a plane I dreamed of as a boy (Super Constellation) and both getting information from a New Zealand guy (it shall be a wonderful island – but do real people live there? He said: Yes!!).
  • And much more!

You can even use it in models without radios - just use the standard FlightGear menu --> Equipment --> Radio Settings).

In the future FGCom surely will extend further and surely will get a “Speech to Text” capability in order to also integrate the text-based automated ATC-routines inside FlightGears.

The Client installation

Prequisites

Hardware Requirements

If you are satisfied with the operation and response times of your current FlightGear installation, then you should see no significant difference after adding the FGCom. If your FlightGear installation runs already a little marginal, then you might experience some delays when many new airplane-models etc. must be loaded. This may happen when starting up at a busy airport. You can monitor/verify such a "short-time overload" in the FlightGear command-window.

For details see the common hardware and driver requirements.

Of course you will also need a connection to the internet for this real-time, worldwide voice communication.

Software requirements

FlightGear The basic FlightGear Flight Simulation installation. This must be installed prior to installing FGCom (except if installing the Linux "Git complete" version which can install FGCom and FlightGear concurrently).
Multiplayer “Multiplayer” is not an installable program but an integrated function of FGFS. As the name says, it enables communication of several players via a chat-function (until now per keyboard - now also with this vocal interface: FGCom).

Nice to have

FGrun This FlightGear Launch Control (also known as FG Wizard), is a graphical front end to start the FGFS. This makes it very easy to startup the FGFS with all its possible options. In some newer distributions this is already part of the basic FGFS installation package.
MPMap MPMap is a pure browser application based on Google Maps, so it does not need any installation, except a Web-Browser. With MPMap you can watch all Multiuser-planes worldwide on a road-map, satellite picture or a composite of both. It includes most of the airports, navigational aids, and current weather information. So it can be used for preflight planning, without having the FGFS started or even installed. But it needs a constant connection to the Internet - on the other hand you can do your preflight planning anywhere where there is a PC, connected to the Internet (with/or without FlightGear installed!).
SkyVector SkyVector is a standalone Browser-Application. It does present a fantastic Fight-Planning tool, showing similar aspects like the "MPMap" - but is based on a an real Aeronatical map ("Sectional"). On it you can graphically plan your routes.

But it does not directly link into FGFS, MPMap or Multiplayer -- and it covers only the domestic USA.

Atlas Atlas displays the current position of your airplane on an landscape type of map together with navigational information. It derives its data direct out of the installed FGFS databases. So you do not need any connections to the Internet.
Festival http://www.flightgear.org/Docs/getstart/getstart.html#QQ2-10-108 is a TTS (Text To Speech) system that can convert all in the FGFS displayed written text (ATC, Chat, etc.) into speech and put it in your loudspeakers.

Installing FGCom

Install on Linux

For Linux-Systems there are various ways to install:
  1. "Integrated Installation” to be available with FGFS 3.0 spring 2014, may be tested with GIT 2.99
    • Advantage: This will be the long expected "integration", i.e. users do not have to care about installing FGCOM manually. And you will be able to switch FGCOM on/off during flight (see http://wiki.flightgear.org/Integrating_FGCom)
    • Disadvantage: This is still in a "Test-mode", so you might have problems when testing
    • Installation: Is done automatically when installing FGFS (starting FGFS 3.0 / GIT 2.99)
  2. Installation of a "Standalone FGCOM"
    • Advantage: you can use this "Standalone FGCOM" without using FGFS (e.g. when operating OpenRadar)
    • Disadvantage: There may be only a engineering test version available (as of today) - use that with care!
    • Installation:You can download the needed "Standalone FGCOM".zip from http://fgcom.flightgear.org/download/.
      and unzip it into a directory of your choice
      then you start fgcom in a terminal like:
cd /home/YourName/fgfs/bin 
./fgcom
  1. Downloading from the “Distributor” (Debian, Ubuntu, Red Hat, Suse, etc.).
    • Advantage: This is the easiest way and ensures that maintenance and services for this package and all concurrencies to it are provided automatically for a reasonable time-frame.
    • Disadvantage: The availability of those packages is usually very late and most Distributors do not cover all FGFS-features. To our knowledge none of the Distributors has a FGCom-package available as of Oct. 2013.
    • Installation: Follow the usual procedures of your distributor on how to install additional packages.
  2. Install today’s newst GIT or released version
    • Advantage: It is the very easiest form of installation and installs in one step any (or all) prerequisite/companion modules (FGFS, FGrun, FGcom, PLIB, OSG, Simgear, AT). Also it can be added and removed from the system without disturbing the rest of the system (Libraries, Menus, Structures, etc.). It was tested on several Ubuntu and Debian systems.
    • Disadvantage: No automated maintenance available. The handling is a little different from the standard Menu-driven practices.
    • Installation: use the Scripted Compilation on Linux Debian/Ubuntu
mkdir fgcom
cd fgcom
wget https://sourceforge.net/p/flightgear/fgmeta/ci/next/tree/download_and_compile.sh
chmod +x ./download_and_compile.sh 
./download_and_compile.sh PLIB FGCOM

... it will ask 2 x for the root password then it looks like this:

[ 95%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom.cpp.o
[ 97%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom_init.cpp.o
[ 98%] Building CXX object CMakeFiles/fgcom.dir/src/position.cpp.o
[100%] Building CXX object CMakeFiles/fgcom.dir/src/utils.cpp.o
Linking CXX executable fgcom

[100%] Built target fgcom
-- Install configuration: "Release"
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/bin/fgcom
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/share/fgcom/positions.txt
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/share/fgcom/special_frequencies.txt
To start fgcom, run the run_fgcom.sh file
To start fgcom GUI, run the run_fgcomgui.sh file
Usage: ./download_and_compile.sh -h
for help

then you can start fgcom like this:

./run_fgcom.sh -Sfgcom.flightgear.org

Install on Mac

  1. MacFlightGear 1.9.1/2.0.0
    • You can download the "MacFlightGear"-Application from the FlightGear download-center. Starting with version 2.0.0 the code does contain the FGCom and works for OSX >= 10.5. (with OSX versions < 10.5 you will end up with a generic "bus error" message).
  2. Installation of a "Standalone FGCOM"
    • Advantage: you can use this "Standalone FGCOM" without using FGFS (e.g. when operating OpenRadar)
    • Disadvantage: There may be only a engineering test version available (as of today) - use that with care!
    • Installation:You can download the needed "Standalone FGCOM".zip from http://fgcom.flightgear.org/download/.

Install on Windows

  1. Please use the Windows installation description
  2. Installation of a "Standalone FGCOM"
    • Advantage: you can use this "Standalone FGCOM" without using FGFS (e.g. when operating OpenRadar)
    • Disadvantage: There may be only a engineering test version available (as of today) - use that with care!
    • Installation:You can download the needed "Standalone FGCOM".zip from http://fgcom.flightgear.org/download/.


Functional test & user briefing

To insure that we can differentiate between troubles

  • that may be caused by the FGFS
  • and those caused by FGCom

we will also describe the FGFS-Start and it's, for this test needed, settings in detail.

Experiences pointed out, that the cooperation between FGCom and FlightGear works more reliable, if FlightGear is started first. So we will start with setting up FGFS first:

Start FlightGear

To set all required and/or proposed settings for this first functional test, we suggest to use

  • for Windows and Linux FGRun
  • which for MAC-OSX is the integrated "GUI Launcher"

In the following we will just point out those commands which are significant for the FGCom-operation:

If you don't have an icon available to start FGrun, then start it manually:

  1. Start a command-window
  2. Change into the directory in which FGFS was installed
  3. Execute the following command or something similar
Linux fgrun
Windows C:
cd 'C:\Program Files\Flightgear\win32'
fgrun.exe

Wait for the program window to start and then define:

  1. Start by choosing an airplane. For this first try we suggest the Cessna C172P, so we have a common understanding in the following. Also be aware of some airplane-designers reassigning keyboard-keys (e.g. the “space-bar” which is used as PTT, may activate a "BombDrop" in a Fighter-jet!), thus you may not have the PTT-key (“Push To Talk”) available. See FGCOM#Tips and Tricks.
    → Click "Next".
  2. As starting place please define the airport KPAO (Palo Alto) runway 13, so we all see the same messages in the following reports. A second reason for KPAO is of course that KPAO comes already with the basic scenery-package, and thus is available for everybody.
    → Click "Next".
    Basic & multiplayer options
  3. Define the Multiplayer options: (see Howto: Multiplayer for details).
    • “AI models” must be activated in order to see all traffic
    • “Multiplayer” must be activated
    • type “mpserverXX.flightgear.org” into the field “Hostname:”, replace “XX” with the server number nearest you - select it in http://mpserver15.flightgear.org/mpserverstatus/. Actually it does not matter which server you take (as long as it is online and not as overcrowded as mpserver02) - you might try which server gives you the best response-times.
    • insert your “Callsign:” (max. 7 characters)
    • define the “in” and “out” ports both with the standard “5000”
    • With "Load/Save as" you may build up yourself a library of settings for different airports.
      → Click "Advanced".
      Advanced: Initial Position
  4. In the “Advanced Options” check the following sections (click/select them in the left column):
    • General: Those settings were defined before. Check “Control”, if needed select your input device (Joystick, Keyboard, or Mouse).
    • Features: “AI Traffic” should be activated already
    • Initial Position: You may define here an unique “starting/parking” position outside a runway. Thus you could avoid starting on top of another player, because most of them pile up at the end of a runway. You can look up a position in the MPMap: (see next item)
      • Be aware that any data defined here override already predefined data (e.g. also an airport and runway). So do not forget to change/delete the here defined positions if some time you want to start from another airport. Of course you may save/reload settings for different airports, see "Load/save as" on the main window.
  5. Open the MPMap
    • if the control-panel is not visible click onto "FGMap | mpserver02:5000 | pilots: 7”
    • click on “nav”
    • disable all options except “apt code”
    • type “KPAO” into the filed “Navaids lookup”
    • hit ENTER or click onto the reading-glass symbol
    • click onto the appearing line “Airport -- KPAO -- Palo Alto”
    • now you could/should support your preflight planning by clicking onto the wedge in the upper right corner after the airport name and then analyse all data given under “info”, “atc”, metar”, and “links”
    • then zoom into the airport
    • set the mouse over the wanted “Parking lot” and read that position in the upper right corner of the screen
    • type those long/lat values into the field below and also the wanted heading of the plane while parking
      Advanced: Network
  6. Network: Those data you have already predefined on the Base-Page. But in case you have network-problems (may be due to many PC's on a home-network with even more LAN-cards) you may specify here your actual IP-Adress.
    • WARNING: When saving these settings and reloading them again, FGRun might replace the given IP-Nr. by the PC-name. As of March 2009 you then have to replace that again with the IP-Nr. So use it only if you have to - first try it by adding nothing between the ",,". Keep it as "in,10,,5000".
    • If you need to define the unique IP-Address, open a command-window and type
    OS to type cap. returned values
    Linux ifconfig eth0 Link encap:Ethernet HWaddr 00:1d:92:80:a6:ab
    inet addr:192.168.178.23 Bcast:192.168.178.255 Mask:255.255.255.0
    Windows ipconfig /all et Physikalische Adresse . . . . . . : 00-16-E6-40-AB-BF


    DHCP aktiviert. . . . . . . . . . : Ja
    Autokonfiguration aktiviert . . . : Ja
    IP-Adresse. . . . . . . . . . . . : 192.168.178.20
    Subnetzmaske. . . . . . . . . . . : 255.255.255.0
    IP-Adresse. . . . . . . . . . . . : fe80::216:e6ff:fe40:abbf%4

    192.168.178.23 (or 20) is the number you would have to input between the two commas. Be very careful and double-check that you do not mistype “.” and “,”!!
    Advanced: Input/Output
  7. Input/Output:
    • You do need a "generic" line as shown, because this defines the interface between FlightGear and FGCom.
      • To input a new line: Start by selecting “generic” in the field “Protocol”. Then hit “New” and define the rest as shown.
      • Editing an existing line: Start by clicking onto the existing one, then change as required.
      • Deleting an existing line: Click onto the line to be deleted, then hit "Delete"
    • For fgo or the command line add --generic=socket,out,10,localhost,16661,udp,fgcom to the command line options
  8. Avionics: let us define:
    Nav1: 114.10 San Jose VOR
    Nav2: 115.80 SF VOR
    ADF: 379 Brijj, beacon at SF
    • And activate DME to Nav1
    • There is no field to input COM-radios, but remember them for setting them later manually:
    Com1 118.60 Paolo Alto
    Com2 120.50 San Francisco
  9. Properties:
    • Here you can define any presetting for any values in the FGFS. See e.g.: File > Browse Internal Properties in the FlightGear menu.
      Advanced: Properties
    • I personally do not want the plane to start rolling without me telling it to. So I set the parking break as default at startup.
      • Input a new line: Just hit “New” and type your string.
      • Edit a line: Be sure first to click onto an existing item and then edit this “Property”
      • Delete a line: Click onto the line to be deleted then hit "Delete"

Hit “OK” → “Run” and watch FlightGear starting. If screen-place allows you may want to pull the shown "FGFS Report-Window" to the side and watch how busy your PC is while loading the other multi-player models.


Start FGCom

Open a command-window and change into the directory in which FGCom was installed (probably the same as FlightGear) and start FGCom. The server you want to use for events is fgcom.flightgear.org (fgcom.flightgear.org.uk was the originally used server and is not available any more).

To start FGCom with the defined server you must insert the server address after a "-S" (watch: The "S" must be a capital!):

Linux fgcom -Sfgcom.flightgear.org "-Sfgcom..." with capital "S"
Linux Git

(FS 3.00 or GIT 2.99)

cd ~/fgfs
sh ./run_fgcom.sh
This is the new integrated version, which you will start and set options from inside the FGFS!
Windows cd 'C:\Program Files\Flightgear\win32'
fgcom.exe -Sfgcom.flightgear.org
"-Sfgcom..." with capital "S"

For the following tests, position the command-window somewhere, where you can monitor it throughout the test.

Be aware that the standard range for the FGCom is 50km, but some people have a version with a range of 100 km! So in the following description the "50 km" restriction might be replaced with 100km!!

1) The first response should be:

  fgcom - a communication radio based on VoIP with IAX/Asterisk
  Original (c) 2007-2011 by H. Wirtz <wirtz@dfn.de>
  OSX and Windows ports 2012-2013 by Yves Sablonier and Geoff R. McLane, resp.
  Version 3.1.0 compiled Mar  2 2014, at 00:21:19
  Using iaxclient library Version SVN 261
  
  Successfully parsed commandline options
  Loaded file [/usr/share/flightgear/special_frequencies.txt].
  Reading airports [/usr/share/flightgear/positions.txt]
  loaded 47171 entries
  Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org

If, due to a prior flight, COM1 was set to anything else but 118.600 (e.g. to 119.650) you will see the following 2 lines added to the above shown initialization of the FGCom-window:

Selected frequency: 119.650 
Call rejected by remote

Instead of “119.650” there will be shown the last used frequency. In the above example the source of the ATC-Freq. 119.650 is more than 50km away from your actual position, so FGCom rejects a connection to it. If the last frequency used would have been within 50 km you get an indication very similar to the next item.

2) Switch COM1 to 118.60 (as needed at Palo Alto):

Selected frequency: 118.600 
Hanging up call 0 
Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km) 
Call 0 accepted 
Call 0 answered 
Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km) 

This last line will be repeated according the to time span you defined in the “Input/Output” command “--generic=socket,in,10,,5500,tcp” (10 means all 10 sec.), you may change that value later according to your preferences.

3) Press your PTT (PushToTalk on space-bar and joystick, as available):

[SPEAK] unmute mic, mute speaker 
[LISTEN] mute mic, unmute speaker 
[SPEAK] unmute mic, mute speaker 
[LISTEN] mute mic, unmute speaker 

Only in between “SPEAK” and “LISTEN” you are able to talk to others.

4) First let us set/verify the other Radios:

COM2  = 120.50	San Francisco
NAV1  = 114.10	San Jose
NAV2  = 115.80	San Francisco


Then: Pressing Upper+Space will switch to the next radio: NAV1

Radio-Select: NAV1 
Selected frequency: 114.100 
Hanging up call 0 
Call rejected by remote 
[LISTEN] mute mic, unmute speaker 

Compare this to the NAV2 indication 2 steps later: something is wrong – and it wasn't your fault: Although this NAV is valid (see ...FGFS/data/Airports/apt.dat.gz), it is missing in the FGCom listing .../FGCom/positions.txt. I encountered this problem several times, as well for Airports as also for VOR's. If this happens with your most beloved airport you can add those missing data with a text-editor. But before changing be sure you know what/how you are doing and also save the original data somewhere - just in case!

5) Pressing Upper+Space once more switches to COM2

Radio-Select: COM2 
Selected frequency: 120.500 
Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (29.1 km) 
[LISTEN] mute mic, unmute speaker 
Call 0 accepted 
Call 0 answered

That looks OK: San Francisco is about 29 km away!
Watch the “km” instead of miles! 10 km = 6.2137 mi

6) Pressing Upper+Space once more switches to NAV2

Radio-Select: NAV2 
Selected frequency: 115.800 
Hanging up call 0 
Airport SAN FRANCISCO VOR-DME (SFO VOR at 115.800 MHz) is in range (28.5 km) 
Call 0 accepted 
Call 0 answered 
[LISTEN] mute mic, unmute speaker 

And Yes: The SF VOR is just a little closer than the airport-center

7) Pressing Upper+Space once more brings back COM1:

Radio-Select: COM1 
Selected frequency: 118.600 
Hanging up call 0 
Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km) 
Call 0 accepted 
Call 0 answered 
[LISTEN] mute mic, unmute speaker 


8) Lets us start and continue flying with a heading of about 130°:

Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.4 km) 
Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.2 km) 
Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.7 km) 
Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 1.3 km) 
Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 1.9 km) 
Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 2.4 km) 

notice that you first come closer (to the center of the airport) and after that getting away

9) Let's switch to COM2 (San Francisco) and watch:

Radio-Select: COM2 
Selected frequency: 120.500 
Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (37.8 km) 
Call 0 accepted 
Call 0 answered 
[LISTEN] mute mic, unmute speaker 
Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (38.6 km) 
Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (39.5 km) 
.. 
Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (49.7 km) 
Hanging up call 0 
Radio-Select: NAV2 
Selected frequency: 115.800 
Call rejected by remote 
[LISTEN] mute mic, unmute speaker 

That means: at about 50KM we are getting out of range and thus the on COM2 active SF getts terminated. Notice that also the inactive NAV2 gets terminated, because it exceeded the allowable range at about the same time!

You could turn now and watch the opposite: At about the same distance those two will become active again (automatically, if you did not change the settings).

If you got here without any (technical) problems your FGCom is fully functional. Have fun when using it.

Using FGCom

There are basically three types of FGCom-usage:

  • Normal usage at airports: i.e. You set your radio to the airport as usual. Thus you are set up for the usual ATC-(keyboard)-procedures (either through the "'" (UpperCase#) and/or the Chat-Menus). In addition you then can talk to anybody in a radius of about 100 km (about 54 miles) around the airport, may that be friends, a maintained FGCOM-ATC/Twr-Operator, airport utilities, etc.. Be aware that as of April 2009 only very few planes are using the FGCOM for ATC-purposes - thus you should always use the ATC-Chat "keyboard"-procedures to announce arrivals/departures/taxiing etc. in addition. (We hope that may change in some future!)
  • The AirToAir frequencies (122.75 and 123.45) are ideal for all Multiplayer events. They are without any range-limitations - and not yet "overcrowded!). Also when traveling you might want to listen on the 122.75 for others who want to contact you (or reverse). When there is much "talk" on the 122.75 you might just arrange with your partner to switch to 123.45 - and return to 122.75 afterward. As of April 2009 the 122.75 is already operational for this application, the 123.45 will follow soon. You may try from time to time if this limitations still exist.
  • The Echo-Test frequency 910.00 to test your sound settings
  • Finally you can manipulate the frequency-tables (positions.txt in your FGFS/FGCOM local directory) and define an own frequency for special events. e.g. a Flight-School at one airport with maybe multiple student-groups. Of course those are local manipulations on your own PC, which you have to agree on with your (planned to be) partners in advance.

Supplemantery Information

Tips and Tricks

Airport missing in FGCom:

In case your favorite airport does not show up in the FGCOM (command-window), although you can tune your COMM to it, you can add it to your data-file “positions.txt” in your fgcom directory. See e.g. the line

  KSFO,120.500,37.616630,-122.385478,TWR,San Francisco Intl

You can add extra lines for any locations you want. e.g.: (watch the separation comas)

apt-code = DUMY   (a "dummy" or your favorite, but missing, airport code)
KHz      = take it out of your “FGFS-home/data/Airports/apt.dat.gz”
           or just take one of which you are sure that you do not need it in the FGFS-reality
           (notice that several Airports (far apart) use same frequencies!
long/lat = take out of the Mpmap (or Google Map)
type     = whatever
name     = whatever

(of course those definition are only known to your own PC and last only until the next data update!)

Editing FGCOM-Data-Files

If you edit Textfiles (e.g. Radio-listings) or xml-files you might not see line-endings when using your standard editor.

  • For windows you can use "WordPad"
  • For Linux the "gedit" works fine
Copying-Printing this WIKI-Page

If you absolutely want to have a local copy of this on your PC or need a hard-copy, then:

  • to copy:
    • select in the Browser-Menu: "File" --> "Save Page as.. "
  • to print:
    • go to the printable version.
    • Then I suggest: Menu --> File --> "Page Setup": Set to "Landscape" --> "Apply"
    • before printing I recommend: Menu --> File --> "Print Preview" and you see those many many pages!
    • If you really want to wast that paper: Menu --> "File" --> "Print" and it will print on your favorite printer
Joystick compatibility between Operating Systems:

1rightarrow.png See Joystick for the main article about this subject.

You may use the same joystick-definitions across all Operating-Systems: But you may need to change the assigned numbers - your joystick-vendor might have done that for you already. Check e.g. (Unix, Mac, Win having assigned different "numbers"):

<axis>        (instead of the usual <axis n=”3”> )
 <desc>Mixture</desc> 
 <number> 
  <unix>3</unix> 
  <mac>5</mac> 
  <windows>5</windows> 
 </number> 
 <binding> 
  <command>nasal</command> 
  <script>controls.mixtureAxis()</script> 
 </binding> 
</axis>
Assign PTT to joystick

If you want to assign the PushToTalk function to your joystick, add the following (for n you have to find your own number!)

<button n="x"> 
 <desc>PTT - Push To Talk</desc> 
 <binding> 
  <command>nasal</command> 
  <script>controls.ptt(1)</script> 
 </binding> 
 <mod-up> 
  <binding> 
   <command>nasal</command> 
   <script>controls.ptt(0)</script> 
  </binding> 
 </mod-up> 
</button>

Helpful internet adresses

World-Time:

Especially for multiplayer events you should define all times in the internationally used GMT (Greenwich Meantime). Just pick up your deviation from GMT and memorize it. If everybody does it, we could avoid a lot of misunderstandings.

Ports needed

In case of problems over the internet you might check that the the following ports are allowed:

1314	TCP	if the Festival-Server is used for Text/Sound 
2005	UDP	Vcp-Stream
4569	UDP	FGCom  VoIP, (Inter-Asterisk eXchange)
5000	UDP	in/out Multiplayer    (VPN Sftw.)
5001	UDP	Enable HTTP-server
5002	UDP	Enable property server
5003	UDP	Enable Screen-Shot services
5004   UDP     (may be used as a spare)
5505	UDP	Terra Sync
16661	UDP	FGCom listening to FGFS, usually “local host” only

Also consider that some modern modems do already provide a firewall. If in addition to that you use a local firewall in your PC, than you might expect an unhealthy competition between those two concurrent firewalls. In case of problems you should deactivate one of those (usually the one inside the PC, especially if several PCs are connected via that modem).

Commandline Parameters

fgcom --help

returns the following useful info

 fgcom - a communication radio based on VoIP with IAX/Asterisk
 Original (c) 2007-2011 by H. Wirtz <wirtz@dfn.de>
 OSX and Windows ports 2012-2013 by Yves Sablonier and Geoff R. McLane, resp.
 Version 3.1.0 compiled Mar  2 2014, at 00:21:19
 Using iaxclient library Version SVN 261
 
   OPTION                                                DESCRIPTION
 
   -d, -debug, --debug=                                  show debugging information
   -S, -voipserver, --voipserver=                        voip server to connect to (default: 'fgcom.flightgear.org')
   -s, -fgserver, --fgserver=                            fg to connect to  (default: 'localhost')
   -p, -port, --port=                                    where we should listen to FG (default: '16661')
   -a, -airport, --airport=                              airport-id (ICAO) for ATC-mode
   -f, -frequency, --frequency=                          frequency for ATC-mode
   -C, -callsign, --callsign=                            callsign to use (default: 'guest')
   -U, -user, --user=                                    username for VoIP account (default: 'guest')
   -P, -password, --password=                            password for VoIP account (default: 'guest')
   -i, -mic, --mic=                                      mic input level (0.0 - 1.0)
   -o, -speaker, --speaker=                              speaker output level (0.0 - 1.0)
   -b, -mic-boost, --mic-boost=                          enable mic boost
   -t, -silence-threshold, --silence-threshold=          set silence threshold (-60.0 - 0.0)
   -l, -list-audio, --list-audio=                        list audio devices
   -r, -set-audio-in, --set-audio-in=                    use <devicename> as audio input
   -k, -set-audio-out, --set-audio-out=                  use <devicename> as audio output
   -c, -codec, --codec=                                  use codec <codec> as transfer codec (default: 'u')
   -T, -positions, --positions=                          location positions file (default: '/usr/share/flightgear/positions.txt')
   -Q, -special, --special=                              location spl. frequency file (opt) (default: '/usr/share/flightgear/special_frequencies.txt')
 
   Available codecs:
         u - ulaw (default and best codec because the mixing is based onto ulaw)
         a - alaw
         g - gsm
         s - speex
         7 - G.723
 
 
   Mode 1: client for COM1 of flightgear:
         $ fgcom
   - connects fgcom to fgfs at localhost:16661
         $ fgcom -sother.host.tld -p23456
   - connects fgcom to fgfs at other.host.tld:23456
 
   Mode 2: client for an ATC at <airport> on <frequency>:
         $ fgcom -aKSFO -f120.500
   - sets up fgcom for an ATC radio at KSFO 120.500 MHz
 
 
 Note that fgcom starts with a guest account unless you use -U and -P!

Also note that the current server (fgcom.flightgear.org) works with guest account, so do not use -U or -P

Server installation

1rightarrow.png See Howto: Set up a FGCom server for the main article about this subject.

Main FGCom server fgcom.flightgear.org hosted by F-JJTH (contact on forum, IRC, mailing list)

External links

Deprecated or broken links

Status

  • October, 2013:

FGCom standalone is now part of FlightGear release ( two release per year, same version number policy)

FGCom standalone is available at http://fgcom.flightgear.org/download

  • August, 2013:

FGCom has been integrated into FlightGear

New FGCom server : fgcom.flightgear.org ( ATIS message record, backward compatibility with old/wrong frequencies, ready for 8.33KHz spacing frequency, new dialplan using last data from X-Plane)

  • March, 2009:

Adding User-Information for installing, using, maintaining FGCOM on different platforms.

  • 18 November, 2008:

Latest SVN (rev 163) has the compile problems fixed. Also we have a new server: fgcom.flightgear.org.uk. User accounts not required (ie. do not use -U or -P)

  • 31 October, 2008:

The latest SVN release at this time is the r149 which does not compile due to a constant that is not defined (STL_STRING). Such constant appears at line 57 in the file src/fgcom_init.cpp which is: #include STL_STRING

I guess that such constant must point to the STL library include file but I am not sure. I revert to the r148 SVN version which successfully compiles.

Command to get such version is: svn co -r148 svn://svn.dfn.de:/fgcom/trunk fgcom-r148

  • 19 June, 2008: Currently the server is down due to hardware problems. It is unknown when the service comes back because he currently has no time to fix the problems.
  • 22 November 2007: Due to heavy development at this time there may be some differences between the information on the web pages and the installation. Please follow the discussions on the FlightGear development list!

Related content

External link