Skip to content

Getting Started

Stacy Olivas edited this page Feb 10, 2021 · 9 revisions

WIP: 10 Feb 2021: Note that this wiki article is a work in progress. Please check back for updates. Thank you

Getting Started

Welcome to the AppRpt Network (ARN) Registry.

This getting started is based up on v1.00 of the schema created by Stacy Olivas (KG7QIN) and which is currently in use.

This document is meant for ARN operators who wish to use the pending multi-network support features for app_rpt. While not a requirement, it is generally targeted networks with a dozen or so nodes that wish to assign their own node numbers without conflicts with existing networks.

Definitions

The following acronyms are used throughout this document:

ARN - AppRpt Network. Refers to Asterisk based ham radio networks that use the app_rpt application as a node/repeater system.

NP - Network Prefix. Refers to the "area code" like numbers that are used to link ARNs together.

APPRPTC - AppRpt Central. Registry object name for AppRpt Central registry (this registry)

Requirements

  • you have an ARN setup that supports node lists or lookup via DNS
  • your network is comprised of at least a dozen or more nodes that you wish to assign your own node numbers to
  • node numbers assigned on your ARN are not in the private range (below 2000)
  • your ARN is accessible 24/7 to include the node list/DNS lookup mechanisms
  • you know how to us git, pgp and are generally knowledgeable about setting up and running your ARN based network

Formalities

Subscribe to the mailing list

This is a requirement. It allows you to stay up-to-date on best practices, new services, etc.

The mailing list is located at: TBD

Fill in the registry

You must create several objects in the AppRpt Central registry:

The registry is a git repository, objects are created by forking the repository and creating a local branch, making your changes and then submitting a pull request for review. There are detailed instructions in the README on how to do this. You may also want to check out the generic git documentation and github guides for information how to do this and work with remote repositories.

When submitting your pull request, you mush squash multiple changes into a single commit. Instructions for how to do this are located in the README.

Remember to add authentication to your mntner object, and sign your commit

The registry includes a number of scripts to help check your request:

These scripts are run by the registry maintainers against each request. Please make sure you run these first to check for errors.

You are encouraged to browse through the registry and look at any pull requests to see examples, understand how the process works, and see the types of questions asked by the registry maintainers.

Note: You should not use the GitHub web interface to edit files. Instead edit them locally with your favorite text editor.


Example registry object

Note: The registry uses organisation instead of organization.

The following example demonstrates how to create the required objects to setup your ARNs presence in the registry. Once you have these basic objects you will then be able to request/register an NP.

For this example we will be creating objects for an organisation named BAR, which is part of an organisation called ORG-BAR. (Note: You will change this as required to a different name to match that of your organisation)

We will create the following objects for BAR:

  • maintainer object. This is the base registry object that defines authentication so that only you can edit your own objects.
  • person objects. These describe people or organisations and provide contact information.
  • role objects. These are used to link person objects to maintainer, organisations, and other objects making it easier to update the registry.
  • organisation object. These are used to define organisations in the registry.

All objects are simple text file in specific sub-folders with strict formatting requirements. The files use spaces and not tables.

Create a maintainer object

Create a mntner object in data/mntner/ named BAR-MNT. This is the base object for an ARN in the registry and defines the other objects it is responsible for and can maintain.

  • We will use BAR-MNT as the mnt-by handle in all child objects. Without this we cannot edit our maintainer object.

The auth attribute is used to verify changes to your object. To find out more about authentication refer to insert wiki page.

Note: Only PGP Key authentication is supposed by APPRPTC registry. You can find more about registry authentication in the Registry Authentication wiki page

*PGP Key: auth: pgp-fingerprint <pgp-fingerprint>

Example: data/mntner/BAR-MNT:

mntner:              BAR-MNT
admin-c:             BAR-ADMIN-APPRPTC
tech-c:              BAR-TECH-APPRPTC
abuse-mailbox:       abuse@example.org
auth:                pgp-fingerprint <pgp-fingerprint>
mnt-by:              BAR-MNT
source:              APPRPTC

Create role objects

You must create at least an ADMIN and TECH role object.

Role objects are located under data/role/ and are named <ORG>-<ADMIN|TECH>-APPRPTC.

Example: data/role/BAR-ADMIN-APPRPTC

role:                BAR ADMIN
nic-hdl:             BAR-ADMIN-APPRPTC
abuse-mailbox:       abuse@example.org
org:                 ORG-BAR
admin-c:             BAR-ADMIN-APPRPTC
mnt-by:              BAR-MNT
source:              APPRPTC

Example: data/role/BAR-TECH-APPRPTC

role:                BAR TECH
nic-hdl:             BAR-TECH-APPRPTC
abuse-mailbox:       abuse@example.org
org:                 ORG-BAR
tech-c:              BAR-TECH-APPRPTC
mnt-by:              BAR-MNT
source:              APPRPTC

Create a person object

You will need to create a person object that corresponds to your ADMIN and TECH role objects.

Person objects are located under data/person/ and are named <ORG>-<ADMIN|TECH>-APPRPTC.

Example: data/person/BAR-ADMIN-APPRPTC

person:               Jim Dixon
pgp-fingerprint:      <pgp fingerprint>
callsign:             WB6NIL  (example only)
e-mail:               jdixon@example.com
nic-hdl:              BAR-ADMIN-APPRPTC
mnt-by:               BAR-MNT
source:               APPRPTC

Example: data/person/BAR-TECH-APPRPTC

person:               Jim Dixon
pgp-fingerprint:      <pgp fingerprint>
callsign:             WB6NIL  (example only)
e-mail:               jdixon@example.com
nic-hdl:              BAR-TECH-APPRPTC
mnt-by:               BAR-MNT
source:               APPRPTC

Create an organisation object

You will need to create an organisation object that ties all of this together.

Organisation objects are located under data/organisation/ and are named ORG-<ORG>.

Example: data/organisation/ORG-BAR

org-name:            FooBar
descr:               The Example Object Called BAR
admin-c:             BAR-ADMIN-APPRPTC
tech-c:              BAR-TECH-APPRPTC
abuse-c:             BAR-ADMIN-APPRPTC
mnt-by:              BAR-MNT
source:              APPRPTC