broadworks_ocip
interfaces to the OCI-P provisioning interface of a Broadworks softswitch
- Free software: BSD license
- Documentation: https://nigelm.github.io/broadworks_ocip/
- python objects to match all Broadworks schema objects
- API framework to talk to a Broadworks server
- additional magic to handle authentication and sessions
- Based on Broadworks schema R25
Version: 2.2.0
This is based on Broadworks schema R25 - the available methods will have changed based on that.
With pip
:
python3 -m pip install broadworks-ocip
More details is given within the usage section of the documentation, but the minimal summary is:-
from broadworks_ocip import BroadworksAPI
# configure the API, connect and authenticate to the server
api = BroadworksAPI(
host=args.host, port=args.port, username=args.username, password=args.password,
)
# get the platform software level
response = api.command("SystemSoftwareVersionGetRequest")
print(response.version)
Despite the bump in version number there are no known major incompatibilities from previous versions. However the underlying class base has been changed to a vanilla python slots based system - the thinking behind this is in the API internals documentation. This will change the underlying requirements.
Additionally at the same time I have converted to Broadworks R24 API schema files as the basis for generating these classes. This will change the set of available commands and classes.
The class used to be built using Michael DeHaan's [ClassForge
]
(https://classforge.io/) object system, however from version 2.0.0 it has
been based on vanilla python slotted objects.
Development on the python version was done by
Nigel Metheringham <nigelm@cpan.org>
Karol Skibiński has been using the package, and has a talent for both finding bugs within it and providing a good bug report that allows a test case and fix to be made. The package has been immensely improved by this work.
R25 schema update along with some other changes was contributed by @ewurch (Eduardo Würch).