logo


Work in Progress - please referer to the legacy documentation presently for a more detailed field description where appropriate.

The API url to perform agent actions:

	http(s)://api.dxi.eu/database.php?token=...

To access all DXI API interfaces, all requests need to have an access
token which will authorize requests for a particular account for a fixed period
of time. These requests are also restricted to the internet address that
requested the token. The token API documentation can be read here.

The Database API has a number of available functions. The request arguments can all
be passed as HTTP POST or GET variables:

RESULT

The response from the API can be formatted in either JSON, XML or CSV format.
The default is XML but this can be modified by the format argument.

With the exception of CSV import and export, the API will output a number of
optional values depending on the request made. However every request will return
a success value, essentially denoting if the request failed or not.

success: Did the request succeed. value: true or false (JSON) | 1 or 0 (XML)
error: If the request failed, this field will contain a description of the fault.

Example JSON return:

	{"success":true}
	{"success":false,"error":"Bad argument: xyz"}

Example XML return:

	<result><success>1</success></result>
	<result><success>1</success><error>Bad argument: xyz</error></result>

COMMON ARGUMENTS

The following are arguments available on all Database API requests.

format: xml, json or csv - specify the input and output data formats. Defaults to xml.
action: specify the command to perform: create, read, update or delete.
method: see below - specify the database method to access.

EXPORT FILTERS

Almost all methods using the read action can have their data filtered when
exporting the data. The filters available are dependant on the method used and
are documented in their relevant sections.

Note: the filter argument when used as a statement filter can compare
values using basic logical comparisions. e.g. =, !=, >, <, >=, <=

The following are arguments available on all read requests.

limit: integer - limit the returned entires to the first N values. Defaults to all values.
	Note: the total value will still show the total number of records that would have
	been returned as if no limit filter was specified.

sort: string - sort the result by the specified field. Defaults to no sorting.
	Note: add " DESC" to the argument to sort in reverse order.

UPLOADING FILES

When uploading files for the create, update or delete actions, in default mode
the API expects the data in multipart/form MIME format via a HTTP POST request,
with the input file marked with an dxi name field. For example in a
basic HTML form this would look something like the following:

	<form name="myform" enctype="multipart/form-data" action="https://api.dxi.eu/database.php?action=create&format=xml" method="POST">
		<input type="hidden" name="method" value="{method}">
		<input type="hidden" name="token" value="{token}">
		Send this file: <input name="dxi" type="file">
		<input type="submit" value="Send XML File">
	</form>

The API accepts input files in XML, JSON or CSV format using plain text (ascii)
or UTF-8 encoded data. The API does not accept data in UTF-16 encoding.

To assist in uploading large data files or connections over slow links the
uploaded files can be compressed as .zip, .gz or .bz2 formats. The uploaded
filename must have the appropriate file extension for the API to detect
if compression was used.

Currently the API HTTP layer cannot process upload requests with the "Expect:
100-Continue" header and will fail with an error "417 - Expectation Failed".
Unfortunately this is the default in a number of software libraries and
languages, however it can be disabled in all those we have encountered so far.

Using PHP + CURL this would be done something like:

	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));

or with .NET:

	System.Net.ServicePoint.Expect100Continue = false;

RAW DATA UPLOADS

The alternative to this is if the optional argument raw is set to 1, defaults to unset.

This is only valid on a POST request and then instead of a multipart/form-data upload,
the input data is taken as is. So instead of an attachment the data can be sent as a
raw text stream. However this does not support audio files uploads or compressed file formats
and is meant for small XML or JSON requests.

---

Examples to create two new agents:

XML
	<?xml version='1.0' encoding='utf-8' ?>
	<dxi>
		<agent>
			<name>Fred Smith</name>
			<pin>1234</pin>
			<username>fsmith100</username>
			<password>qwerty1234</password>
		</agent>
		<agent>
			<name>Suzy Sue</name>
			<pin>2345</pin>
			<username>suzysue</username>
			<password>abcdef1234</password>
		</agent>
	</dxi>

