NAME
ohphone - initiate, or receive, a H.323 IP telephony call
SYNOPSIS
ohphone -l|--listen [options]...
ohphone [options]... address
DESCRIPTION
ohphone is a command line application that can be used to listen for
incoming H.323 calls, or to initiate a call to a remote host. Although
originally intended as a test harneess for the OpenH323 project (see
http://www.openh323.org) it has developed into a fully functional H.323
endpoint application. ohphone includes a simple menu that allows
interactive control of functions, as well as allowing control of most
dialling and answer functions via a phone handset when used with a
Quicknet (see http://www.quicknet.com) LineJack or PhoneJack.
When used with the -l option, ohphone will wait for incoming calls. If
this option is not specified, ohphone expects a hostname to be
specified and will attempt to connect to a H.323 client at that
address.
OPTIONS
All of the command line options to ohphone can be specified in long
form, and the most commonly used options also have single character
equivalents. The long forms can also be used in the ohphone
configuration file. To disable or turn off a feature, use the long
form of the name with the prefix --no-, i.e. --no-answer or --no-gsm.
-a, --auto-answer
Automatically answer incoming calls.
--aec level
Set the AEC (audio echo cancellation) level when using a
Quicknet card. level must be in the range 0 through 3. The
default value is 2.
--autohook
Automatically handle hook state for phone devices that appear
permanently off-hook. This option is intended for use with the
Quicknet PhoneCARD.
--answer-timeout time
Time in seconds till forward on no answer.
-b, --bandwidth bps
Limit bandwidth usage reported to gatekeeper to bps bits/second.
-c, --callerid
Enable caller id display.
--calleridcw
Enable caller id on call waiting display.
--connectport port
Port to connect to for outgoing connections (default 1720).
--connectring num
Distinctive ring number to send to remote: 0 (default) to 7.
-C --country name
Set the country code for Quicknet device.
-D, --disable codec
Disable the specified codec (may be used multiple times).
-d, --autodial host
Automatically dial host if phone goes off hook.
--dial-after-hangup
By default ohphone will present a busy tone when a connection is
broken, requiring the handset to be put on hook before making
another call. If this flag is specified, a new dialtone will be
presented, allowing a new connection to be made without
requiring an hook transition.
--disable-menu
Disable the internal menu.
-e, --silence
Disable silence detection and removal for GSM and software
G.711.
-F, --forward-always party
Forward all calls to the remote specified party.
-B, --forward-busy party
Forward to the remote specified party if busy.
-N, --forward-no-answer party
Forward to the remote specified party on no answer. Timeout for
no answer set with --answer-timeout.
-f, --fast-disable
Do not request H323V2 FastConnect when initiaiting a connection.
-h, --help
Show help message.
-T, --h245tunnel-disable
Do not perform H245 tunneling when initiating a connection.
-g, --gatekeeper host
Upon startup, register only with the specified gatekeeper rather
than attempting to find a gatekeeper by using UDP broadcast.
-G, --gatekeeper-id name
Specify gatekeeper by ID.
--g711-ulaw
Set G.711 uLaw as preferred codec.
--g711-Alaw
Set G.711 ALaw as preferred codec.
--g711frames count
Set the number G.711 frames in capabilities (default 30).
--g7231
Set G.723.1 as preferred codec, when using a Quicknet card.
--g728 Set G.728 as preferred codec.
--gsm Use GSM 06.10 as preferred codec.
--gsmframes count
Set the number GSM frames in capabilities (default 4).
--h261 device
This option has been deprecated in favour of the videoreceive
and videotransmit options
-i, --interface interface
Only bind to the specified network interface address. By
default, ohphone automatically listens for incoming calls on all
TCP/IP network interfaces available on the host machine. This
option is useful for running multiple copies of ohphone on the
same multi-homed machine, or for ensuring that only calls from
the external, or internal, network will be received on a
particular handset.
-j, --jitter delay
Set jitter buffer to delay ms. By default, the jitter buffer is
set to 50 ms.
-l, --listen
Listen for incoming calls.
--listenport port
Listen on the specified tcp port instead of the default 1720.
-n, --no-gatekeeper
Do not attempt to find a gatekeeper upon startup using UDP
broadcast.
-o, --output filename
Write trace output (enabled with the -t option) to the specified
file rather than to stderr.
-P, --prefer codec
Sets the prefered codec to the specified codec. If used multiple
times, it specifies an order in preference, being the first one
specified the most prefered one.
-p, --proxy host
Connect to the remote endpoint using the specified H.323 proxy
host, rather than attempting to connect directly.
--playvol vol
Set the playback volume. For sound cards, this is an integer
value from 0 through 100. For Quicknet cards, this is a real
number from 0.0 through 16.0 (1.0 is normal volume)
-q, --quicknet num
Use the specified Linux telephony device (/dev/phonenum) rather
than a sound card. This overrides the default of using the sound
card.
--quicknet-playvol vol
Set the playback volume when a Quicknet card is used. This
overrides the value of --playvol (if set). The volume is a real
number from 0.0 through 16.0 (1.0 is normal volume).
--quicknet-recvol vol
Set the record volume when a Quicknet card is used. This
overrides the value of --recvol (if set). The volume is a real
number from 0.0 through 16.0 (1.0 is normal volume).
-r, --require-gatekeeper
Exit if a gatekeeper cannot be found.
--recvol vol
Set the record volume. For sound cards, this is an integer value
from 0 through 100. For Quicknet cards, this is a real number
from 0.0 through 16.0 (1.0 is normal volume)
--ringfile filename
Play the PCM data in filename when an incoming call arrives.
--ringdelay delay
If the --ringfile option is specified, this option defines how
many to delay between playing each ring. If the delay is
specified as -1, then the file is only played once. If it is
zero, then the file loops continuously with no delay. The
default delay is 5 seconds.
--save Save arguments in configuration file.
--setup-param string
Arbitrary data to be put into H.225 Setup PDU.
-s, --sound device
Select the sound input and output device. The default value is
/dev/dsp0.
--sound-buffers n
Set sound buffer depth (default=2)
--sound-mixer device
Select the sound card mixer device. The default value is
/dev/mixer0
--sound-recchan device
Select the sound card record channel. By default, the mic
channel is used.
--sound-in, --sound-out device
Select the sound input or output device seperately. Only needed
if different sound devices are needed for input and output.
--sound-playvol vol
Set the playback volume when a sound card is used. This
overrides the value of --playvol (if set). The volume is an
integer value from 0 through 100
--sound-recvol vol
Set the record volume when a sound card is used. This overrides
the value of --recvol (if set). The volume is an integer value
from 0 through 100
--stun stun_server
Set to use the specified STUN server. STUN (Simple Traversal of
UDP Through NAT) is a protocol that allows a mahine behind NAT
to figure out the public IP address and port number of a UDP
socket, by querying a STUN server running on the Internet.
ohohone then uses this public IP address and port number for
H.323 signaling. If you are behind a NAT or firewall, and know
the IP address of a STUN server, to get ohphone to work you do
not need to set up port forwarding or put your machine in DMZ,
ohphone will utilize the STUN server to use the correct IP
address and port numbers for signaling. For example, typing
‘ohphone -n --stun stun.somewhere.com friend.otherplace.com’
starts ohphone to call the machine friend.otherplace.com and
uses the STUN server at stun.somewhere.com.
-t, --trace
Enable debug tracing, which displays messages at run-time to
assist in debugging or problem identification. Specifying this
option multiple time increases the amount of information
displayed. ohphone has trace statements up to level 5. Use the
-o option to write the trace information to a file rather than
to stderr.
--tos value
Set the Type Of Service in outgoing RTP packets to the specified
value.
-u, --user name
Set local endpoint alias name. Can be used multiple times to add
multiple aliases. By default, the alias list contains a single
entry with the current user’s login name.
-v, --verbose n
Set amount of information displayed (0=none).
--videodevice dev
Select video capture device (default /dev/video0).
--videofill n Set the number of updated background blocks per
frame to n, default is 2. n has to be between 2 and 99.
--videoformat format
Set the video capture format. format must be the string pal
(default) or ntsc
--videolocal
Enable display of the local video input. If --videopip is
specified, this will be displayed as subwindow inside the
received video window.
--videoinput input
Set input port used for video. The default value is 0 - the
maximum value is determined by the video device
--videopip
Enable picture in picture for local video window and received
video window
--videoquality quality
Set the video qualty requested from the remote endpoint. quality
must be in the range 0 to 31.
--videoreceive device
Enable reception of video data in H.261 format. The device
specifies the device to be used to display the received video
information. Permitted values of device are:
null do nothing (useful for debugging)
ppm Create a numbered sequence of PPM files
svga256
Write directly to the console in 256 colour VGA mode
(Linux only)
svga Write directly to the console in full-colour VGA mode
(Linux only)
x11 Write received data to an X11 window usng shared memory
extensions. Can also specify x1124, x1116 or X118 to
force visual depth. Add an ’s’ to the device to specify
shared memory (i.e. x1124s).
--videosize size
Set the size of the transmitted video signal. size must be the
string small (default) or large
--videotransmit
Enable tranmission of video in H261 format. The size ofthe
video window is determined by the --videosize option. The video
input used is determined by the --videoinput option. The video
format used is determined by the --videoformat option. If
--videolocal is specified, then the local video signal will be
displayed in a seperate window.
--videotxfps n
Set maximum number of transmited video frames per seceond to n,
default is 10. n has to be between 2 and 30.
--videotxquality n
Select sent video quality, defaults to 9. 1(good)<=n<=31
CONFIGURATION FILE
ohphone options and speed dials can be set in the ohphone configuration
file ~/.pwlib_config/ohphone.ini . This config file is divided into
sections, with each section indentified by a header enclosed in square
brackets. Options must be located in the section prefixed with
[Options], whilst speed dials must be located in the section prefixed
[Speedial]. The long form of any command line option specified above
can be specified in the configuration file, in the format:
option = value
SPEED DIALS
ohphone can be configured to dial an IP address upon entering a speed
dial code conisisting of an integer followed by the hash (#) character.
Speed dial codes are available via the menu "C" command (see the MENU
section) or via the phone handset (if a Quicknet card is used).
ohphone Speed dials are configured using the menu "D" command, or can
be added directly to the [SpeedDials] section of the configuration file
(see below).
Speed dials can also contain wild card characters which allow groups of
numbers to be assigned to specific gateways. The following examples
show the use of wild cards:
7?? @192.168.5.3
Dial three digit numbers starting with 7 through the gateway at
192.168.5.3
9* %192.168.7.1
Dial any number starting with 9 through the gateway at
192.168.6.3, but strip the leading 9 before dialling.
The following special speed dials can also be used:
# Redial the previously dialled number
*# Dial the previous caller
DIALLING IP NUMBERS USING A HANDSET
An IP number can be dialled using a phone handset connected to a
Quicknet card. This is done by pushing the star (*) button, and then
entering the IP number using the star (*) button to seperate each of
the four parts of the IP address, and then pressing the (#) button.
For example, the sequence below can be used to dial the IP address
192.168.64.5:
*192*168*64*5#
INTERNAL MENU
ohphone allows the user to perform various operations whilst listening
for an incoming connection, or whilst a call is in progress. These
operations are accessed via single line commands which each start with
a single character identifying the function. The available commands
are:
Q or X Hangup any active calls and exit the program.
H Hangup any active calls.
C address [gateway]
Initiate a call to the specified host or IP address. If the
optional getway paramater is used, then the specified gateway
will be used to make the call. If the address ends with the hash
(#) character, it is assumed to be a Speed Dial code.
L List all current speed dial codes
D code address
Create a new speed dial for address using code.
S Print statistics of the call in progress.
P Toggle between speakerphone and normal mode
A Turn AEC up by one level (Quicknet cards only)
a Turn AEC down by one level (Quicknet cards only)
[ Turn play volume up by one level.
] Turn play volume down by one level.
} Turn record volume up by one level.
{ Turn record volume down by one level.
V Display current volume settings
E Toggle silence supression
I Show last 16 calls made
i Show last 16 calls received
EXAMPLES
ohphone -l
Find a gatekeeper on the local network, register with it, and
then listen for incoming calls.
ohphone -ln
Listen for calls without registering with a gatekeeper.
ohphone -ln -q0 --callerid
Listen for calls without registering with a gatekeeper, using
/dev/phone0 (a Quicknet card) as the sound device, and enabling
transmission of caller ID to the handset on incoming calls.
ohphone -n ipaddress
Make a call using directly to another endpoint without a
gatekeeper
ohphone -n ipaddress
Make a call using directly to another endpoint without a
gatekeeper
FILES
~/.pwlib_config/ohphone.ini
USING MICRO TELCO WITH OHPHONE
Use of microtelco only happens if you have a valid microtelco account
and a quicknet card installed on your computer. Add to the command
line the following four entitites.
-u microtelco_account_number
--password microtelco_pin_number
-g gk.microtelco.com
Specify a quicknet card, say, -q0, to get /dev/phone0.
BUGS
Picking up a handset after initiating a call using the menu C comment
sometimes produces odd results
Quicknet cards seem to change playback volume when calls are started -
sometimes!
SEE ALSO
None
3 Feb 2006 ohphone(1)