# Buildsheet autogenerated by ravenadm tool -- Do not edit.
NAMEBASE= python-phonebox-plugin
VERSION= 0.0.10
KEYWORDS= python
VARIANTS= v12 v13
SDESC[v12]= Phone numbers management plugin for NetBox (3.12)
SDESC[v13]= Phone numbers management plugin for NetBox (3.13)
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.10.tar.gz:main
DIST_SUBDIR= python-src
DF_INDEX= 1
SPKGS[v12]= single
SPKGS[v13]= single
OPTIONS_AVAILABLE= PY312 PY313
OPTIONS_STANDARD= none
VOPTS[v12]= PY312=ON PY313=OFF
VOPTS[v13]= PY312=OFF PY313=ON
DISTNAME= phonebox_plugin-0.0.10
GENERATED= yes
[PY312].USES_ON= python:v12,sutools
[PY313].USES_ON= python:v13,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:119:distinfo]
9e1537c8915bd605354379c9f27359330dd95038630cef182e073454c2df9b71 19719 python-src/phonebox_plugin-0.0.10.tar.gz