JSON
	[{"name":"Fred Smith","pin":1234,"username":"fsmith100","password":"qwerty1234"},
	 {"name":"Suzy Sue","pin":2345,"username":"suzysue","password":"abcdef1234"}]

CSV
	name,pin,username,password
	Fred Smith,1234,fsmith100,qwerty1234
	Suzy Sue,2345,suzysue,abcdef1234




agents
Manipulate agents.
filters
	agent: agent id or comma seperated list of agent id's
	name: find agent names containing this text (case insensitive)
	filter: logical statement match against the agents filter field

fields
	agentid - the unique agent id
	name - the agents name
	moh - the agents music on hold setting
	userfield - a user defined field
	filter -
	pin - the agents pin number for phone login
	username - username for website access
	password - password for website access
	phone -

defaults
	<agentid />
	<name />
	<moh>none</moh>
	<userfield />
	<filter>0</filter>
	<pin>0</pin>
	<username />
	<password />
	<phone />


audio
Manipulate the audio settings for a queue.
filter
	qid: queue id or comma seperated list of queue id's
	filter: logical statement match against the queues filter field

fields
	qid - the queue id
	welcome - audio id of the welcome message
	intro - audio id of the intro message
	announce - audio id of the announcement message
	abandon - audio id of the abandon message
	whisper - audio id of the whisper message
	dnc_welcome - audio id of the DNC welcome message
	dnc_intro - audio id of the DNC intro  message
	dnc_msg - audio id of the DNC menu message
	dnc_thanks - audio id of the DNC thank-you message
	voicemail - audio id of the voicemail message
	hangup - audio id of the hangup message
	intro_skip - audio id of the intro-skipped message
	opt_welcome - audio message options
	opt_intro - audio message options
	opt_announce - audio message options
	opt_abandon - audio message options
	opt_whisper - audio message options
	opt_dnc_welcome - audio message options
	opt_dnc_intro - audio message options
	opt_dnc_msg - audio message options
	opt_dnc_thanks - audio message options
	opt_voicemail - audio message options
	opt_hangup - audio message options
	opt_intro_skip - audio message options

defaults
	<qid>0</qid>
	<welcome>0</welcome>
	<intro>0</intro>
	<announce>0</announce>
	<abandon>0</abandon>
	<whisper>0</whisper>
	<dnc_welcome>0</dnc_welcome>
	<dnc_intro>0</dnc_intro>
	<dnc_msg>0</dnc_msg>
	<dnc_thanks>0</dnc_thanks>
	<voicemail>0</voicemail>
	<hangup>0</hangup>
	<intro_skip>0</intro_skip>
	<opt_welcome />
	<opt_intro />
	<opt_announce />
	<opt_abandon />
	<opt_whisper />
	<opt_dnc_welcome />
	<opt_dnc_intro />
	<opt_dnc_msg />
	<opt_dnc_thanks />
	<opt_voicemail />
	<opt_hangup />
	<opt_intro_skip />


audio_files
Method used to load, update or remove audio files from the system.

campaigns
Manipulate campaign groups.
filters
	uid: campaign id
	name: find campaigns containing this text (case insensitive)
	state: [active | inactive]
	filter: logical statement match against the campaigns filter field

fields
	campaignid - the unique campaign id
	description - the campaign name
	state - enable all queues in the campaign
	filter -

defaults
	<campaignid>0</campaignid>
	<description />
	<state>1</state>
	<filter>0</filter>


datasets
Manipulate dialer records via dataset id's.
filters
	qid: queue id or comma seperated list of queue id's
	dataset: dataset id
	urn: record URN
	state: [active | inactive]

defaults
	<id>0</id>
	<qid>0</qid>
	<value />
	<status />


dnc
Export the DNC (Do Not Call) logs.
filters
	qid: queue id or comma seperated list of queue id's
	tstart: datetime of first call to match
	tstop: datetime of last call to match

fields
	<ddi />
	<qid />
	<urn />
	<when />


ivr
Manipulate IVR rulesets for ivr and broadcast queues.
filters
	qid: queue id
	menu: menu id

