From 557ca56b0448a5bf8389b4ca4b7d421ef3c7e987 Mon Sep 17 00:00:00 2001
From: Hemlata <hemlata.bhatt@iopsys.eu>
Date: Wed, 19 Jan 2022 09:16:23 +0000
Subject: [PATCH] Add JSON schemas for UBUS, UCI and generated .md files

- UBUS object asterisk
- UBUS object voice.asterisk
- UCI /etc/config/asterisk
---
 docs/api/asterisk.md             |  329 +++++++++
 docs/api/uci.asterisk.md         |    1 +
 docs/api/voice.asterisk.md       |  774 ++++++++++++++++++++
 docs/functionspec.md             |   94 +++
 docs/ubus.splash.md              |    9 +
 schemas/ubus/asterisk.json       |  151 ++++
 schemas/ubus/voice.asterisk.json |  240 ++++++
 schemas/uci/asterisk.json        | 1167 ++++++++++++++++++++++++++++++
 8 files changed, 2765 insertions(+)
 create mode 100644 docs/api/asterisk.md
 create mode 100644 docs/api/uci.asterisk.md
 create mode 100644 docs/api/voice.asterisk.md
 create mode 100644 docs/functionspec.md
 create mode 100644 docs/ubus.splash.md
 create mode 100644 schemas/ubus/asterisk.json
 create mode 100644 schemas/ubus/voice.asterisk.json
 create mode 100644 schemas/uci/asterisk.json

