Posts in Category "Administration"

Connect 9.5 Bandwidth Utilization Estimates Illustrated

Introduction:

Adobe Connect bandwidth utilization will vary based on use case. Variables such as Meeting size, Connect features employed, disposition of clients and type of Connect server hosting, all have an effect on the network bandwidth utilized and as well as on where the bandwidth on a network will be most affected.

This article focuses on bandwidth and not on latency: Latency and bandwidth are different topics that are often confused or inappropriately lumped together. Although in some cases there may be a correlation between bandwidth and latency as when exceeding available bandwidth will drive up latency, nevertheless, the relationship between them is often inappropriately overstated. Bandwidth refers to the size of the network pipe while latency refers to the speed over the network or the time it takes for the data to travel. Connect clients with excess bandwidth may still experience latency with Connect for reasons unrelated to bandwidth such as network distance, transmission errors, resource performance (server, DB or client), maintenance schedules and imposed constraints such as QoS or blocking the RTMPS protocol and thereby forcing inefficient tunneling of RTMPS encapsulated in HTTPS.

Resources:

For information on latency see the following articles:

Tunneling with RTMP encapsulated in HTTP (RTMPT) should be avoided as it causes latency

Connect Meeting RTMP VS/VIPs on Load-Balancers

Adobe Connect Database Performance and Monitoring

 Connect on VMWare – some deployment tips

Below are some references on the topic of Connect bandwidth; these are often referred to as a general guide; the examples sited later in this article however are from baseline testing described herein:

Estimating Bandwidth Consumption in Connect Meetings

Best Practices for Adobe Connect

Adobe Connect best practices for large events and seminars

VoIP Bandwidth and Microphones

The Connect Cluster:

The context of the Connect bandwidth utilization is important and should be included among pre-deployment architectural considerations when rolling out Connect. There are basically two primary Adobe Connect deployment models for consideration: In the cloud and on-premise. The disposition of the clients attending the meeting has an effect where the on the network bandwidth will be utilized for any Connect Meetings or Webinars. To support these two broad deployment paradigms of cloud or local on-premise, there are three basic Adobe Connect licensing models.

  1. Adobe Connect Multi-tenancy Hosted
  2. Adobe Connect Managed Services (ACMS) single domain hosting
  3. Adobe Connect On-Premise licensed single domain

Note: An Adobe Connect on-premise license need not only be deployed within the customer’s LAN infrastructure. Adobe Connect Partners offer Managed ISP hosting options and an on-premise license deployment can be cloud-based as well.

Cloud or LAN:

For the purposes of considering the relationship of bandwidth to architecture, an Adobe Connect cloud-based deployment and an on-premise deployment within a customer’s LAN present different concerns with reference to the disposition of bandwidth rather than with the specific license type.

Primary differences with reference to bandwidth when comparing cloud-based Connect server clusters with on-premise based Connect server architecture is with the handling of external clients and the direction of the network traffic. There will be less internal network traffic on the LAN when external users (with possible lower-impact exceptions such an SSO server) remain external. Note that VPN users in remote offices are considered internal users.

See the following diagrams comparing a 2-server cloud-based cluster with a 2-server on-premise cluster hosted on a customer LAN. Both assume the need for internal and external users to participate in Meetings.

Cloud-based:

With a cloud deployment, the external users have little or  no impact on the internal LAN of the Connect account owner. The biggest bandwidth hit is at the cloud-based hosting facility. The primary concerns for the Connect owner’s IT will be routing RTMPS around third-party proxy servers and making sure client profiles and other internal restriction, limitations and constraints do not prevent or enervate Connect usage:

two-server-cloud

LAN-based:

With a LAN-based on premise deployment, internal Connect users will normally have great performance on the average corporate back-plane by avoiding any mitigating and often unpredictable WAN variables. External users may be hosted on a reverse proxy Connect Edge server in the local DMZ to meet security requirements. All external traffic is terminated in the DMZ where the remote Edge server does all the heavy lifting. The Edge connections to the internal cluster consolidate the external connections and reduce the overall internal impact of external users by limiting them to the external firewall and DMZ:

EdgeDMZAbbrev

Connect Meeting Features and Bandwidth:

Screen-sharing and the use of multiple live web cameras are the two most bandwidth intensive activities in any Connect Meeting or Webinar. The latter requires that a Meeting Host or Presenter project the client screen up to the Connect servers and then back down to each user in the Meeting. The more users with cameras, the more upload and download activity.

The features employed in any Connect Meeting determine the amount of bandwidth utilized.  Depending on the Connect use case, you could use between 5 to 10 Mbps per 100 participants. These general rules apply:

    • The typical average is 50 kbps per user
    • It depends on what Connect Meeting users are doing
    • For example, on the high end one client measured regularly uses 20 Mbps for 150 users in a Connect Meeting room.
    • More typically there is a max of 100 Mbps at the firewall (outgoing, incoming is never that high)
    • With just over 1000 users a safe estimate is < 100kbps per user totaling 12 MB
    • 5 Mbps per 100 is the low average (or 6MB per 1000 users using best practices for large Webinars).
    • Things like video and screen sharing tend to use more bandwidth
    • A one-to-many broadcast of an uploaded PowerPoint deck uses less bandwidth
      • PPTX should always be uploaded to the Meeting room
      • Do not present a PPTX using screen-sharing as it wastes bandwidth

Bandwidth Utilization Use Case Baseline Tests:

The following tests corroborate these guidelines listed above and offer a model to test bandwidth utilization for any Meeting or Webinar use case; it is prudent to do these type of tests with your specific use Webinar case as part of your rehearsals to get accurate bandwidth utilization baselines:

First bandwidth test: I uploaded a 15.5 MB PPTX to a Connect Meeting room and advanced thru all the slides while monitoring the download stream to each client; the average for each client was 50 kilobits; see below:

4clients.fw

Second bandwidth test: I then tested with a camera pod set to the highest quality and wide screen option: Meeting>Preferences>Video; see my host camera settings below:

videopref.fw

The average download stream at each client when I had the camera pod sized small in the upper corner of the meeting while flipping slides was under 200 kbps (kilobits); The host screen capture below corroborates; my host client in the Connect addin is pushing 121 kilobits up to the server; see below:

cambndwdthtrun

The average when I expanded the camera pod and moved around create some activity on screen (waving etc.) was 300kbps download streaming to each client; see below my upload from host client to server is 381 kbps; see below (wow- my hair is getting thin):

cambndwdthlrgtrun

Third bandwidth test: I then tested screen-sharing a slide deck from my desktop to simulate application sharing live demonstrations and found a significant variance based on the screen resolution of the host sharing the screen:

  • Host screen-sharing at 1920×1080 resulted in an average  download to each participant of 700 kbps
  • Host screen-sharing at 1288×768 resulted in an average download to each participant of 200 kbps
  • The participant experience was very similar. I see no reason to waste the bandwidth on the higher host screen-resolution: Lower screen resolution resulting in very economical bandwidth utilization while sharing the screen
  • See the bandwidth indicator while I share my screen flipping through multiple jpegs at 1288×768. I am pushing up 338 kbps to the Connect server while actively changing jpeg images on a second monitor that I am sharing.

hostss1280.fw

Fourth bandwidth test: Video – I created an mp4 using the following settings: Appropriate quality settings are a major variable determining the amount of bandwidth used and the playback experience of mp4 video in Connect:

  • I used: H.264, 720×404, Frame Rate 30, bitrate CBR, target rate 1Mbps, Key Frame Dist 90.
  • Best practice encoding for video in Connect imperative: Rehearsal and testing of any Video used is prudent prior to any Meeting or Webinar. It is easy to test playback experience and bandwidth consumption per client participant. Note also here (in the highlighted bandwidth indicator) how my remote office client experiences some latency albeit manageable  (595kbps down) that not affect the video playback experience – no choppiness at all watching the pups wrestle (the Jack-Russell ends up winning although this capture shows him as the underdog):

video

Bandwidth Utilization Use Cases:

Using the baselines from these tests, here is a list of potential use cases from a recent customer inquiry with the predicted overall account-wide bandwidth usage estimates running Connect 9.5.

Case 1: A 1500 user seminar room with a PowerPoint and a desktop share:

Estimate: 1500 users x 50 kilobits each for the PPTX use case =75000 kilobits or 9MB. Add to that a desktop share with conservative screen-resolution (1280×768) 1500×200=300000 kilobits or 37MB. Add them together (75000+300000) for an average of 375000 kilobits or 47MB. Realistically it will be less at any given time because it is rare to simultaneously do both activites at once in a meeting. It is more common to share either flip PPTX slides or share an application thereby lowering the actual bandwidth utilized at any given time.

 Note: There is an important caveat with reference to an initial spike caused by the PPTX SWF download of 1000 kbps per client participant for a few seconds each. This affects every use case with SWF content is a share pod. Assuming 1/3 at a time as participants enter the layout with the PPTX on stage in a share pod even if downsized in a corner or hidden behind another pod, and assuming that there will not be any screen-sharing initially during the downloading: 1500/3 = 500x1000kbps for a few seconds each = 50000 kilobits or 62.5MB. A worst case spike scenario of all entering at once due to host error or a late upload due to last minute editing (this should be avoided if possible): 1500×1000=1500000 kilobits or187MB Spike for up to 10 seconds depending on latency effects on the initial SWF download. This spike may be missed in testing if you rely on the Meeting room bandwidth indicator as it may happen too fast to register; it is better measured using Wireshark on a client in the Meeting.

Case 2: A 1500 user seminar room with a PowerPoint and a 10 minute MP4 Video played:

Estimate: 1500 users x 50 kilobits each for the PPTX=75000 kilobits or 9MB. Assuming a medium quality MP4 (as discussed above) uploaded to the meeting room and meted out at an average 600 kbps per participant with intermittent spikes to 1200 kbps: 1500×1000=1500000 kilobits or187MB + 9 = 196MB while the video is being played with the PPTX still onstage visible in another pod. Note: Until the Video is played, this room is at 9MB just meting out PPTX SWFs after the initial SWF downloads are complete.

 Note: PPTX download spike variables as described in case # 1 above applies.

Case 3:  A 1500 user seminar room with a PowerPoint and two, 3 minute videos played:

Estimate: Same as case 2 above assuming that the videos are played one at a time.

Case 4: Two 1500 user seminars with just PPTs for content (uploaded to the Meeting room and not screen-sharing) and jpeg pictures for Presenter head-shots in lieu of a camera:

Estimate: 1500 users x 50 kilobits for the PPTX=75000 kilobits or 9MB x 2 seminar rooms = 18MB

 Note: Assuming the seminars will not start both at the same time and will nevertheless overlap, the brief PPTX download spike variables as described in case # 1 above applies albeit multiplied by two: 126 MB for 1/3rd and worst case of both seminars doing a last minute deck upload at the start of the Meeting: 274MB until initial SWF downloads complete. Staggering slightly the start of each seminar will mitigate the overall spike as will allowing users to trickle into a prepared room with assets on stage.