fields
	menu -
	qid -
	description -
	audio_intro -
	audio_menu -
	audio_invalid -
	cmd_chk -
	data_chk -
	cmd_true -
	data_true -
	cmd_false -
	data_false -
	cmd_1 -
	data_1 -
	....
	....
	cmd_0 -
	data_0 -
	cmd_hash -
	data_hash -
	cmd_star -
	data_star -
	cmd_timeout -
	data_timeout -

defaults
	<menu>0</menu>
	<qid>0</qid>
	<description />
	<audio_intro />
	<audio_menu />
	<audio_invalid />
	<cmd_chk />
	<data_chk />
	<cmd_true />
	<data_true />
	<cmd_false />
	<data_false />
	<cmd_1 />
	<data_1 />
	<cmd_2 />
	<data_2 />
	<cmd_3 />
	<data_3 />
	<cmd_4 />
	<data_4 />
	<cmd_5 />
	<data_5 />
	<cmd_6 />
	<data_6 />
	<cmd_7 />
	<data_7 />
	<cmd_8 />
	<data_8 />
	<cmd_9 />
	<data_9 />
	<cmd_0 />
	<data_0 />
	<cmd_hash />
	<data_hash />
	<cmd_star />
	<data_star />
	<cmd_timeout />
	<data_timeout />


outcomecodes
Manipulate disposition / outcome codes.
filters
	uid: match outcome
	mode: set to system to return just the internal system outcome codes.

fields
	outcome - The outcome id
	description - Outcome label
	dmc - Y | N
	sale - Y | N
	complete - Y | N
	answerphone - Y | N

defaults
	<outcome>0</outcome>
	<description />
	<dmc />
	<sale />
	<complete />
	<answerphone>0</answerphone />


priority
Manipulate agent assignments per queue.
filters
	qid: queue id or comma seperated list of queue id's
	agent: agent id or comma seperated list of agent id's
	state: [active | inactive]
	filter: logical statement match against the queues filter field
	afilter: logical statement match against the agents filter field

defaults
	<agentid>0</agentid>
	<qid>0</qid>
	<level>100</level />


queues
Manipulate queues.
filters
	qid: queue id or comma seperated list of queue id's
	name: find queue descriptions containing this text (case insensitive)
	type: queue type (outbound, inbound, etc)
	filter: logical statement match against the queues filter field

fields
	qid - the unique queue id
	type - inbound | outbound | broadcast | ivr | voicemail | conference
	description - name of the queue
	callerid - the CLI for outgoing calls on this queue
	campaignid - the campaign id the queue is assigned to
	announce - announcement message delay (in seconds)
	monitor - enable call recording (customer call-leg)
	amd - enable answer machine detection
	level - the queue priority level
	key -
	sequential - enable sequential dialing
	redirect - redirection phone number
	max_wait - maximum wait time (in seconds)
	sametime -
	autohangup - auto-hangup the call (in seconds)
	tod - the time-of-day policy id
	announce_jump - the queue id for the announce-jump feature
	max_wait_redirect - override the redirect field if max_wait hit
	filter -
	tpt_record - enable call recording (third party calls)

defaults
	<qid>0</qid>
	<type />
	<description />
	<callerid />
	<campaignid>0</campaignid>
	<announce>0</announce>
	<monitor>1</monitor>
	<amd>1</amd>
	<level>100</level>
	<key>0</key>
	<sequential>0</sequential>
	<redirect />
	<max_wait>0</max_wait>
	<sametime>0</sametime>
	<autohangup>0</autohangup>
	<tod>0</tod>
	<announce_jump>0</announce_jump>
	<max_wait_redirect />
	<filter>0</filter />
	<tpt_record>1</tpt_record>


records
Manipulate dialer data records.
filters
	qid: queue id or comma seperated list of queue id's
	agent: agent id or comma seperated list of agent id's
	dataset: dataset id
	urn: record URN

