XML API Tips: Creating Telephony Profiles Via the XML API

UPDATED – 5-17-2016

The workflow for creating telephony profiles for INTEGRATED telephony providers via the XML API has changed over the last year or so.  Here is an update on the supported method for creating telephony profiles for users using the Adobe Connect Web Services (XML API).

First, you need to find the telephony provider id number (provider-id) that you want to create a profile from.

To do this, you can make the ‘telephony-provider-list‘ API call as follows:

https://{connectURL}/api/xml?action=telephony-provider-list

The results will look like this (with obvious real values for the provider-id and acl-id parameters):

<results>
<status code=”ok”/>
<providers-account>
<provider provider-id=”xxxxxxxxx” acl-id=”xxxxxxxxx” provider-type=”integrated”>
<class-name>
com.macromedia.breeze_ext.premiere.gateway.PTekGateway
</class-name>
<adaptor-id>premiere-adaptor</adaptor-id>
<name>PGi NA</name>
<provider-status>enabled</provider-status>
</provider>
<provider provider-id=”xxxxxxxxx” acl-id=”xxxxxxxxx” provider-type=”integrated”>
<class-name>
com.macromedia.breeze_ext.telephony.Intercall.IntercallTelephonyAdaptor
</class-name>
<adaptor-id>intercall-adaptor</adaptor-id>
<name>InterCall</name>
<provider-status>enabled</provider-status>
</provider>
<provider provider-id=”xxxxxxxxx” acl-id=”xxxxxxxxx” provider-type=”integrated”>
<class-name>
com.meetingone.adobeconnect.MeetingOneAdobeConnectAdaptor
</class-name>
<adaptor-id>meetingone-adaptor</adaptor-id>
<name>MeetingOne</name>
<provider-status>enabled</provider-status>
</provider>
<provider provider-id=”xxxxxxxxx” acl-id=”xxxxxxxxx” provider-type=”integrated”>
<class-name>com.macromedia.breeze_ext.arkadin.ArkadinAdaptor</class-name>
<adaptor-id>arkadin-adaptor</adaptor-id>
<name>Arkadin</name>
<provider-status>enabled</provider-status>
</provider>
</providers-account>
</results>

Next, you take the provider-id from the call above, and make the ‘telephony-provider-field-list‘ call to list out the telephony Provider fields you need to add to the new telephony profile.  The formatted call will look like this:

https://{connectURL}/api/xml?action=telephony-provider-field-list&provider-id=xxxxxxxxx

Where:
provider-id = the provider-id value from the first API call above, for which you are creating the profile.

The results will look like this (for InterCall as an example although all providers will have different ‘x-tel’ fields and different fields that are required in order to build a profile):

<results>
<status code=”ok/>
<telephony-provider-fields>
<field provider-id=”xxxxxxxxx field=”xxxxxxxxx” field-id=”x-tel-intercall-conference-number display-in-meeting=”participants required=”false user-specified=”false input-type=”textarea is-hidden=”false>
<name>Conference Number</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-intercall-participant-code display-in-meeting=”participants required=”true user-specified=”true input-type=”text is-hidden=”false>
<name>Conference Code</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-intercall-leader-pin display-in-meeting=”none required=”true user-specified=”true input-type=”text is-hidden=”false>
<name>Leader Pin</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-intercall-company-url display-in-meeting=”participants required=”false user-specified=”false input-type=”url is-hidden=”false>
<name>Further Dial In Numbers</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-intercall-uv-conference-number display-in-meeting=”none required=”false user-specified=”false input-type=”text is-hidden=”true>
<name>{x-tel-intercall-uv-conference-number}</name>
</field>
</telephony-provider-fields>
</results>

 

Next, once you have the fields you need, you call the telephony-profile-update call to create the profile with all the required fields.  The formatted call will look like this:

(this is using INTERCALL as an example. Your fields may be different depending on your provider and the results from the above call).

 

https://{connectURL}/api/xml?action=telephony-profile-update&principal-id=xxxxxxxxx&profile-status=enabled&provider-id=xxxxxxxxx&profile-name=xxxxxxxx&field-id=x-tel-intercall-leader-pin&value=xxxxxx&field-id=x-tel-intercall-participant-code&value=xxxx  

Where:
principal-id = the principal id of the user for whom you are creating the profile (obtained by other APIs).
profile-status=enabled (to enable the profile).
provider-id = the provider-id value from the first API call above, for which you are creating the profile.
profile-name =the name of the profile you are creating for the user (it’s up to you for naming convention).
x-tel-{field} = the telephony field(s) you are populating (different depending on provider)
value = the value of the telephony field you are setting (numeric). This comes from your telephony provider when you purchase telephony accounts.

The results will look like this:

<results>
<status code=”ok”/>
<telephony-profile profile-status=”enabled” provider-id=”xxxxxxxxx” principal-id=”xxxxxxxxx” profile-id=”xxxxxxxxx”>
<profile-name>xxxxxxxxx</profile-name>
</telephony-profile>
</results>

 

 

 

UPDATED – 4-11-2014
For completing an ARKADIN profile, please also add the following to the workflow:
http://blogs.adobe.com/connectsupport/xml-api-tips-arkadin-profile-creation-display-numbers/

For all the main providers on hosted, here are the required ‘x-tel’ values:

Arkadin:

x-tel-arkadin-conference-id
x-tel-arkadin-moderator-code
x-tel-arkadin-participant-code
x-tel-arkadin-conference-number
x-tel-arkadin-conference-number-free
x-tel-arkadin-conference-number-uvline

PGI:

x-tel-premiere-user-id
x-tel-premiere-password
x-tel-premiere-moderator-code

InterCall:

x-tel-intercall-participant-code
x-tel-intercall-leader-pin

MeetingOne:

x-tel-meetingone-conference-id
x-tel-meetingone-host-pin

Comments are closed.