Posts in Category "Telephony"

Error creating or editing a UV profile

This article is applicable only to customers using Universal Voice telephony profiles and running into a very specific error in the user interface.  If you are not experiencing the exact problem below, you do not need to worry about this article.

The error: ‘This field only accepts valid DTMF commands and phone numbers (+,0-9,*,#,-,space,A,B,C,D).

uv.jpg

Issue: Recently an issue has cropped up with editing existing (or creating new) Universal Voice (UV) profiles.  This is directly related to a required change that was introduced in the latest version of the Adobe Flash Player.  The behavior is that if you try to go into My ProfileMy Audio Profiles > and click the ‘New Profile’ button  or  My Profile > My Audio Profiles > and select an existing UV profile and click the ‘Edit‘ button, you will get this error (above) when trying to SAVE the profile.

This issue is resolved in the upcoming Adobe Connect release (9.5.3).  In the interim (for Adobe Hosted customers while they wait to be upgraded) or for Licensed (on-premise) customers who may be on an older version of the application and not able to upgrade to 9.5.3 right away when it comes out, there are basically 3 ways around this problem…

    • [1] Downgrade Flash player to a version prior to version 21 or use a browser or machine that has an older version of the Flash Player (prior to 21).  This would require you to uninstall the Adobe Flash player in a browser where it is not embedded as part of the actual browser, and install an older version from the archived versions here.
    • [2] Create (or just edit an existing) mms.cfg file on the system and add the following flag (line) in the file (this will ONLY work for the next 3 months approximately).  This is only a temporary solution and the Flash Player team plans to remove support for this flag in upcoming updates but for now, it can be used until we deliver possible patches for older Connect versions and fix this in the upcoming 9.5.3 release.


      enablePCRE2=0

This mms.cfg file can be created on your system in a simple text editor if it doesn’t already exist on your computer.  First do a search for it.  If it doesn’t exist, simply create a new file in Textpad or Notepad or Textedit or whatever you use for a simple text file editor.  Add the one line above and save the new or existing mms.cfg file (with that line as either the only line in the file or added to the bottom of whatever else is in that file).

On Windows systems, the mms.cfg file would be (or needs to be) placed in:

C:/Windows/system32/Macromed/Flash (32-bit Windows) and C:/Windows/SysWOW64/Macromed/Flash (64-bit Windows).

On Mac systems, the mms.cfg file would be (or needs to be) placed in:

 MainDisk:Library:Application Support:Macromedia

    • [3] Use the XML API.  As this is only a Flash Player issue and only affects users who are using the UI in Adobe Connect, if you are familiar with the XML API, you can use the ‘telephony-profile-update‘ API as a workaround. If you are not familiar with the XML API, the documentation for the API is here.  If this is still confusing for you and you are not quite sure how to execute XML API calls, the steps below will not be for you.  If you need clarity on the below, please contact Adobe Connect support as you normally would.

The workflow is as follows for the API (again if you are not familiar with the API, you need to either familiarize yourself with the product documentation, ask and admin for assistance, or use one of the other workflows above to work around this issue):

For existing profile updates:

1) Find the profile-id by making this API call in the browser once you’ve logged into your Adobe Connect account: https://{yourConnectURL}/api/xml?action=telephony-profile-list

It will list out all your profiles.  Search for the one you want to edit and make note of the ‘profile-id‘ value (numeric) and the ‘provider-id‘ value (also numeric).

2) Get the field-ids by running this API: https://{yourConnectURL}/api/xml?action=telephony-profile-info&profile-id=xxxxxxxx  (where the profile-id = the numeric value of the profile from call 1 above).

This will show you an XML response with telephony-profile-fields listed.  You may have a field for a certain moderator pin or other value you need to edit.  The field will be listed as an ‘x-tel‘ field.  It will be in a format that looks like this: ‘x-tel-123456789‘ or something similar with numbers after the ‘x-tel’.