fields
	qid - the queue id the record is assigned to (required value)
	urn - the unique customer reference number of the record (required value)
	status - -1 = on hold | 0 = to be deleted | 1,2,3 = next dialed DDI is 1, 2 or 3
	level - record priority level
	agentid - only assign this record to specified agent
	ddi_1 - DDI #1 (required value)
	ddi_2 - DDI #2
	ddi_3 - DDI #3
	callback - earliest datetime this record can be dialed
	dataset_id - customer assigned dataset of the record (optional - used by dataset method)
	cb_sametime - only dial the record in the same hour period of the callback

defaults
	<qid />
	<urn />
	<status>1</status>
	<level>0</level>
	<agentid>0</agentid>
	<ddi_1 />
	<ddi_2 />
	<ddi_3 />
	<callback />
	<dataset_id>0</dataset_id>
	<cb_sametime>0</cb_sametime>


settings
Configure the outbound dialer settings.
filters
	qid: queue id or comma seperated list of queue id's
	filter: logical statement match against the queues filter field

fields
	qid - the queue id
	d_max - the maximum number of lines to dial on the queue
	d_timeout - how long to dial the number before terminating the call if unanswered (seconds)
	d_abandon - the maximum abandon rate (percent)
	d_mode - 0 = predictive | 1 = 1:1 (B2B) | 2 = preview
	d_order - 0 = call undialed records first | 1 = call "fresh" data first (most recently loaded)
		[only applies for records with equal priority levels]
	d_recycle - enable automatic data recycling
	d_retry - default retry time (minutes)
	d_retry_engaged - retry time on engaged lines
	d_retry_noanswer - retry time on no answers
	d_retry_deadline - retry time on dead lines
	d_retry_answerphone - retry time on dialer detected answer machines
	d_retry_abandon - retry time on abandoned calls
	d_max_dials - cleanup code 105 : remove record if dialed N times (soft limit, ignored if a human has ever answered)
	d_max_noanswer - cleanup code 105 : remove record after N no answer results
	d_max_contacts - cleanup code 106 : remove record after N contacts and still not completed
	d_max_invalid - cleanup code 104 : remove record after N invalid results (hard carrier failures)
	d_max_deadline - cleanup code 104 : remove record after N deadline results (soft carrier failures)
	d_max_machines - cleanup code 105 : remove record after N answer machine (dialler + agent) results
	d_max_attempts - cleanup code 111 : remove record if dialed N times (hard limit)
	d_max_age - cleanup code 111 : remove record after N days
	d_timeout_manual - how long to dial a manual call (seconds)
	d_min_priority - only dial records at or above this priority level
	dnc_option_2 -
	broadcast_dpa - broadcast calls per waiting agent
	broadcast_start - datetime to start a broadcast queue
	broadcast_stop - datetime to stop a broadcast queue
	autodec_noanswer - auto decrement record priority level on No Answer
	autodec_deadline - auto decrement record priority level on Deadline
	autodec_machine - auto decrement record priority level on Answer Machine
    callback_in_queue - Turn on Callback In Queue. Integer (1/0). 0 = On (default) | 1 = On. (Allow Inbound callers to reserve their queue position to be called back when an agent becomes available.)
	cbiq_threshold - Integer (0 - 100). (Callback In Queue option) Number of queuing callers before callback in queue is triggered.
    cbiq_qid - Integer value. Outbound Queue id. Default to the inbound queue id of the original call.
	allow_alt_number - Integer (1/0). (Callback In Queue option) Allow customers to enter alternative number for callback 1 = On (default) | 0 = Off
	barring_rule - String.(Callback In Queue option) Barring rules for callers opting to use callback in queue. Comma separated list of phone prefix e.g. 070,090,0870
    announce_position - Integer (1/0). Choose whether tp announce the callers position in the Queue. Default to 1.

Notes: All cleanup codes with the exception of d_max_age only apply to call records dialed with the last month.