Case 5:  Two 1500 user seminars with just PPTs for content (uploaded to the Meeting room and not screen-sharing) and PPTs for headshots shared, PLUS 100 separate Connect meetings of 20 users each, with 10 of those meeting rooms sharing one web camera:

Estimate: 1500 users x 50 kilobits each for the PPTX=75000 kilobits or 9MB x 2 = 18MB, plus 90 meeting rooms with 20 users each doing the same activity, 1800×50 kilobits=90000 kilobits or 11MB, plus the 10 meetings with cameras added 10 x 20 users each x 200 kilobits=40000 kbps or 5MB; also add the upload for each camera 10 cameras x 200 kilobits =2000 kbps or .25MB. Total =.28000 kilobits or 35MB.

Note: Assuming the various meetings will be starting at different times the spike estimates for #4 above apply.

Case 6:  Two 1500 user seminars with just PPTs for content and PPTs for headshots shared, PLUS 100 separate Connect meetings of 20 users each, with 10 of those meeting rooms sharing one web camera, PLUS one 500 user seminar with a PowerPoint shared(uploaded to the Meeting room and not screen-sharing).

Estimate: Add 500 users x 50 kilobits each = 25000 kilobits or 4MB. Add this to use case 5 depicted above: 35MB+4=39MB.

Note: Assuming the various meetings will be starting at different times the spike estimates for use cases #4 and #5 above apply here.

Case 7: Two 1500 user seminars with just PPTs for content and PPTs for headshots shared,  PLUS 50 separate Connect meetings of 20 users each with 10 of those meeting rooms sharing one web camera, and one 500 seminar with just a PowerPoint shared (uploaded to Meeting room and not screen-sharing):

Estimate: 1500 users x 50 kilobits each  for the PPTX=75000 kilobits or 9MB x 2 = 18MB, plus 40 meeting without cameras x 20 users each=800x50kbps= 40000kbps or 5MB, add the 10 meetings with cameras 10 meetings x 20 users x 200 kilobits=40000 kbps or 5MB; also add the upload for each camera 10×200=2000 kbps or .25MB. Total= 232000 kilobits or 29MB.

 Note: Assuming the various meetings will be starting at different times the spike estimates for use case #4, #5 and #6 above apply.

Conclusion:

It is easy to avoid both overestimating and underestimating the bandwidth needed account-wide for Connect deployments on-premise or in the cloud. For large Webinars, a quick rehearsal with a small sample audience of external and internal users as appropriate is prudent. Best practices in large Meetings make a substantial difference in the amount of bandwidth utilized: Proper camera use, screen-sharing and video-encoding are all very important considerations.  Although it may at this point seem like a mantra, a basic best practice that so many Connect users miss is to upload a PowerPoint to the Meeting room share pod rather than use screen-sharing to run through a slide-deck. Maybe some Presenters are just overly possessive and have an innate refusal to let their work upload – whatever the reason, I will surely be in a Meeting today and some Presenter will share a PowerPoint from their desktop via screen-sharing and I will need to avert my eyes to maintain my light grasp on sanity. Used properly, Adobe Connect is the best means to deliver rich collaboration experiences while minimizing the impact on bandwidth utilization.

Publishing PowerPoint Presentations in Connect Meetings

There are different techniques that a Connect content author or Connect Meeting Host may employ to publish PowerPoint content in Adobe Connect Meetings. This article discusses them and how they differ and how to choose the correct option and avoid common pitfalls. The four basic techniques are:

  • Direct upload or drag and drop into a Connect Share Pod
  • Upload to the Connect Content Library and then link to the Meeting Share Pod
  • Publish to the Connect Content Library using Adobe Presenter and then link to the Meeting Share Pod
  • Publish locally using Presenter to a zip package and upload to Connect

I will summarize each of these and then compare them and offer some tips to help make sure that the published converted SWF closely matches the original PPTX.

The first and perhaps most commonly used option by Meeting Hosts is to upload a PPTX directly to a Meeting room Share Pod. The ease and simplicity of this approach certainly accounts for its popularity: You can simply drag and drop a PPTX presentation into the Share Pod or navigate to the source PPTX and upload it.

pptxa.fw

pptxb.fw

Drag and drop is pictured above. As the PPTX is dropped into the Share Pod from the local client, the boarder around the Share Pod will appear with a yellow highlight.

pptx3.fw

File conversion begins as soon as you drop the file into the Share Pod.

pptx5.fw

The PPTX is converted and ready for viewing as shown above.

pptx.fw

You may also browse to the PPTX file locally from the Share Pod menu drop-down: As a Connect Meeting Host or Presenter, click the down arrow in a Connect Meeting Share Pod and choose “Share Document” as shown above.

pptx1.fw

Choose “Browse My Computer” (We will discuss content in the shared library anon).

pptx2.fw

Browse to the PPTX locally and select it.

pptx3.fw

The size of the file and bandwidth available will determine the amount of time it takes to upload.

pptx4.fw

Likewise with conversion.

pptx5.fw

The PPTX is converted and ready for viewing.

 

Uploading to the Content library is also a common method of Publishing a PowerPoint to Connect. This technique provides a URL for on-demand playback of a the PPTX as well as a single source for use in multiple Connect Meeting rooms. Multiple Connect Meeting rooms may share a presentation from the same source in the Content Library thereby simplifying editing and version control.

pptx6.fw

