Manage Acano server with Powershell: PSAcano version 0.2 released

v0.1 post is here

I’ve finally gotten time to complete coding of the 0.2 release of the PSAcano powershell module.

The module now contains all GET, POST, PUT and DELETE commands from the Acano API documentation, and everything that is possible to do with the API should now be possible to script in powershell.

Error handling is still not in the module, this is planned for the 0.3 release, I’ll be adding that the next couple of weeks.

You can download the latest release here, or you can clone the project with Git from here.

There are two branches that get updated frequently, master and dev. The master branch will be considered stable, and will have features added between releases. The dev branch is considered unstable and this is where active developement happens.

Here’s an example on how to add a call (call leg) to a coSpace using the module:

Then you can just run

Add-Participant -CoSpace df2d3e44-91ff-48f4-aeca-ffd951641ebe -SipUri

to add a participant.

Producing Skype Meeting Broadcast for webinars and webcasts

The last couple of months Skype Meeting Broadcast has been available in technical preview and we’ve been testing it as a platform to deliver webinars and webcasts on a couple of occations. This post is a writeup on our experiences from this.

Scheduling and set up

This process is fairly straight-forward. If your tenant has Skype Meeting Broadcast enabled, you log in to with your Office 365 credentials and you are good to go

The first screen that you are presented with is a calendar that neatly displays all your scheduled broadcasts, and where you can schedule new meetings


If you click “New Meeting” you will be taken to the create meeting page where you can set the name, time and duration of the meeting. You will also be able to create an event staff and choose what kind of audience will be able to join the broadcast. For webinars all of these could possibly be used, we have most often used it with the Anonymous setting.


The duration can be set to a maximum of 4 hours, but we’ve been having casts extend that with almost double that time without issue.

After the initial set ut you are presented with an overwiew page that can also be accessed by clicking the meeting in the dashboard overview. Here you can get the link to the broadcast and also create an outlook invitation for the broadcast. You are also able to customize the broadcast from here.


Currently “customizing” means that you can add two modules to the broadcast page, one in the sidebar and one below the broadcast. As of writing this post, two options are available as content to these modules:

  • Add discussion from a Yammer page
  • Bing Pulse integration

I haven’t played with Bing Pulse at all, so I don’t really know what it can do, but the Yammer integration has been really useful and adds a real time feedback mechanism to a one way communication scenario. You need to create a group in a Yammer network that all participants can access to be able to use it, so information about this should be included in the invite, so the participants have time to prepare for this before the webcast.

Broadcast Startup

Prior to the broadcast start, event staff should join the meeting and get set up by starting video and uploading content to the broadcast. The event staff could consist of both presenters and producers in the meeting, but what we have found to be the best is to only have producers as staff and join the presenters to the meeting as a normal Skype meeting participant, more on that later.

The meeting join link is found on the meeting summary page and the link is used by both staff and participants


Staff click the Sign in as event team member button. The Skype for Business client will start up as normal and staff joins the broadcast as a normal Skype meeting, but with some small differences in the user interface. Once joined and a powerpoint is uploaded this is what it looks like:


Those familiar with the meeting UI will notice a couple of new buttons next to the presentation. This is where you control the broadcast and layout of the screen. Once an active video is selected, you are able to start the broadcast and select between the following layouts

  • Video Only
  • Video and Content
  • Content only

These layouts can be switched between throughout the broadcast and can be used by the producers to break up the broadcast a bit. They shouldn’t be switched between too often, but is a nice way to add some flavour to the broadcast. The “Video and Content” layout will display the presentation with the video in a small picture on the right side of the broadcast feed.

One thing to be aware of, once the broadcast has started all sound in the meeting will be broadcast as well, so this meeting should not be used to communicate between producers and presenters. IM’s will not be displayed, so that should be the preferred method of communicating behind the scenes.

Also, once the broadcast has started it can not be stopped again without ending the entire broadcast. Do not use the Stop Broadcast button to pause the broadcast!

After the broadcast has ended a recording will be available on the meeting link, provided the “Enable meeting video recording” checkbox was checked during meeting set up.

With this we’ve covered the basics of producing a Skype Meeting Broadcast, but this leaves a couple of things to be desired.

Producers and presenters

it is fully possible to be both a presenter and a producer in a meeting, but often a presenter will not have the technical ability to produce their own meeting and in those cases it might not even be a good idea to give them the opportunity. Once one staffmember has joined the broadcast meeting it is fully possible to join presenters to the meeting as in a normal Skype meetin, either via drag and drop or via the meeting entry info which will contain a normal meeting join link to the meeting. This is not the same as the broadcast meeting join link.

If presenters join this way, you are able to select them as main video for the broadcast, and they will be able to present content to the meeting, but they will not be able to control starting and stopping the brodcast and will not have access to the layout controls. We have found this to be a very good solutions in cases where you want to separate production and content presentation.

What we also have found in these cases is that it is a very good idea to have at least two participants with producing capabilities in the meeting at all times, in case one of them drops out of the meeting. This can happen for various reasons, but the most common are network issues or computer crashes.

Advanced content sharing

The only possible content to present in a broadcast is a powerpoint presentation. No other content that the Skype for Business client normally can present is available to broadcast. There is also a limitation in that only one video source can be broadcast at the same time, gallery view can not be broadcast.

To work around this I’ve been using XSplit Broadcaster which is a software that will take a lot of input sources, for instance media files, desktop areas, youtube videos etc and is able to in real-time create a video stream to a virtual webcam that can be used to send video in to a Skype meeting. In this way we can sow together our own layout for the content presentation and providing a lot more options for the content in the presentation. The entire layout is sent to the meeting as one video stream and uses the “Video Only” layout in Broadcast Meeting.

The only issue with Xsplit is that the virtual webcam that comes with it uses Direct Media to display the image, and the Skype for Business client only supports Windows Media Foundation. This means that the windows desktop client is not able to read from this virtual webcam. The workaround for this has been to join the meeting from the web app client in a Chrome browser. Chrome can access Direct Media devices, and can in that way send the video created by XSplit in to the meeting broadcast.

This has enabled us to use broadcast meeting with some advanced features, amongst others:

  • Display video from all presenters on top of the presented content
  • Display live demos from the desktop
  • Send prerecorded video in to the broadcast
  • Live drawing on top of a presentation
  • Setting up a pause screen with countdown to when the broadcast will resume

And so on.

Using XSplit and Broadcast meeting together, we’ve made some really professional looking webinars. In one case for instance, I used teamviewer to capture the desktops of the presenters and with XSplit i combined those with both their videos and sent them to the meeting in several different layouts depending on the situation. This enabled me to produce a meeting from one computer where me and the two presenters all where separated by great distances physically. If we’d been in the same room, it would also be possible to use different pro-grade cameras as well, in stead of the webcams.

I am certain that there exists other kinds of software that does the same as XSplit as well, please let me know about them!

Concluding tips

  • Always be more than one producer, or at least as producer have two computers joined to the meeting as staff, preferably on two separate internet connections if the broadcast is important.
  • Prepare. Always prepare all aspects of the entire event well in advance
    •  Will we use Yammer or Bing Pulse?
      • Accounts need to be set up and participants need information about joining
    • What kind of content do we need?
      • Is it enough with only Powerpoints as shared content?
    • Producers should have access to agenda and content in advance to create a plan for layouts and layout switching, especially if using anything other than pure powerpoint presentations.
  • Never ever press the “Stop Broadcast” button unless the broadcast is fully completed.
  • Familiarize yourself with the platform before you start producing broadcasts. Run several test broadcasts.

Managing Acano Server in Powershell

v0.2 has been released! Post here

I love it when stuff is possible to manage through PowerShell.

I’ve been working quite a bit with Acano lately and because of that I have started looking in to the management API that they provide on their Server. This API is exposed as XML through HTTPS, so I thought that it should be quite possible to write some PowerShell functions that accessed parts of the API. These have evolved in to what I now release as version 0.1 of the PsAcano PowerShell implementation of the Acano API.

Currently only the GET commands are implemented, so it is only possible to view information at the moment – not edit or create anything. The functionality provided by the POST, PUT and DELETE commands will  be implemented in the coming days and weeks.

Last weekend Knowledge Factory had our kick off in beautiful Vaxholm outside of Stockholm. There we were treated to an extremely inspiring session by Simon Wåhlin ( about PowerShell and GIT. A big thank you to Simon for finally kicking me into doing source control on my scripts 😀

I’ve set up an account on Github, and from now on my scripts will be available there, and this of course also applies to PsAcano.

If you don’t want to visit the repository page on github, you can download the module here. Installation instructions can be found in the file. Feedback is welcome as issues on github or comments on this blogpost.

Lync, Skype and Cisco Telepresence clients in the same video conference!

Late afternoon last Friday (In europe at least :)), Microsoft released video calling between Lync and Skype. This has been something that a lot of us has been waiting for for quite some time! You can read more about this release here.

To be able to video call a Lync contact from Skype, and vice versa, the following needs to be set up:

  • The Lync environment needs to be federated wilyncoptionsth Skype – see the Provisioning Guide
  • The Lync user needs to use the Lync 2013 client.
  • The Lync user has to be enabled for Public Access, and will have to set “Contacts not using Lync” to “Allow invites but block all other communications” or “Allow anyone to contact me” under “Alerts” in the Lync options menu.
  • If set to “Allow invites but block all other communications” both the Lync user and the Skype user must add each other to their contact lists
  • Currently it will only work from Skype on a Windows desktop running at least version 7.0.x.100. More Skype clients will be supported in the coming months.

This also brings cool opportunities when using Lync together with for instance Acano or Pexip MCU software. This screenshot is from a video conference using the Acano brigde, and here is a Skype Client, a Lync Client and a Lync mobile Client brought together with a Cisco Telepresence room! Pretty awesome! The screenshot is taken from the Skype Client.lyncskypeciscotp


Lync Meetings and Transport Neutral Encapsulation Format

One of the small things that make Lync Meetings so simple to join is that Outlook will recognize the meeting and wil give you a small button on the Outlook reminder that lets you join the meeting without even opening the calendar. This is also the same functionality that clickable from the calendar interface on the mobile and desktop clients and makes the meeting joinable from a Lync Room System.

Some might have noticed though that when the Lync meeting invites come from an external organization, none of the clients will actually recognize the meeting as a Lync meeting. For most of the clients this is not a big problem, because the link in the invite will still be clickable, but for the Lync Room System this will actually render the meeting unjoinable.

The method that is beeing used in the meeting invites to identify a calendar object as a Lync meeting is called Transport Neutral Encapsulation Format, or TNEF. TNEF is basically an attachment format that is used by Outlook and Exchange in different situations additional formatting is needed, like voting and meeting invites.

The global settings for sending TNEF to remote domains is default set to false. This means that when sending Lync Meeting invites out of the organization, the TNEF attachment is stripped off and the recieving party does not get the extra data which in turn makes the Lync clients at the recieving party not recognize the meeting as a Lync meeting.

To resolve this, the sending party needs to enable sending of TNEF attachments to the recieving party. This is done via the RemoteDomain settings, and can be turned on for i.e like this:

New-RemoteDomain -DomainName -Name Contoso
Set-RemoteDomain -Identity Contoso -TNEFEnabled $true

It is also possible to set TNEF on for all remote domains, but be careful with this as TNEF can cause issues if the recieving end does not use Exchange.

VCS suffers from a Linux kernel bug

Just got a mail from Cisco regarding a bug in the Linux kernel making some processes on the VCS go haywire and create a heavy CPU load on the box.

The fix is currently to boot the VCS.

The supposed bug is discussed here:
UPDATE: Cisco supportforum post

OpenSSL in X6.0

There seems to be a bug eith the openSSL running on VCS X6.0. It has some problems with .pfxes created by the MS Certificates snapin. Should be fixed before X6.3.

In the mean time, we’ll have to use openSSL elsewhere to create certs for the VCSes and Codian MCUs.