Skip to main content

No project description provided

Project description

Netbox_Phonenum Plugin

A Telephone Number Management Plugin for NetBox.

This plugin was forked from (and extends) the netbox_phonenum project: https://github.com/panaceya/netbox_phonenum (which, in turn was forked from the original phonebox_plugin: https://gitub.com/iDebugAll/phonebox_plugin) Compared to voipbox, this project extends the pools objects to also contain non-pool 'Number' objects.

Compatibility

NetBox Version VoipBox Plugin Version Netbox_phonenum Version
4.3.0-4.3.2 0.0.3
4.3.0-4.3.3 0.0.4
4.3.0-4.3.7 0.0.5
4.3.0-4.5.0 0.0.6
4.3.0-4.5.0 0.0.7
4.4.X-4.5.X 0.0.8, 0.0.9 0.0.10

Preview

Supported Features and Models

Pool

A 'Pool' represents a range of numbers, defined by inclusive 'start' and 'end' values for that range.

  • Pools may be nested (i.e. pools can contain other pools).
  • Pools may also contain 'Number' objects (described below).
  • Child pool ranges must lie within the parent pool range.
  • Pool ranges can not overlap with sibling pools under the same parent.
  • Pools can can also represent a single number, if desired, by setting the 'start' and 'end value' to the same number. (This was the recommended approach for storing single numbers within the voipbox plugin.)
  • Pool 'start' and 'end' values 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 ("*")
  • Pool 'start' and 'end' range numbers are stored without delimiters. Number values can be not unique.
  • A Pool can optionally be assigned Tenant, Site, Provider, and Region relationships.
  • A Pool can contain an optional Description.
  • A Pool can optionally be tagged with Tags.
  • The plugin supports Bulk Edit and Delete operations for Pools.

Numbers

A 'Number' is intended to represent a single phone number entry within a pool. Numbers have the same formatting options and restrictions as pools, described above.

Sample valid numbers/pool range delimeters: +12341234567, 1000, 123#2341234567, *100#.

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/phonenum/.
It supports all create, read, update, and delete operations for Numbers or Pools via /api/plugins/netbox_phonenum/pools/ and '/api/plugins/netbox_phonenum/numbers/'.
The API is compatible with pynetbox:

>>> nb.plugins.phonenum.pool.get(1)

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 netbox-phonenum

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/jeremythorson/netbox_phonenum.git
$ cd netbox_phonenum
$ 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 netbox_phonenum package:

# echo netbox_phonenum >> local_requirements.txt

Enable the Plugin

In a global Netbox configuration.py configuration file, update or add PLUGINS parameter:

PLUGINS = [
    'netbox_phonenum',
]

Collect Static Files

The Plugin contains static files for topology visualization. They should be served directly by the HTTP frontend. In order to collect them from the package to the Netbox static root directory use the following command:

(venv) $ cd /opt/netbox/netbox/
(venv) $ python3 manage.py collectstatic

Apply Database Migrations

Apply database migrations with Django manage.py:

(venv) $ python3 manage.py migrate

Restart Netbox

Restart the WSGI service to apply changes:

sudo systemctl restart netbox

Installation with Docker

The Plugin may be installed in a Netbox Docker deployment. The package contains a Dockerfile for Netbox-Community Docker extension. Latest-LDAP version is used by default as a source.
Download the Plugin and build from source:

$ git clone https://github.com/jeremythorson/netbox_phonenum
$ cd netbox_phonenum
$ docker build -t netbox-custom .

Update a netbox image name in docker-compose.yml in a Netbox Community Docker project root:

services:
  netbox: &netbox
    image: netbox-custom:latest

Update a configuration.py. It is stored in netbox-docker/configuration/ by default. Update or add PLUGINS parameter and PLUGINS_CONFIG parameter as described above.

Rebuild the running docker containers:

$ cd netbox-docker
$ docker-compose down
$ docker-compose up -d

Netbox Community Docker setup performs static files collection on every startup. No manual actions required.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_phonenum-0.0.10.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_phonenum-0.0.10-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file netbox_phonenum-0.0.10.tar.gz.

File metadata

  • Download URL: netbox_phonenum-0.0.10.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for netbox_phonenum-0.0.10.tar.gz
Algorithm Hash digest
SHA256 49bdc379f498de98eb2f9ff44c5c9a187ca56ed1887cda1d5c25a8f171cd664d
MD5 e667632fccd9d23ac7e33c01a467fb5c
BLAKE2b-256 cb230714d8eca58f20ec158cf89daade4c59fe6175445bcd53d33e7b9700df3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_phonenum-0.0.10.tar.gz:

Publisher: python-publish.yml on jeremythorson/netbox_phonenum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netbox_phonenum-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_phonenum-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 f4b5c775d2cd10eb3e13b6783aa0ee2dfb6e1e137a51267c60c840403cd69f38
MD5 3ff891fdfc808263a9da065064b3aae5
BLAKE2b-256 61b09ac47ddd156d490412e337ed88df33d7b573ee9c1a3327479e749e886a38

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_phonenum-0.0.10-py3-none-any.whl:

Publisher: python-publish.yml on jeremythorson/netbox_phonenum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page