defaults
	<qid>0</qid>
	<d_max>100</d_max>
	<d_timeout>26</d_timeout>
	<d_abandon>3</d_abandon>
	<d_mode>0</d_mode>
	<d_order>0</d_order>
	<d_recycle>1</d_recycle>
	<d_retry>360</d_retry>
	<d_retry_engaged>360</d_retry_engaged>
	<d_retry_noanswer>360</d_retry_noanswer>
	<d_retry_deadline>360</d_retry_deadline>
	<d_retry_answerphone>360</d_retry_answerphone>
	<d_retry_abandon>4320</d_retry_abandon>
	<d_max_dials>10</d_max_dials>
	<d_max_noanswer>0</d_max_noanswer>
	<d_max_contacts>10</d_max_contacts>
	<d_max_invalid>2</d_max_invalid>
	<d_max_deadline>3</d_max_deadline>
	<d_max_machines>0</d_max_machines>
	<d_max_attempts>0</d_max_attempts>
	<d_max_age>0</d_max_age>
	<d_timeout_manual>30</d_timeout_manual>
	<d_min_priority>0</d_min_priority>
	<dnc_option_2>0</dnc_option_2>
	<broadcast_dpa>0</broadcast_dpa>
	<broadcast_start />
	<broadcast_stop />
	<autodec_noanswer>0</autodec_noanswer>
	<autodec_deadline>0</autodec_deadline>
	<autodec_machine>0</autodec_machine>
	<callback_in_queue>0</callback_in_queue>
	<cbiq_threshold>0</cbiq_threshold>
	<cbiq_qid>0</cbiq_qid>
	<allow_alt_number>0</allow_alt_number>
	<barring_rule />
	<announce_position>1</announce_position>


stats
Export statistics for records loaded onto the dialer.
filters
	qid: queue id or comma seperated list of queue id's
	dataset: dataset id

fields
	qid -
	level -
	live -
	disabled -
	undialed -
	available -


tod_policy
Manipulate time-of-day policies.
filters
	policy: policy id

fields
	uid -
	description -
	default -

defaults
	<uid>0</uid>
	<description />
	<default>voicemail</default />


tod_rules
Manipulate the rules for a time-of-day policy.
	queue - place the call into the queueing system.
	voicemail - play the queue voicemail message (see audio method) and record the call.
	hangup - hangup the call.
	jump:### - send the call to the specified queue id.
filters
	policy: policy id

fields
	policy -
	rule -
	year -
	month -
	date -
	days -
	range -
	action -

defaults
	<policy>0</policy>
	<rule>0</rule>
	<year>0</year>
	<month>0</month>
	<date>0</date>
	<days />
	<range>*</range>
	<action>queue</action />


cdr_log
Export CDR records.
filters
	uid: match id's >= to this value. a range of values can be specified by using the format low:high
	qid: queue id or comma seperated list of queue id's
	dataset: dataset id
	agent: agent id or comma seperated list of agent id's
	ddi: full or prefix match against the DDI e.g. 07 would return just mobile numbers
	cli: full or prefix match against the CLI
	outcome: outcome code or comma seperated list of values
	tstart: datetime of first call to match
	tstop: datetime of last call to match
	state: set to removed to list call records automatically removed by the dialer.
	last_update: datetime of when the call record was last modified

fields
	callid - id of the call record
	qid - queue id the call was associated with
	dataset - dataset the call was dialed for (outgoing calls only)
	urn - URN of the call record (outgoing calls only)
	agent - agent id that dialed or answered the call
	ddi - DDI phone number
	cli - CLI phone number
	ringtime - ring time of the call (seconds)
	duration - call duration (seconds)
	result - call result
	outcome - disposition outcome code
	type - was this an inbound or outbound call
	datetime - when the call was dialed or connected
	answer - when the call was answered (by an agent)
	disconnect - when the call was disconnected
	last_update - the last time the call record was modified (for CDR synchronization)


action_log
Export agent action API logs.
filters
	uid: match id's >= to this value. a range of values can be specified by using the format low:high
	agent: agent id or comma seperated list of agent id's
	tstart: datetime of first entry to match
	tstop: datetime of last entry to match

fields
	uid -
	when -
	callid -
	agent -
	action -
	data -
	response -


status_log
Export agent status logs.
filters
	uid: match id's >= to this value. a range of values can be specified by using the format low:high
	agent: agent id or comma seperated list of agent id's
	tstart: unixtime of first entry to match
	tstop: unixtime of last entry to match

