Skip to content

nigelm/broadworks_ocip

Repository files navigation

Broadworks OCI-P Interface

Tests documentation pypi version

broadworks_ocip interfaces to the OCI-P provisioning interface of a Broadworks softswitch


Features

  • 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

Current Version

Version: 2.2.0

This is based on Broadworks schema R25 - the available methods will have changed based on that.


Installation

With pip:

python3 -m pip install broadworks-ocip

Usage

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)

Version 2

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.

Credits

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).