You can also get the fields for the provider by taking the provider-id and running this API: https://{yourConnectURL}/api/xml?action=telephony-provider-field-list&provider-id=xxxxxxxx

This will show you all the ‘x-tel-xxxxxxx’ values you need to use.

3) To update that field, you would make this API call:  https://{yourConnectURL}/api/xml?action=telephony-profile-update&profile-id=xxxxxxxx&provider-id=xxxxxxxx&field-id=x-tel-123456789&value=xxxxxxx&profile-status=enabled   (where profile-id, provider-id both equal their corresponding numeric values from the first API call above…and where the field-id= the x-tel value from call 2…. and where value= the new value you need to edit)…

For creating NEW profiles:

1) Find the provider ID you want to create a new UV profile from with this API call: https://{yourConnectURL}/api/xml?action=telephony-provider-list .   The provider-id value gets returned in this result.

2) Obtain a list of all the applicable provider fields by running this API call: https://{yourConnectURL}/api/xml?action=telephony-provider-field-list&provider-id=xxxxxxx (where the provider-id = the numeric provider-id for that UV provider).

3) Run this API to create a new UV profile: https://{yourConnectURL}/api/xml?action=telephony-profile-update&provider-id=xxxxxxxx&profile-name=xxxxxxx&field-id=x-tel-xxxxxxxxx&value=xxxxxxx&profile-status=enabled  (where the provider-id= the numeric provider-id for that UV provider… field-id= the x-tel field you want to populate …. value = the value (numeric) of that field…. profile-name = the name of your new profile …. profile-status=enabled ).

Of course, you could have more than one field to populate as everyone’s UV providers/profiles could be custom and unique to a requirement.

If you are unsure, you need to talk to your Connect admin or contact Adobe support of course for any questions regarding the above profile creation or update steps.  A support agent can assist you with identifying values and creating / updating profiles if needed.

Connect Meeting and Client-side Speaker Audio Output Control

There is a Connect feature request from various customers in place asking for the Connect Meeting GUI to offer an option to choose audio output devices. The request is a complex one because the audio output control options are opaque to Flash; the settings for audio output are in the various operating systems (OS) of the many possible clients. Connect uses what is chosen as the OS default as depicted in our help documents:

Set up audio broadcasting

The feature request number is: CONN-4082570; one customer recently suggested that we add expanded functionality for client speaker audio output control roughly similar to what we already have in Adobe Connect for Microphone and Webcam selection.  A speaker drop-down menu for sound output is desirable for obvious reasons.

There is no set date for implementation of this enhancement in Connect and I will update this blog entry if that changes. In the meantime, if the default client OS audio output option is not the option desired for use with Connect Meeting, the following example may help: I will show how to add a Bluetooth speaker to a Windows client and toggle the audio output in Connect from the built-in laptop Realtek speaker to a new iHome Bluetooth speaker. While audio output options may vary, by showing how it is done with this common example of a Bluetooth output device, it will hopefully help to show how other optional client-side speaker output devices may also be managed in kind.

To see the enabled audio output options on a Windows client, look at the Device Manager under the Control Panel:

sound-dev-mgr.fw

Here we see a Realtek device and this corresponds with the option in the lower right of the desktop tray:

audiowzd-bt5b.fw

Opening the mixer shows more detail:

realtek.fw

If I play music by invoking the Audio Setup Wizard in Connect Meeting, the Realtek speaker will play:

asw.fw

conn-soundoutput.fw

Since our example will be to switch to a Bluetooth speaker, the first step will be to make certain that Bluetooth is enabled. On my Lenovo, that is done by pressing the keys FN>F5 simultaneously. Here we see Bluetooth is enabled:

sound-bt.fw

The next step is to follow the device instructions to pair the Bluetooth speaker with the client computer; these will vary.

See the Bluetooth icon enabled and  highlighted in my system tray:

sound-bt1.fw

After putting the iHome speaker in pairing mode, I am able to search for it from the client:

sound-bt2.fw

sound-bt2a.fw

sound-bt3a.fw

Now we have more than one speaker option to toggle as the Device Manager and the system tray attest:

sound-dev-mgr1.fw

sound-bt5.fw

In Connect we now see the option to use the new audio output device:

sound-fin.fw

Note: The iHome Bluetooth speaker also has a built-in Microphone so the Connect Audio Setup Wizard will see it in the Microphone drop down menu.

Without audio output controls built into Connect, adding and/or changing the default audio output device in the client OS is the way to toggle the audio output option in Connect. The key thing to be aware us is the danger of audio feedback loops. When separate speakers feed back into a microphone and cause echoing in a Connect Meeting. On a mobile device such as an iPAD, without a headset the speaker audio will feed right back in the microphone; it is best practice to use a headset with iPad to prevent audio loop/echos.

New Adobe Connect Support Blog Subscription Option

Now you can stay on top of the new articles and posts by subscribing to the Adobe Connect Support Blog. Simply go to the Adobe Connect Support Blog home page and enter your email address and check off the categories about which you would like to be notified. Click “Subscribe me” and you will begin receiving  regular updates:

subscribe.fw

 

 

Dialout/Dialin Disable feature explained on Adobe Connect Mobile Devices

There are situations when a meeting host would like to disable the Dial-in/Dial-out feature in a Connect meeting room.

Explained below are the steps that can be followed for disabling the feature and what is the expected behavior that should occur in the case of mobile devices :

  • On a computer, join the meeting as a Host (the meeting must have an audio conference associated with the meeting)
  • Click Meeting > Preferences > Audio Conference (see screen shot on how to set up the preferences) and click Done to save the changes

 

Image-2

 

 

  • On Computer, click Audio > Start Meeting Audio (on the desktop side, the Join Audio Conference dialog box opens up and this is expected)
  • On Connect mobile, join the same meeting as a guest or participant.
  • On Connect mobile, guest user would see a ‘Join teleconference’  dialog box popup which allows user to enter his phone number. However, when user enters a phone number and attempts to dial out (Call my phone), it will display a red text message stating “Dial out disabled by host”.

 

Dialout disabled

 

This is how the feature works for users on Mobile devices.

 

Broadcast Telephony audio : Is it expected  when dial-out is disabled ?

If the host has enabled Broadcast Telephony audio in the audio conference settings in the meeting, as soon as a user joins the meeting from a mobile device, he should start hearing the hold music and also all the conversation that happens on the bridge on his mobile, although he would not be allowed to dial in our dial out from the mobile device.

The behavior on computer when logged in to a meeting as a guest and joined on mobile is the same where people will hear audio coming from their computer speakers and from the mobile device’s speakers. This is expected behavior for both guests who join meeting on computer and on mobile device where they won’t be able to dial out or dial-in and yet they will hear audio since the “Broadcast Telephony audio” is enabled.

 

Image-4  

 

Special Note : 

If there are any users who have any confusion due to the audio broadcast for users who have dial-out disabled, they can add a note into a Note pod instructing people that they will hear only audio but cannot dial out or dial in.

 

 

Global Dial-in Number Link Missing using InterCall Teleconferencing

While using InterCall as a teleconferencing provider, sometimes the option “Further dial in Numbers” under Adobe Connect –> My Profile –> My Audio Profiles is missing.

 

This setting is controlled by InterCall itself.  They must enable their Global Access Settings under the user’s teleconference settings to get this link under the Connect audio profiles.

 

FurtherDial_img1

Link Missing

Link Missing

PGi EMEA adaptor deprecated

PGi wants to move all its PGi-EMEA accounts to PGi-NA and therefore PGi EMEA adaptor has been deprecated. For more details please click here

XML API Tips: Arkadin Profile Creation – Display Numbers

