Giter VIP home page Giter VIP logo

documentation's Introduction

Description

This repository contains the Asterisk Documentation project.

Recent Changes

The packages used to create the documentation were upgraded on February 2 2024. While there are no breaking changes, some new capabilities were added that, if used going forward, won't render correctly with the older versions. So, if you build documentation locally, you should delete your local virtualenv and re-create it using the new requirements.txt file. The new features will be documented separately.

Static Documentation

The static documentation contained in the ./docs/ directory is written directly in markdown. The publish process uses mkdocs and Material for MkDocs to generate the HTML web site. The directory structure is fairly straightforward so if you wish to contribute, you should fork this repository and submit pull requests against files in that directory.

All contributions are subject to the Creative Commons Attribution-ShareAlike 3.0 United States license.

Markdown Flavor

The docs are written in standard markdown, not GitHub Flavored markdown. There are lots of extensions available though. Most of the extensions provided by Material for MkDocs are enabled except those only available to paying sponsors and a few that don't make sense in this environment.

Note

The conversion process that moved the documentation from the Confluence Wiki used equals signs ===== and dashes ---- to denote headers. The new infrastructure renders those correctly but they do not get added to the page's table of contents. Going forward, you should always use hash signs #, ##, ###, etc to denote headers.

Dynamic Documentation

The dynamic documentation includes the pages generated from Asterisk itself and includes:

  • AGI_Commands
  • AMI_Actions
  • AMI_Events
  • Asterisk_REST_Interface
  • Dialplan_Applications
  • Dialplan_Functions
  • Module_Configuration

The publish process gets this information directly from the Asterisk CreateDocs job (which runs nightly) and generates markdown. For this reason, all changes to the dynamic documentation need to be made in the Asterisk source code itself.

The AGI, AMI, Dialplan and Module documentation comes from the documentation embedded in the provider modules and generated by CreateDocs running xmldoc dump from the Asterisk CLI. You can also use a core-en_US.xml or full-en_US.xml file generated from a local asterisk build. See below for more information.

The Asterisk_REST_Interface documentation comes from the markdown files generated by CreateDocs running make ari-stubs. You can also use locally generated markdown files. See below for more information.

Build/Test Dependencies

Dependencies for documentation can be installed using the included requirements.txt file.

$ pip3 install -r requirements.txt

If you don't want to install the requirements for the current user or globally, you can create a virtual environment specific to this directory first...

$ python -m venv ./.venv
$ source .venv/bin/activate
(.venv)$ pip3 install -r requirements.txt
# run `deactivate` when done
(.venv)$ deactivate
$ 

The next time you want to test, you can just activate the virtual environment without needing to install the dependencies again. The .venv directory is already in the .gitignore file.

You'll also need the gh tool to pull down the dynamic documentation from the CreateDocs job.

Note

The documentation build process no longer uses the mike python package.

Building and Testing the Documentation

Prepare

Everything is done from the documentation repository so, if you haven't already, clone it and check out the main branch.

$ git clone -b main https://github.com/asterisk/documentation
$ cd documentation

Create a Makefile.inc file with some configuration variables. This file must not be checked in. Here are the contents to use:

# BUILD_DIR := <somepath>  # Defaults to ./temp

# The following 2 DEPLOY_ variables are only needed if you
# need to deploy the built site to some other repo.
# The nightly job uses this to publish the site to
# GitHub pages.
# DEPLOY_REMOTE := <git_remote>
# DEPLOY_BRANCH := <gh pages branch>  # Defaults to gh-pages

# The comma-separated list of branches for which dynamic
# documentation should be built when doing a `make` without
# specifying BRANCH=<branch>.
BRANCHES := 16,18,19,20

# If you don't want to build the static documentation at all...
# NO_STATIC=yes

# If you don't want the resulting HTML minified, set NO_MINIFY.
# Minification can reduce the space required to host the full
# site by about 30% but it does take over double the time to
# generate the site.
# NO_MINIFY=yes

# If you want to serve the resulting site with mkdocs serve,
# you can specify any additional options to pass to it here:
# SERVE_OPTS := -a [::]:8000