Browse to the Content Library in Connect Central and choose “New Content” as shown above. Note that a Meeting Host will have access to “My Connect” by default but may need to request access to “Shared Content” and “User Content” folders depending on prior account-wide administrative permissions set.

pptx7.fw

Browse to the desired PPTX on your client or share.

pptx8.fw

Select the desired PPTX upload.

pptx9.fw

Name the Presentation in Connect Central, create a custom URL and summarize the content for administrative reference if desired.

pptx10.fw

There will be a delay while the content is processed; see the spinning wheel in the upper left.

pptx11.fw

Once completed, the active URL and summary will be displayed.

pptx12.fw

To use the Presentation uploaded to the Content Library in a Connect Meeting, simply point the share pod to the Content Library and link it to the meeting.

pptx5.fw

It will appear instantaneously in the Connect Meeting as it is already uploaded to the Connect server.

 

The third means of uploading a presentation to Connect employs Adobe Presenter. This is the richest and most accurate PowerPoint conversion option. Presenter integrates with Connect, in fact, Connect had its start as Presenter: Presidia and Breeze 3.0 were originally based on PowerPoint on-demand content publishing to SWF. The integration of Flash Communication Server in Breeze 3.0.8 led eventually to the current Adobe Media Server and the Tomcat Application server platform along with such feature rich integration as Adobe Media Gateway for telephony and Adobe Experience Manager for Events management. Presenter has a long history and it is a very rich on-demand learning tool: http://www.adobe.com/products/presenter.html

pptx14.fw

Once installed, Presenter appears as a menu option in PowerPoint and you can drive publishing to Connect in a number of ways.

pptx28a.fw

pptx15.fw

Out of necessity, here I will be intentionally terse and ignore a plethora of Presenter features and focus only on using Presenter to publish PowerPoint content for use in a Connect Meeting. The dialog above is under Adobe Presenter>Presentation menu items in PowerPoint with Adobe Presenter installed.

pptx16.fw

The dialog above shows Presenter publishing options, among them is Adobe Connect which pushes the published Presentation to the Adobe Connect Content Library. Presenter is able to publish to any Connect server to which the author has access and permissions by its domain name.

pptx17.fw

Presenter launches a browser to log into the Connect Central Content Library.

pptx10.fw

By default Presenter will log into the Connect Central “My Content” folder belonging to the Presenter Author.

pptx19.fw

Fill in the customer URL option if desired and the summary fields.

pptx21.fw

Publishing may take a few minutes depending on the size of the PPTX file.

pptx22.fw

pptx23.fw

Once complete the active URL is available along with the summary.

pptx25.fw

It is now available as on-demand content and can be used from the Content Library in a Connect Meeting.

pptx26.fw

From the Connect Meeting room, choose the Share Pod drop down option and browse to the Content Library. Here I am using the “My Content” folder as the repository.

pptx27.fw

The published presentation is available in the Connect Meeting Share Pod.

 

The fourth method of publishing a PPTX to Connect is to first publish locally as a zip package using Presenter and then upload it to Connect.

pptx28a.fw

pptx15.fw

pptx28.fw

Within PowerPoint under Adobe Presenter >Presentation, choose “Publish” and set the publishing options to “My Computer” and the Output options to “Zip package”. Click “Publish”.

pptx29.fw

The conversion process may take a few minutes.

pptx30.fw

By default it will publish the zip package to: \Documents\My Adobe Presentations\

pptx31.fw

In the Connect Central Content Library, choose New Content.

pptx32.fw

See that among the supported upload file types, a zip package is listed.

pptx33.fw

Browse to the locally published zip package; in this case it is: \Documents\My Adobe Presentations\Large\Large.zip

pptx34.fw

Add the details in the Connect Central Content Library and click Save to begin the upload.

pptx35.fw

The published active URL allows access to the on-demand Presentation.

pptx35a.fw

pptx25.fw

In the Meeting Share Pod the Presentation is accessible from the Content Library.

You may also directly upload the Presenter published zip package from the author’s client to the Connect Meeting Share Pod and ignore the Content Library as shown below:

pptx35b.fw

pptx36.fw

pptx25.fw

The presentation is available for use in the Connect Meeting Share Pod.

 

Choosing the best presentation publishing option:

Once the PowerPoint presentation is selected, converted, and uploaded by whichever means, it is prudent to review it to check for any delta between the uploaded content and the original PPTX. Deltas are usually in one of two forms:

  • Select fonts do not match
  • Tables or bullet formatting does not line up as expected

With reference to custom fonts such as certain esoteric mathematical symbols, this article may help: Tips on Mitigating Connect Server-side PowerPoint Publishing Deltas

Using Adobe Presenter to publish, effectively eliminates any font discrepancies as all publishing is done on the author’s client where presumably all fonts are installed and are available to facilitate accurate conversion.

When uploading a PPTX to the Connect Central Content Library without Presenter, a Connect server-side version of Presenter, called Producer, facilitates the conversion process invoking the fonts available server side. If a font is used in the PPTX that is not available on the server, Producer will choose the closest font available on the Connect server to the original font.

Note: Adobe Connect hosted and ACMS customers who wish to have proprietary fonts installed on their Connect accounts  should contact the Connect Support Team to discuss the process.

When uploading a PPTX directly to a Connect Meeting room Share Pod, server-side Producer is not invoked. The client-side is leveraged and Microsoft Office should be installed on the client as PowerPoint client-side helps facilitate the conversion.

This warning message may appear when uploading a PPTX to Connect:

pptx42.fw

