API Version: 6.4
System-Admin
or Company-Admin
permissions.System-Admin
permission./rest/dialplan/create/
6.3.10+{
"type": "extension",
"values": {
"virt_exten": "extension number" or ["ext", "ext"...],
"company": "company",
"private": bool, // true to create as private ext.
"voicemail": bool, // Enable voicemail on creation
"nightmode": null or 0 to 9 // 0..9 = nightmode 1..10
}
}
{
"result": "success",
"numrows": number-of-rows
}
{
"type": "extension",
"values":{
"virt_exten": "342",
"company": "test",
"voicemail": true,
"nightmode": 0
}
}
{
"result": "success",
"numrows": 1
}
/rest/dialplan/read/
owner
is specified in the columns
specifier, it will be filled with the contact ID of the owner of the extension, or null if there is none.scoped_exten
scope value is artificial, and is constructed on-the-fly. The code will attempt to optimise the query but this is a heavier operation than querying virt_exten
.virt_exten	: The base extension name or number
company		: The company id this extensions exists in
scoped_exten	: Either 'extension' or 'extension_company' (The latter for private extensions)
owner		: The contact ID of the extension's owner
name		: The extensions' name
ring_type	: The type of extension eg 'A'll, 'H'unt, 'Q'ueue, 'C'onference, soft'F'ax
callerid	: CallerID override. A prefix of '-' means withheld
ring_time	: Ring duration, or null for global default
{
"type": "extension",
"scope": {
"virt_exten": ["extension numbers", ...], // eg "400"
"scoped_exten": ["scoped extension numbers", ...], // eg "400_company"
"company": "company"
},
"columns": [
"column name",
...
]
}
{
"result": "success",
"values": [
{
"column": "column-value",
...
},
...
],
"numrows": number-of-rows
}
{
"type": "extension",
"scope": {
"scoped_exten": "400_test"
},
"columns": [
"virt_exten",
"company",
"scoped_exten",
"owner"
]
}
{
"result": "success",
"values": [
{
"virt_exten": "400",
"company": "test",
"scoped_exten": "400_test",
"owner": 781
}
],
"numrows": 1
}
/rest/dialplan/readfull/
6.3.10+read
command above, you cannot query the owner
using this call. On the other hand, the full complement of columns as documented under update
below can be accessed instead.scoped_exten
scope value is artificial, and is constructed on-the-fly. The code will attempt to optimise the query but this is a heavier operation than querying virt_exten
.{
"type": "extension",
"scope": {
"virt_exten": ["extension numbers", ...], // eg "400"
"scoped_exten": ["scoped extension numbers", ...], // eg "400_company"
"company": "company"
},
"columns": [
"column name",
...
]
}
{
"result": "success",
"values": [
{
"column": "column-value",
...
},
...
],
"numrows": number-of-rows
}
/rest/dialplan/update/
6.3.10+ System-Admin
or Company-Admin
permissions. The scope
specification must resolve to exactly one extension to be updated.{
"type": "extension",
"scope": {
"virt_exten": "extension numbers", // eg "400"
"scoped_exten": "scoped extension number", // eg "400_company"
"company": "company"
},
"values": {
"column": "value", // See below.
...
}
}
{
"result": "success",
"numrows": 1
}
name: The extension name as a string, alphanumeric, dot, space, dash and underscore.
voicemail_box: The voicemail box for this extension, or '' for none.
voicemail_mon: Voicemail monitor: 1 On, 2 Owner Phone, 3 Off, 4 Owner Calls
priority: Line allocation priority: 0: highest to 10: lowest or null for no line
ring_type: A: All at once
 H: Hunt Dialling
 Q: Call Queuing
 I: IVR Menu
 F: Soft Fax
 T: Tannoy/Pager
 C: Conference Access
 O: Parking Orbit
 V: Voicemail Pickup
 P: External VM Pickup
 X: External Access
ring_time: 0 to 999 seconds, or null for system global.
			For 'Q' type it is a Queue timeout.
			For 'O' type this is number of orbits in range 0 to 49.
passcode: numeric or null.
phonebook: Phonebook visibility setting.
 0: Ex-directory
 1: Visible in same company
 2: Visible to all logged-in PABX users
 3: Fully listed
 Single company units will ignore 1 and treat as 0
 Hosted mode systems will ignore all values except 0 and 3, and 3 is treated like 1.
