User Tools

Site Tools


onairphone

This is an old revision of the document!


HowTo OnAirPhone

!!! This software is early alpha and has known Issues !!!

get the source:

git clone git://rc5.de/OnAirPhone.git

install some packages: (list may be incomplete)

  • python
  • python-qt4
  • pyqt4-dev-tools
  • yate
  • yateadmin
  • tcl8.5 (or similar)
  • tcllib (at least the base64 package)
  • blink (sip softphone client)

First you have to call "make" so that all the python resource and ui files are built. In the git tree there is a subdir called "yate" which has a sample config "studio1.conf" and the yateconnector.tcl.

IMHO you can just run the yateconnector.tcl on the machine where yate is running. The yateconnector should connect to the yate port 5039 which may be enabled in the yate configfile (extmodule.conf). If you have a connection to yate it should give you some output like this:

debian:~/OnAirPhone/yate$ ./yateconnector.tcl 
Yate OAP Server 0.1
* reading config
- Service Name:    Test Radio
- Phone Lines:     6
- Handled Number:  111 "Local Call"
- Handled Number:  628 "Studio Hotline"
- Line Mode:       numeric
- Device:          100 OnAir Console
- Device:          101 Studio 1
- Device:          102 Screener 1
- Device:          105 Test Client
* ready

Then you have to start the com_server.py on a machine and configure it to connect to the yateconnector's IP. The com_server.py reads it's config directly from the yateconnector.tcl.

So the basic idea is: [yate] ↔ [yateconnector.tcl] ↔ [com_server.py] ↔ [multiple instances of oapscreener.py on multiple PCs]

yate config snippets

yate extmodule.conf:

[listener tcp]
; For each socket listener there should be a section starting with the
; "listener" keyword
; type: keyword: Type of socket - "unix" or "tcp"
type=tcp
; addr: string: IP address to bind the TCP socket to
addr=127.0.0.1
; port: int: TCP port to bind to, must be positive
port=5039

yate regexroute.conf config snippet to setup the 'incoming' "Handled Numbers" in yate:

[default]
; studio internal
^628$=park/any

; studio hotline
^111$=park/any

; dialout to fritzbox for every number starting with a 0
^0\(.*\)$=sip/0\1;line=fritzbox628;caller=628

modules.list (minimum of needed modules) (maybe incomplete)

extmodule.yate
msgsniff.yate
tonedetect.yate
rmanager.yate
pbxassist.yate
sipfeatures.yate
register.yate
regfile.yate
park.yate
users.yate
lateroute.yate
regexroute.yate
callgen.yate
moh.yate
callfork.yate
pbx.yate
tonegen.yate
ysipchan.yate

regfile.conf

; some extensions
[100]
password=secret123
[101]
password=secret123
[102]
password=secret123
[105]
password=secret123
onairphone.1366815885.txt.gz · Last modified: 24.04.2013 15:04 by admin