This warning is most common when Mac users who do not have Microsoft Office installed on their clients, attempt to upload a PPTX directly to an Adobe Connect Meeting room. There are not any client-side assets to facilitate conversion.

This tech-note is relevant: Best Practices for Sharing PPTX Files on Adobe Connect

With specific reference to portions of tables missing from graphs, often this can be mitigated by saving a PPTX as  PPT and re-uploading it to Connect.

A PPTX may also be locked down and further editing prohibited. This will affect conversion of the PPTX because conversion to SWF in Connect is a form of editing.

pptx37.fw

pptx38.fw

pptx41.fw

PowerPoint menu options to Protect the Presentation prior to uploading may cause a delta in the converted uploaded Presentation.

 

Conclusion:

The surest way to have the richest and most accurate PPTX to SWF conversion is by using Adobe Presenter on the author’s client. The next most accurate is to upload to the Connect Content library and invoke server-side Producer for conversion. The quickest way is to simply upload directly to the Meeting Share pod but be sure to have Microsoft Office  installed on the client to help mitigate any delta. Be sure to upload and test well in advance of the Adobe Connect Meeting.

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.

Update: 5/23 – We are fixing this issue in our hosted environment as part of the 9.5.3 upgrade which is currently being rolled out across the various clusters  over the next month.

For licensed (on premise) customers (this includes customers in the ACMS program and customers hosted by other Connect hosting partners other than Adobe), we will be releasing a patch in early June, 2016 for the Connect 8.x and Connect 9.x environments.

 

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.

Virtual Classrooms and Account Limit Reached Error

This article is applicable ONLY to Adobe Connect users who have purchased a Named Virtual Classroom Manager license within the Training Module and are running into Account Limit Reached messages unexpectedly when they are launching Virtual Classrooms.

With the release of Adobe Connect 9.4 in May of 2015, we introduced a new training license model called the “Named Virtual Classroom Manager”.  This is specifically for Connect users to create and host Virtual Classrooms (plus it gives you access to the Events module).  It is basically another way we are licensing access to Virtual Classrooms.  This means there are technically two different types of Virtual Classrooms that can be created when you have the Training module enabled:

  1. The ‘traditional’ model of Virtual Classrooms (VC) which use the Concurrent Learner seat quota on the account (up to 100 seats per room), and…
  2. The Named Virtual Classroom Manager (NVCM) model of Virtual Classrooms which use a built-in 200 seat quota and does not use any Concurrent Learner seats.

When accounts are provisioned and quotas and features purchased, customers have the option of buying ONLY a Named Virtual Classroom Manager license.  They do not need to buy any additional training seats for Concurrent Learners.  In the older traditional model, in order to use a Virtual Classroom, you had to buy Concurrent Learner seats (say 250 seats for sake of discussion).  When a training manager created a VC, it would utilize seats out of that (in this example) 250 seat quota, up to 100 attendees (the rest of the concurrent seats could be used for another VC or other training content).  It was capped at 100 per VC.  With the new Named Virtual Classroom Manager license, you can now have only the NVCM feature enabled (and essentially have purchased no other training seats…so Concurrent Learner quota =0) or you can have it in conjunction with other training seats purchased in case you have a need for on-demand courses and curriculum, etc.. The NVCM model VC will not use any Concurrent Learner seats. It has a built-in 200 seat quota per room.  However, the caveat here is that the VC created for intended use with the NVCM model needs to have one of a few conditions in place in order to take on that NVCM model.  Otherwise, it may inadvertently take on the behavior of a traditional model VC and it could lead to unexpected circumstances like an ‘Account Limit Reached’ when the very first person joins the VC.

Let’s explain…

To create a Virtual Classroom, no matter what type of training features/quotas were purchased, all you need to be is a Training Manager, Named Virtual Classroom Manager, or Administrator.

The process of creating a VC is always the same.  You click on the “New Virtual Classroom” button from within the Training module.

Each time a Virtual Classroom is launched, Adobe Connect checks a few conditions to see how the VC should be licensed when it launches.  The result of which will dictate the quota used for the seats.  Where this becomes very problematic and confusing for customers is when the customer ONLY purchases a NVCM license and doesn’t have any Concurrent Learner seats (so Concurrent Learner = 0).  It is possible for a customer to create and launch a VC that is trying to use a Concurrent Learner quota by mistake.  If that happens, you will get the error ‘Account Limit Reached‘ right away.

For the sake of the scenarios below that explain how the VC’s are licensed when they launch, I will also mention that when a VC is created in a NVCM’s individual user folder under the Training tab, it automatically is a NVCM model room.  If it’s created under the Shared Training area of the Training tab, then there is a setting you can check or uncheck called ‘Named Virtual Classroom Model‘.

nvcm

The value can either be Yes or No.  Below in the listed scenarios, that is what ‘set to yes’ or ‘set to no’ means.

Also below in the listed scenarios, a ‘NVCManager‘ is a person who is in the group ‘Virtual Classroom Managers’ in the Users and Groups area of Connect.  That is what gives that person the ability to utilize the NVCM model.  A ‘non-NVCManager‘ indicates someone who is NOT in that group.  This would be a normal Training Manager or Administrator.

Here are the conditions and scenarios (assuming the room is Public) where a VC can be launched with or without the 200 seat expected NVCM quota:

Green = NVCM is used and quota will be 200 seats
Red = traditional model is used and quota will be taken from Concurrent Learner seats and could result in an “Account Limit Reached” error if that quota is 0.
Orange = NVCM is used but there could be some confusion due to the lack of NVCM in the room or permissions for that NVCM.