Previously I posted a blog entry on creating audio profiles via the XML API (http://blogs.adobe.com/connectsupport/xml-api-tips-creating-telephony-profiles-via-the-xml-api/).  This is an add-on article describing one additional step for finalizing an Arkadin profile.

Once you complete the Arkadin profile, you may notice the Conference Numbers aren’t showing up at the bottom of the profile (in the UI).  When you build a profile in the UI (without the API) and you save the profile, it will display the Conference Number and Conference Number Toll Free in a datagrid below the credentials.  When you create a profile with the API, it will not (unless you go into the UI and then click Edit and then Save again).

ark1

Notice no Conference Numbers listed in the grid below the Profile Status.

Also, if you create the profile with the API (and you don’t go into the UI and click Edit/Save), you may notice that the conference numbers are not displayed in the Dial In dialogue box in the meeting room for participants.  It will only list the Moderator and Participant codes.

ark3

Notice, no numbers appearing to call into…

To get the numbers to show up in the Profile and in the dial-in dialogue box inside of the meeting room itself, you need to add one additional web service call to your workflow as below:

Once you build your telephony profile from the previous article,  you need to take the profile-id value and make the ‘telephony-profile-dial-in-number-update‘ API call to input the new numbers as such:

/api/xml?action=telephony-profile-dial-in-number-update&profile-id=1379585623&location=Toll%20access%20number&conf-number=+1-8xx-xxx-xxxx&location=Toll%20free%20access%20number&conf-number=+1-xxx-xxx-xxxx

Where you add the profile-id
where you add all the ‘locations’ you want (the string for the conference number description)
where you add the applicable conference numbers for each (toll + toll free for instance)

After completing this step, if you view the profile in the UI again, you see the numbers appear:

ark2

Conference Numbers now listed in the grid below the Profile Status.

 

ark4

Notice now the number(s) appear.

Arkadin Audio Profile Conference Numbers

For Arkadin customers who integrate Arkadin audio profiles into Adobe Connect Meeting rooms, they need to be very careful in what numbers they are inputting into the profile fields when they are creating the telephony profiles.  Also, if these profiles are being provisioned automatically by an application utilizing the API, developers need to make sure the values they are passing in via the web services are also correct.

Arkadin has 3 phone numbers that are required when building an audio profile (UI pictured below).

arkprof

  1. Toll Access Number‘ (in the API this is: ‘x-tel-arkadin-conference-number‘)
  2. Toll Free Access Number‘ (in the API this is ‘x-tel-arkadin-conference-number-free‘)
  3. SIP Access Number‘ (in the API this is ‘x-tel-arkadin-conference-number-uvline‘)

It is crucial that you do NOT inadvertently put the Toll number (a non ‘1-8xx’ number) in for the Toll Free value and vice versa.  If you put a toll number in for the toll free number, the audio profile will save correctly, HOWEVER the UV line (Universal Voice) will not be able to connect to your meeting room when you try to start the audio (for Audio Broadcast and for Meeting Recording with Arkadin).  Universal Voice can only call out to a toll FREE number.  So if you are seeing your Arkadin audio conference not connecting correctly in the Adobe Connect Meeting room, please make sure to check your Arkadin profile that is assigned to the meeting, to make sure the toll free number is actually a toll free number, and the toll number is also correct.  The SIP access number should be set to the toll FREE number as well.

 

XML API Tips: Creating Telephony Profiles Via the XML API

UPDATED – 4-11-2014

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-profile-update‘ call to create the initial telephony profile container.  The formatted call will look like this:

https://{connectURL}/api/xml?action=telephony-profile-update&principal-id=xxxxxxxxx&profile-status=enabled&provider-id=xxxxxxxxx&profile-name=xxxxxxxx

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).

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>

Next, you take the applicable provider-id value from the result above, and run the telephony-provider-info API call to get the appropriate fields you would need to add to the profile (and hard code them into your app for future):

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

Where:
   provider-id = value from the first call.

