Describe system architecture
This commit is contained in:
parent
9a84809984
commit
557ed051d6
44
README.md
44
README.md
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user