Scenarios:

  • VC created in My Training folder by NVCManager – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in My Training folder by NVCManager – launched by non-NVCManager = Will use NVCM license (quota 200) however will not have the host present even if non NVCM who launched the room is a host (permission-wise).  A NVCM needs to be present for the room to have an initial host, similar to Named Host Meeting.  If the VC is ‘public’ as far as access level, it will launch and use the 200 seat quota for that owner, but if the owner isn’t in the room, the users who have entered will be participants.
  • VC created in Shared Training folder by NVCManager (set to yes) – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in Shared Training folder by NVCManager (set to yes) – launched by non-NVCManager = Will use NVCM license (quota 200) however will not have the host present even if non NVCM who launched the room is a host (permission-wise).  A NVCM needs to be present for the room to have an initial host, similar to Named Host Meeting.  If the VC is ‘public’ as far as access level, it will launch and use the 200 seat quota for that owner, but if the owner isn’t in the room, the users who have entered will be participants.
  • VC created in Shared Training folder by NVCManager (set to no) – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in Shared Training folder by NVCManager (set to no) – launched by non-NVCManager = Will use Traditional VC license (quota 100 taken from Concurrent Learners quota).  IF there is no quota for Concurrent Learners purchased, user will get ‘Account Limit Reached’ error.
  • VC created in Shared Training folder or My Training folder by non-NVCManager (set to yes) – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in Shared Training folder or My Training folder by non-NVCManager (set to yes) – launched by non-NVCManager – the room will behave like a Named VC and will use the 200 quota. But The room will not be owned by anyone, to be more precisely, there will not be an active host until an Named VC manager enters the room. Also all other non-NVCM hosts and presenters will be downgraded to participants until NVCM, who is assigned as a host, arrives.
  • VC created in Shared Training folder or My Training folder by non-NVCManager (set to no) – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in Shared Training folder or My Training folder by non-NVCManager (set to no) – launched by non-NVCManager  = Will use Traditional VC license (quota 100 taken from Concurrent Learners quota).  IF there is no quota for Concurrent Learners purchased, user will get ‘Account Limit Reached’ error.

So ultimately if you have purchased a NVCM license and you are expecting a VC to open and allow 200 seats, but you are getting an Account Limit Reached error either right away OR after a lower number of people access the room (so under 200), then most likely one of the situations above (in RED) has occurred.  To confirm, make sure that the creator of the room is in the NVCM group, the room exists inside of a NVCM’s My Training folder, the host launching the room is a NVCM, or at the very least the room has ‘YES’ set for the ‘Named Virtual Classroom License Model’ setting if the room is in the Shared Training area.

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

 

 

Connect Meeting Room “NOT FOUND” Error when Launching

This blog article is pertinent to Adobe Connect HOSTED customers who have an account on the following clusters:

NA1, NA2, NA6, NA8, NA9, NA12

We have discovered a new bug recently with the 9.5.2 update (now live on accounts hosted on the clusters mentioned above) which can cause an issue for customers.

 

ISSUE:

You may try to launch a room and get a “NOT FOUND” error instead of the room opening as expected (image below):

notfound

 

This is because if the template from which a meeting room was created happens to have been deleted, then the meeting could result in the ‘Not Found’ state after 9.5.2 upgrade.   Meetings can have many ‘layers’ of templates under them.  Rooms created off of a template created off of a template created off of a template….and so on.  This will only affect a room if the template immediately underneath it is deleted.  Otherwise, if a template many layers underneath a room is deleted, this bug will not be present.  If you are not in the habit of deleting templates, you shouldn’t have to worry about this issue.  If for some reason you run into a room that will not launch and the attempt results in a ‘Not Found’ error screen as seen above, it could be because it’s template was inadvertently or intentionally deleted by the host, and admin, or any other user who has access to modify and administer that template.  Sometimes admins and meeting hosts go into Template folders (either My Template or Shared Template folders) and purge old, no longer used templates.  This could lead to rooms that were created off of those templates, experiencing this problem now as of the 9.5.2 upgrade that was performed this past weekend (February 7th).

Support has a way of recovering templates if they were recently deleted.  They should be contacted as soon as possible so that content (the template) can be recovered if it is still available on our storage devices and backups.

We are working on a hot-fix patch ASAP (we are targeting end of week internally and it should not impact the 9.5.2 rollout scheduled for the remaining clusters).  This fix should alleviate this issue and make it so that the meetings that were created off of a now deleted template, will still launch as expected.

Please contact support for any questions / concerns on this issue or if you are a partner/reseller and have customers who are experiencing this issue.  Again, it will only affect meetings on the clusters mentioned above, where the template used directly underneath a meeting, has been deleted.  Multiple layers down won’t affect the highest level meeting but any template underneath that has a template directly below it, will also be in this state if launched.

 

Behind the Curtain: Making Multiple Connect Meetings or Seminars Appear as One

On those occasions when a Meeting invitation may attract more participants than expected or planned for at the last minute so that you are unable to increase Seminar capacity in a timely manner, a skilled host can use two or more Connect Meeting rooms and project them to participants as though it were one room as an emergency workaround. Here is a basic outline of how to split a large meeting onto multiple servers. It is prudent to not just have more than one Meeting in these cases, but also to make sure each Meeting is hosted on a separate server in a cluster to add robustness to the meeting. Load-balancing is a wonderful thing and you should always use it to its fullest.

