npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

huge-play

v41.1.1

Published

FreeSwitch CCNQ4 middlewares and configuration

Downloads

160

Readme

FreeSwitch CCNQ4 middlewares and configuration

Provisioning

Provisioning is done using the CouchDB document conventions.

A typical document will contain at least:

  • type: endpoint, number, number_domain, …;
  • a field named after type, for example endpoint, which contains the key for the record;
  • _id is the concatenation of the type, :, and the key.

Other fields are specified for each individual document type.

This project uses especially the following extensions:

  • country: short (two-letter) country name
  • dialplan: e164 (global numbers), national (ingress and egress, requires country), centrex (egress only, requires country)

Here are the main types of documents:

Endpoints

An endpoint is an authenticated line or device on the customer side.

The _id for an endpoint may contain:

  • endpoint:<ip> for static endpoints (authentication is IP-based);
  • endpoint:<username>@<endpoint_domain> for dynamic endpoints (authentication is password-based).

The value for endpoint_domain must be a valid DNS name, typically defined using a NAPTR record, or proper SRV records. The document type domain can be used to dynamically create DNS domains inside CCNQ4.

Numbers

Numbers might be global numbers (used to route between domain) or local numbers (used inside a domain).

The _id for numbers may contain:

  • number:<global-number> where global-number is country-code + national number;
  • number:<local-number>@<number-domain> where local-number is the number as presented and used by the customer.

Number-domain

A number-domain is a closed dialplan (such as a national dialplan, or a Centrex dialplan).

The _id for number-domains contains number_domain:<number-domain>.

Centrex

For Centrex we use the convention number_domain === endpoint_domain.

Global Number (number:<E164-number>)

Inbound translation from a global number to a local (Centrex) extension:

  • local_number: number@number_domain

Endpoint (endpoint:<ip> or endpoint:<username>@<endpoint_domain>)

For Centrex the following conventions are used:

  • endpoint_domain is a Centrex number-domain.
  • country must be specified.

Note that generally speaking, username === local_number. And that for Centrex, endpoint_domain === number_domain.

Endpoints must specify:

  • number_domain: Used to retrieve the local number. No default.
  • outbound_route: Used for national dialplan (once out of Centrex profile).

Local Number

Centrex local numbers must specify:

  • country (optional)

Number Domain (number_domain:<number_domain>)

Used for egress.

  • dialplan
  • country