|
|
|
@ -7,6 +7,10 @@ A simple to use, good enough phone system for medium sized DECT networks. |
|
|
|
|
FieldPOC requires a Mitel SIP DECT phone system, i.e. RFP L43 WLAN. |
|
|
|
|
Make sure you have the equipment, else this software is quit useless. |
|
|
|
|
|
|
|
|
|
This is more a sample setup. |
|
|
|
|
Everything described here can be done on multiple different ways. |
|
|
|
|
We just try to document a way that is proven to work. |
|
|
|
|
|
|
|
|
|
Get a computer, i.e. an APU Board, and install Archlinux on it. |
|
|
|
|
This can be a VM too, but you have to adapt stuff. |
|
|
|
|
|
|
|
|
@ -417,3 +421,43 @@ List some options: |
|
|
|
|
``` |
|
|
|
|
python -m fieldpoc.run --help |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
## Architecture |
|
|
|
|
|
|
|
|
|
FieldPOC is daemon that takes a defined state and makes all connected services fit that state. |
|
|
|
|
Each connected service is observed by a dedicated class executed in a seperate thread. |
|
|
|
|
There exist some more classes and threads to just glue everything together. |
|
|
|
|
|
|
|
|
|
### `extensions.json` |
|
|
|
|
|
|
|
|
|
The `extensions.json` file is the core of the whole setup and defines the state. |
|
|
|
|
It contains which extensions exist and for what they should be used. |
|
|
|
|
|
|
|
|
|
### `fieldpoc.py` |
|
|
|
|
|
|
|
|
|
This file containes the main class `FieldPOC`. |
|
|
|
|
It spawns the mentioned threads, initializes other classes and provices communication queues between the threads/classes. |
|
|
|
|
|
|
|
|
|
### `config.py` |
|
|
|
|
|
|
|
|
|
This manages FieldPOCs configuration. |
|
|
|
|
|
|
|
|
|
### `controller.py` |
|
|
|
|
|
|
|
|
|
The controller provices an interactive interface to manage and debug FieldPOC. |
|
|
|
|
|
|
|
|
|
### `run.py` |
|
|
|
|
|
|
|
|
|
This is a thin wrapper to start FieldPOC. |
|
|
|
|
|
|
|
|
|
### `dect.py` |
|
|
|
|
|
|
|
|
|
This deals with the Mitel OMM and configures all phones based on the current state. |
|
|
|
|
|
|
|
|
|
### `routing.py` |
|
|
|
|
|
|
|
|
|
This part sets up Yate using Ywsd, registers all extensions and configures routing. |
|
|
|
|
|
|
|
|
|
### `ywsd.py` |
|
|
|
|
|
|
|
|
|
This starts Ywsd with FieldPOC so you don't have to start it seperately. |
|
|
|
|