Assume an example of a three-server cluster/pool of Connect servers and that you want to split a Connect Meeting onto all three servers; a simple 3-server cluster is depicted here to use as an example:

C9SSLCluster3Simple

For a working example, let’s place a Connect Meeting room hosted on each server; to do this you will need three separate URLs: One URL for each 1/3rd  of your attendees. Getting the attendees distributed among the three rooms can be tricky. One effective technique is to either send out three different invitations, with each targeting 1/3rd of your audience and each offering a different URL, or just point everyone to a page with  all three URLs and request/instruct the participants to alphabetically arrange themselves in subsets of users by URL selection. That way it is not random; I have seen this technique work fine; here are sample meeting URLs based on our picture above:

http://connect.domain.com/splitmeeting1
http://connect.domain.com/splitmeeting2
http://connect.domain.com/splitmeeting3

To make certain the each meeting is hosted on a separate server (rather than all three on one as load-balancing could easily prescribe), it will require some effort to keep entering and leaving the room until your meeting lands on the server you want. Using multiple browsers may be helpful as well. Working on this well in advance of the meeting is prudent as there is a session timeout factor to consider. The load balancing algorithm will eventually get the sessions distributed but it may take some effort.

The way to tell which server you are on is simple: In any meeting room click Help and while holding down the shift key click About Adobe Connect. This will pop up an RTMP string that will identify the server that Meeting is hosted on and also which server a client is coming through as each client can be using multiple servers (just to add not only to the complexity, but also the overall robustness).