If you're planning on using local sources for the dynamic Asterisk documentation, you'll also need to create a Makefile.<branch>.inc file for each branch.

# If you want to use a local XML file to generate the
# AGI, AMI, Dialplan and Module_Configuration documentation,
# specify it here.
# ASTERISK_XML_FILE := <somepath>/asterisk/doc/core-en_US.xml
#
# If you want to use local markdown files for the ARI
# documentation, specify a path to a directory containing
# the markdown generated by "make ari-stubs".
# ASTERISK_ARI_DIR := <somepath>/asterisk/doc/rest-api
#
# If you want to use local XML but skip processing ARI
# altogether, set this variable to "yes".
# SKIP_ARI := yes

# If either ASTERISK_XML_FILE or ASTERISK_ARI_DIR are not set,
# that documentation source will be downloaded from the
# CreateDocs job.

Build and Deploy

To build the entire site:

$ make

This will build the static pages and the dynamic pages for all branches listed in the BRANCHES variable. The fully functioning site will be created at $(BUILD_DIR)/site. You can serve that directory with make serve, which runs mkdocs serve or a web server of your own choosing. mkdocs serve rebuilds the entire site when it starts so you may want to use a standard web server if you plan on doing this a lot. If you do use make serve, you can use the SERVE_OPTS variable in Makefile.inc to add additional options to the mkdocs serve command line.

To build just the static pages

$ make BRANCHES=

To build just 2 branches

Building branches does need at least a skeleton static layout so static-setup will be built first if it hasn't already been built.

$ make BRANCHES=18,20 

If you only want the skeleton static documentation, you can add NO_STATIC=yes to that command line...

$ make BRANCHES=18,20 NO_STATIC=yes

To build just 1 branch

If you're always going to build just 1 branch's dynamic documentation, you can skip the Makefile.<branch>.inc file and just place everything in the main Makefile.inc:

Makefile.inc:

ASTERISK_XML_FILE := <path>/core-en_US.xml
ASTERISK_ARI_DIR := <path>/rest-api
BRANCHES := 20
NO_STATIC := yes

And just run make.

documentation's People

Contributors

apizz avatar bkford avatar ffloimair avatar gtjoseph avatar interlinked1 avatar ipoddubny avatar jcolp avatar lathama avatar linuxfingers avatar mbradeen avatar niksabaldun avatar robertcal avatar seanbright avatar sijskes avatar ssherar avatar yngprogrammer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

documentation's Issues

Values in tables are off

