In a freshly set up Skype for Business hybrid environment we got this error after trying to move the first user from onprem to online:
HostedMigration 510 error : the user could not be moved because the tenant has not been enabled for shared SIP address spaces
After verifying that both the tenant and onprem environment is actually set up for shared address spaces with
the issue is still there.
I did find a blogpost and an ms forum post on this, but in both those cases the problem seemed to be some caching of some sort and solved itself, which it didn’t in my scenario.
It turned out that the user were homed in a child domain and the FE pool in the root domain. The problem was solved by running the Move-CsUser Cmdlet with the -DomainController parameter as well, like this:
Move-CsUser -Identity firstname.lastname@example.org -Target sipfed.online.lync.com -Credential $cred -HostedMigrationOverrideUrl "https://adminXX.online.lync.com/HostedMigration/hostedmigrationService.svc" -DomainController dc.contoso.com
Remember that your HostedMigrationOverrideUrl will probably be different, just log in to the SFBO admin portal to get yours.
I’ve been delivering an Acano Certified Engineer II class this week, and one of the labs is to create call branding for the Acano lab deployment.
On the Acano server you can customize the meeting invitation by using a template file uploaded to a webserver. What happened in the lab was that all the students were able to see the custom template work in their Acano clients, but when they logged in to the webRTC client on the webbridge, it fell back to the default template.
We found a file from a known working deployment and used that, and suddenly it started working in both clients. So at least we knew that the file itself was the problem. A couple of the students compared the files, and the working one was encoded as UTF-8 while the non-working one was encoded as UTF-8-BOM. The Acano docs states that the file needs to be UTF-8 encoded which they are, and apparently the Acano client handled the BOM addition fine while the webbridge didn’t.
After googling a bit it seems that windows notepad is not capable of saving UTF-8 without BOM, so the solution ended up being to use notepad++ and save it as UTF-8 without BOM there.
Acano server 1.9 was released 6.6.2016, and with it came some new features, most notably the ability to record meetings within the Acano server.
This also means that the API has been updated, so PsAcano needed an update as well. PsAcano version 0.3 adds all the new parameters and the entire new recording possibility to the module.
The release can be downloaded from here or you can run
iex (New-Object Net.WebClient).DownloadString("https://gist.githubusercontent.com/tomlarse/5f43bbe0e763cea379ca/raw/83054527ca5e5433e466f55106ea145bec330435/installmodule")
in powershell to install the module.
As always, please report issues, and feel free to contribute if you feel you have anything to add!
When integrating an Acano callbridge with Skype for Business (or any of the Lync versions), one of the tasks needed is to provide the callbridge with one or more SfB-enabled users that it can use to obtain MRAS credentials so that it can send media through the SfB edge server to external SfB users. This user is also used by the callbridge to look up SfB conference ID’s when using multi-homed conferencing.
This is normally configured in the webadmin under the “Lync Edge settings” heading, found under Configuration->General. Funnily enough, none of these settings actually reference the edge servers in any way, the callbridge registers this (these) user(s) to the front end pool and is provided with the MRAS URI (basically the SfB edge TURN credentials) during the registration process.
The “Number of registrations” field dictates how many users the server will register, you need one for every 12 simultaneous calls you need to support through the SfB edge. If this is set to one the server will register the sip address configured in the username field, if it is set to a number greater than 1 it will register a sequence of users like this
and so on. If you have only one FE pool in your SfB environment you are now done and may move on.
If you happen to have more than one FE pool in your environment though, you will have to add all of them to the Acano configuration. It is only possible to add 1 through the web interface though, so in this case they will have to be added one by one through the API. You can use Postman or some other REST client for this, or you can use the PsAcano powershell module like this:
You can use the same service accounts for all FE pools.
NOTE: The callbridge is added to the SfB environment as a trusted application pool using -TreatAsAuthenticated $true, so we do not need to provide a password for the users as the callbridge is authorized to authenticate users for the SfB environment.
To get support for Lync and Skype for Business on Windows Server 2012 R2, you need to add a registry key that changes TLS session caching on 2012 R2 Server. This is described here https://support.microsoft.com/en-us/kb/2901554
To create this key, use the following powershell oneliner:
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 email@example.com
to add a participant.
If you need to reboot a Skype for Business server, you might not always want the services to start automatically afterwords for various reasons. For instance if you are doing a shutdown of an entire pool, you’d want to run
Start-CsPool -PoolFqdn skypepool.contoso.com
to do a cold start of the pool, instead of the services starting automatically.
Use these oneliners to set the services to manual startup and back again to automatic afterwords.