diff --git a/docs/api/asterisk.md b/docs/api/asterisk.md
new file mode 100644
index 0000000000..32b19105bc
--- /dev/null
+++ b/docs/api/asterisk.md
@@ -0,0 +1,329 @@
+# asterisk Schema
+
+```
+https://www.iopsys.eu/asterisk.json
+```
+
+| Custom Properties | Additional Properties |
+| ----------------- | --------------------- |
+| Forbidden         | Forbidden             |
+
+# asterisk
+
+| List of Methods             |
+| --------------------------- |
+| [call_status](#call_status) | Method | asterisk (this schema) |
+| [event](#event)             | Method | asterisk (this schema) |
+
+## call_status
+
+`call_status`
+
+- type: `Method`
+
+### call_status Type
+
+`object` with following properties:
+
+| Property | Type  | Required |
+| -------- | ----- | -------- |
+| `input`  | oneOf | Optional |
+| `output` | oneOf | Optional |
+
+#### input
+
+`input`
+
+- is optional
+- type: complex
+
+##### input Type
+
+**One** of the following _conditions_ need to be fulfilled.
+
+#### Condition 1
+
+`object` with following properties:
+
+| Property | Type    | Required     |
+| -------- | ------- | ------------ |
+| `line`   | integer | **Required** |
+
+#### line
+
+`line`
+
+- is **required**
+- type: `integer`
+
+##### line Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `10`
+
+#### Condition 2
+
+`object` with following properties:
+
+| Property    | Type    | Required     |
+| ----------- | ------- | ------------ |
+| `extension` | integer | **Required** |
+
+#### extension
+
+`extension`
+
+- is **required**
+- type: `integer`
+
+##### extension Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `10`
+
+### Ubus CLI Example
+
+```
+ubus call asterisk call_status {"line":9}
+```
+
+### JSONRPC Example
+
+```json
+{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "asterisk", "call_status", { "line": 9 }] }
+```
+
+#### output
+
+`output`
+
+- is optional
+- type: complex
+
+##### output Type
+
+**One** of the following _conditions_ need to be fulfilled.
+
+#### Condition 1
+
+`object` with following properties:
+
+| Property      | Type    | Required     |
+| ------------- | ------- | ------------ |
+| `call_status` | string  | **Required** |
+| `line`        | integer | **Required** |
+
+#### call_status
+
+`call_status`
+
+- is **required**
+- type: `enum`
+
+##### call_status Type
+
+`string`
+
+The value of this property **must** be equal to one of the [known values below](#-known-values).
+
+##### call_status Known Values
+
+| Value        |
+| ------------ |
+| Idle         |
+| Connected    |
+| Disconnected |
+| Dialing      |
+| Alerting     |
+
+#### line
+
+`line`
+
+- is **required**
+- type: `integer`
+
+##### line Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `10`
+
+#### Condition 2
+
+`object` with following properties:
+
+| Property      | Type    | Required     |
+| ------------- | ------- | ------------ |
+| `call_status` | string  | **Required** |
+| `extension`   | integer | **Required** |
+
+#### call_status
+
+`call_status`
+
+- is **required**
+- type: `enum`
+
+##### call_status Type
+
+`string`
+
+The value of this property **must** be equal to one of the [known values below](#-known-values).
+
+##### call_status Known Values
+
+| Value        |
+| ------------ |
+| Idle         |
+| Connected    |
+| Disconnected |
+| Dialing      |
+| Alerting     |
+
+#### extension
+
+`extension`
+
+- is **required**
+- type: `integer`
+
+##### extension Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `10`
+
+### Output Example
+
+```json
+{ "line": 7, "call_status": "Idle" }
+```
+
+## event
+
+`event`
+
+- type: `Method`
+
+### event Type
+
+`object` with following properties:
+
+| Property | Type   | Required |
+| -------- | ------ | -------- |
+| `input`  | object | Optional |
+| `output` | object | Optional |
+
+#### input
+
+`input`
+
+- is optional
+- type: `object`
+
+##### input Type
+
+`object` with following properties:
+
+| Property | Type    | Required     |
+| -------- | ------- | ------------ |
+| `event`  | string  | **Required** |
+| `line`   | integer | **Required** |
+
+#### event
+
+`event`
+
+- is **required**
+- type: `enum`
+
+##### event Type
+
+`string`
+
+The value of this property **must** be equal to one of the [known values below](#event-known-values).
+
+##### event Known Values
+
+| Value         |
+| ------------- |
+| DTMF0         |
+| DTMF1         |
+| DTMF2         |
+| DTMF3         |
+| DTMF4         |
+| DTMF5         |
+| DTMF6         |
+| DTMF7         |
+| DTMF8         |
+| DTMF9         |
+| DTMFA         |
+| DTMFB         |
+| DTMFC         |
+| DTMFD         |
+| DTMFS         |
+| DTMFH         |
+| ONHOOK        |
+| OFFHOOK       |
+| EARLY_OFFHOOK |
+| EARLY_ONHOOK  |
+| FLASH         |
+
+#### line
+
+`line`
+
+- is **required**
+- type: `integer`
+
+##### line Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `10`
+
+### Ubus CLI Example
+
+```
+ubus call asterisk event {"line":7,"event":"EARLY_ONHOOK"}
+```
+
+### JSONRPC Example
+
+```json
+{
+  "jsonrpc": "2.0",
+  "id": 0,
+  "method": "call",
+  "params": ["<SID>", "asterisk", "event", { "line": 7, "event": "EARLY_ONHOOK" }]
+}
+```
+
+#### output
+
+`output`
+
+- is optional
+- type: `object`
+
+##### output Type
+
+`object` with following properties:
+
+| Property | Type | Required |
+| -------- | ---- | -------- |
+| None     | None | None     |
+
+### Output Example
+
+```json
+{}
+```
diff --git a/docs/api/uci.asterisk.md b/docs/api/uci.asterisk.md
new file mode 100644
index 0000000000..e5cf9d50b9
--- /dev/null
+++ b/docs/api/uci.asterisk.md
@@ -0,0 +1 @@
+<tbody><tr><td colspan="2"><div style="font-weight: bold">asterisk</div><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">section</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td><td><div style="font-weight: bold; font-size: 14px">multi</div></td><td><div style="font-weight: bold; font-size: 14px">options</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">line</div></td><td class="td_row_even"><div class="td_row_even">Line Settings</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Enable or disable this line.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">provider</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">sip0</div></td><td class="td_row_odd"><div class="td_row_odd">Describes provider for the line</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">calling_features</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">set1</div></td><td class="td_row_even"><div class="td_row_even">Set of calling features to apply to this line.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">extension</div></td><td class="td_row_odd"><div class="td_row_odd">describes the extension number</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">Enable or disable this extension.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">extension_number</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">(extension specific)</div></td><td class="td_row_odd"><div class="td_row_odd">The number assigned to this extension for internal calls. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">comfort_noise</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Generated noise (White / Hot /Spectrum estimate)</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">txgain</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">4</div></td><td class="td_row_odd"><div class="td_row_odd">Increase transmitted signal. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">rxgain</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">4</div></td><td class="td_row_even"><div class="td_row_even">Increase received signal. </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">echo_cancel</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">1</div></td><td class="td_row_odd"><div class="td_row_odd">Remove echoes.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">calling_features</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">set1</div></td><td class="td_row_even"><div class="td_row_even">Describes the feature set supported by the extension</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">name</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"> </div></td><td class="td_row_odd"><div class="td_row_odd">The name of this extension,used for CallerIdName functionality and for displaying on screen of handset, etc..</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">type</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"> </div></td><td class="td_row_even"><div class="td_row_even">Type of the extension fxs/dect</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">autodial</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Time to autodial the number</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">autodial_timeout</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">60000</div></td><td class="td_row_even"><div class="td_row_even">Timeout for autodial timeout</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dialtone_timeout</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">20000</div></td><td class="td_row_odd"><div class="td_row_odd">Timeout for dialtone</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">offhook_nu_timeout</div></td><td class="td_row_even"><div class="td_row_even">interger</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">60000</div></td><td class="td_row_even"><div class="td_row_even">Timeout for offhook</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">offhook_silence_timeout</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">180000</div></td><td class="td_row_odd"><div class="td_row_odd">Timeout for offhook silence</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">boxnumber</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Voice mailbox number for the extension</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">asterisk</div></td><td class="td_row_even"><div class="td_row_even">general setting</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">General setting is enabled or disabled</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">log_stderr</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">1</div></td><td class="td_row_odd"><div class="td_row_odd">Describes if log_stderr is enabled or disabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">log_stdout</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">Describes if log_stdout is enabled or disabled</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dialplan</div></td><td class="td_row_odd"><div class="td_row_odd">dialplan setting</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">custom_outgoing_enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Turn dial plan on or off for outgoing calls.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">custom_incoming_enable</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Turn dial plan on or off for incoming calls</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">custom_hangup_enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Turn custom hang up on or off.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">all_ports_extension</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">#123456</div></td><td class="td_row_odd"><div class="td_row_odd">Port test extension</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">test_audio_extension</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">#123456</div></td><td class="td_row_even"><div class="td_row_even">Auto tests the audio quality.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">test_echo_extension</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">#123458</div></td><td class="td_row_odd"><div class="td_row_odd">Echo returns the outgoing audio from a channel back to the channel. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">record_message_extension</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">#999999</div></td><td class="td_row_even"><div class="td_row_even">Plays recorded message from the extension.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">howler_timeout</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">180</div></td><td class="td_row_odd"><div class="td_row_odd">Timeout for howler tone</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">sip_advanced</div></td><td class="td_row_even"><div class="td_row_even">sip setting</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">rtp_start</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">10000</div></td><td class="td_row_even"><div class="td_row_even">Describes the rtp start address</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">rtp_end</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">20000</div></td><td class="td_row_odd"><div class="td_row_odd">Describes the rtp end address</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">dtmf_mode</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">rfc4733</div></td><td class="td_row_even"><div class="td_row_even">DTMF mode for SIP client configuration</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">remote_hold</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">Send hold events to proxy (Let networkhandle music on hold). </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">tls_version</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">sslv23</div></td><td class="td_row_even"><div class="td_row_even">Tls version supported</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dns_mgr</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">Enable Asterisk DNS manager. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">dns_mgr_refresh_interval</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">300</div></td><td class="td_row_even"><div class="td_row_even">Refresh interval for the DNS manager</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">srv_lookup</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">Enable DNS SRV lookup. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">useragent</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Custom User-Agent information in the SIP header.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">externhost</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">External host for the user</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">bindintf</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0.0.0.0</div></td><td class="td_row_even"><div class="td_row_even">Restrict listening to particular WAN interface</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">bindport</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">5060/5061</div></td><td class="td_row_odd"><div class="td_row_odd">Port to use for UDP/TCP listening.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">tos_sip</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Type of Service (TOS) </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">rtcpinterval</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">The interval between RTCP packets </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">blindxfer</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Blind transfers the call to a target number</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">localnet</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Specify which networks are considered local to our Asterisk system</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">stun_server</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Server details which allows NAT clients</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">tel_advanced</div></td><td class="td_row_odd"><div class="td_row_odd">sip setting</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">country</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">se</div></td><td class="td_row_even"><div class="td_row_even">Country code</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">jb_enable</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">Turn jitter prevention buffer on or off.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">jb_force</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">Forces the receiver to use a jitter buffer.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">jb_maxsize</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">500</div></td><td class="td_row_odd"><div class="td_row_odd">Size of jitter buffer (ms).</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">jb_impl</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">adaptive</div></td><td class="td_row_even"><div class="td_row_even">The type of jitter buffer Fixed /Adaptive. </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dial_out_timeout</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">4000</div></td><td class="td_row_odd"><div class="td_row_odd">Time between dialled digits before timing out (ms). </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">echo_cancel</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">Cancels echo arriving over voip channel if enabled</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">maxsessionsperline</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">2</div></td><td class="td_row_odd"><div class="td_row_odd">Describes maximum session in each line </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">fac</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Feature access code</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">hold_target_before_refer</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Allows user to hold the phone call before refer it.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">calleridtype</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">tel_event_pt</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">101</div></td><td class="td_row_odd"><div class="td_row_odd">Start of dynamic payload types.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">packet_loss_concealment</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">PLC is method of generating new audio data when packet loss is detected is enabled/disabled</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">calling_features</div></td><td class="td_row_even"><div class="td_row_even">calling feature setting to enable /disable individual features</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">caller_id_enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">Describes if caller id is enabled/disabled </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">caller_name_enable</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">1</div></td><td class="td_row_odd"><div class="td_row_odd">Describes if  presentation of caller name enabled/disabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">call_waiting_enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Describes is call waiting is enabled/disabled</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">call_forward_unconditional</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">1</div></td><td class="td_row_odd"><div class="td_row_odd">Describes if call forwarding to another number is enabled/disabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">call_forward_on_busy</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Describes if user is busy call forward is enabled/disabled</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">call_forward_on_no_answer</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Describes if callee doesnt answer ,call foward is enabled/disabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">mwi_enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Describes if messages waiting indication is enabled/disabled</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">mwi_dialtone_state</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Describes messages waiting indication dialtone state</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">messages_waiting</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Describes count of messages waiting</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">anonymous_call_enable</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Describes if caller id can be hidden by enabling /disabling</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">dnd_enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Describes if do not disable is enabled/disabled</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">voice_mail_enable</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Enable voice voice mail service</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">ccbs_enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Describes Enable or disable automatic recall on busy</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">redial_enable</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">1</div></td><td class="td_row_odd"><div class="td_row_odd">Describes is redial capability is enabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">cbbs_type</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">internal</div></td><td class="td_row_even"><div class="td_row_even">Describes type of cbbs internal /external </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">internal_service</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Describes internal services can be enabled/disabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">callreturn_enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">Describes is call return is enable</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">moh_passthrough</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">1</div></td><td class="td_row_odd"><div class="td_row_odd">Describes music on hold enabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">cbbs_key</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">5</div></td><td class="td_row_even"><div class="td_row_even">Describes key used for cbbs</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">cbbs_maxretry</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">5</div></td><td class="td_row_odd"><div class="td_row_odd">Describes max time for retry in cbbs</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">cbbs_retrytime</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">300</div></td><td class="td_row_even"><div class="td_row_even">Describes default time wait for cbbs retry</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">cbbs_waittime</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">30</div></td><td class="td_row_odd"><div class="td_row_odd">Describes wait time for cbbs</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">cfim_on</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">*21*</div></td><td class="td_row_even"><div class="td_row_even">Describes feature code for enable call forward to number unconditionally</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">cfim_off</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">#21#</div></td><td class="td_row_odd"><div class="td_row_odd">Describes feature code for disable call forward to number unconditionally</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">cfbs_on</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">*61*</div></td><td class="td_row_even"><div class="td_row_even">Describes feature code for enable call forward on no answer/reply</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">cfbs_off</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">#61#</div></td><td class="td_row_odd"><div class="td_row_odd">Describes feature code for disable call forward on no answer/reply</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">cfb_on</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">*67*</div></td><td class="td_row_even"><div class="td_row_even">Describes feature code for enable call forward on busy</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">cfb_off</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">#67#</div></td><td class="td_row_odd"><div class="td_row_odd">Describes feature code for disable call forward on busy</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">cw_on</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">43#</div></td><td class="td_row_even"><div class="td_row_even">Describes feature code for enable call waiting </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">cw_off</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">#43#</div></td><td class="td_row_odd"><div class="td_row_odd">Describes feature code for disable call waiting </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">cw_status</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">*#43</div></td><td class="td_row_even"><div class="td_row_even">Describes feature code for checking status of call waiting </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dnd_on</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">*261#</div></td><td class="td_row_odd"><div class="td_row_odd">Describes feature code for enable do not disturb</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">dnd_off</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">#261#</div></td><td class="td_row_even"><div class="td_row_even">Describes feature code for disable do not disturb</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dnd_status</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">#261#</div></td><td class="td_row_odd"><div class="td_row_odd">Describes feature code for checking status of do not disturb</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">call_return</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">*69</div></td><td class="td_row_even"><div class="td_row_even">Describes feature code for  call return</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">redial</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">*66</div></td><td class="td_row_odd"><div class="td_row_odd">Describes feature code for redial</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">log</div></td><td class="td_row_odd"><div class="td_row_odd">call logging setting</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">console</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">notice,warning,error</div></td><td class="td_row_even"><div class="td_row_even">Describes logging for console setting</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">messages</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">error</div></td><td class="td_row_odd"><div class="td_row_odd">Describes logging for messages setting</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">syslog_facility</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">local0</div></td><td class="td_row_even"><div class="td_row_even">Describes syslog setting</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">syslog</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Describes syslog path setting</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">cdr</div></td><td class="td_row_even"><div class="td_row_even">call logging data</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">csv_max_row</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">100</div></td><td class="td_row_even"><div class="td_row_even">Describes maximum number of rows in csv file</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">codec_profile</div></td><td class="td_row_odd"><div class="td_row_odd">describes codec details</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">name</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">G.711ALaw ,G.711MuLaw</div></td><td class="td_row_even"><div class="td_row_even">Codec profile name </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">ptime</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">20</div></td><td class="td_row_odd"><div class="td_row_odd">Describes codec ptime</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">incoming_map</div></td><td class="td_row_even"><div class="td_row_even">Describes which extensions ring when an incoming call is received</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">Describes if map is enabled/disabled</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">extension</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">group1/group2</div></td><td class="td_row_odd"><div class="td_row_odd">Extension that rings on incoming call. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">line</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">line0</div></td><td class="td_row_even"><div class="td_row_even">Describes line used by the call.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">outgoing_map</div></td><td class="td_row_odd"><div class="td_row_odd">Describes which line is used when an extension makes a call.</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">Describes if map is enabled/disabled </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">extension</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">group1/group2</div></td><td class="td_row_odd"><div class="td_row_odd">Extension which makes the outgoing call. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">line</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">line0</div></td><td class="td_row_even"><div class="td_row_even">Identifies the Line to be used for outgoing calls.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">group</div></td><td class="td_row_even"><div class="td_row_even">Models an extension as a group of extensions.</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">extensions</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">extension0/extension1/extension2/extension3</div></td><td class="td_row_even"><div class="td_row_even">Extension which for the call.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">call_filter</div></td><td class="td_row_odd"><div class="td_row_odd"> </div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">block_foreign</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Block calls to different locales.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">block_special_rate</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Block calls to premium rate or pay services.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">block_outgoing</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Turn blocking on or off for outgoing calls. </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">block_incoming</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Turn blocking on or off for incoming calls</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">sip_service_provider</div></td><td class="td_row_even"><div class="td_row_even">Describes the sip account details</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">name</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">account 1</div></td><td class="td_row_even"><div class="td_row_even">Name of SIP account</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">enable</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">If enabled/disabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">codecs</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">alaw,ulaw</div></td><td class="td_row_even"><div class="td_row_even">Codecs available for the device</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">support_fax</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Indicate that this SIP account can be used for a fax machine</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">transport</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">udp</div></td><td class="td_row_even"><div class="td_row_even">Describes the type of transport</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">outbound_proxy</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Address for outbound proxy. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">outbound_proxy_port</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">5060/5061</div></td><td class="td_row_even"><div class="td_row_even">Port for outbound proxy. </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dtmf_mode</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">rfc4733</div></td><td class="td_row_odd"><div class="td_row_odd">Mode for DTMF (Compatibility / RFC 2833 / SIP INFO / Inband).</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">encryption</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">Encryption enabled/disabled</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">mediasec</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Mediasec enabled/disabled</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">domain</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"> </div></td><td class="td_row_even"><div class="td_row_even">SIP domain details </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">user</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"> </div></td><td class="td_row_odd"><div class="td_row_odd">The SIP account username for the account.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">authuser</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"> </div></td><td class="td_row_even"><div class="td_row_even">SIP Authentication Name used with password to register with SIP server</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">secret</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"> </div></td><td class="td_row_odd"><div class="td_row_odd">Password user for authentication.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">displayname</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"> </div></td><td class="td_row_even"><div class="td_row_even">Display name used in Caller ID.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">host</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"> </div></td><td class="td_row_odd"><div class="td_row_odd">Specific host for this user. </div></td></tr><tr><td class="td_row_even"><div class="td_row_even">realm</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"> </div></td><td class="td_row_even"><div class="td_row_even">Identifies a security boundary</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">tos_audio</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"> </div></td><td class="td_row_odd"><div class="td_row_odd">Sets TOS for RTP audio packets.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">tos_video</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"> </div></td><td class="td_row_even"><div class="td_row_even">Sets TOS for RTP video packets.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">defaultexpiry</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">3600</div></td><td class="td_row_odd"><div class="td_row_odd">Designates the lifespan of the registration.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">registertimeout</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"> </div></td><td class="td_row_even"><div class="td_row_even">Number of seconds to wait for a response from a SIP Registrar before classifying the SIP REGISTER has timed out. </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">registerattempts</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Number of registration attempts before giving up.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">voicemail</div></td><td class="td_row_odd"><div class="td_row_odd">Describes the voice mail account details</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">extension</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Extension dialled to retrieve voicemail.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">timeout</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Timer to send caller to voicemail if call is not answered</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">mailbox</div></td><td class="td_row_even"><div class="td_row_even">Describes the mailbox for the extension</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">pin</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Pin to retrieve voicemail</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">boxnumber</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Voicemail box number</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enable</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Describes if the mailbox is enabled/disabled</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">numberingplan</div></td><td class="td_row_odd"><div class="td_row_odd">Integration related the numbering plan.</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">maxnumdigits</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">15</div></td><td class="td_row_even"><div class="td_row_even">When this number of digits has been collected, an outgoing request (e.g., a SIP INVITE) MUST be initiated. Any additional dialed digits will be ignored.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">minimumnumberdigits</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">1</div></td><td class="td_row_odd"><div class="td_row_odd">Minimum number of digits to be collected before an outgoing request (e.g., a SIP INVITE) can be initiated.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">interdigitopenmsec</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">3000</div></td><td class="td_row_even"><div class="td_row_even">This timer is the maximum allowable time (expressed in milliseconds) between the dialing of digits once the minimum number of digits defined on a prefix based has been reached.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">terminationdigit</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">#</div></td><td class="td_row_odd"><div class="td_row_odd">Digit that can be used by the subscriber to indicate that dialing has completed.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">prefixinfo</div></td><td class="td_row_even"><div class="td_row_even">Information related to an individual prefix in the NumberingPlan.</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">prefixrange</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">A string representation of a range of prefixes.It consists of FROM part ,optional TO part consisting of exactly one digit prefixed by a '-' symbol </div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">prefixenable</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Enables or disables this entry.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">prefixmaxdigits</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">Maximum number of allowable digits for the prefix range. Once the number of digits received reaches this value an outgoing request is initiated.</div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody>
\ No newline at end of file
diff --git a/docs/api/voice.asterisk.md b/docs/api/voice.asterisk.md
new file mode 100644
index 0000000000..a7f51038e2
--- /dev/null
+++ b/docs/api/voice.asterisk.md
@@ -0,0 +1,774 @@
+# JSON Schema for the output of the UBUS call voice.asterisk Schema
+
+```
+https://www.iopsys.eu/voice.asterisk.json
+```
+
+| Custom Properties | Additional Properties |
+| ----------------- | --------------------- |
+| Forbidden         | Forbidden             |
+
+# JSON Schema for the output of the UBUS call voice.asterisk
+
+| List of Methods                             |
+| ------------------------------------------- |
+| [codecs](#codecs)                           | Method | JSON Schema for the output of the UBUS call voice.asterisk (this schema) |
+| [lines](#lines)                             | Method | JSON Schema for the output of the UBUS call voice.asterisk (this schema) |
+| [status](#status)                           | Method | JSON Schema for the output of the UBUS call voice.asterisk (this schema) |
+| [supported_countries](#supported_countries) | Method | JSON Schema for the output of the UBUS call voice.asterisk (this schema) |
+
+## codecs
+
+`codecs`
+
+- type: `Method`
+
+### codecs Type
+
+`object` with following properties:
+
+| Property | Type   | Required |
+| -------- | ------ | -------- |
+| `input`  | object | Optional |
+| `output` | object | Optional |
+
+#### input
+
+`input`
+
+- is optional
+- type: `object`
+
+##### input Type
+
+`object` with following properties:
+
+| Property | Type | Required |
+| -------- | ---- | -------- |
+| None     | None | None     |
+
+### Ubus CLI Example
+
+```
+ubus call JSON Schema for the output of the UBUS call voice.asterisk codecs {}
+```
+
+### JSONRPC Example
+
+```json
+{
+  "jsonrpc": "2.0",
+  "id": 0,
+  "method": "call",
+  "params": ["<SID>", "JSON Schema for the output of the UBUS call voice.asterisk", "codecs", {}]
+}
+```
+
+#### output
+
+`output`
+
+- is optional
+- type: `object`
+
+##### output Type
+
+`object` with following properties:
+
+| Property | Type   | Required |
+| -------- | ------ | -------- |
+| `alaw`   | object | Optional |
+
+#### alaw
+
+`alaw`
+
+- is optional
+- type: `object`
+
+##### alaw Type
+
+`object` with following properties:
+
+| Property          | Type    | Required     |
+| ----------------- | ------- | ------------ |
+| `bitrate`         | integer | **Required** |
+| `name`            | string  | **Required** |
+| `ptime_default`   | integer | **Required** |
+| `ptime_increment` | integer | **Required** |
+| `ptime_max`       | integer | **Required** |
+| `ptime_min`       | integer | **Required** |
+
+#### bitrate
+
+`bitrate`
+
+- is **required**
+- type: `integer`
+
+##### bitrate Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `100`
+
+#### name
+
+`name`
+
+- is **required**
+- type: `enum`
+
+##### name Type
+
+`string`
+
+The value of this property **must** be equal to one of the [known values below](#codecs-known-values).
+
+##### name Known Values
+
+| Value      |
+| ---------- |
+| G.711MuLaw |
+| G.711ALaw  |
+| G.729a     |
+| G.723.1    |
+| G.726      |
+| GSM-FR     |
+| iLBC       |
+
+#### ptime_default
+
+`ptime_default`
+
+- is **required**
+- type: `integer`
+
+##### ptime_default Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `50`
+
+#### ptime_increment
+
+`ptime_increment`
+
+- is **required**
+- type: `integer`
+
+##### ptime_increment Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `50`
+
+#### ptime_max
+
+`ptime_max`
+
+- is **required**
+- type: `integer`
+
+##### ptime_max Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `300`
+
+#### ptime_min
+
+`ptime_min`
+
+- is **required**
+- type: `integer`
+
+##### ptime_min Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `50`
+
+### Output Example
+
+```json
+{
+  "alaw": {
+    "name": "GSM-FR",
+    "ptime_min": 47,
+    "ptime_max": 58,
+    "ptime_default": 4,
+    "ptime_increment": 9,
+    "bitrate": 61
+  }
+}
+```
+
+## lines
+
+`lines`
+
+- type: `Method`
+
+### lines Type
+
+`object` with following properties:
+
+| Property | Type   | Required |
+| -------- | ------ | -------- |
+| `input`  | object | Optional |
+| `output` | object | Optional |
+
+#### input
+
+`input`
+
+- is optional
+- type: `object`
+
+##### input Type
+
+`object` with following properties:
+
+| Property | Type | Required |
+| -------- | ---- | -------- |
+| None     | None | None     |
+
+### Ubus CLI Example
+
+```
+ubus call JSON Schema for the output of the UBUS call voice.asterisk lines {}
+```
+
+### JSONRPC Example
+
+```json
+{
+  "jsonrpc": "2.0",
+  "id": 0,
+  "method": "call",
+  "params": ["<SID>", "JSON Schema for the output of the UBUS call voice.asterisk", "lines", {}]
+}
+```
+
+#### output
+
+`output`
+
+- is optional
+- type: `object`
+
+##### output Type
+
+`object` with following properties:
+
+| Property          | Type    | Required     |
+| ----------------- | ------- | ------------ |
+| `num_lines`       | integer | **Required** |
+| `num_subchannels` | integer | **Required** |
+
+#### num_lines
+
+`num_lines`
+
+- is **required**
+- type: `integer`
+
+##### num_lines Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `4`
+
+#### num_subchannels
+
+`num_subchannels`
+
+- is **required**
+- type: `integer`
+
+##### num_subchannels Type
+
+`integer`
+
+- minimum value: `0`
+- maximum value: `2`
+
+### Output Example
+
+```json
+{ "num_subchannels": 0, "num_lines": 1 }
+```
+
+## status
+
+`status`
+
+- type: `Method`
+
+### status Type
+
+`object` with following properties:
+
+| Property | Type   | Required |
+| -------- | ------ | -------- |
+| `input`  | object | Optional |
+| `output` | object | Optional |
+
+#### input
+
+`input`
+
+- is optional
+- type: `object`
+
+##### input Type
+
+`object` with following properties:
+
+| Property | Type | Required |
+| -------- | ---- | -------- |
+| None     | None | None     |
+
+### Ubus CLI Example
+
+```
+ubus call JSON Schema for the output of the UBUS call voice.asterisk status {}
+```
+
+### JSONRPC Example
+
+```json
+{
+  "jsonrpc": "2.0",
+  "id": 0,
+  "method": "call",
+  "params": ["<SID>", "JSON Schema for the output of the UBUS call voice.asterisk", "status", {}]
+}
+```
+
+#### output
+
+`output`
+
+- is optional
+- type: `object`
+
+##### output Type
+
+`object` with following properties:
+
+| Property | Type   | Required     |
+| -------- | ------ | ------------ |
+| `sip`    | array  | **Required** |
+| `tel`    | object | **Required** |
+
+#### sip
+
+`sip`
+
+- is **required**
+- type: `object[]`
+
+##### sip Type
+
+Array type: `object[]`
+
+All items must be of the type: `object` with following properties:
+
+| Property | Type   | Required |
+| -------- | ------ | -------- |
+| `sip0`   | object | Optional |
+
+#### sip0
+
+`sip0`
+
+- is optional
+- type: `object`
+
+##### sip0 Type
+
+`object` with following properties:
+
+| Property                       | Type   | Required     |
+| ------------------------------ | ------ | ------------ |
+| `domain`                       | string | **Required** |
+| `domain_port`                  | string | **Required** |
+| `ip`                           | string | **Required** |
+| `last_successful_registration` | string | **Required** |
+| `refresh_interval`             | string | **Required** |
+| `registered`                   | string | **Required** |
+| `registration_time`            | string | **Required** |
+| `registry_request_sent`        | string | **Required** |
+| `state`                        | string | **Required** |
+| `useragent`                    | string | **Required** |
+| `username`                     | string | **Required** |
+
+#### domain
+
+`domain`
+
+- is **required**
+- type: `string`
+
+##### domain Type
+
+`string`
+
+#### domain_port
+
+`domain_port`
+
+- is **required**
+- type: `string`
+
+##### domain_port Type
+
+`string`
+
+All instances must conform to this regular expression (test examples
+[here](https://regexr.com/?expression=%5E%5B0-9%5D%2B)):
+
+```regex
+^[0-9]+
+```
+
+#### ip
+
+`ip`
+
+- is **required**
+- type: `string`
+
+##### ip Type
+
+`string`
+
+- format: `ipv4` – IP (v4) address (according to [RFC 2673, section 3.2](https://tools.ietf.org/html/rfc2673))
+
+#### last_successful_registration
+
+`last_successful_registration`
+
+- is **required**
+- type: `string`
+
+##### last_successful_registration Type
+
+`string`
+
+#### refresh_interval
+
+`refresh_interval`
+
+- is **required**
+- type: `string`
+
+##### refresh_interval Type
+
+`string`
+
+All instances must conform to this regular expression (test examples
+[here](https://regexr.com/?expression=%5E%5B0-9%5D%2B)):
+
+```regex
+^[0-9]+
+```
+
+#### registered
+
+`registered`
+
+- is **required**
+- type: `enum`
+
+##### registered Type
+
+`string`
+
+The value of this property **must** be equal to one of the [known values below](#status-known-values).
+
+##### registered Known Values
+
+| Value |
+| ----- |
+| true  |
+| false |
+
+#### registration_time
+
+`registration_time`
+
+- is **required**
+- type: `string`
+
+##### registration_time Type
+
+`string`
+
+All instances must conform to this regular expression (test examples
+[here](https://regexr.com/?expression=%5E%5B0-9%5D.%2B)):
+
+```regex
+^[0-9].+
+```
+
+#### registry_request_sent
+
+`registry_request_sent`
+
+- is **required**
+- type: `enum`
+
+##### registry_request_sent Type
+
+`string`
+
+The value of this property **must** be equal to one of the [known values below](#status-known-values).
+
+##### registry_request_sent Known Values
+
+| Value |
+| ----- |
+| true  |
+| false |
+
+#### state
+
+`state`
+
+- is **required**
+- type: `enum`
+
+##### state Type
+
+`string`
+
+The value of this property **must** be equal to one of the [known values below](#status-known-values).
+
+##### state Known Values
+
+| Value        |
+| ------------ |
+| Registered   |
+| Unregistered |
+
+#### useragent
+
+`useragent`
+
+- is **required**
+- type: `string`
+
+##### useragent Type
+
+`string`
+
+All instances must conform to this regular expression (test examples
+[here](https://regexr.com/?expression=%5E%5B0-9A-Z%5D.%2B)):
+
+```regex
+^[0-9A-Z].+
+```
+
+#### username
+
+`username`
+
+- is **required**
+- type: `string`
+
+##### username Type
+
+`string`
+
+All instances must conform to this regular expression (test examples
+[here](https://regexr.com/?expression=%5E%5Ba-zA-Z%5D%2B)):
+
+```regex
+^[a-zA-Z]+
+```
+
+#### tel
+
+`tel`
+
+- is **required**
+- type: `object`
+
+##### tel Type
+
+`object` with following properties:
+
+| Property | Type | Required |
+| -------- | ---- | -------- |
+| None     | None | None     |
+
+### Output Example
+
+```json
+{
+  "sip": [
+    {
+      "sip0": {
+        "registered": "false",
+        "registry_request_sent": "true",
+        "ip": "189.68.6.63",
+        "username": "jLFHha",
+        "domain": "et laborum ipsum",
+        "domain_port": "4",
+        "refresh_interval": "487664",
+        "state": "Unregistered",
+        "registration_time": "2>]PE!_J8",
+        "last_successful_registration": "et ea Duis culpa ad",
+        "useragent": "Nr3LV4Q5"
+      }
+    },
+    {
+      "sip0": {
+        "registered": "false",
+        "registry_request_sent": "true",
+        "ip": "209.117.223.125",
+        "username": "Uh",
+        "domain": "ullamco commodo Ut dolore",
+        "domain_port": "49389611090",
+        "refresh_interval": "1",
+        "state": "Unregistered",
+        "registration_time": "5S~lf2cNf",
+        "last_successful_registration": "cupidatat eu ea dolore eiusmod",
+        "useragent": "OoIReR50;"
+      }
+    }
+  ],
+  "tel": {}
+}
+```
+
+## supported_countries
+
+`supported_countries`
+
+- type: `Method`
+
+### supported_countries Type
+
+`object` with following properties:
+
+| Property | Type   | Required |
+| -------- | ------ | -------- |
+| `input`  | object | Optional |
+| `output` | object | Optional |
+
+#### input
+
+`input`
+
+- is optional
+- type: `object`
+
+##### input Type
+
+`object` with following properties:
+
+| Property | Type | Required |
+| -------- | ---- | -------- |
+| None     | None | None     |
+
+### Ubus CLI Example
+
+```
+ubus call JSON Schema for the output of the UBUS call voice.asterisk supported_countries {}
+```
+
+### JSONRPC Example
+
+```json
+{
+  "jsonrpc": "2.0",
+  "id": 0,
+  "method": "call",
+  "params": ["<SID>", "JSON Schema for the output of the UBUS call voice.asterisk", "supported_countries", {}]
+}
+```
+
+#### output
+
+`output`
+
+- is optional
+- type: `object`
+
+##### output Type
+
+`object` with following properties:
+
+| Property    | Type  | Required     |
+| ----------- | ----- | ------------ |
+| `countries` | array | **Required** |
+
+#### countries
+
+`countries`
+
+- is **required**
+- type: `object[]`
+
+##### countries Type
+
+Array type: `object[]`
+
+All items must be of the type: `object` with following properties:
+
+| Property  | Type   | Required     |
+| --------- | ------ | ------------ |
+| `code`    | string | **Required** |
+| `country` | string | **Required** |
+
+#### code
+
+`code`
+
+- is **required**
+- type: `string`
+
+##### code Type
+
+`string`
+
+All instances must conform to this regular expression (test examples
+[here](https://regexr.com/?expression=%5E%5Ba-z%5D%7B2%2C2%7D%24)):
+
+```regex
+^[a-z]{2,2}$
+```
+
+#### country
+
+`country`
+
+- is **required**
+- type: `string`
+
+##### country Type
+
+`string`
+
+All instances must conform to this regular expression (test examples
+[here](https://regexr.com/?expression=%5E%5BA-Za-z%5D%2B)):
+
+```regex
+^[A-Za-z]+
+```
+
+### Output Example
+
+```json
+{ "countries": [{ "country": "ie", "code": "jh" }, { "country": "ERjyYfWTPf", "code": "pd" }] }
+```
diff --git a/docs/functionspec.md b/docs/functionspec.md
new file mode 100644
index 0000000000..2a1971e237
--- /dev/null
+++ b/docs/functionspec.md
@@ -0,0 +1,94 @@
+# Function Specification
+
+The scope of asterisk is to expose the APIs over ubus.
+
+```
+root@iopsys:~# ubus -v list 
+'asterisk' @6f94a0b0
+        "event":{"event":"String","line":"Integer"}
+        "call_status":{"extension":"Integer","line":"Integer"}
+'voice.asterisk' @e43dc4f7
+        "status":{}
+        "lines":{}
+        "codecs":{}
+        "supported_countries":{}
+
+```
+
+# Contents
+* [asterisk](#asterisk)
+* [voice.asterisk](#voiceasterisk)
+
+## APIs
+
+Asterisk publishes two different types objects `asterisk`, `voice.asterisk`.
+
+### asterisk
+
+An object that publishes asterisk information.
+
+| Method			            | Function ID		|
+| :---			              	| :---        		|
+| [event](#event)               | 1					|
+| [call_status](#call_status)   | 2					|
+
+#### Methods
+
+Methods descriptions of the `asterisk` object.
+##### event
+
+Exposes event passing to ubus
+
+* [Event documentation](./api/asterisk.md#event)
+
+##### call_status
+
+Exposes callstatus over ubus
+
+* [Call status documentation](./api/asterisk.md#call_status)
+### voice.asterisk
+
+Object for voice.asterisk .
+````bash
+'voice.asterisk' @e43dc4f7
+        "status":{}
+        "lines":{}
+        "codecs":{}
+        "supported_countries":{}
+````
+
+| Method      								 |Function ID	|
+| :--- 	  									 | :---        	|
+| [status](#status)					      	 | 3				|
+| [lines](#lines)							 | 4				|
+| [codecs](#codecs)					         | 5				|
+| [supported_countries](#supported_countries)| 6				|
+
+
+#### Methods
+
+Method descriptions of the `voice.asterisk` object.
+
+##### status
+
+Exposes status of sip client over  ubus.
+
+* [status documentation](./api/voice.asterisk.md#status)
+
+##### lines
+
+Exposes Line details over ubus.
+
+* [Lines documentation](./api/voice.asterisk.md#lines)
+
+##### codecs
+
+Exposes codecs supported over ubus.
+
+* [Codecs documentation](./api/voice.asterisk.md#codecs)
+
+##### supported_countries
+
+Exposes supported countries over ubus.
+
+* [Supported countries documentation](./api/voice.asterisk.md#supported_countries)
diff --git a/docs/ubus.splash.md b/docs/ubus.splash.md
new file mode 100644
index 0000000000..8fa9a7518e
--- /dev/null
+++ b/docs/ubus.splash.md
@@ -0,0 +1,9 @@
+# Ubus Generated APIs
+
+* [Asterisk](./api/asterisk.md)
+* [Voice Asterisk](./api/voice.asterisk.md)
+
+
+# UCI Configurations
+
+* [Asterisk](./api/uci.asterisk.md)
diff --git a/schemas/ubus/asterisk.json b/schemas/ubus/asterisk.json
new file mode 100644
index 0000000000..4763fa30e0
--- /dev/null
+++ b/schemas/ubus/asterisk.json
@@ -0,0 +1,151 @@
+{
+    "definitions": {
+    },
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "$id": "https://www.iopsys.eu/asterisk.json",
+    "regex": true,
+    "type": "object",
+    "title": "asterisk",
+    "object": "asterisk",
+    "additionalProperties": false,
+    "properties": {
+        "call_status": {
+            "type": "object",
+            "properties": {
+                "input": {
+                    "type": "object",
+                    "oneOf": [
+                        {
+                            "type": "object",
+                            "required":[ 
+                                   "line"
+                                   ],
+                            "properties": {
+                                "line": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 10
+                                }
+                            }
+                        },
+                        {
+                            "type": "object",
+                            "required":[
+                                "extension"
+                                    ],
+                            "properties": {
+                                "extension": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 10
+                                }
+                            }
+                        }
+                    ]
+                },
+                "output": {
+                    "type": "object",
+                    "oneOf": [
+                        {
+                            "type": "object",
+                            "required":[
+                                "line",
+                               "call_status"
+                                   ],
+                            "properties": {
+                                "line": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 10
+                                },
+                                "call_status": {
+                                    "type": "string",
+                                    "enum": [
+                                        "Idle",
+                                        "Connected",
+                                        "Disconnected",
+                                        "Dialing",
+                                        "Alerting"
+                                    ]
+                                }
+                            }
+                        },
+                        {
+                            "type": "object",
+                            "required":[
+                                "extension",
+                               "call_status"
+                                   ],
+                            "properties": {
+                                "extension": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 10
+                                },
+                                "call_status": {
+                                    "type": "string",
+                                    "enum": [
+                                        "Idle",
+                                        "Connected",
+                                        "Disconnected",
+                                        "Dialing",
+                                        "Alerting"
+                                    ]
+                                }
+                            }
+                        }
+                    ]
+                }
+            }
+        },
+        "event": {
+            "type": "object",
+            "properties": {
+                "input": {
+                    "type": "object",
+                    "required":[
+                          "line",
+                          "event"
+                              ],
+                    "properties": {
+                        "line": {
+                            "type": "integer",
+                            "minimum": 0,
+                            "maximum": 10
+                        },
+                        "event": {
+                            "type": "string",
+                            "enum": [
+                                "DTMF0",
+                                "DTMF1",
+                                "DTMF2",
+                                "DTMF3",
+                                "DTMF4",
+                                "DTMF5",
+                                "DTMF6",
+                                "DTMF7",
+                                "DTMF8",
+                                "DTMF9",
+                                "DTMFA",
+                                "DTMFB",
+                                "DTMFC",
+                                "DTMFD",
+                                "DTMFS",
+                                "DTMFH",
+                                "ONHOOK",
+                                "OFFHOOK",
+                                "EARLY_OFFHOOK",
+                                "EARLY_ONHOOK",
+                                "FLASH"
+                            ]
+                        }
+                    }
+                },
+                "output": {
+                    "type": "object",
+                    "properties": {}
+                }
+            }
+        }
+    }
+}
diff --git a/schemas/ubus/voice.asterisk.json b/schemas/ubus/voice.asterisk.json
new file mode 100644
index 0000000000..c8aa72aae8
--- /dev/null
+++ b/schemas/ubus/voice.asterisk.json
@@ -0,0 +1,240 @@
+{
+    "definitions": {},
+    "regex": true,
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "$id": "https://www.iopsys.eu/voice.asterisk.json",
+    "type": "object",
+    "title": "JSON Schema for the output of the UBUS call voice.asterisk",
+    "object": "voice.asterisk",
+    "additionalProperties": false,
+    "properties": {
+        "codecs": {
+            "type": "object",
+            "properties": {
+                "input": {
+                    "type": "object",
+                    "properties": {}
+                },
+                "output": {
+                    "type": "object",
+                    "properties": {
+                        "alaw": {
+                            "type": "object",
+                            "required": [
+                                "name",
+                                "ptime_min",
+                                "ptime_max",
+                                "ptime_default",
+                                "ptime_increment",
+                                "bitrate"
+                            ],
+                            "properties": {
+                                "name": {
+                                    "type": "string",
+                                    "enum": [
+                                        "G.711MuLaw",
+                                        "G.711ALaw",
+                                        "G.729a",
+                                        "G.723.1",
+                                        "G.726",
+                                        "GSM-FR",
+                                        "iLBC"
+                                    ]
+                                },
+                                "ptime_min": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 50
+                                },
+                                "ptime_max": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 300
+                                },
+                                "ptime_default": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 50
+                                },
+                                "ptime_increment": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 50
+                                },
+                                "bitrate": {
+                                    "type": "integer",
+                                    "minimum": 0,
+                                    "maximum": 100
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        },
+        "status": {
+            "type": "object",
+            "properties": {
+                "input": {
+                    "type": "object",
+                    "properties": {}
+                },
+                "output": {
+                    "type": "object",
+                    "required": [
+                        "sip",
+                        "tel"
+                    ],
+                    "properties": {
+                        "sip": {
+                            "type": "array",
+                            "items": {
+                                "type": "object",
+                                "properties": {
+                                    "sip0": {
+                                        "type": "object",
+                                        "required": [
+                                            "registered",
+                                            "registry_request_sent",
+                                            "ip",
+                                            "username",
+                                            "domain",
+                                            "domain_port",
+                                            "refresh_interval",
+                                            "state",
+                                            "registration_time",
+                                            "last_successful_registration",
+                                            "useragent"
+                                        ],
+                                        "properties": {
+                                            "registered": {
+                                                "type": "string",
+                                                "enum": [
+                                                    "true",
+                                                    "false"
+                                                ]
+                                            },
+                                            "registry_request_sent": {
+                                                "type": "string",
+                                                "enum": [
+                                                    "true",
+                                                    "false"
+                                                ]
+                                            },
+                                            "ip": {
+                                                "type": "string",
+                                                "format": "ipv4"
+                                            },
+                                            "username": {
+                                                "type": "string",
+                                                "pattern": "^[a-zA-Z]+"
+                                            },
+                                            "domain": {
+                                                "type": "string"
+                                            },
+                                            "domain_port": {
+                                                "type": "string",
+                                                "pattern": "^[0-9]+"
+                                            },
+                                            "refresh_interval": {
+                                                "type": "string",
+                                                "pattern": "^[0-9]+"
+                                            },
+                                            "state": {
+                                                "type": "string",
+                                                "enum": [
+                                                    "Registered",
+                                                    "Unregistered"
+                                                ]
+                                            },
+                                            "registration_time": {
+                                                "type": "string",
+                                                "pattern": "^[0-9].+"
+                                            },
+                                            "last_successful_registration": {
+                                                "type": "string"
+                                            },
+                                            "useragent": {
+                                                "type": "string",
+                                                "pattern": "^[0-9A-Z].+"
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        },
+                        "tel": {
+                            "type": "object",
+                            "properties": {}
+                        }
+                    }
+                }
+            }
+        },
+        "lines": {
+            "type": "object",
+            "properties": {
+                "input": {
+                    "type": "object",
+                    "properties": {}
+                },
+                "output": {
+                    "type": "object",
+                    "required": [
+                        "num_subchannels",
+                        "num_lines"
+                    ],
+                    "properties": {
+                        "num_subchannels": {
+                            "type": "integer",
+                            "minimum": 0,
+                            "maximum": 2
+                        },
+                        "num_lines": {
+                            "type": "integer",
+                            "minimum": 0,
+                            "maximum": 4
+                        }
+                    }
+                }
+            }
+        },
+        "supported_countries": {
+            "type": "object",
+            "properties": {
+                "input": {
+                    "type": "object",
+                    "properties": {}
+                },
+                "output": {
+                    "type": "object",
+                    "required": [
+                        "countries"
+                    ],
+                    "properties": {
+                        "countries": {
+                            "type": "array",
+                            "items": {
+                                "type": "object",
+                                "required": [
+                                    "country",
+                                    "code"
+                                ],
+                                "properties": {
+                                    "country": {
+                                        "type": "string",
+                                        "pattern": "^[A-Za-z]+"
+                                    },
+                                    "code": {
+                                        "type": "string",
+                                        "pattern": "^[a-z]{2,2}$"
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/schemas/uci/asterisk.json b/schemas/uci/asterisk.json
new file mode 100644
index 0000000000..cf616bdbc7
--- /dev/null
+++ b/schemas/uci/asterisk.json
@@ -0,0 +1,1167 @@
+{
+    "asterisk": [
+        {
+            "section": "line",
+            "description": "Line Settings",
+            "multi": true,
+            "options": [
+                {
+                    "name": "enable",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "0",
+                    "description": "Enable or disable this line."
+                },
+                {
+                    "name": "provider",
+                    "default": "sip0",
+                    "description": "Describes provider for the line",
+                    "type": "string",
+                    "required": "yes"
+                },
+                {
+                    "name": "calling_features",
+                    "default": "set1",
+                    "description": "Set of calling features to apply to this line.",
+                    "type": "string",
+                    "required": "yes"
+                }
+            ]
+        },
+        {
+            "section": "extension",
+            "description": "describes the extension number",
+            "multi": true,
+            "options": [
+                {
+                    "name": "enable",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "1",
+                    "description": "Enable or disable this extension."
+                },
+                {
+                    "name": "extension_number",
+                    "default": "(extension specific)",
+                    "description": "The number assigned to this extension for internal calls. ",
+                    "type": "integer",
+                    "required": "yes"
+                },
+                {
+                    "name": "comfort_noise",
+                    "default": "0",
+                    "description": "Generated noise (White / Hot /Spectrum estimate)",
+                    "type": "integer",
+                    "required": ""
+                },
+                {
+                    "name": "txgain",
+                    "default": 4,
+                    "description": "Increase transmitted signal. ",
+                    "type": "integer",
+                    "required": ""
+                },
+                {
+                    "name": "rxgain",
+                    "default": 4,
+                    "description": "Increase received signal. ",
+                    "type": "integer",
+                    "required": ""
+                },
+                {
+                    "name": "echo_cancel",
+                    "default": 1,
+                    "description": "Remove echoes.",
+                    "type": "integer",
+                    "required": ""
+                },
+                {
+                    "name": "calling_features",
+                    "default": "set1",
+                    "description": "Describes the feature set supported by the extension",
+                    "type": "string",
+                    "required": ""
+                },
+                {
+                    "name": "name",
+                    "default": " ",
+                    "description": "The name of this extension,used for CallerIdName functionality and for displaying on screen of handset, etc..",
+                    "type": "string",
+                    "required": ""
+                },
+                {
+                    "name": "type",
+                    "default": " ",
+                    "description": "Type of the extension fxs/dect",
+                    "type": "string",
+                    "required": "yes"
+                },
+                {
+                    "name": "autodial",
+                    "default": "",
+                    "description": "Time to autodial the number",
+                    "type": "integer",
+                    "required": ""
+                },
+                {
+                    "name": "autodial_timeout",
+                    "default": "60000",
+                    "description": "Timeout for autodial timeout",
+                    "type": "integer",
+                    "required": ""
+                },
+                {
+                    "name": "dialtone_timeout",
+                    "default": "20000",
+                    "description": "Timeout for dialtone",
+                    "type": "integer",
+                    "required": ""
+                },
+                {
+                    "name": "offhook_nu_timeout",
+                    "default": "60000",
+                    "description": "Timeout for offhook",
+                    "type": "interger",
+                    "required": ""
+                },
+                {
+                    "name": "offhook_silence_timeout",
+                    "default": "180000",
+                    "description": "Timeout for offhook silence",
+                    "type": "integer",
+                    "required": ""
+                },
+                {
+                    "name": "boxnumber",
+                    "default": "",
+                    "description": "Voice mailbox number for the extension",
+                    "type": "integer",
+                    "required": ""
+                }
+            ]
+        },
+        {
+            "section": "asterisk",
+            "description": "general setting",
+            "multi": false,
+            "options": [
+                {
+                    "name": "enable",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "1",
+                    "description": "General setting is enabled or disabled"
+                },
+                {
+                    "name": "log_stderr",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Describes if log_stderr is enabled or disabled"
+                },
+                {
+                    "name": "log_stdout",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Describes if log_stdout is enabled or disabled"
+                }
+            ]
+        },
+        {
+            "section": "dialplan",
+            "description": "dialplan setting",
+            "multi": false,
+            "options": [
+                {
+                    "name": "custom_outgoing_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Turn dial plan on or off for outgoing calls."
+                },
+                {
+                    "name": "custom_incoming_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Turn dial plan on or off for incoming calls"
+                },
+                {
+                    "name": "custom_hangup_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Turn custom hang up on or off."
+                },
+                {
+                    "name": "all_ports_extension",
+                    "type": "string",
+                    "required": "",
+                    "default": "#123456",
+                    "description": "Port test extension"
+                },
+                {
+                    "name": "test_audio_extension",
+                    "type": "string",
+                    "required": "",
+                    "default": "#123456",
+                    "description": "Auto tests the audio quality."
+                },
+                {
+                    "name": "test_echo_extension",
+                    "type": "string",
+                    "required": "",
+                    "default": "#123458",
+                    "description": "Echo returns the outgoing audio from a channel back to the channel. "
+                },
+                {
+                    "name": "record_message_extension",
+                    "type": "string",
+                    "required": "",
+                    "default": "#999999",
+                    "description": "Plays recorded message from the extension."
+                },
+                {
+                    "name": "howler_timeout",
+                    "type": "integer",
+                    "required": "",
+                    "default": "180",
+                    "description": "Timeout for howler tone"
+                }
+            ]
+        },
+        {
+            "section": "sip_advanced",
+            "description": "sip setting",
+            "multi": false,
+            "options": [
+                {
+                    "name": "rtp_start",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "10000",
+                    "description": "Describes the rtp start address"
+                },
+                {
+                    "name": "rtp_end",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "20000",
+                    "description": "Describes the rtp end address"
+                },
+                {
+                    "name": "dtmf_mode",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "rfc4733",
+                    "description": "DTMF mode for SIP client configuration"
+                },
+                {
+                    "name": "remote_hold",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "yes",
+                    "description": "Send hold events to proxy (Let networkhandle music on hold). "
+                },
+                {
+                    "name": "tls_version",
+                    "type": "string",
+                    "required": "",
+                    "default": "sslv23",
+                    "description": "Tls version supported"
+                },
+                {
+                    "name": "dns_mgr",
+                    "type": "string",
+                    "required": "",
+                    "default": "no",
+                    "description": "Enable Asterisk DNS manager. "
+                },
+                {
+                    "name": "dns_mgr_refresh_interval",
+                    "type": "integer",
+                    "required": "",
+                    "default": "300",
+                    "description": "Refresh interval for the DNS manager"
+                },
+                {
+                    "name": "srv_lookup",
+                    "type": "string",
+                    "required": "",
+                    "default": "yes",
+                    "description": "Enable DNS SRV lookup. "
+                },
+                {
+                    "name": "useragent",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "Custom User-Agent information in the SIP header."
+                },
+                 {
+                    "name": "externhost",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "External host for the user"
+                },
+                {
+                    "name": "bindintf",
+                    "type": "string",
+                    "required": "",
+                    "default": "0.0.0.0",
+                    "description": "Restrict listening to particular WAN interface"
+                },
+                {
+                    "name": "bindport",
+                    "type": "integer",
+                    "required": "",
+                    "default": "5060/5061",
+                    "description": "Port to use for UDP/TCP listening."
+                },
+                {
+                    "name": "tos_sip",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "Type of Service (TOS) "
+                },
+                {
+                    "name": "rtcpinterval",
+                    "type": "integer",
+                    "required": "",
+                    "default": "",
+                    "description": "The interval between RTCP packets "
+                },
+                {
+                    "name": "blindxfer",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "Blind transfers the call to a target number"
+                },
+                {
+                    "name": "localnet",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "Specify which networks are considered local to our Asterisk system"
+                },
+                {
+                    "name": "stun_server",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "Server details which allows NAT clients"
+                }
+            ]
+        },
+        {
+            "section": "tel_advanced",
+            "description": "sip setting",
+            "multi": false,
+            "options": [
+                {
+                    "name": "country",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "se",
+                    "description": "Country code"
+                },
+                {
+                    "name": "jb_enable",
+                    "type": "string",
+                    "required": "",
+                    "default": "yes",
+                    "description": "Turn jitter prevention buffer on or off."
+                },
+                {
+                    "name": "jb_force",
+                    "type": "string",
+                    "required": "",
+                    "default": "no",
+                    "description": "Forces the receiver to use a jitter buffer."
+                },
+                {
+                    "name": "jb_maxsize",
+                    "type": "integer",
+                    "required": "",
+                    "default": "500",
+                    "description": "Size of jitter buffer (ms)."
+                },
+                {
+                    "name": "jb_impl",
+                    "type": "string",
+                    "required": "",
+                    "default": "adaptive",
+                    "description": "The type of jitter buffer Fixed /Adaptive. "
+                },
+                {
+                    "name": "dial_out_timeout",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "4000",
+                    "description": "Time between dialled digits before timing out (ms). "
+                },
+                {
+                    "name": "echo_cancel",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "1",
+                    "description": "Cancels echo arriving over voip channel if enabled"
+                },
+                {
+                    "name": "maxsessionsperline",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "2",
+                    "description": "Describes maximum session in each line "
+                },
+                {
+                    "name": "fac",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "Feature access code"
+                },
+                {
+                    "name": "hold_target_before_refer",
+                    "type": "integer",
+                    "required": "",
+                    "default": "",
+                    "description": "Allows user to hold the phone call before refer it."
+                },
+                {
+                    "name": "calleridtype",
+                    "type": "integer",
+                    "required": "",
+                    "default": "",
+                    "description": ""
+                },
+                {
+                    "name": "tel_event_pt",
+                    "type": "integer",
+                    "required": "",
+                    "default": "101",
+                    "description": "Start of dynamic payload types."
+                },
+                {
+                    "name": "packet_loss_concealment",
+                    "type": "integer",
+                    "required": "",
+                    "default": "",
+                    "description": "PLC is method of generating new audio data when packet loss is detected is enabled/disabled"
+                }
+
+            ] 
+        },
+        {
+            "section": "calling_features",
+            "description": "calling feature setting to enable /disable individual features",
+            "multi": true,
+            "options": [
+                {
+                    "name": "caller_id_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Describes if caller id is enabled/disabled "
+                },
+                {
+                    "name": "caller_name_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Describes if  presentation of caller name enabled/disabled"
+                },
+                {
+                    "name": "call_waiting_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes is call waiting is enabled/disabled"
+                },
+                {
+                    "name": "call_forward_unconditional",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Describes if call forwarding to another number is enabled/disabled"
+                },
+                {
+                    "name": "call_forward_on_busy",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes if user is busy call forward is enabled/disabled"
+                },
+                {
+                    "name": "call_forward_on_no_answer",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes if callee doesnt answer ,call foward is enabled/disabled"
+                },
+                {
+                    "name": "mwi_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes if messages waiting indication is enabled/disabled"
+                },
+                {
+                    "name": "mwi_dialtone_state",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes messages waiting indication dialtone state"
+                },
+                {
+                    "name": "messages_waiting",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes count of messages waiting"
+                },
+                {
+                    "name": "anonymous_call_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes if caller id can be hidden by enabling /disabling"
+                },
+                {
+                    "name": "dnd_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes if do not disable is enabled/disabled"
+                },
+                {
+                    "name": "voice_mail_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Enable voice voice mail service"
+                },
+                {
+                    "name": "ccbs_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes Enable or disable automatic recall on busy"
+                },
+                {
+                    "name": "redial_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Describes is redial capability is enabled"
+                },
+                {
+                    "name": "cbbs_type",
+                    "type": "string",
+                    "required": "",
+                    "default": "internal",
+                    "description": "Describes type of cbbs internal /external "
+                },
+                {
+                    "name": "internal_service",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Describes internal services can be enabled/disabled"
+                },
+                {
+                    "name": "callreturn_enable",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Describes is call return is enable"
+                },
+                {
+                    "name": "moh_passthrough",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Describes music on hold enabled"
+                },
+                {
+                    "name": "cbbs_key",
+                    "type": "integer",
+                    "required": "",
+                    "default": "5",
+                    "description": "Describes key used for cbbs"
+                },
+                {
+                    "name": "cbbs_maxretry",
+                    "type": "integer",
+                    "required": "",
+                    "default": "5",
+                    "description": "Describes max time for retry in cbbs"
+                },
+                {
+                    "name": "cbbs_retrytime",
+                    "type": "integer",
+                    "required": "",
+                    "default": "300",
+                    "description": "Describes default time wait for cbbs retry"
+                },
+                {
+                    "name": "cbbs_waittime",
+                    "type": "integer",
+                    "required": "",
+                    "default": "30",
+                    "description": "Describes wait time for cbbs"
+                },
+                {
+                    "name": "cfim_on",
+                    "type": "string",
+                    "required": "",
+                    "default": "*21*",
+                    "description": "Describes feature code for enable call forward to number unconditionally"
+                },
+                {
+                    "name": "cfim_off",
+                    "type": "string",
+                    "required": "",
+                    "default": "#21#",
+                    "description": "Describes feature code for disable call forward to number unconditionally"
+                },
+                {
+                    "name": "cfbs_on",
+                    "type": "string",
+                    "required": "",
+                    "default": "*61*",
+                    "description": "Describes feature code for enable call forward on no answer/reply"
+                },
+                {
+                    "name": "cfbs_off",
+                    "type": "string",
+                    "required": "",
+                    "default": "#61#",
+                    "description": "Describes feature code for disable call forward on no answer/reply"
+                },
+                {
+                    "name": "cfb_on",
+                    "type": "string",
+                    "required": "",
+                    "default": "*67*",
+                    "description": "Describes feature code for enable call forward on busy"
+                },
+                {
+                    "name": "cfb_off",
+                    "type": "string",
+                    "required": "",
+                    "default": "#67#",
+                    "description": "Describes feature code for disable call forward on busy"
+                },
+                {
+                    "name": "cw_on",
+                    "type": "string",
+                    "required": "",
+                    "default": "43#",
+                    "description": "Describes feature code for enable call waiting "
+                },
+                {
+                    "name": "cw_off",
+                    "type": "string",
+                    "required": "",
+                    "default": "#43#",
+                    "description": "Describes feature code for disable call waiting "
+                },
+                {
+                    "name": "cw_status",
+                    "type": "string",
+                    "required": "",
+                    "default": "*#43",
+                    "description": "Describes feature code for checking status of call waiting "
+                },
+                {
+                    "name": "dnd_on",
+                    "type": "string",
+                    "required": "",
+                    "default": "*261#",
+                    "description": "Describes feature code for enable do not disturb"
+                },
+                {
+                    "name": "dnd_off",
+                    "type": "string",
+                    "required": "",
+                    "default": "#261#",
+                    "description": "Describes feature code for disable do not disturb"
+                },
+                {
+                    "name": "dnd_status",
+                    "type": "string",
+                    "required": "",
+                    "default": "#261#",
+                    "description": "Describes feature code for checking status of do not disturb"
+                },
+                {
+                    "name": "call_return",
+                    "type": "string",
+                    "required": "",
+                    "default": "*69",
+                    "description": "Describes feature code for  call return"
+                },
+                {
+                    "name": "redial",
+                    "type": "string",
+                    "required": "",
+                    "default": "*66",
+                    "description": "Describes feature code for redial"
+                }
+            ]
+        },
+        {
+            "section": "log",
+            "description": "call logging setting",
+            "multi": false,
+            "options": [
+                {
+                    "name": "console",
+                    "type": "string",
+                    "required": "",
+                    "default": "notice,warning,error",
+                    "description": "Describes logging for console setting"
+                },
+                {
+                    "name": "messages",
+                    "type": "string",
+                    "required": "",
+                    "default": "error",
+                    "description": "Describes logging for messages setting"
+                },
+                {
+                    "name": "syslog_facility",
+                    "type": "string",
+                    "required": "",
+                    "default": "local0",
+                    "description": "Describes syslog setting"
+                },
+                {
+                    "name": "syslog",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "Describes syslog path setting"
+                }
+            ]
+        },
+        {
+            "section": "cdr",
+            "description": "call logging data",
+            "multi": false,
+            "options": [
+                {
+                    "name": "csv_max_row",
+                    "type": "integer",
+                    "required": "",
+                    "default": "100",
+                    "description": "Describes maximum number of rows in csv file"
+                }
+            ]
+        },
+        {
+            "section": "codec_profile",
+            "description": "describes codec details",
+            "multi": true,
+            "options": [
+                {
+                    "name": "name",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "G.711ALaw ,G.711MuLaw",
+                    "description": "Codec profile name "
+                },
+                {
+                    "name": "ptime",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "20",
+                    "description": "Describes codec ptime"
+                }
+            ]
+        },
+        {
+            "section": "incoming_map",
+            "description": "Describes which extensions ring when an incoming call is received",
+            "multi": true,
+            "options": [
+                {
+                    "name": "enable",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "1",
+                    "description": "Describes if map is enabled/disabled"
+                },
+                {
+                    "name": "extension",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "group1/group2",
+                    "description": "Extension that rings on incoming call. "
+                },
+                {
+                    "name": "line",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "line0",
+                    "description": "Describes line used by the call."
+                }
+            ]
+        },
+        {
+            "section": "outgoing_map",
+            "description": "Describes which line is used when an extension makes a call.",
+            "multi": true,
+            "options": [
+                {
+                    "name": "enable",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "1",
+                    "description": "Describes if map is enabled/disabled "
+                },
+                {
+                    "name": "extension",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "group1/group2",
+                    "description": "Extension which makes the outgoing call. "
+                },
+                {
+                    "name": "line",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "line0",
+                    "description": "Identifies the Line to be used for outgoing calls."
+                }
+            ]
+        },
+        {
+            "section": "group",
+            "description": "Models an extension as a group of extensions.",
+            "multi": true,
+            "options": [
+                {
+                    "name": "extensions",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "extension0/extension1/extension2/extension3",
+                    "description": "Extension which for the call."
+                }
+            ]
+        },
+        {
+            "section": "call_filter",
+            "description": " ",
+            "multi": false,
+            "options": [
+                {
+                    "name": "block_foreign",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Block calls to different locales."
+                },
+                {
+                    "name": "block_special_rate",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Block calls to premium rate or pay services."
+                },
+                {
+                    "name": "block_outgoing",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Turn blocking on or off for outgoing calls. "
+                },
+                {
+                    "name": "block_incoming",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Turn blocking on or off for incoming calls"
+                }
+            ]
+        },
+        {
+            "section": "sip_service_provider",
+            "description": "Describes the sip account details",
+            "multi": true,
+            "options": [
+                {
+                    "name": "name",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "account 1",
+                    "description": "Name of SIP account"
+                },
+                {
+                    "name": "enable",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "0",
+                    "description": "If enabled/disabled"
+                },
+                {
+                    "name": "codecs",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "alaw,ulaw",
+                    "description": "Codecs available for the device"
+                },
+                {
+                    "name": "support_fax",
+                    "type": "integer",
+                    "required": "",
+                    "default": "0",
+                    "description": "Indicate that this SIP account can be used for a fax machine"
+                },
+                {
+                    "name": "transport",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "udp",
+                    "description": "Describes the type of transport"
+                },
+                 {
+                    "name": "outbound_proxy",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "Address for outbound proxy. "
+                },
+                {
+                    "name": "outbound_proxy_port",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "5060/5061",
+                    "description": "Port for outbound proxy. "
+                },
+                {
+                    "name": "dtmf_mode",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "rfc4733",
+                    "description": "Mode for DTMF (Compatibility / RFC 2833 / SIP INFO / Inband)."
+                },
+                {
+                    "name": "encryption",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "no",
+                    "description": "Encryption enabled/disabled"
+                },
+                {
+                    "name": "mediasec",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "0",
+                    "description": "Mediasec enabled/disabled"
+                },
+                {
+                    "name": "domain",
+                    "type": "string",
+                    "required": "yes",
+                    "default": " ",
+                    "description": "SIP domain details "
+                },
+                {
+                    "name": "user",
+                    "type": "string",
+                    "required": "yes",
+                    "default": " ",
+                    "description": "The SIP account username for the account."
+                },
+                {
+                    "name": "authuser",
+                    "type": "string",
+                    "required": "yes",
+                    "default": " ",
+                    "description": "SIP Authentication Name used with password to register with SIP server"
+                },
+                {
+                    "name": "secret",
+                    "type": "string",
+                    "required": "yes",
+                    "default": " ",
+                    "description": "Password user for authentication." 
+                },
+                {
+                    "name": "displayname",
+                    "type": "string",
+                    "required": "yes",
+                    "default": " ",
+                    "description": "Display name used in Caller ID."
+                },
+                {
+                    "name": "host",
+                    "type": "string",
+                    "required": "yes",
+                    "default": " ",
+                    "description": "Specific host for this user. "
+                },
+                {
+                    "name": "realm",
+                    "type": "string",
+                    "required": "",
+                    "default": " ",
+                    "description": "Identifies a security boundary"
+                },
+                {
+                    "name": "tos_audio",
+                    "type": "string",
+                    "required": "",
+                    "default": " ",
+                    "description": "Sets TOS for RTP audio packets."
+                },
+                {
+                    "name": "tos_video",
+                    "type": "string",
+                    "required": "",
+                    "default": " ",
+                    "description": "Sets TOS for RTP video packets."
+                },
+                {
+                    "name": "defaultexpiry",
+                    "type": "integer",
+                    "required": "",
+                    "default": "3600",
+                    "description": "Designates the lifespan of the registration."
+                },
+                {
+                    "name": "registertimeout",
+                    "type": "integer",
+                    "required": "",
+                    "default": " ",
+                    "description": "Number of seconds to wait for a response from a SIP Registrar before classifying the SIP REGISTER has timed out. "
+                },
+                {
+                    "name": "registerattempts",
+                    "type": "integer",
+                    "required": "",
+                    "default": "",
+                    "description": "Number of registration attempts before giving up."
+                }
+            ]
+        },
+        {
+            "section": "voicemail",
+            "description": "Describes the voice mail account details",
+            "multi": false,
+            "options": [
+                {
+                    "name": "extension",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Extension dialled to retrieve voicemail."
+                },
+                {
+                    "name": "timeout",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Timer to send caller to voicemail if call is not answered"
+                }
+               ]
+          },
+          {
+            "section": "mailbox",
+            "description": "Describes the mailbox for the extension",
+            "multi": true,
+            "options": [
+                {
+                    "name": "pin",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Pin to retrieve voicemail"
+                },
+                {
+                    "name": "boxnumber",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Voicemail box number"
+                },
+                 {
+                    "name": "enable",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Describes if the mailbox is enabled/disabled"
+                }
+               ]
+          },
+           {
+            "section": "numberingplan",
+            "description": "Integration related the numbering plan.",
+            "multi": true,
+            "options": [
+                {
+                    "name": "maxnumdigits",
+                    "type": "integer",
+                    "required": "",
+                    "default": "15",
+                    "description": "When this number of digits has been collected, an outgoing request (e.g., a SIP INVITE) MUST be initiated. Any additional dialed digits will be ignored."
+                },
+                {
+                    "name": "minimumnumberdigits",
+                    "type": "integer",
+                    "required": "",
+                    "default": "1",
+                    "description": "Minimum number of digits to be collected before an outgoing request (e.g., a SIP INVITE) can be initiated."
+                },
+                 {
+                    "name": "interdigitopenmsec",
+                    "type": "integer",
+                    "required": "",
+                    "default": "3000",
+                    "description": "This timer is the maximum allowable time (expressed in milliseconds) between the dialing of digits once the minimum number of digits defined on a prefix based has been reached."
+                },
+                 {
+                    "name": "terminationdigit",
+                    "type": "string",
+                    "required": "",
+                    "default": "#",
+                    "description": "Digit that can be used by the subscriber to indicate that dialing has completed."
+                }
+               ]
+          },
+          {
+            "section": "prefixinfo",
+            "description": "Information related to an individual prefix in the NumberingPlan.",
+            "multi": true,
+            "options": [
+                {
+                    "name": "prefixrange",
+                    "type": "string",
+                    "required": "",
+                    "default": "",
+                    "description": "A string representation of a range of prefixes.It consists of FROM part ,optional TO part consisting of exactly one digit prefixed by a '-' symbol "
+                },
+                {
+                    "name": "prefixenable",
+                    "type": "string",
+                    "required": "",
+                    "default": "false",
+                    "description": "Enables or disables this entry."
+                },
+                {
+                    "name": "prefixmaxdigits",
+                    "type": "string",
+                    "required": "",
+                    "default": "1",
+                    "description": "Maximum number of allowable digits for the prefix range. Once the number of digits received reaches this value an outgoing request is initiated."
+                }
+                ]
+          }
+    ]
+}
-- 
GitLab