callerid: CallerID for outbound calls. Prefix with '-' to request number witheld by default.
ivr_menu: IVR menu name for 'I' type extensions.
vm_jump_star: Jump extension from voicemail with '*'
vm_jump_zero: Jump extension from voicemail with '0'
no_vm_jump: Day-mode no-answer jump target.
no_vm_jump_night: Night-mode no-answer jump target.
intro_day: 00 to 99, intro message in day mode.
intro_night: 00 to 99, intro message in night mode.
busy_retry: Busy retry attempts for 'A' type extensions.
rec_override: Bitfield value for call recording (0 to 63), null for company default:
 1: Internal Made
 2: External Made
 4: Internal Received
 8: External Received
 16: Force NEVER
 32: OTR allowed
moh_in: 0 (default) or 1 to 5
moh_out: 0 (default) or 1 to 5
subtype: Queue configuration string for 'Q' type extensions
			Conference configuration for 'C' type extensions
 or '' for non-Queue. (see below)
cname_prefix_ext: CallerID name prefix for external calls.
cname_prefix_int: CallerID name prefix for internal calls.
 null: Global default
 0: Off/disable
 1-6: number of digits off end of (external) number
 exten: Use extension number
 exnam: Use extension name
fid: Handset forwards treated as DnD for this extension. null (system default), 0 off or 1 on.
nightmode: -1 for no nightmode, 0-9 for Nightmodes 1 thru 10.
bounce_mode: Only valid for 'A', 'H' and 'Q' type extensions
 disabled: no call bounce back
 1: return to line 1
 orig: return to original call line
 last: return to last line of handset
 fall: just use fall-through
bounce_before: Boolean true/false. True to bounce before checking for jump/voicemail
bounce_duration: Time before fall-through, 0 for never
bounce_type: once: Call once then fall-thru
 many: Call repeats until timeout"
bounce_fall: Fallback target extension or ''.
vm_callback: Enable returning calls from within this extensions own voicemail box.
 0: Use global setting
 1: Enabled
 -1: Disabled
email: Fallback voicemail email address.
email_vm_att: Fallback voicemail attach setting (Bool)
email_vm_del: Fallback voicemail delete on send setting (Bool)
subtype
conference configuration parameters have one optional value:Byte 1: Q Quiet no-announce conference
subtype
queue configuration parameters make up a single 18 character string as follows:Byte 1: Queue type
 (Lower-case letters play only hold music)
 a Ring All - One call at a time
 d Ring All - No queue if first
 e Ring All - Avoid queueing
 r Cyclic - One call at a time
 f Cyclic - Max num. calls
 l Ordered - Try agents in order (not on hosted, requires restart)
 (Capital letters enable Queue position announcements)
 A Ring All - One call at a time
 D Ring All - No queue if first
 E Ring All - Avoid queueing
 R Cyclic - One call at a time
 F Cyclic - Max num. calls
 L Ordered - Try agents in order (not on hosted, requires restart)
Byte 2: 'y' or ' ' y: Autopause agents if not answering.
Byte 3: 'Y', 'y' or ' ' y: Exit queue if no agents. Y: Exit queue if no agents or all-paused
Byte 4: 'y' or ' ' y: Play ringing instead of MOH
Byte 5: 'y' or ' ' y: Announce hold time to agent
Byte 6: Dynamic priorities
 ' ' off
 1 Min priority increases 1 per 10sec
 3 Min priority increases 1 per 30sec
 y Min priority increases 1 per minute
 l Min priority increases quick to slow
Byte 7,8: ' ' or 01 to 99 Queue default caller priority
Byte 9,10: ' ' - reserved
Byte 11,12: ' ' or 00 to 99 - Prompt message to play periodically
Byte 13,14: ' ' or 00 to 99 - Prompt message to play periodically
Byte 15,16: ' ' or 00 to 99 - Prompt message to play periodically
Byte 17,18: ' ' or 00 to 99 - Prompt message to play periodically
Byte 19:		'y' or ' ' y: Enable abandoned call emails.
/rest/dialplan/delete/
6.3.10+ System-Admin
permission. The scope
specification must resolve to exactly one extension to be deleted.{
"type": "extension",
"scope": {
"virt_exten": "extension numbers", // eg "400"
"scoped_exten": "scoped extension number", // eg "400_company"
"company": "company"
}
}
{
"result": "success",
"numrows": 1,
"mailbox": "Indication of success/failure of mailbox purge"
}