fields
	uid -
	uts -
	agent -
	status -
	subcode -


barring
Manipulate inbound & outbound number barring.
defaults
	<qid>0</qid>
	<number />
	<comment />
	<type>inbound</type>

numbers
Manipulate allocated DDI numbers and request more number blocks.
filters
	qid: queue id or comma seperated list of queue id's
	filter: match ddi's starting with this number

defaults
	<ddi />
	<qid>0</qid />


pbx_phones
Manipulate PBX Account
Return Values
Argument
	secret: Assignment statement used for setting (include create and update action) personal secret for PBX account.
	E.g: $api_url.“&secret=nosecret”

defaults
	<account>DXI</account>
	<pin>null</pin>
	<barr_in>0</barr_in>
	<barr_out>0</barr_out>
	<ringtime>0</ringtime>
	<agentid>0</agentid>
	<nocli>0</nocli>
	<mailbox>yes</mailbox>

Fields
	account     -   Account name (prefix)
	type        -   user | group
	campaign    -   Campaign Id
	pin         -   PIN for phone features such as voicemail
	qid         -   The queue id calls for this phone will be assigned to.
	name        -   User’s Full name
	callerid    -   Caller id
	agentid     -   Agent id
	forward     -   ddi for call diversion
	divert      -   Available divert options: 'none','immediate','busy',
						'noanswer','always','dnd' ('do not disturb' goes straight to voicemail if set).
	ringtime    -   Time in second before bouncing
	barr_in     -   Block inbound calls that match the baring rules (See pbx_barring function)
	barr_out    -   Block outbound calls that match the baring rules (See pbx_barring function)
	nocli       -   Display/Withhold callerid when calling out. (0 - withhold, 1 - Display)
	mailbox     -   Turn voicemail no/yes. (no - allow messages to be left, yes otherwise)
	email       -   User email address


pbx_barring
Manipulate PBX Barring
You can have multiple clauses in one barring rule.
Return Values
filters
	uid: PBX barr id.


Fields
	campaign    -   Campaign Id
	type        -   Cal type (inbound/outbound)
	description -   A description to describe the barring rule.
	rules       -   The baring rule has to be in the formats below. It must contain the
					key phrase of either “allow:^” of “deny:^” followed by the telephone
					number prefix. E.g

					allow:^001        -    allow incoming or outgoing number beginning with 001
					deny:^09          -    deny all number beginning with 09
					deny:withheld     -    deny withheld numbers
					deny:^.*$         -    deny all outgoing number

					Note: First rule that matches will be applied first if all of the rules are stated as illustrated.


pbx_extensions
Manipulate PBX Extensions
Update action not allowed. Use comma separated extension for delete
Argument
	name: Only used when creating an extension type group and you which to give the group a name. E.g Sales, Support.. e.t.c
	E.g: http(s)://api.dxi.eu/database.php?method=pbx_extensions&action=create&name=Customer Service&data{}&token=...

Fields
	account     -   The account to assign the extension.
	type        -   Available types are
					extn  : E.g 101, 102.
					ddi   : E.g 08450000000, 02000000000 or 00442080000000.
					group : E.g These are hunt groups who share a single extension. Supply a "name" to

	extension   -   Extension for a PBX account (Numbers only)
					Extensions cannot start with a leading zero. E.g 101, 102
					Standard phone number should start with a leading zero. E.g 02080000000, 00442080000000


mbox_accounts
Manipulate Voice Mail Account
Require PBX account.

defaults
	<max_message>0</max_message>
	<forward_email>no</forward_email>

Fields
	account         -   Reference to existing PBX account
	max_message     -   Maximum number of messages allowed for one account.
	new_user        -   Set the mailbox account new? (0 or 1) default 1 for new
	email           -   Provide email address should you want new messages to be forwarded
	forward_email   -   Choose (yes/no). "yes" will forward all new message to the email provided "no" otherwise.


