Upgrade 3CX to v18 and get it hosted free!

Asterisk Documentation 1.2 README.extconfig

Author image

Asterisk external configuration
===============================

The Asterisk external configuration engine is the result of work by
Anthony Minessale II, Mark Spencer and Constantine Filin.

It is designed to provide a flexible, seamless integration between
Asterisk's internal configuration structure and external SQL other other
databases (maybe even LDAP one day).

The external configuration engine is the basis for the ARA, the
Asterisk Realtime Architecture (see README.realtime for more 
information).

* Configuration

External configuration is configured in /etc/asterisk/extconfig.conf
allowing you to map any configuration file (static mappings) to
be pulled from the database, or to map special runtime entries which
permit the dynamic creation of objects, entities, peers, etc. without
the necessity of a reload.

Generally speaking, the columns in your tables should line up with the
fields you would specify in the given entity declaration.  If an entry
would appear more than once, in the column it should be separated by a
semicolon. For example, an entity that looks like:

[foo]
host=dynamic
secret=bar
context=default
context=local

could be stored in a table like this:

+------+--------+-------+--------------+----------+-----+-----------+
| name | host   | secret| context      | ipaddr   | port| regseconds|
+------+--------+-------+--------------+----------+-----+-----------+
| foo  | dynamic|  bar  | default;local| 127.0.0.1| 4569| 1096954152|
+------+--------+-------+--------------+----------+-----+-----------+

Note that for use with IAX or SIP, the table will also need the "name", 
"ipaddr", "port", "regseconds" columns.  If you wanted to be able to 
configure the callerid, you could just add a callerid column to the 
table, for example.

A SIP table would look more like this:

+------+--------+-------+----------+-----+------------+----------+
| name | host   | secret| ipaddr   | port| regseconds | username |
+------+--------+-------+----------+-----+------------+----------+
| foo  | dynamic|  bar  | 127.0.0.1| 4569| 1096954152 |   1234   |
+------+--------+-------+----------+-----+------------+----------+

in order to store appropriate parameters required for SIP.

A Voicemail table would look more like this:

+----------+---------+----------+----------+-----------+---------------+
| uniqueid | mailbox | context  | password |email      |   fullname    | 
+----------+---------+----------+----------+-----------+---------------+
|        1 |   1234  | default  |  4242    | [email protected]   | Joe Schmoe    | 
+----------+---------+----------+----------+-----------+---------------+

The uniqueid should be unique to each voicemail user and can be 
autoincrement.  It need not have any relation to the mailbox or context.

An extension table would look more like this:

+----------+---------+----------+-------+-----------+
| context  |  exten  | priority |  app  |  appdata  |
+----------+---------+----------+-------+-----------+
|  default |    1234 |        1 |  Dial |     Zap/1 |
+----------+---------+----------+-------+-----------+

In the dialplan you just use the Realtime switch:

[foo]
switch => Realtime

or:

[bar]
switch => Realtime/bar@extensions


Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.
Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.