The results will look like this (using Arkadin as an example).  What you really want to look for are the ‘telephony-provider-fields’ in the results.  The rest of the provider-dial-in-info can be ignored for the purpose of creating integrated profiles in this fashion.

The results in BLUE are the required ‘x-tel’ values for (in this example) Arkadin, to create a profile.

<results>
<status code=”ok”/>
<telephony-provider-fields>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-arkadin-conference-id” display-in-meeting=”none” required=”true” user-specified=”true” input-type=”text” is-hidden=”false”>
<name>Web login</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-arkadin-moderator-code” display-in-meeting=”hosts” required=”true” user-specified=”true” input-type=”text” is-hidden=”false”>
<name>Moderator pin code</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-arkadin-participant-code” display-in-meeting=”participants” required=”true” user-specified=”false” input-type=”text” is-hidden=”false”>
<name>Participant pin code</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-arkadin-conference-number” display-in-meeting=”none” required=”true” user-specified=”true” input-type=”text” is-hidden=”false”>
<name>Toll access number</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-arkadin-conference-number-free” display-in-meeting=”none” required=”true” user-specified=”true” input-type=”text” is-hidden=”false”>
<name>Toll free access number</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-arkadin-company-url” display-in-meeting=”participants” required=”true” user-specified=”false” input-type=”url” is-hidden=”false”>
<name>Other access numbers</name>
</field>
<field provider-id=”xxxxxxxxx” field=”xxxxxxxxx” field-id=”x-tel-arkadin-conference-number-uvline” display-in-meeting=”none” required=”true” user-specified=”true” input-type=”text” is-hidden=”false”>
<name>SIP access number</name>
</field>
</telephony-provider-fields>
</results>

Lastly, now you put everything together.  You take the profile-id that was from the newly created profile as part of the telephony-profile-update API above, and all the applicable ‘x-tel’ values from the telephony-provider-info call directly above, and piece them all together in an acl-field-update call as below (again, this example is for Arkadin):

https://{connectURL}/api/xml?action=acl-field-update&acl-id=xxxxxxxxx&field-id=x-tel-arkadin-conference-id&value=xxxxxxxxx&field-id=x-tel-arkadin-moderator-code&value=xxxxxxxxx&field-id=x-tel-arkadin-participant-code&value=xxxxxxxxx&field-id=x-tel-arkadin-conference-number&value=1-xxx-xxx-xxxx&field-id=x-tel-arkadin-conference-number-free&value=1-xxx-xxx-xxxx&field-id=x-tel-arkadin-conference-number-uvline&value=1-xxx-xxx-xxxx

Where:
 acl-id = the profile id value of the profile you created in the telephony-profile-update call above.
field-id = the x-tel params required by the provider.  As you can see above, for Arkadin, there are 6.
value = the value of the x-tel parameters.  You would get this from your conference provider.

The results will simply be:

<results>
<status code=”ok”/>
</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

Demystifying Mixing VoIP and Telephony in a Meeting

With Unified Voice (UV) enabled and selected from within a meeting room:

The host may choose: Meeting>Preferences>Audio Conference>Allow participants to use Microphones: When Allow participants to use Microphones is checked, participants have power to enable their own microphones within the meeting. When it is unchecked, the host must enable microphones first and then the participant can enable the microphone with host permission within the meeting:

uv-1.fw

In either case, checked or unchecked, the host needs to first start the audio conference within any meeting:

uv-1b.fw

And the participant needs to choose the microphone option and enable it (even though the host has enabled it manually within the meeting or set it as permanently enabled within the room):

uv-1a.fw

Note that by default, when UV is in use, the telephony option is checked for the participant:

UV2.fw

The participant must select the microphone option in order to use the microphone instead of the phone; this will allow the microphone to broadcast to the users in the meeting using UV telephony:

UV3.fw

With all these settings in place, VoIP microphones can talk to telephony and telephony to VoIP and both will be audible in an archive recording for playback on demand.