E.g. in the table [https://docs.asterisk.org/Asterisk_21_Documentation/API_Documentation/Module_Configuration/res_pjsip/?h=res_pjsip#endpoint]

The “Type” value is shown in the “Default Value” column, the “Default Value” value is in the “Description” column. Looks like when processing the data it seems to skip every second column.

image

Documentation issues on Configuration/Dialplan/Pattern-Matching

Different issues on that page:

  • In the text that follows after "unless you purposely want to fall through to a less specific match." the text that should be monospace is not and vice versa.
  • In a note there is an incomplete sentence: "The only characters with special meaning within a set are the '-' character, to define a range between two characters, the '' character to escape a special character available within a set, and"

Missing headings on doc pages

Some pages are missing a main heading, such as in the screenshot below (Fundamentals > Types of Asterisk Modules). So a user has to check the hamburger menu, address bar, or other means to remember what page they're currently on.

missing heading-fundamentals-types of asterisk modules

TODO: Update issue with links to all pages with missing main headings

https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.13.1/pjproject-2.13.1.tar.bz2

This pjproject 2.13.1 is the link is down or not getting downloaded and hence the instllation of asterisk is not working

https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.13.1/pjproject-2.13.1.tar.bz2, below is the log where the installation is getting stuck

configure: checking OPENSSL with pkg-config
configure: checking whether system openssl > 1.1.0
checking for OPENSSL... yes
checking for embedded pjproject (may have to download)... configuring
[pjproject] Downloading https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.13.1/pjproject-2.13.1.tar.bz2 to /tmp/pjproject-2.13.1.tar.bz2

tried other methods by download offline and giving path, we tried
$ mkdir /tmp/downloads
$ wget -O /tmp/downloads/pjproject-2.6.tar.bz2 http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2
$ wget -O /tmp/downloads/pjproject-2.6.md5 http://www.pjsip.org/release/2.6/MD5SUM.txt

we also tried below
Run ./configure with the --with-externals-cache=/tmp/downloads option. ./configure will check there first and only download if the files aren't already there or the tarball checksum doesn't match what's in the md5 file. This is similar to the --with-sounds-cache option. BTW, the --with-externals-cache mechanism works for the precompiled codecs and the Digium Phone Module for Asterisk as well. As of Asterisk 13.18, 14.7 and 15.0, the --with-download-cache option can be used to specify both the externals and sounds cache directory.
Set the PJPROJECT_URL environment variable to any valid URL (including file:// URLs) where ./configure can find the tarball and checksum files. The variable can be set in your environment and exported or specified directly on the ./configure command line. As of Asterisk 13.18, 14.7 and 15.0, the AST_DOWNLOAD_CACHE environment variable can be used to specify both the externals and sounds cache directory.

but nothing seems to be working and stop and download only

Missing sidebar TOC on large screens

It feels a bit awkward to constantly click the hamburger icon to navigate the doc site on a PC. I'd like to suggest adding a sidebar table of contents (TOC) for large screens and only introducing the hamburger menu on smaller screens. Having a prominent TOC on large screens should also help (re-)orient a user regarding their current place in the docs without needing to click the icon.

missing sidebar toc on large screens-fundamentals-asterisk  architecture

Dead links all over the web - suggestion

Like mentioned in #18 , There are too many dead links out in the web.

Most of the links to the old documentation in community.asterisk.org and stackoverflow.

In case there is no easy fix - I would like to suggest to try handling 404 a bit better than current.

Instead of redirecting to homepage, you should:

  1. Display a not found message, maybe with suggestion to perform a search
  2. Log and count 404 requests per URL at server side, so someone could manually add redirects. At least for the most common links.

Asterisk REST Interface links with multiple word methods are broken

If you go to docs.asterisk.org and the Asterisk REST Interface (at least in both 18 and 20 versions). Go to the Channels.
https://docs.asterisk.org/Asterisk_20_Documentation/API_Documentation/Asterisk_REST_Interface/Channels_REST_API/

There is a list of Method and path links.
Most work, but a few do not. Not sure if the problem is the link should use all lower case or if the section should be a blend up upper/lower case.

Originate with ID attempts to jump to originateWithId (should be originatewithid)
Continue Dialplan attempts to jump to continueInDialplan (the link that works is continueindialplan)
Play with playback id attempts to jump to playWithId (should be playwithid)
The snoop attempts to jump to the snoopChannel (should be snoopchannel)
Snoop with channel id attempts to jump to snoopChannelWithId (should be snoopchannelwithid)
ExternalMedia attempts to go to externalMedia (link that works is externalmedia)

image

"Basic PBX Functionality" section of docs seems unordered, missing pages?

I'm brand new to Asterisk and looking for a good place to get started. A web search landed me on the page titled The Most Basic PBX .. which sounds perfect, a basic PBX to "help [me] learn the fundamentals of configuring Asterisk" is exactly what I'm after. But that page only covers "Requirements and Assumptions" and it's not clear where to go next from there.

Going up a level in the docs takes me to Basic PBX Functionality which is another introductory page. The pages under that page seem like the right instructions, but they seem out of order (or in alphabetical order by title?). For example, "Adding Voice Mail" is the first subpage listed, but that's a short page, and sounds like something I'd do after setting up other more basic things. "Creating Dialplan Extensions" is next, but it starts with "The last things we need to do ..." so I assume that's not the right place to start either.

Aha! I just found the Hello World page .. maybe this is a better place to start? Would be great to link to that page from more places, and make it clear that's the recommended place to start for complete newbies (assuming that's true).

Anyway, I expect I'll be able to eventually figure things out, but just wanted to share my experience as a new user trying to figure out how to get started with Asterisk.

Empty overview doc pages with missing links to subtopics

Expected behaviour: Clicking on a high-level topic or a label used to organize related subtopics should open an overview page with some content (e.g, Fundamentals > Asterisk Architecture) or load the first sub-item (e.g, Getting Started > Beginning Asterisk).

Actual behaviour: There are several empty overview pages.

empty page missing links to subtopics-fundamentals

Based on pages like the one below, the docs are being developed. I'd still like to suggest including links to the sub-topics or sub-items on the overview page (in addition to the under construction warning) pending when the overview content is created.

empty page missing links to subtopics-fundamentals-key concepts

TODO: Update issue with links to all empty overview pages.

ER diagram in PJSIP configuration documentation missing

Broken toggle content in docs

There seems to be broken toggle functionality for content that is meant to be hidden by default. For example, in Fundamentals > Types of Asterisk Modules.

broken toggle content-fundamentals-types of asterisk modules

Possibly related to issue #79 .

Note parsing does not parse end note

https://docs.asterisk.org/Asterisk_21_Documentation/API_Documentation/Dialplan_Functions/CHANNEL/

The note starting at "If not specified, 'audio' is used by default." is never closed.

Looking at the underlying XML documentation in channels/pjsip/dialplan_functions_doc.xml, it appears to be correct (the note is properly closed):

<enumlist>
	<enum name="audio">
		<para>Retrieve information from the audio media stream.</para>
		<note><para>If not specified, <literal>audio</literal> is used
		by default.</para></note>
	</enum>
	<enum name="video">
		<para>Retrieve information from the video media stream.</para>
	</enum>
</enumlist>

"error: invalid command 'bdist_wheel'" when running `pip install` in virtualenv

user@host:~/documentation$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal
user@host:~/documentation$
user@host:~/documentation$
user@host:~/documentation$ python -m venv .venv
user@host:~/documentation$ source .venv/bin/activate
(.venv) user@host:~/documentation$ pip install -r requirements.txt 
Collecting https://github.com/jimporter/mike/archive/2d9af5c.zip (from -r requirements.txt (line 7))
  Using cached https://github.com/jimporter/mike/archive/2d9af5c.zip
Collecting mkdocs>=1.4.3
  Using cached mkdocs-1.4.3-py3-none-any.whl (3.7 MB)
Collecting mkdocs-git-revision-date-localized-plugin>=1.2.0
  Using cached mkdocs_git_revision_date_localized_plugin-1.2.0-py3-none-any.whl (21 kB)
Collecting mkdocs-material>=9.1.9
  Using cached mkdocs_material-9.1.18-py3-none-any.whl (7.8 MB)
Collecting mkdocs-material-extensions>=1.1.1
  Using cached mkdocs_material_extensions-1.1.1-py3-none-any.whl (7.9 kB)
Collecting mkdocs-table-reader-plugin>=2.0.1
  Using cached mkdocs_table_reader_plugin-2.0.1-py3-none-any.whl (9.1 kB)
Collecting lxml>=4.8.0
  Using cached lxml-4.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (7.1 MB)
Collecting importlib_metadata
  Using cached importlib_metadata-6.8.0-py3-none-any.whl (22 kB)
Collecting importlib_resources
  Using cached importlib_resources-6.0.0-py3-none-any.whl (31 kB)
Collecting jinja2>=2.7
  Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting pyyaml>=5.1
  Using cached PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (701 kB)
Collecting verspec
  Using cached verspec-0.1.0-py3-none-any.whl (19 kB)
Collecting watchdog>=2.0
  Using cached watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl (82 kB)
Collecting click>=7.0
  Using cached click-8.1.4-py3-none-any.whl (98 kB)
Collecting markdown<3.4,>=3.2.1
  Using cached Markdown-3.3.7-py3-none-any.whl (97 kB)
Collecting packaging>=20.5
  Using cached packaging-23.1-py3-none-any.whl (48 kB)
Collecting mergedeep>=1.3.4
  Using cached mergedeep-1.3.4-py3-none-any.whl (6.4 kB)
Collecting ghp-import>=1.0
  Using cached ghp_import-2.1.0-py3-none-any.whl (11 kB)
Collecting pyyaml-env-tag>=0.1
  Using cached pyyaml_env_tag-0.1-py3-none-any.whl (3.9 kB)
Collecting pytz
  Using cached pytz-2023.3-py2.py3-none-any.whl (502 kB)
Collecting babel>=2.7.0
  Using cached Babel-2.12.1-py3-none-any.whl (10.1 MB)
Collecting GitPython
  Using cached GitPython-3.1.31-py3-none-any.whl (184 kB)
Collecting pygments>=2.14
  Using cached Pygments-2.15.1-py3-none-any.whl (1.1 MB)
Collecting colorama>=0.4
  Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting requests>=2.26
  Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Collecting regex>=2022.4.24
  Using cached regex-2023.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (772 kB)
Collecting pymdown-extensions>=9.9.1
  Using cached pymdown_extensions-10.0.1-py3-none-any.whl (240 kB)
Collecting tabulate>=0.8.7
  Using cached tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting pandas>=1.1
  Using cached pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB)