conference_settings
Configure Conference Room. Delete action not allowed. Note: Automatic Conferencing (optional)
	Auto conferencing is a functionality which uses certain rules to automatically dial and add participants
	into a specific scheduled conference when the conference start time is due. Step in the link below describes how this can be achieved.

	Click here to View implementation steps 
filters
	pincode: Conference pin code.
	tstart:  Conference start time.
	tstop:   Conference stop time.
	state:   Conference status. (inactive, live, recycle, scheduled)

defaults

	<auto_dial>no</max_message>
	<max_participants>0</max_participants>
	<intro>0</intro>

Fields

	qid                 -   Queue Id (Type: conference)
	room_no             -   Unique Room Id.
	pin                 -   Unique pin code (Use as dataset_id for Automatic Conferencing)
	cli                 -   Conference DDI.
	campaign            -   Campaign ID
	description         -   Conference Name
	start               -   Start Time. Conference starts when this time is due
	end                 -   Stop Time.
							Prevent users joining the room if the time has elapses.
							Conference close and reset status to recycle. This will only occur if the conference is empty

	max_participants    -   Max Participants (Hard limit is 50)
	room_settings       -   Conference Room settings. E.g. MrTs
							A   -   Set a user as the conference Host. Require the marked user's DDI.
							a   -   Set admin mode for 'A' above. 'A' now has full control of the conference
							c   -   Announce number of users already in the conference when joining a conference
							i   -   Announce names of users joining/leaving the conference
							l   -   Set listen only mode (Listen only, no talking excluding 'A')
							M   -   Enable music on hold when the conference has a single caller
							p   -   Allow user to exit the conference by pressing '#'
							q   -   Quiet mode (don't play enter/leave sounds)
							r   -   Record conference
							s   -   Present menu (user or admin) when '*' is pressed (play menu to the user)
							T   -   Set talker detection (sent to manager screen)

	intro               -   Introduction Audio Id
	broadcast_qid       -   Broadcast Queue Id For Automatic dialling. Set the conference pin as the dataset id.
	auto_dial           -   yes/no. Set 'yes' when auto dialling.
	marked_user         -   ddi of conference host. This must be same ddi as the one he dials from.


closed_conferences
Manipulate Closed Conference
Get historic conference. Only read action is allowed.
filters
	pincode: Conference pin code.
	tstart:  Conference start time.

Fields
	qid
	room_no
	pin
	cli
	campaign
	description
	start
	end
	total_participants


mbox_messages
Manipulate Voicemail Messages
Create function is not allowed.

Fields
	account -   Reference to existing PBX account
	callid  -   Callid for the call
	status  -   Optional: Message status (new, old, saved, deleted)


conferencing
Conferencing records are created when participants joins a conference

Only read action is allowed.

Click for live ajax conferencing 


Fields

	callid      -   cdr id
	ddi         -   participant's ddi
	urn         -   urn (only used for Auto Conferencing) to identify participants who called in with a withheld or different phone number.
	session     -   session attended
	uid         -   conference reference number
	room_no     -   conference room number they participated in
	pin         -   conference pin code
	call_time   -   time they dialled the conference
	tstart      -   time they joined the room
	duration    -   total duration in hours they spent in the conference
	d_sec       -   total duration in sec from when they dialled the conference
	state       -   participant status.

					present: participant is currently in the conference
					kicked: participant was kicked by the conference administrator.
					left : participant left the conference




ecnow_datasets
Manipulate DXINow datasets.
filters
	qid: queue id or comma seperated list of queue id's
	dataset: dataset id
	state: d_status value (HOLD|LIVE|EXPIRED)

defaults
	<qid>0</qid>
	<dataset>0</dataset>
	<d_status>HOLD</d_status>
	<d_priority>0</d_priority>
	<notes />
	<callbacks />


ecnow_data
Manipulate DXINow data records.
filters
	urn: match a record on its URN field
	outcome: match outcomecode or comma seperated list of outcomecodes

defaults
	<uid />
	<dataset>0</dataset>
	<agentid>0</agentid>
	<ddi_home />
	<ddi_mobile />
	<ddi_work />
	<callback />

	<custom fields />