# Buildsheet autogenerated by ravenadm tool -- Do not edit.
NAMEBASE= python-phonebox-plugin
VERSION= 0.0.9
KEYWORDS= python
VARIANTS= v11 v12
SDESC[v11]= Phone numbers management plugin for NetBox (3.11)
SDESC[v12]= Phone numbers management plugin for NetBox (3.12)
HOMEPAGE= https://github.com/iDebugAll/phonebox_plugin
CONTACT= Python_Automaton[python@ironwolf.systems]
DOWNLOAD_GROUPS= main
SITES[main]= PYPI/p/phonebox-plugin
DISTFILE[1]= phonebox_plugin-0.0.9.tar.gz:main
DF_INDEX= 1
SPKGS[v11]= single
SPKGS[v12]= single
OPTIONS_AVAILABLE= PY311 PY312
OPTIONS_STANDARD= none
VOPTS[v11]= PY311=ON PY312=OFF
VOPTS[v12]= PY311=OFF PY312=ON
DISTNAME= phonebox_plugin-0.0.9
GENERATED= yes
[PY311].USES_ON= python:v11,sutools
[PY312].USES_ON= python:v12,sutools
[FILE:2932:descriptions/desc.single]
# PhoneBox Plugin
A Telephone Number Management Plugin for [NetBox] and more.
>The plugin versions 0.0.1b1-0.0.1b4 support NetBox 2.10.x versions.
>
>Latest plugin version 0.0.1b5 supports NetBox 2.11.0+ versions
I described some general considerations behind the plugin development and
future plans in my [blog post].
### Preview
![](docs/media/preview_01.png)
# Supported Features and Models
### Numbers
The plugin currently implements a Number abstraction representing a single
telephone number of an arbitrary format.
A Number can consist of valid DTMF characters and leading plus sign for
E.164 support:
- leading plus ("+") sign (optional)
- digits 0-9
- characters A, B, C, D
- pound sign ("#")
- asterisk sign ("*")
Sample valid numbers: +12341234567, 1000, 123#2341234567, *100#.
Numbers are stored without delimiters. They will be implemented as an
additional formatting function.
Number values can be not unique.
Tenant is a mandatory option representing a number partition. Number and
Tenant are globally unique.
A Number can optionally be assigned with Provider and Region
relations.
A Number can contain an optional Description.
A Number can optionally be tagged with Tags.
The plugin supports Bulk Edit and Delete operations for Numbers.
### Voice Circuits
Voice Circuit is an entity on a voice-enabled device representing a
physical or virtual connection to another voice-enabled device.
The plugin supports the following voice circuit types:
- SIP Trunk.
- Digital Voice Circuit (PRI/BRI/etc).
- Analog Voice Circuit (CO lines/etc).
A Voice Circuit must be assigned to an interface of a Device or Virtual
Machine.
### Plugin API
The plugin introduces a NetBox REST API extension
`/api/plugins/phonebox/`.
It currently supports all create, read, update, and delete operations for
Numbers via `/api/plugins/phonebox/numbers/`.
The API is compatible with [pynetbox]:
```
>>> nb.plugins.phonebox.numbers.get(7)
2000
>>>
```
# Installation
General installation steps and considerations follow the [official
guidelines].
### Package Installation from PyPi
Assuming you use a Virtual Environment for Netbox:
```
$ source /opt/netbox/venv/bin/activate
(venv) $ pip3 install phonebox-plugin
```
### Package Installation from Source Code
The source code is available on [GitHub].
Download and install the package. Assuming you use a Virtual Environment
for Netbox:
```
$ git clone https://github.com/iDebugAll/phonebox_plugin
$ cd phonebox_plugin
$ source /opt/netbox/venv/bin/activate
(venv) $ pip3 install .
```
To ensure NextBox UI plugin is automatically re-installed during future
upgrades, create a file named `local_requirements.txt` (if not already
existing) in the NetBox root directory (alongside `requirements.txt`) and
list the `phonebox_plugin` package:
```no-highlight
# echo phonebox_plugin >> local_requirements.txt
```
[FILE:107:distinfo]
f25988be06d2a707410ebb6baf963a7ad98d44272d3e4fd1a7d8e31e0906dfa0 19906 phonebox_plugin-0.0.9.tar.gz