Collecting zipp>=0.5
  Using cached zipp-3.15.0-py3-none-any.whl (6.8 kB)
Collecting MarkupSafe>=2.0
  Using cached MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Collecting python-dateutil>=2.8.1
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting gitdb<5,>=4.0.1
  Using cached gitdb-4.0.10-py3-none-any.whl (62 kB)
Collecting charset-normalizer<4,>=2
  Using cached charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (195 kB)
Collecting urllib3<3,>=1.21.1
  Using cached urllib3-2.0.3-py3-none-any.whl (123 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2023.5.7-py3-none-any.whl (156 kB)
Collecting numpy>=1.20.3; python_version < "3.10"
  Using cached numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
Collecting tzdata>=2022.1
  Using cached tzdata-2023.3-py2.py3-none-any.whl (341 kB)
Collecting six>=1.5
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting smmap<6,>=3.0.1
  Using cached smmap-5.0.0-py3-none-any.whl (24 kB)
Building wheels for collected packages: mike
  Building wheel for mike (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/user/documentation/.venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-jcq53__c/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-jcq53__c/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-tio_iquh
       cwd: /tmp/pip-req-build-jcq53__c/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help
  
  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for mike
  Running setup.py clean for mike
Failed to build mike
Installing collected packages: watchdog, click, zipp, importlib-metadata, markdown, packaging, MarkupSafe, jinja2, mergedeep, six, python-dateutil, ghp-import, pyyaml, pyyaml-env-tag, mkdocs, pytz, babel, smmap, gitdb, GitPython, mkdocs-git-revision-date-localized-plugin, pygments, colorama, charset-normalizer, urllib3, idna, certifi, requests, regex, pymdown-extensions, mkdocs-material-extensions, mkdocs-material, tabulate, numpy, tzdata, pandas, mkdocs-table-reader-plugin, lxml, importlib-resources, verspec, mike
    Running setup.py install for mike ... done
Successfully installed GitPython-3.1.31 MarkupSafe-2.1.3 babel-2.12.1 certifi-2023.5.7 charset-normalizer-3.1.0 click-8.1.4 colorama-0.4.6 ghp-import-2.1.0 gitdb-4.0.10 idna-3.4 importlib-metadata-6.8.0 importlib-resources-6.0.0 jinja2-3.1.2 lxml-4.9.3 markdown-3.3.7 mergedeep-1.3.4 mike-1.2.0.dev0 mkdocs-1.4.3 mkdocs-git-revision-date-localized-plugin-1.2.0 mkdocs-material-9.1.18 mkdocs-material-extensions-1.1.1 mkdocs-table-reader-plugin-2.0.1 numpy-1.24.4 packaging-23.1 pandas-2.0.3 pygments-2.15.1 pymdown-extensions-10.0.1 python-dateutil-2.8.2 pytz-2023.3 pyyaml-6.0 pyyaml-env-tag-0.1 regex-2023.6.3 requests-2.31.0 six-1.16.0 smmap-5.0.0 tabulate-0.9.0 tzdata-2023.3 urllib3-2.0.3 verspec-0.1.0 watchdog-3.0.0 zipp-3.15.0

Perpetual issue for old/dead links

If you find a link to the old wiki.asterisk.org website that just takes you to the new documentation site homepage instead of real content, add it here and we'll try to set up a redirect that takes you to the relevant content instead.

Please include the stale link and, if you found the real content on the new website, that link as well.

Clarification in Stir/Shaken Outgoing Call Flow section

In Outgoing Call Flow section, point 7 from [1], you can read, that “If there’s no “tn” object matching the caller-id, skip attestation and continue the call.”
Can this matching be further clarified or detailed using an example, such as bellow ?

"Example:
For instance, if CALLERID(num) is valued to 123456789012 and “stir_shaken show tns” displays a line “TN: 123456789012” , then there is match.

Alternatively, if CALLERID(num) is valued to +123456789012 (+E164 notation) and “stir_shaken show tns” still displays a line “TN: 123456789012” , then there is NO match."

[1] STIR-SHAKEN - Asterisk Documentation

Side menu is clunky

After clicking through documentation using the left-side menu, the page reloads with correct information on the right-side, but it seems that the left-side menu stays stuck at the top and does not scroll down automatically to the selected menu item in some small percent of cases, such as when clicking on the 91st item in the sub-menu.

Steps to reproduce (on Firefox 102.13.0 ESR from July 2023):

  1. Click on Originate AMI Action in Asterisk Version 20 documentation: https://docs.asterisk.org/Asterisk_20_Documentation/API_Documentation/AMI_Actions/Originate/
  2. Click on PJSIPNotify in the left-side menu. No problem, it works, page loads and menu scrolls. Note this is the 90th menu item.
  3. Click on PJSIPQualify in the left-side menu. Look, it loads the page, but the menu does not scroll. This is the 91st menu item in the AMI Action section.
  4. Repeat click on PJSIPRegister, the 92nd item, and it is the same problem as PJSIPQualify.
  5. The problem continues for many of the items after that, but it does work correctly for a few eg. Park, QueueAdd, etc. Seemingly at random which items work and which don't, but it is consistent on the items. Which makes you go grrr.

Broken links to CHANGES files

The following pages have broken links following the removal of CHANGES files in Asterisk branches:

docs/Asterisk_18_Documentation/WhatsNew.md
docs/Asterisk_20_Documentation/WhatsNew.md
docs/Asterisk_21_Documentation/WhatsNew.md
docs/About-the-Project/A-Brief-History-of-the-Asterisk-Project.md
docs/Certified-Asterisk_18.9_Documentation/WhatsNew.md

(oddly enough, the Asterisk 19 link is fine)
Original issue that lead to the removal: asterisk/asterisk#360

Opus config doc has syntax issue causing improper display

https://docs.asterisk.org/Configuration/Codec-Opus/

The list of options breaks just after the "max_playback_rate" section due to attempting to embed a MD table in another MD table, which makes the remainder of the document very hard to use. Instead, this could be accomplished with an inline html table, making the remainder of the page readable.

For example:

Option Name Description Default
application Encoder's application type. Can be any of the following: voip, audio, low_delay. voip
max_playback_rate* Sets the "maxplaybackrate” format parameter on the SDP and also limits the bandwidth on the encoder. Any value between 8000 and 48000 (inclusive) is valid, however typically it should match one of the usual opus bandwidths. Below is a mapping of values to bandwidth:

 

8000Narrow band
8001 – 16000Medium band
16001 – 24000Wide band
24001 – 32000Super Wide band
32001 – 48000Full band

48000
max_bandwidth Sets an upper bandwidth bound on the encoder. Can be any of the following: narrow, medium, wide, super_wide, full. full

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.