Here is what the RTMP strings might look like for each of the three servers in our simple example above ( I am inserting some URL parameters from a hosted meeting as I write this in order to create our hypothetical example RTMP strings – rtmp://arfms3.adobeconnect.com:1935/?rtmp://pcparapp07:8506/meetingas3app/89676385/630888204/)

rtmps:// connectmtg01.domain.com/?rtmp://connapp01:8506/meetingas1app/847483075/1086833045/
rtmps:// connectmtg02.domain.com/?rtmp://connapp02:8506/meetingas2app/847483076/1086833046/
rtmps:// connectmtg03.domain.com/?rtmp://connapp03:8506/meetingas3app/847483077/1086833047/

The first name in the string (connectmtg0#) is the built-in Connect Edge server and the second name (connapp0#)  is the Connect origin server  hosting the meeting (each Connect servers runs both AMS/FMS and Tomcat together). The second name is the important one for our technique of splitting the attendees onto separate meeting servers.

In the hypothetical RTMP string samples above, I have made these artificially neat and tidy, the truth is that the first part of the string can be any of the three for any meeting participant regardless of the application server hosting the meeting. For example, you could come in to connapp01 through connectmtg03 – any combination is possible. Load balancing is done at more than one level as Connect leverages both a hardware-based load-balancing device and also its own internal clustering capabilities; combinations for various clients (including the hosts and presenters) in our example cluster depicted  above might include:

rtmps:// connectmtg01.domain.com/?rtmp://connapp02:8506/meetingas2app/847483076/1086833046/
rtmps:// connectmtg02.domain.com/?rtmp://connapp02:8506/meetingas2app/847483076/1086833046/
rtmps:// connectmtg01.domain.com/?rtmp://connapp03:8506/meetingas3app/847483077/1086833047/
rtmps:// connectmtg03.domain.com/?rtmp://connapp03:8506/meetingas3app/847483077/1086833047/
rtmps:// connectmtg02.domain.com/?rtmp://connapp01:8506/meetingas1app/847483075/1086833045/
rtmps:// connectmtg03.domain.com/?rtmp://connapp01:8506/meetingas1app/847483075/1086833045/

The key to remember is that the second name is the one that matters; a distribution of participants approximating 1/3rd on each server is the goal targeting: connapp01, connapp02 and connapp03. After this is set-up, the pre-meeting preparation part is complete (this should be done at least one hour prior to the meeting).

Next comes the creative hosting venture during the split meeting: As the host, you will need all three meetings open in front of you to manage them as one. From the perspective of the participants, there is only one meeting (ignore the host behind the curtain). Be sure to hide the Attendee List Pod in the Presenter-only area as it will only present those participants in that specific Connect Meeting thereby allowing a peek behind the curtain or misrepresenting the size of the entire three meeting combination.

And here is where the techniques are very much up to you:

  • Splitting video among the three rooms is possible using a third-party option, one we have used successfully is: Splitcam.com.
  • For audio, if using integrated audio, be sure to use the same integrated telephony number for all three rooms.
  • If using VoIP, then allow one speaker only at a time to send audio via VoIP.

Some ways in which you can limit the amount of data being processed in your room and to improve the overall performance of these sessions are:

  • Optimize room bandwidth. In a Connect Meeting, at the top of the screen click on MEETING > Preferences. Under the preferences menu you are able to adjust screen sharing, video and VoIP quality setting separately.
  • Turn off cameras whenever they are not in use.
  • When in use, multiple cameras should probably be set to SLOW images (depending on how many and other variables).
  • Turn off VoIP if not talking.
  • Participants should directly connect to the fastest internet connection available and be on a dedicated DSL connection, at a minimum.
  • No clients or hosts on wireless – allow no exceptions.
  • Shut down Email, instant messaging, and any programs NOT being used for the presentation.
  • Shut down any VPNs as a VPN will potentially destroy the possibility for success.

When large Connect Meetings or Seminars become commonplace in your enterprise, this cumbersome workaround quickly becomes impractical and you should increase your Seminar or Webinar licensed capacity as needed to avoid this complexity and manual work. With that said however, this technique will work in a bind and will provide a robust Connect Meeting experience for a very large audience even if it challenges a seasoned Connect Meeting host.

Changing the License Serial Key in Connect

This article applies to on-premise and managed ISP Connect users. It does not apply to multi-tenancy hosted or ACMS.

On rare occasions it may be necessary to change the serial key in Adobe Connect. Here are the steps:

  1. Navigate to: \Connect_installation_directory\appserv\conf\config.ini and change the value of  SERIAL_KEY=  to reflect the new serial number
  2. In \Connect_installation_directory\custom.ini,  if there’s a serial key value listed (SERIAL_KEY=), replace it there as well.
  3. Using MSSQL Studio Express (or your choice of SQL editing options), view the serial key currently being used by Connect by running this command: SELECT * from pps_accounts WHERE name=’Enterprise Account’
  4. To get Connect to accept the new license you must change the serial key that is currently in the database by running this SQL command: UPDATE pps_accounts SET serial_key = ‘NEW_SERIAL_NUMBER’ WHERE serial_key = ‘OLD_SERIAL_NUMBER’
  5. Restart the services: Application Server (Connect) and the Meeting Server (AMS or FMS depending on the version of Connect) services.fw
  6. Open the Administration Console (port 8510 locally on any Connect server)

connconfig.fw

7. Go to License Settings and upload the new license file.

connconfiglic.fw

8. Restart the AppServer (Connect) and the Meeting server (AMS or FMS depending on version) again and the  new license file will be applied

services.fw

Troubleshooting: If there are any problems, do the following to troubleshoot:

  • Shut down the Connect and AMS or FMS Services
  • Open and verify \Connect_installation_directory\appserv\conf\config.ini and update the entry for SERIAL_KEY
  • Open and verify  \Connect_installation_directory\custom.ini and update  the entry for SERIAL_KEY
  • Open SQL Server and choose the Connect database and run the following script (replacing the text as appropriate):

“Input New Serial Key Here” with the New Serial Key but leaving the quotes.
DECLARE @NEW_SERIAL VARCHAR(32)
SET @NEW_SERIAL=’Input New Serial Key Here’

UPDATE PPS_CONFIG
SET VALUE = @NEW_SERIAL
WHERE SECTION=’cps’ AND NAME=’serial_key’

UPDATE PPS_ACCOUNTS
SET SERIAL_KEY = @NEW_SERIAL
WHERE ACCOUNT_ID=7

UPDATE PPS_ENUM_DATA_HOSTS
SET LICENSE = @NEW_SERIAL
WHERE HOST_ID > 0

db.fw_

  • Start the Connect and FMS services

Problems will ensue when the license is reducing the allowed usage of Connect (if you are downsizing) and you leave an overage in place. For example, if you have 100 meeting hosts assigned, and you are changing to a license that only allows 50 named meeting hosts then when you  apply the license you will get an error unless you have reduced the number to accommodate the new licensed restriction.

Adobe Connect ID’s are changing from INT to BIGINT

UPDATE: THIS ARTICLE IS FOR XML API DEVELOPERS ONLY.  If you are not using the XML API with Adobe Connect to write your own custom built applications that integrate with Adobe Connect, please do not worry about the message below as it will not apply to you.


Due to the growing popularity of Adobe Connect, more and more customers rely on Adobe Connect for their collaboration needs and this naturally requires that we make adjustments to accommodate the growth.  We want to make you aware of an upcoming adjustment to the ID values in Adobe Connect databases to support longer values which will accommodate growing customer use of Adobe Connect.

What is being changed?

Starting with release 9.5.2, Adobe Connect will migrate the ID values in Connect databases from INT to BIGINT/Long.

What is the impact?

This change will impact any applications using Adobe Connect Web Service APIs.

How will Adobe Connect Web Service APIs be affected?

The change is for those APIs which consume/return id values i.e. which have a parameter in request/response which is an Id. (examples: sco-id, account-id, folder-id, etc).  The id fields in such APIs would return/accept larger values. The support and behavior of existing APIs remains same.

What does this mean for you?

In case you are interpreting ids as integers the new values might overflow. We strongly recommend using strings to represent id values. In case you still need to represent/store ids as a numeral please use integral data type with higher capacity. (Preferably 64 bit)

What is the timing?

We expect to release Connect 9.5.2 in the first quarter of 2016, so the change should be made as soon as possible in order to be ready prior to the release.

Estimating Bandwidth Consumption in Connect Meetings:

Estimating bandwidth consumption in Connect 9.x Meetings:

The following tables may be used for estimating the amount of bandwidth that will be required for a Connect Meeting based on the features used.

Screen Share:

Screen Share Frame Rate Quality Bandwidth
(kbps)
Low 2 65 500
Medium 4 80 800
Standard 6 90 1200
High 8 100 2000

VoIP:

With reference to VoIP, it is independent of any settings. There is no metric comparable to frame rate or quality or bandwidth with VoIP;  a single metric of micRate is used. Currently we use following values:

Number of VoIP users Without UV With UV
<4 22 kHz 22 kHz
>=4 11 kHz 8 kHz

Note: In a simple test during which a song was played via VoIP for a single user, up bandwidth consumed was 44 kbps when the number of VoIP users was < 4.

Webcam video:

Webcam Video Frame Rate Resolution Quality Bandwidth
(kbps)
Normal Widescreen
Low 4 160×120 214×120 70 200
Medium 4 320×240 427×240 70 300
Standard 8 320×240 427×240 70 300
High 20 640×480 854×480 90 600