A simple ACS/tr069 server to configure femto cells.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alexander Couzens ef4901c1fd initial 2 months ago
cache initial 2 months ago
config initial 2 months ago
data initial 2 months ago
example_xml initial 2 months ago
templates initial 2 months ago
.gitignore initial 2 months ago
Pipfile initial 2 months ago
Pipfile.lock initial 2 months ago
README.md initial 2 months ago
app.py initial 2 months ago
xmlutils.py initial 2 months ago

README.md

femto-acs for femtocells

This is a hack to get ip.access nano3g femtocells configured without using a huge tr069/ACS server like (geniacs, ...). This simplified version only reacts on Inform and tries to set values from the configuration file without checking the state of the femto cell. It further does not create or delete objects if they don't exist. Neither does it check if the values in the ini file are valid. E.g. by getting both values and type from the device itself.

Installation

debian

Ensure python3 with pipenv is installed

apt-get install python3 pipenv

pipenv install

Configuration

config/flask.cfg

Please change the SECRET_KEY by generating your own. The SECRET_KEY is used to sign cookies.

config/femtocells.ini

The main configuration file for the femtocells. The Common section is used as default values which can be overriden by a specific femtocell configuration. To override values for a specific femtocell create a section with the serialnumber including leading zeros as shown for femtocell 0000123456.

IMPORTANT ensure the Device.ManagementServer.URL=http://10.0.11.184:7547/acs|xsd:string matches this server including the /acs.

After changing values in the femtocells.ini the femto cell can be either rebooted or wait until the femto cell is informing us again (see periodic inform / tr069).

Running

From within the repository call:

pipenv install
pipenv shell
gunicorn -k eventlet --keep-alive 600 --bind 0.0.0.0:7547 app:app

gunicorn is used to allow keep-alive connections.

Troubleshooting

femto cell stops reacting on ACS data

Ensure the xml files contain an extra newline (ascii 0xa) on the end of the request.

Bugs / Limitations

  • It doesn't use any external database (mysql) or cache system (redis) to reduce the amount of external dependencies and simplify the setup.

Thanks

Thanks to: