Tumgik
lyncnews · 7 years
Link
Hello Readers.  Hope you're well.   This is a quick post on setting up the newly released (and long time coming) Sonus SWe Lite virtual SBC in a Hyper-V environment.   The SWe stands for Software Edition.  Not exactly sure why it isn't SE, since software is, and always has been, one word.  But I'll leave that for you to decide.   You'll problably know that Sonus aready had a Software Edition, or SWe, product.  The existing SWe is based on their big boy range, on the 5000, 7000 and 9000 code base.  The new SWe Lite is a virtual edition of the Sonus Edge range of Session Border Controllers and PSTN Gateways, based on the same codebase as the SBC 1000 and SBC 2000.  For those that have been doing this for a while, these are the result of the acquisition of Network Equipment Technologies (NET) back in 2012. The new SWe Lite is Sonus' first iteration of the product.  At launch, it is only capable of up to 100 SIP sessions by license.  However, the plan is for the product to scale massivly upward.  The current SBC 1000 scales to 192 concurrent SIP sessions with 3 DSPs and the 2000 scales to 600 with 6 DSPs.  So, 100 is not a bad starting point.   Choosing between the two will be a matter of deciding if you need to support E1/T1 trunks or need on-board analog device or line support.  The latter can be achieved by combining the SWe Lite with a Tenor FXS/FXO VoIP gateway.  As for the former, it's 2017, SIP is the future and you should start thinking about it.  However I do know that E1/T1 trunks will still be neccessary to interconnect to carrier lines and legacy PBX's that aren't SIP capable.   On with the show!
Setting up the Sonus SWe Lite in Hyper-V
1. First, you need to download the image.  This will require that you have an account on the Sonus Support site.  You have a choice of Windows, Linux and Solaris hypervisor images to download.   I logged into the partner portal and go to Support, SW Download, choose SWeLite in the PRoduct drop down list and select an Operating System.  Then just click Request Download.
This submits a request to Sonus to issue you with the link to download the product.  It took, perhaps, an hour for the email informing me that my request was approved.  After that, go back to the same site and click on the Download Requests tab and click the Software Request ID to begin the download.
As of 9th March 2017, my package was "SWeLite-Hyper-V-release.6.1.0.build87.zip"   2. Extract the contents to a folder - SWeLite-Hyper-V-release.6.1.0.build87 3. Navigate to SWeLite-Hyper-V-release.6.1.0.build87Install and Unzip and extract the file "SBCSWeLite-HyperV.zip" You should have the following folder - SWeLite-Hyper-V-release.6.1.0.build87InstallSBCSWeLite-HyperVSBCSWeLite-hyperv This contains the folders Snapshots, Virtual Hard Drives and Virtual Machines. 4. Now launch Hyper-V Manager from the Windows Start Menu. 5. Click Import Virtual Machine link in the Actions pane, and then click Next. 6. Click Browse from the Locate Folder dialog box and then navigate to and select the folder - SWeLite-Hyper-V-release.6.1.0.build87InstallSBCSWeLite-HyperVSBCSWeLite-hypervVirtual Machines
7. Select the VM to import from the Select Virtual Machine dialog box, and then click Next.
8. Select Copy the virtual machine (create a new unique ID) option, and then click Next.
9. The default settings are displayed in the Choose Destination dialog box. Leave all locations in the default state, and click Next.
10. Click Browse from the "Choose Storage Folders" dialog box and navigate to the folder that will contain the virtual hard disks.  Click Next.
11. Then click Finish.
12. After the image is copied, rename the VM to the intended SBC SWe Lite host name.   13. Now right-click on the renamed VM and then select Settings. 14. Click on the first Network Adapter and choose your interface and VLAN tag if necessary. 15. Click the + sign to the left of the first Network Adapter and then click Advanced Features. 16. Select Static under MAC address in the Advanced Features pane. Configure the MAC address based on your requirements. 17. Repeat steps 14 to 16 for the remaining four adapters. Note - Configure all five adapters even if they all will not be used. 18. Click OK to save and exit the Settings window.  19. Right click on the VM name and then select Start.
The next step will depend on your environment.  If you have a DHCP server in your environment and the adapters pick up an address, you should be able get the admin IP by launching the console and monitoring the startup progress and identify the initial Admin IP address. If, as in my case, that didn't work, follow the next seversal steps: 20. Log in to the console with the default Sonus console username and password.  "netconfig" and "Config!"
________________________________________________________________ Special shout out to a couple of people on Twitter.  Skype for Business MVP Eudes "Eudo" Oliver @eudesoliver and Max Sanna @MaxSanna for helping me out here.  Thanks guys. ________________________________________________________________ 21. Once you log in you'll be asked to change the admin password
22.  Now you'll be asked if you would you like to configure a static IP address for initial setup on the Admin Interface (y/n): y
23. Now you'll be asked if you want to Configure interface mapping
24. Now go through and pick all of the interfaces and then Apply changes.
After that it says that the initial interface mapping and Admin IP is configured 
25. Now open the Web UI to launch the initial setup page
Now cofigure the system information, IP addresses local users and connectivity information. 26. Under System Information you need to configure your network type (Static or Dynamic), the host name, internat domain and time zone.  If you have a Syslog server, configure that here.
27. Under IP addresses you need to assign IP addresses, Subnet Mask for the admin interface and the IP Address, Subnet Mask and Media Next Hop IP for the other interfaces.
Note: Each interface IP needs to be in a different subnet.  It warns you if you try and add an IP that is in the same subnet as another interface. 28. You also need to configure the local Admin username and password as well as your default route. Now that the initial setup is done press OK.  If you get no warnings, you've done it correctly.  You get a popup saying that the initial setup process will begin and that after it is done you should log into the admin interface with the new admin credentials you configured above.
29. Open a browser and enter the Admin IP When you browse the site you'll see the Sonus Edge screen - hit Enter.
Enter the Admin username and password configured above.
Once logged in you'll think you're in any other Sonus Edge "box".   30. Now you need to license the box.  Go to the System tab, Overview and copy and send the SWe Lite ID to your local Sonus supppliers and they'll send you a license file.
To be updated with the license installation steps. Once you're licensed you can start configuring the SBC for your needs.  Probably (hopefully) Skype for Business.   I still need to figure that part our myself.  I'm completely new to the Sonus SBC world.  I've been selling them for over 3 years, but have never had the pleasure of configuring one.  I've been waiting for this virtual edition for a long while and will finally get my chance. Once I figure all of that out I'll publish another post on how to set it up for Skype for Business and some SIP trunks.
________________________________________________________________
Now another shout out to a couple more Skype for Business MVP's and all around great guys.  Luca Vitali @Luca_Vitali and Greig Sheridan @greiginsydney.  Luca was the first to get his post on this exact subject published and Grieg was second.  Both are excellent as you'd expect given their previous body of work. Luca's is on VMWare rather than Hyper-V. http://ift.tt/2mQoq25  Grieg's is on Hyper-V http://ift.tt/2mhWiky
_________________________________________________________________________________
If you want to know more about the SWe Lite click here.  Of for any of the other Sonus products go to https://www.sonus.net or speak to your local Sonus partner. As always I hope this has been useful.  If this or any other post has been useful to you please take a moment to share.  Comments are welcome.  
1 note · View note
lyncnews · 7 years
Link
By Andrew Prokop A handy-dandy SIP primer to help enterprises understand what a SIP migration entails and the benefits you can hope to gain
0 notes
lyncnews · 7 years
Link
Sonus announced the SWe Lite at Ignite in the US late last year and we’ve been anxiously awaiting its arrival. Well, IT’S HERE!
The SWe Lite is the “Software Edition” of Sonus’ well-established Enterprise-grade Session Border Controllers, the SBC 1000 and SBC 2000.
I’m particularly impressed with the look and feel. At a quick glance it’s indistinguishable from a 1k or 2k:
The GA build supports up to 100 SIP calls, 25 transcoded or encrypted sessions and a call setup rate of 10 calls per second. It’s a faithful port of the SBC we’re familiar with, so includes the bulk of the features we’ve come to rely on for years including the powerful AD integration & the invaluable real-time channel monitor (shown above).
Notably absent is inbuilt Music On Hold, although we’re assured that’s coming soon. Check out the datasheet or the page “Functional Differences Between SBC Edge and SBC SWe Lite” for more of the engineering and feature specifics.
Sonus is letting an “unlicenced” SWe Lite carry up to 5 ordinary SIP calls or 3 encrypted/transcoded calls – more on that below. In the screen-grab above I’ve established 3 calls successfully over TLS to Skype for Business and a failed fourth call attempt is what generated the “Failed to acquire licence” you can see in the Alarm View.
Installation
I found my installation deviated from the online Installation Guide for Hyper-V, so I thought I’d document the process I followed with the GA build in my Lab. Here it’s going onto my Dell R720xd running Hyper-V Server 2012 R2.
Keen readers may note that some of the time-stamps in the attached jump around a little. The steps below were captured over almost a week of testing and plenty of different builds of VM in order to document all the options – and an annoying do-over where I was bitten by the requirement to separate Admin and Media NICs (see Notes below) & fluffed the swapover.
Login to the Partner portal and raise a request to download the SWe Lite, which ships as a pre-packaged virtual machine. In my case I downloaded “SWeLite-Hyper-V-release.6.1.0.build87”.
Copy this to your Hyper-V host.
Unzip it to a utility folder. We’ll be importing this machine and copying it to a new location as part of that process, so it doesn’t particularly matter where you place it in this step.
Browse to the Install folder therein and unzip the “SBCSWeLite-HyperV.zip” file. I unzipped it to the same folder. If you have any experience with Hyper-V, this structure will look familiar:
From here you have two choices to import the VM: if you’re old-skool, continue with the next step, but if you’d prefer to P$ this up a little, jump to step 15.
Launch Hyper-V Manager and select Import Virtual Machine.
Navigate to the “Virtual Machines” folder from Step 4 and click Next:
Next:
Select “Copy the virtual machine (create a new unique ID)” and click Next:
Accept the default or select “Store the machine in a different location” and nominate your preferred locations. All mine live in their own folders under E:Hyper-V
Here I’ve chosen to place the VHD in the same location as the above:
If you’re happy with all the settings, click Finish:
The import will take place and the wizard will close:
Jump to Step 16.
If you want to import the machine using PowerShell, I did it in 2 commands to save some typing. I centralise each Virtual Machine, its snapshots and VHDs all in the same folder, and to save specifying the same thing 4 times, I used a variable. Note that the poorly-named “-path” value needs to include the XML file as well – not just the path to it. Auto-complete is your friend there – tab your way to the file:
PS D:> $NewVMPath = "e:Hyper-VSWELite-GA" PS D:> Import-Vm -path "D:SWeLite-Hyper-V-release.6.1.0.build87InstallSBCSWeLite-hypervVirtual Machines56CE3CC2-D8B5-4673-9857 -BCAB33E4F6AD.XML" -Copy -GenerateNewId -VhdDestinationPath $NewVMPath -VirtualMachinePath $NewVMPath -SnapshotFilePath $NewVMPath -SmartPagingFilePath $NewVMPath -verbose
Back at the Hyper-V Manager you’ll find a new VM called “SBCSWeLite”. I’ve already re-named it to add a “GA” suffix:
Right-click the VM & select Settings. You’ll see it defaults to 1CPU and 1G RAM:
The Sonus install guide requires you to set static MAC addresses for all the NICs. I suspect this is for licencing reasons, and as it’s not relevant for me in my Lab, I’m going to break from the guidelines and stick with the Dynamic ones assigned by Hyper-V. If you’re going to be running this SBC in Production, please change all these NICs to Static MAC addresses. If you possess System Center Virtual Machine Manager (SC-VMM), it will let you create and manage a pool of static MAC addresses.
The first of the 5 NICs is dedicated to Admin, and the rest are reserved for Media. In the Lab I’m going to Administer it via my DMZ, and keep all my Media on the Internal network, while the final three I’ll leave “not connected”:
(I realise my NIC config here is a little “unconventional”, but sadly the SWeLite doesn’t support Admin and Media on the same network, and I only have two networks in my Hyper-V server).
Click OK to return to the Virtual Machines view.
Double-click the machine’s name to launch a console window, then the click the aqua-coloured start button (or Action / Start if you prefer). Press return to Boot to “Partition1”, or just wait for it to timeout and boot automatically:
In my Lab the SBC doesn’t like my DHCP servers, so at this step it fails to get an IP address for the Admin NIC. If you’re similarly-afflicted, you WON’T see an Admin IP as highlighted here:
If you DON’T see an IP address here, skip to Step 24.
If you *do* receive an Admin IP address above you might be tempted to jump to the browser and start configuring it, but I recommend against it. Here’s why: if you do browse to the UI you’ll hit the Initial SBC Setup wizard, as familiar users will be expecting, and this new warning message:
“It is recommended to login to the shell as ‘netconfig’ user to map the network interfaces before initial setup”.
As you’ve not yet mapped the application’s network interfaces back to the ‘virtual hardware’ layer, the SBC shows you all 5 NICs it’s capable of running. In my Lab I only want to use one for Admin and one for Media, so I want to suppress the other three.
Skip to step 25.
No IP? Welcome to the club. I guess yours might look like mine, where it comes to a halt at “System Health Monitor: spawned daemon with PID…”:
Press return in the virtual machine window to be prompted to login:
The login is “netconfig” and “Config!”.
Set a new password for “netconfig” as prompted, then configure the Admin IP address (if you didn’t get one from DHCP or want to change what you were offered):
Respond “Y” when asked to configure interface mapping and then respond to the each of the prompts by typing in the interface names from the ever-shrinking list of options. In this screen-grab I set “mgt0” as my Admin NIC and “pkt0” as my sole NIC for media, <Return> past the others and then finish with “y” to apply the changes:
Done! Now you can sign in from the browser and continue the config from the Initial Setup Wizard:
Note the “IP Address” section now only shows 2 NICs, compared to the 5 in the image back in Step 23.
(I like how the SBC nowadays highlights changed values with a blue border around the element).
Click OK to submit the changes and login to your new SWe Lite!
TADA!
You’re not done here yet though. Whilst the SWe Lite *is* going to include free SIP and transcoding licences, they’re not there automatically. If you’ve been around the SBC (pka “UX”) family for a while you might recollect they have “Base” and “Features” licences. The requirement for a free-standing Base licence was removed back in 4.1.1 days on the 1k & 2k platforms, however the SWe Lite has reverted (at least at GA) to needing both licence types loaded. What you’re seeing here is an SBC devoid of any licencing at all:
“This SWe Lite Instance is currently not licensed.”
For the time being the licencing process is a manual one, although that’s expected to change. Capture the “SWe Lite ID” from the System / Overview screen and send it to your local Sonus distributor or support contact:
You’ll receive a “Base” licence as a semi-legible XML file (rather than the previous blob of characters), but you still paste it into the same place in the UI:
Click Decode and Apply. Don’t be freaked that the licence appears to leave everything disabled – you’re confusing the difference between the Base Licence and a Features Licence, and the “free” calls licences that come in the Base aren’t visible here:
When you return to the “Current Licenses” view it’s better (when compared to Step 32) but still may concern you. Don’t – you now have a Base licence and several previously absent options have now materialised in the UI. You’ll also now be able to make calls through the SBC:
From here the configuration process is no different from a physical SBC. Config shortcuts include the ability to import a partial config – limited to another SWeLite at the moment – and the various Easy Setup Wizards.
Notes
I absolutely LOVE that the free version of the SBC includes SIP, registration and transcoding in the Base licence. I see the SWe Lite going into Labs, and pre-Prod test environments everywhere.
Kudos also to Sonus for not restricting the SWe Lite by mandating Hosts with specific advanced hardware or boutique configurations that might be mutually-exclusive with other Virtuals.
1G RAM and 1 CPU core for 25 encrypted calls is a great starting position. It will be interesting to see how this scales as the product matures.
Don’t let the limit of 25 transcoded/encrypted calls at GA discourage you from going into production – that’s its low-ball starting position from which it is absolutely going to grow. Have a word to Sonus and run two SWe Lite (or more?) instances on the same host to double the call-carrying capacity until the unit’s stand-alone throughput meets your requirements. (I acknowledge that this might not be compatible with some carriers’ SIP offerings).
The “Easy Config Wizard” won’t show in Tasks / Easy Config Wizard without a Base licence, so if you only see Certificates there, check you didn’t skip the Licencing steps above:
It’s not yet possible to import a .tar file from an SBC1k or 2k to the SWe Lite, so the migration process from physical to virtual will still involve some re-typing. I’ve tested and confirmed you can import Transformation Tables & SIP Message Rules from the other platforms, and I expect the same will apply to Passthrough Auth imports:
As you would expect of a virtual device like this, it’s able to log internally and also save packet captures locally (like the 2k).
The Admin NIC can’t be on the same network as any of its media NICs, and you’ll receive an error if you try to change them. I’d really like to see this resolved as it’s a major break from convention with its stablemates:
The backup file format is essentially the same as for the 1k & 2k, so the current version of my “Convert-SonusSbcConfigToWord.ps1” script (v6.1A at the time of writing) will still create a DOCX or PDF of the config in an easy-to-view format. I’ll get working on some minor tweaks and customisations for the SWe Lite next…
Summary
I think Sonus has done a fantastic job porting the 1k & 2k devices to a virtual platform, reinvigorating its highly-regarded SBC for centralised Data Centre deployments where rack-space is either not an option or prohibitively expensive.
I’m comforted that the GA build is significantly improved over the Alpha & Beta versions I was able to trial, and I expect Sonus will capitalise on its follow-the-sun global TAC operation to minimise the impact on customers of any issues that arise.
At Generation-e we have customers queuing up to get the SWe Lite in production, so keep an eye out here or on Twitter for any tips and traps we encounter along the way.
I’ve not seen (or asked about) pricing so I can’t comment on how the SWe Lite sits compared to its stablemates or the competition.
References
Check out Luca’s “Sonus SWe Lite Step-by-Step Setup” for VMware
Static MAC addresses: KB2804678–Cannot Exceed 256 Dynamic MAC Addresses By Default On Hyper-V Host
Credits
Thanks to Anup @ Sonus in Sydney for his help with my testing and Lab build, and to the rest of the Sonus team for envisaging and delivering on a much-sought-after addition to the product family.
Revision History
13th March 2017. This is the initial post. 13th March 2017. Added Luca’s review to References.
  – G.
1 note · View note
lyncnews · 7 years
Link
This is what the Windows 10 Mobile version looks like, for those curious if that is still a thing. Yes, it’s still a thing.
Every so often, the spirit moves me and I take the time to update the Windows 10 and Android apps that I have out there. And this weekend, the spirit moved me.
For those unfamiliar with the apps, they are a central point for things related to Exchange and Skype for Business. So in one place you can see the latest blog posts that have been published but also quick access to TechNet, Tech Community, YouTube Videos, Twitter feeds, etc.
In this version there is also a little bit added for Office365 and Microsoft Teams. It’s not much. If you have resources you’d like added, please let me know in the comments.
Here is a summary of the changes made to the Android app:
Added Tech Community links
Added Skype Operations Framework link
Added YouTube video pages
Added Thought stuff video blog
Added Three 65.live link
Added Tech Community links for Office 365 and Teams
Fixed Link to Test Connectivity website
Updated link for Skype Dialing Optimizer
Updated link for UC Architects
Removed Lync Certified Devices module
Removed Lync Press module
Latest version of app framework so ostensibly bug fixes and performance enhancements
The Android App can be found at this link.
Here is a summary of the changes made to the Windows app:
Added Tech Community links
Added Skype Operations Framework link
Added YouTube video pages
Added Thought stuff video blog
Added Three 65.live link
Added Tech Community links for Office 365 and Teams
Updated link for Skype Dialing Optimizer
Updated link for UC Architects
Reorganized everything into groups to more quickly get to the technology you’re interested in
Latest version of app framework so ostensibly bug fixes and performance enhancements
The Windows 10 updates can be found at this link.
0 notes
lyncnews · 7 years
Link
Hi all, Sonus released the new SWe Lite Virtual Appliance, that share code, interface and behaviour with phisical and well known devices SBC 1000 and SBC 2000. Official Setupo Page is here (http://ift.tt/2mzT2Tl), but something seems different between documentation and this firs GA release, let’s take a look to the process on VMWare Workstation 12 … Continue reading Sonus SWe Lite Step-by-Step Setup
0 notes
lyncnews · 7 years
Link
I am really excited to share some details about the upcoming Skype for Business user group event. A set of national user groups across Europe has decided to join forces and host a coordinated user group event on April the 6th. The event will be hosted in different locations and streamed via Broadcast Meeting to those who cannot make there in person. 5 of the 6 hosting countries has chosen a
0 notes
lyncnews · 7 years
Link
I’m on record saying Call Park is my favourite PABX feature, and its great that we have it available to us in Skype for Business.
“Parking” a call transfers it off to a “holding bay” where the caller hears MOH until such time as someone retrieves the call. If they’re left waiting too long a timeout returns it to the party who parked it.
In SfB you initiate the process by clicking Transfer, then selecting “Park the call”. All going well the call vanishes to places unknown and is replaced with a message to say “the call is parked”, and a special “Orbit” number you – or anyone – can dial to retrieve it.
Its utility eclipses that of a simple call transfer when you don’t actually know where you need to transfer the call to, or if you want to securely (or secretly) manage the process. It’s the perfect answer for a range of scenarios:
The attendant can park a call for someone and then over the Public Address system announce who the call’s for and at what call park “Orbit” number they’ll find it.
In the absence of a PA system anyone can park a call for someone, jot the Orbit number on a post-it note and personally seek out the recipient, thrusting the retrieval code into their hand.
It’s a more relaxed approach to an “announced (supervised) transfer”: park the call, IM the recipient and type the park location into the IM. When they’re composed and ready to take the call they retrieve it from where it’s parked.
Staff in open-office environments can use it to easily move a sensitive call from their shared workspace to the privacy of a meeting room. The advantage of Call Park over Transfer in this scenario is that they need not know the name of a nearby room or even if it’s occupied: just park the call and wander around until you find a safe space.
Parking a Call
The option to park a call is presented to everyone, even if it’s not enabled for their account or setup in the back-end. The visual indicator of the former is quite subtle. Compare the colour of the message in these two screen-grabs:
Enabled – blue text Disabled – grey text
If you’re not enabled, the words “Park the call” won’t be clickable, and the mouse pointer won’t change when you hover over the text.
If you want to enable Call Park for this user, edit their Voice Policy and tick the option:
Note that once you’ve made and Committed this change it’s not going to become available to the user straight away. Have them sign out and back in again to trigger its activation. (They may still need to wait a while or do this several times).
Successfully parking a call will present a message like this:
With this window still open you can simply click Retrieve to be reconnected to the parked call, however you’re free to close this window and you or anyone else can dial #112 to retrieve it.
  Call Park Fails
What if, having been enabled, your users encounter errors parking calls?
Cannot park call right now. Please try again later.
You might be puzzled by this message in the Event Log on your Front-end server:
Event 31017, LS Call Park Service There are no more orbits available to park the call. Cause: All available orbits are in use. Resolution: Increase orbit ranges
You have enough orbit numbers, and there aren’t any calls parked at all:
Actually, as it turns out, you don’t have ANY Orbits on one of your Front-End pools, and users always park calls using the Call Park service (and thus the Orbits) of the pool they’re homed to. Because of this the problem may appear to be intermittent, although it will in fact be localised to an entire pool(s).
The fix here is a simple one: just make sure there’s a Call Park Orbit range in all of your Front-End pools:
PS C:> New-CsCallParkOrbit "SfB Pool Park" -NumberRangeStart "#100" -NumberRangeEnd "#119" -Type CallPark -CallParkService "applicationServer:<MyPoolFQDN>"
It’s worth mentioning that TechNet stipulates “If the orbit range begins with the character * or #, the range must be greater than 100” but in my experience that’s not required. My three-digit range of only 20 call park numbers works fine. As always though, I suggest you follow the TechNet guidelines for any production deployment.
  Call Park Retrieval Fails
If your users encounter problems retrieving parked calls, check you don’t have a “+” or other funky character in the “Simple Name” of any Dial Plans. I found this in Lync 2010 and it’s still present in Skype for Business 2015 v6.0.9319.277. Check my 2011 post “A bad Lync Dial Plan name will break Call Park“.
Call was not completed or has ended
It parked OK… … but can’t be retrieved
Here’s what it looks like from the log on the client’s PC:
SIP/2.0 400 The INVITE request URI is malformed. To: <sip:%23100;[email protected];user=phone>;tag=1A1E15165DA81C7FAE778A09EAEF4229 ms-diagnostics: 14008;reason="Not a phone number";source="S4B2015SE.contoso.LOCAL";ValidationFailureDetails="phone-context has characters that are not allowed in a domain name.";appName="TranslationService"
On-prem vs Cloud PBX
Call Park is currently only applicable to users homed on-premises. Here’s hoping it will be added to the feature offering as Cloud PBX continues to evolve.
References
Deployment process for Call Park in Skype for Business 2015
Planning for Call Park disaster recovery in Lync Server 2013
Revision History
12th March 2017. This is the initial publication.
    – G.
0 notes
lyncnews · 7 years
Link
 QoS in SFB Made EasyUpdate Added QoS for SFB Online  SFB and Lync Servers On-PremiseWe have read and heard enough enabling and implementing QoS in SFB servers, SFB/Lync Clients, Windos OS/PCs and across network swithces and routers yet left with no concrete understanding of how Created by: Matrix Thet Naing Published date: 3/11/2017
0 notes
lyncnews · 7 years
Link
Rename a Skype for Business Server (Front end or others)
The procedure is explained in simple step's. I had this a couple of times, not only why a customer wanted to change the name. Its the same if you made a typo ;) Today a came across with an double task to do. Upgrading a SBS from Lync 2013 to Skype for Business. This ahs put me into a dilemma of the chicken egg problem. Should I do an in-place upgrade first or a rename or or or? The answer to me was straight forward. Since the servers to be reinstalled, I decided removing the SBA entirely and do a re-deployment with SfB. Since it was an SBS, equal with an Front End server, please make sure there are no user hosted or anything else.
Renaming Process:
Remove Skype for Business server from topology
Publish topology.
Run Skype for Business Server Deployment Wizard local setup on server to remove Lync components (or run the bootstrapper)
Uninstall SQL Server. Front-ends have LyncLocal and RTCLocal instances. Remove both, rebooting between instance removal.  Edge only has RTCLocal instance. 
Remove SQL Server 2012 Management Objects (x64)
Remove SQL Server 2012 Native Client (x64)
Remove Microsoft System CLR Types for SQL Server 2012 (x64)
Remove Microsoft Skype for Business Server 2015, Front End Server
Remove Microsoft Skype for Business Server 2015, Core Components
Delete leftover data: Delete C:Program FilesMicrosoft SQL Server Delete C:Program FilesMicrosoft Skype for Business Server 2015 Delete C:CSData
Rename server and restart
Wait until AD replication completes with new server name.
Open Topology Builder, add a new server to existing pool and publish. (If this is a SBA or Standard Edition Server, the pool and the server FQDN is identical.)
Reinstall Skype for Business Server 2015components and all cumulative updates
Generate new certificate with updated server name and assign to appropriate services using Skype for Business Server 2015 Deployment Wizard.
Restart all servers in pool at same time (only relevant for front-end servers in an Enterprise pool).
Note and Warnings: Careful if this is the Pool where CMS is located. There you need to migrate the CMS to another pool first and starte the rename procedure. than you can move back the CMS. Same to users or other applications. simply move them to a different server and move back after the rename procedure has finished. Note: This procedure applies to Lync server too.
0 notes
lyncnews · 7 years
Link
http://ift.tt/2muWdxn
[skypeforbusiness]
Filed under: Uncategorized
0 notes
lyncnews · 7 years
Link
The big event in this week’s update is the launch of Visual Studio 2017, but there’s something other things that happened as well, including a Terminator HUD!
Reminder: you can also subscribe to the audio-only version of these videos, either via iTunes or your own podcasting tool.
0 notes
lyncnews · 7 years
Link
In the series of Cloud PBX videos on Skype academy this is the first in the series and the introduction to Cloud PBX. (Cloud Voice)
Great session give an introduction and overview of Cloud PBX and PSTN connectivity options, Cloud PBX features, planning and network considerations.
Lets go!
Disclaimer to start
Office 365 and SfB Online are evolving quickly with new features and new functionality.
Make sure you check out the latest version of the training.
This is the January 2017 video.
A introduction to the speaker Thomas Binder
Thomas is Senior Program manager in customer services and deployment team at Microsoft.
Agenda
Key Learning’s from the session
Cloud PBX provides telephony to users in SfB Online with rich set of features and administrators get management tools and reporting for Cloud PBX users.
Cloud PBX has multiple options PSTN Connectivity
Full telephony services including PSTN connectivity from Microsoft (Cloud PBX with PSTN Calling)
Bring and use your own PSTN on premises and allow Cloud PBX users to use with PSTN connectivity method. (Cloud PBX with on premises PSTN) Hybrid / Cloud Connector Edition.
Scope of the sessions
There’s a number of Cloud PBX related sessions on Skype Academy and this layout shows a logical view of them. This is the first in the series and its the Cloud Voice Introduction, Understanding Cloud PBX, features set of Cloud PBX and PSTN connectivity options.
Blue boxes are topic groups to structure the trainings. White boxes are training sessions.
What is Cloud Voice ?
Anatomy of a traditional PBX Deployment
PBX (Private Branch Exchange) provides voice features, connects and switches calls between users. PBX is the phone system within your business and is the heart of the phone system.
Endpoints connect to the PBX to place and receive phone calls
The PBX has trunks that connect to the PSTN network which allows users to place and receive calls to the PSTN network. The trunks usually are ISDN or SIP trunk based.
Taking Voice to the Cloud
So how do we take our PBX to the cloud.
End points – and client are SfB clients, windows, mac, mobile client and ip phones. Cloud PBX will be able to leverage all features IM, Presence conferencing and Cloud PBX.
PBX – provided by Skype for Business Cloud PBX providing users have the required Cloud PBX licence associated.
Trunks – Multiple options with Cloud PBX
Cloud PBX with PSTN Calling (Requires PSTN Calling Plans as well Cloud PBX licence) Microsoft provides the phone numbers all services are provided by Office 365)
Utilising existing PSTN connections on premises
Cloud PBX with on premises PSTN calling via on premises pool (Lync Server or Skype for Business Server)
Cloud PBX with on premises PSTN calling via Cloud Connector Edition (CCE)
Universal Communication Solution
Don’t forget as well as Cloud PBX for voice SfB also provides Instant Messaging, presence, collaboration, online meetings and dial in conferencing within and across other companies via federation.
Skype for Business Online
Integrated into Office 365 and integration with Exchange Online, SharePoint Online.
Office 365 Service Level Agreement
Microsoft provide SLAs and are accountable, SfB is covered in Office 365 SLA and service credits are used. Availability is measured for IM and Meetings and PSTN calling and PSTN conferencing.
Quality SLA have specific requirements so key to ensure you meet them including
Certified IP Phone with wired Ethernet connections. Certified IP Phone list here
Media issues need to due to Microsoft Networks on customer on premises networks.
Lets break down into each part of a traditional PBX deployment in more detail
Endpoints / Clients
Full rich clients on PC and MAC
Mobile clients on IOS, Andriod and windows
IP Phones – Polycom, AudioCodes and Yealink
IP Phones are tested and certified against Office 365
Phone venders build firmware and third party tests and validated.
As well are unified user experience, manageability is important and phones can leverage in band provisioning and updates. IP Phones usually have their own SfB version so be careful when purchasing.
Plug and Play and venders offer additional features and a new web sign in option is available. Allows pairing without having to enter users credentials into the device.
Compare each device and ensure they meet their requirements. Yealink are now certified as well.
Cloud PBX Features
back to the diagram of traditional PBX deployment
Now we home in on the PBX and features
Once Cloud PBX is enabled the Voice tab is displayed.
You can type the numbers including words in the US or search for users
Dial pad available as well via mouse or touch
Also you can view your own phone number as well which is handy
Play and manage voicemails as well. Very handy feature saves dialling in and listening.
Mange Call forwarding settings – Allows users to manage this themselves
Cloud PBX Basic Calling features
DID numbers hosted by Microsoft or customer, each user will have their own phone number.
Device switching, start with PC and transfer to mobile phone
Distinctive ringing based on relationship setting, you can set different ringtones for them. Not seen this before so will check it out.
Call history for users, placed and received and Call details records for administrators
Advanced call features
Teams calls can receive incoming calls but cant makes call on behalf of team members.
Emergency Calling is supported
Dependent on PSTN connectivity method
Power and internet is required for emergency calls
Based on static location information, users could travel and be something else.
Cloud PBX Voicemail
All Cloud PBX users get Voicemail which is delivered by Azure Voicemail not Exchange Unified Messaging for Cloud PBX.
Supported with Exchange Online and Exchange on premises. Exchange on-premises has specific requirements so please check this here.
Auto Attendant
Currently in Preview for more information there’s a Skype academy session or for my summary go here
AA preview features are subject to change. GA is planned for March 2017 but could change.
AA is intelligent virtual receptions you can search for users by keypad or by speech and can transfer calls.
Also operator can be added instead of virtual receptionist.
Custom speech to text and greetings or upload audio files.
Define different call flows for inside and outside business hours.
Service numbers are required either toll or toll free.
Call Queues
Currently in Preview for more information there’s a Skype academy session or for my summary go here
GA planned for March 2017 but could change.
Cloud PBX users can be agents in Call queues, calls will wait in the queue until an agent is available. Call control options available.
Service numbers are used either toll or toll free.
Service Numbers
Services numbers are required for
Auto Attendant
Call Queues
PSTN conferencing
Service numbers route differently to user numbers and allow for higher call capacity
Provided by Microsoft or bring your own via porting process
Service numbers can be toll or toll free
Toll – callers pay the regular call charges
Toll Free – You absorb the costs for the caller call. PSTN consumption billing is required.
Administration
Via a GUI or PowerShell
PowerShell great for provisioning in bulk and automating tasks.
Reporting
Allows admin to view usage and quality.
Call Quality Dashboard and location enhanced reporting so you drill down and check quality for building and networks.
PSTN Usage Report example
Shows date, time username, call type and duration. You can download as CSV and download via PowerShell.
Call Quality Dashboard Example
Audio streams, daily, monthly trends.
Insight into users quality and experience.
Connecting to PSTN
How do we connect Cloud PBX to the PSTN ?
Back to the diagram and we are now focusing on Trunks
In general there are two options
PSTN Calling
On premise PSTN Connectivity (On premise PSTN Connectivity has two ways this can achieved)
PSTN Calling – Available in supported regions only (Currently 5 US, Puerto Rico, UK, France and Spain), solely cloud based, no on premises requirement, Microsoft provide the whole service, Microsoft are the PSTN carrier and provide new or bring your own phone numbers via porting. Mostly tightly integrated with Office 365 and Skype for Business Online.
On Premises PSTN Connectivity – Use existing Lync or SfB Server deployment that already connected to the PSTN or use Cloud Connector Editions. CCE for new deployment only and cant co exist with an existing Lync / SfB server deployment on premises. Small footprint with packaged virtual machines. Available in Sonus and AudioCodes SBCs are well now.
Leverage existing PSTN carriers and circuit
Cloud PBX with PSTN Calling
Delivered end to end by Microsoft including PSTN connectivity
Not available in all countries currently.
Administrators use a single interface to administrator users and the service.
Spain is now supported
Cloud PBX with on premises PSTN Connectivity
Delivered in two ways
Via existing Lync / SfB Server deployment
Or via Cloud Connector Edition (CCE can not exist with an existing Lync / SfB server deployment)
Allows existing PSTN carrier / PBX contracts you can keep these contracts and use this for your users homed in Office 365.
Cloud Connector has a smaller footprint
All meetings, IM , presence are all delivered by Office 365, existing Server deployment will see workloads reduce.
Cloud PBX with On premises PSTN Available worldwide !
Network Considerations – VERY IMPORTANT
Network is key, user quality is only as good as the network allows.
In general three networks are at play
On premises network
Interconnect network – ISP connecting on premises to Office 365
Office 365 network – optimised for Voice
The on-premises and interconnect need to be optimised for voice to ensure quality. There are tools and guidance for network planning and assessment.
Planning Considerations
User locations – Users can be homed on premises, online with hybrid. Only SfB online users can leverage Cloud PBX.
Coexistence – is there an existing Lync or SfB Server deployment then this must used if not CCE can be used.
Is there a requirement to use on premises PSTN connectivity ?
Mix and Match – For example US users can use Cloud PBX with PSTN Calling and users in Germany can use Cloud PBX with on premises PSTN connectivity.
Features in SfB online and on premises are NOT the same.
Skype for Business On premises has all voice functionality, when moving users to online its key to ensure the functionality they use today can be provided by Online.
SOF can be leveraged for migrations
Decisions Tree
What’s your business requirements ?
Which option meets these requirements, feature requirements, continue to leverage existing PSTN providers
Where are the supported regions, where are users locations
Start with the people that will benefit most from moving to Skype for Business Online and Cloud PBX
Summary
Resources
http://aka.ms/sa-orgaa http://aka.ms/sa-ccq http://ift.tt/2ez2hRN http://ift.tt/29ubw3S https://aka.ms/sof-cqd
Further Cloud PBX trainings
http://aka.ms/sa-pstn
http://aka.ms/sa-opch
http://aka.ms/sa-cce
Skype Operations Framework
http://ift.tt/29L92MB
Community and Blog
http://ift.tt/2mtWPmI
References
http://ift.tt/2mrMbew
0 notes
lyncnews · 7 years
Link
In the modern workplace, an organization’s most important assets are its people. The knowledge, skills and expertise found throughout your carefully recruited teams are tantamount to individual and collective success.
All too often, however, this specialized knowledge is obfuscated by physical and organizational barriers. People know what information they need, but are unable to track down the answers they’re looking for. The popular adage “It’s not what you know, it’s who you know” reminds us that the best-connected employees get the most done.
That’s where Office 365 can help. As Microsoft works to reinvent productivity for the modern workplace, our goal is to put people at the center of the connected suite experience. When you’re able to tap into the hidden knowledge throughout your organization and leverage your talent pool, you’re able to achieve more.
Starting today, we’re rolling out an extended profile card experience across Office 365 to enhance the way you collaborate with colleagues and external contacts. We’ve made several big improvements that improve on the existing experience across three pillars to create an intelligent, holistic and integrated profile experience.
Intelligent
Traditionally, employees looking for specific information had to manually connect the dots between people and units of knowledge. By tapping into the Office 365 graph and machine learning, the new Office 365 profile card can identify information relevant to you based on the person you’re looking up. This can help you quickly look up documents that have been shared with you, independent of how they were sent.
Holistic
We’re also working to help employees connect with people across the organization that they don’t traditionally interact with. The new Organization view shows a complete picture of the highlighted user’s position in the company, including their direct reports and co-workers. Office 365 will also surface other people relevant to the person you are looking up based on their working habits and communication.
Integrated
We’re integrating the new profile card everywhere you see a person’s name—but it’s important that the experience doesn’t interrupt your productivity. We’ve made it easy for users to achieve these tasks with as little interruption to their workflow as possible. Hovering over a name provides a quick look at their most important attributes, such as contact details, recent documents and manager. More details are only a click away with the extended flex pain that displays additional information without navigating from the page.
Over the next few weeks, the new profile card experience will begin rolling out in OneDrive for Business and SharePoint Online for Office 365 customers enrolled in first release. We’ll continue to roll out this service for all Office 365 users over the next few months. As always, we’d love to hear what you think, so please let us know in the comments below.
—Tom Batcheler, @TomBatcheler, senior product marketing manager for the Office 365 team
The post Introducing the new Office 365 profile experience appeared first on Office Blogs.
0 notes
lyncnews · 7 years
Link
Expected release date for this is 3/20/2017 pending final testing. Look for release announcement here.
This update is important, as it is the first to automatically update all existing installed Skype for Business Cloud Connector 1.4.1 appliances, based on the update schedule that administrators have configured for their Cloud Connector Hybrid PSTN Sites. For managing auto update, see Understanding Cloud Connector Edition Auto Update.
For details on understanding how to prepare for Cloud Connector Edition Release 1.4.1, please our Skype for Business Hybrid Voice Team blog.
0 notes
lyncnews · 7 years
Link
Hello readers.  I hope you're well.  This is just a quick post on some new features that have landed in Microsoft Teams as of March 9th 2017. First things first.  Since when do I blog about Teams?  Well, I've been wanting to write about Teams for a while.  I was going to wait until GA and do a full post on what Teams is once it is launched.  After that, you'll probably see many more posts on Teams alongside my usual Skype for Business related stuff and product reviews. I will say, that I have been evaluating Teams since a few minutes after it was launched into preview in November.  I'm really excited for teh future of Teams.  Especially after having a good chat with some of the product managers at a recent event.   For those that don't know, you can see what's new in Teams in the T-Bot chat in the Release Notes tab.  March 9th was one of the biggest updates I have seen and they added a ton of stuff. The below is directly from the release notes.  I have added a few comments here and there in Blue so you know it's me speaking. New compose box: ICYMI, your compose box got a complete redesign. We improved the experience behind a lot of the actions surrounding composing and editing messages. Now, you have separate icons for the following actions:
Expanding your compose box
Adding an emoji to a message
Sending a GIF
Creating and sending a custom meme or sticker
Attaching a file
Scheduling a meeting
One thing I would say is that I previously found that adding Memes and GIFs etc. was a bit hit and miss.  I'd get the spinning wheel while the app though long and hard about actually adding the thing to the chat or converstion.  Since this update, graphics are added instantly.  Nice one!
You'll find that your expanded compose box still offers all the same formatting options, but you’ve got a lot more space to play around with creating custom memes and stickers, or searching for popular or trending GIFs. Clicking the meetings icon below your compose box will take you straight to our meeting form, where you can immediately schedule a meeting with whoever you're talking to in a channel or chat. Check it out; we hope you like it! The expanded compose box is really cool.  You can really add some richness and uniqueness to your conversations by changing everything from the font type, size and colour, to adding highlights, bullet points and lists.   Another recent update added something called "Markdown".  Which, to be honest, I'd never heard of.  Apparently it was a feature in a competing product and it was added to Teams because of a public outcry.  This is where you can format text by wrapping it in certain characters.  For instance, adding an asterisk to the beginning and end of a block of text will make that block of text bold.  It also does this while you're typing do you don't have to click anywhere or use keyboard shortcuts. The reason I mentioned this feature was more to do with the fact that it was added because many people requested it.  That's interactive development!  And that is cool.   If you use Teams and want it to do more, use the feedback button.  They really do listen.
Meetings got a lot smarter.
Schedule a private meeting: Schedule a private meeting with anyone in your organization! They'll be able to join by clicking "Meetings" on the left side of the app.
Meetings have a smart new scheduling assistant: Our new scheduling assistant will let you know when all your invitees are free to meet. The scheduling assistant also provides a calendar view of the coming week that will show you when all your meeting attendees are busy or unavailable.
I'll also say that I haven't done a lot in meetings thus far.  For one, meetings with internal staff that are using Teams isn't as important as meetings that mix internal and external people.  So far, all I've done is tested scheduling meetings to see what was possible.  I also hit the join button in one that was actually a Skype for Business meeting and it just launched the meeting in SfB.  As soon as the doors are opened to external participants, I am sure this will change, and I'll use it more. Bots now work in teams!
New Bots tab in your team page: You might have noticed there's a new tab in your team view. The Bots tab gives you a list of all the bots that have been added to that team. It's also the place to go if you want to discover new bots or get started creating a custom bot or tab!
Brand new bot gallery: We built a new bot gallery that will show you a list of all the bots that are currently available in Microsoft Teams. Alongside the Bots tab, the bot gallery is also the place to go when you want to find out which bots have already been added to one of your teams.
Discover bots via search: To see a list of all available bots, just click on the search bar at the top of the app and then select "Discover bots". Click on a bot to start a one-on-one chat or click "Add" to add it to a team.
Add a bot using an @mention: To add a bot to a channel, just type '@' in your compose box, then select "Add a bot".
Custom bots: Now, you can quickly and easily integrate an external service with one of your teams by adding a custom bot! Established and aspiring developers can sideload a bot or tab or even create a custom bot using a call back URL. Just head to the new Bots tab and click the links at the bottom right to get started.
The inclusion of more bots is cool.  However I urge some caution here.  If you add a Bot, it pops up to say what access the Bot has.   This bot has the following permissions: 
Receive messages and data that I provide to it. 
Send me messages and notifications. 
Receive messages and data that team members provide to it in a channel. 
Send messages and notifications in a channel. 
Access my profile information such as my name, email address, company name, and preferred language. 
Access this team's information such as team name, channel list and roster (including team member's names and email addresses) - and use this to contact them​.
Some of it I understand.  For instance, sending and receiving messages.  You need that to chat with a Bot.  The last one, I think, requires some caution.  The Bot can access team info, channel list, members etc.  What does the Bot company do with this informantion?  If anyone cares to comment here, I welcome it. Public teams are here: With public teams, anyone can search for, view, and join your team! This means that when anyone from your organization clicks through "Add a team", they'll see a collection of public teams that they can browse and join. If you want to create a new public team, you'll be able to choose 'public' or 'private' settings for your team privacy as you go through the steps of creating a new team. Public teams is pretty cool.  This could be used for a lot of things.  I think of this as an internal social media network.   Check out the new Notes tab: We've reimagined the way you collaborate. The Notes tab is a great place for you to draft or edit documents and communicate in real time. It's a full-fledged text editor that lets you @mention teammates right on the page, leave comments when you're editing someone else's work, or respond to feedback! This is like a blank online Word document that you can work on with other people.  You can also @mention people in the doc.  Not sure about this just yet.  But it must have a use or it wouldn't be in there. Even more new tabs: We've been quietly adding new options to the tab gallery so you can connect all your favorite external services. Now, you can add a tab to integrate services like Zendesk, Asana, and more. Head over to the desktop app to see what's available. The tab gallery is getting bigger and bigger every day.  And I expect this to get a log bigger over time.  One cool recent addition is the ability to pin a Website.  Now you can add a website you (or your team) access frequently as a tab in a channel.  Another one I like is adding an Office document as a tab.  The cool thing is that the document is open in the tab.
Feeds got a makeover: We've redesigned your Activity feed so it's more transparent and gives you more control over what you see. Click on the Activity icon on the left side of the app; you'll be taken right to your feed. You'll be able to filter your feed by notification type (if you just want to check your mentions, replies, likes, or news from channels you follow). You also have the option of opening Team activity (which will show you all the latest news from your favorite channels) or My activity (which will give you a list of all the actions you've performed recently in Microsoft Teams). Hope you like it!  Email integration with Microsoft Teams: You can now post a forwarded email to a channel in Microsoft Teams, thanks to channel email addresses. Click on the "Get email address" option in your channel menu to start sending emails to a channel. Once an email is forwarded, you can have a conversation about it directly in the channel (FYI, any comments or messages that are posted in a channel about an email will only be visible from Microsoft Teams). You'll also have the option of restricting who can send emails to a channel. I tested this as soon as I saw it.  You hit the 3 dots next to the channel name and click on get email address.
You have some control over who can email the channel.  Everyone, internal only or by domain which is cool.  I sent a message from an external domain and it arrived as a conversation.  Sadly, my reply from within the chat (see the reply button) never arrived.
The message arrives directly in the conversation tab, but the EML file is also uploaded to Teams so you can open it using Outlook and respond directly.  I think the reply button is a better idea personally, but it's a start. Microsoft Teams will show up in apps view: If you've got the right license, Microsoft Teams will now show up in your apps view for your desktop (when you press the Windows key) along with all your other Office 365 web apps. This must be for when you have your Office 365 Apps in your start menu, which I don't.  This coincides with the Teams app showing up as a "waffle" tile in the Office 365 Portal page. T-Bot speaks French: Pour nos utilisateurs francophones, nous sommes heureux d'annoncer que le contenu de T-bot et de l'aide prend désormais en charge le français. Vous êtes le bienvenu :) Translation: "For our French speaking users, we are happy to announce that T-bot and Help content now supports French. You're welcome :)" I don't speak French, but for those that do, this is cool. Accessibility improvements: We take accessibility seriously, and we’re very proud of our continued commitment to making our product a great experience for users of all abilities. With that in mind, we've been hard at work improving accessibility across Microsoft Teams. Please don't hesitate to get in touch should you have concerns or comments! Improvements in your Files tab: The Files tab has a new look and feel! Now, there's an action bar that includes an option to open the SharePoint site for your team. Additionally, you can get links to folders so you can easily share files within Teams. All very cool! I thought I would leave you with one last thing I just found.  You know I love a Keyboard Shortcut.  So I thought it was cool to have a list right in the app.  This is going to be an expanding list for sure, as they add more features.  But this is what you get right now.  As soon as there is an SDK for Teams, I'll work on porting StatusKey to work with Teams too!
As always, I thank you for reading. If this or any other post has been useful to you please take a moment to share.  Comments are welcome.  
0 notes
lyncnews · 7 years
Link
By Gary Audin Implementing the SIP trunk is different than implementing the common T1 or PRI, and comes with its own sets of challenges and opportunities.
0 notes
lyncnews · 7 years
Link
Following on from my blog post on the basics of SIP call setup, I wanted to build on that to incorporate how media is negotiated between clients. Again, this topic has been blogged by others and the purpose of this is to put my understanding into my own words so that I understand and if it helps you, then great!
When a user initiates a call to another endpoint to begin the conversation a SIP INVITE is sent from the calling party to their SIP Proxy which forwards that request. I covered the SIP portion of the message in my previous article here, but SIP in itself will not fully establish the call flow, it will simply connect two or more endpoints together for communication. For voice to pass between endpoints a media stream is required. Whether this is direct between clients, known as P2P (Peer to Peer), or via a media relay server such as the Skype for Business Edge Server, or Mediation Server.
When voice establishes in P2P both endpoints in the conversation e.g. client laptops are responsible for all the processing power required to sample analogue voice and digitize it into a binary value and vice versa. The media is connected directly between the clients and requires no assistance from Skype for Business Mediation, Edge or Front End Servers. There is one caveat to this, in that if P2P cannot be established between two internal clients directly over the network, then the Edge server is used as a media relay server between clients.
Where a media relay server is used (or several in the entire path), each endpoint negotiates media directly with their local media relay server and each media relay server negotiates media with the next media relay server in the call path and so on. Therefore, a voice stream can be encoded and decoded into several formats along the call path. Theoretically you could be encoding SILK between client and media relay server, then G.711 from media relay server to another media relay server and from that G.729 to the destination client. However, all this encoding and decoding has a performance impact on resources and time. So Skype for Business compensates for this and supports multiple codecs at client and server. This allows the client to negotiate based on call type which is the best codec to use. For example, when calling a PSTN number, the Skype for Business client will almost certainly choose to use G.711 between client and media relay server (mediation). This is because G.711 is the most popular PSTN codec and by selecting this means that the mediation server does not need to decode and encode into another format, but simply proxy the media between client and Session Border Controller. The result is less hardware and more calls per server because the resource requirement is significantly less. It also means that your media gets to the destination faster for a more real-time audio experience.
It is worth noting here that a SIP endpoint (IP address of a client or SIP Proxy Server) does not mean that this address can be used for media. The Media endpoint (IP Address) could and often is different to that of the SIP endpoint. Especially when media relay servers are used. Think to how your Edge server operates. It has 3 public IP addresses. 1 IP is for SIP signaling another for web conference media and another for voice / video media. If we sent media to the SIP endpoint then no one would get voice, because the edge server would not be expecting voice traffic at that IP. It expects it on the AV IP instead.
So how does each client / server in the call path know what codec and what media destination to use?
This is done using a protocol called SDP (Session Description Protocol). As the name suggests it’s a protocol that “describes” the type of conversation in the session (audio or video or both). SDP cannot carry or transport itself over the network layer, and therefore “piggy backs” on the SIP protocol as MIME content. Obviously, SIP uses UDP or TCP as the transport protocol at network layer, so SDP can be exchanged by endpoints.
The MIME content in the message body is described by the CONTENT-TYPE SIP header. When SDP is encorporated within the SIP message Body the Content-Type is usually “application/sdp”. However, Skype behaves differently when communicating over an Edge server, and you will see “multipart/alternative;boundary” as the Content-Type in your first SIP INVITE message. The CONTENT-LENGTH is the length in bytes of the SIP body. In the below example we can see that our SIP INVITE message is 5.9KB in size.
To describe what multipart/alternative means, we first look at the word “multipart”. As the word suggests, it says that the message body contains multiple data parts, or contains more than one set of data. The next word “alternative” means that the data parts within the body are linked to the same use. The “boundary” element is used to describe where the data parts start and end and can be used to direct towards the data part to use. Here we can see that we are telling the called party’s media relay server to use the data part within boundary ending in “E4DF0” but if the first data part with the boundary name fails, there is an alternative data part in the message body. So in english, this means there are two data parts within the same boundary. If the first one fails, use the next data part with the same boundary name.
Now let’s look at the message body.
Here we see the first part of the SDP body. The first item I want to call out is CONTENT-DISPOSITION. This tells us what the contents of the SDP body is to be used in and for. We can see here that there is an attribute called MS-PROXY-2007fallback. This attribute states that this SDP body is for fallback support for OCS 2007 and earlier systems. We see this in Skype to Skype calls over federation. This is included in case the recipient’s UC platform is OCS 2007 and we need to communicate with that using legacy methods i.e. 50,000 TCP/UDP port range.
Jumping to the other data part within the boundary, we can see this SDP body is for Skype for Business to Skype for Business / Lync 2013 / Lync 2010 communication. Fundamentally both data parts do the same thing, but the fallback SDP contains a different method of discovering candidates (explained later). Incidentally, Skype for Business is intelligent enough not to use the legacy method in a Skype for Business to Skype for Business over federation conversation, so just because fallback support is above the preferred SDP body doesn’t mean Skype will use it if it doesn’t need to. Whereas, OCS processes SDP body content in order of appearance (i believe) hence, why fallback is listed first.
So what does all these V’s, O’s S’s etc. mean in SDP? Let’s take a walk through them all.
V= is the attribute that contains the SDP version number. In this case the version is 0 (zero).
O= is the attribute that contains information about the Orgin of the SDP body. The first part contains the username, in the above example not required so it is displayed as a – .The next part contains the Session ID which is 0 (zero). The next part is the Session Version which is 1. Then the network connection type, displayed as “IN” for INTERNET, the network address type which is IP version 4 (IP4) and lastly the IP address of the media endpoint. In this case we are connected via External Edge and the IP address of the media relay interface is used.
S= is the attribute that contains the Session Name, in this case the name is simply Session
C= is the attribute that contains the network type (IN = Internet), address type (IP4) and connection address (132.xx.xx.xx) we want to connect to for media
B= is the attribute that contains the proposed bandwidth that is to be used for media. CT means that this is the total figure for all of the media in the conversation. The bandwidth is displayed in bytes, so 99980 is 100KB
T= is the attribute that contains the start and stop times for a session. The first element is the start time, the second the end. 0 0 means that we are not specifying a time and we are using SIP to decide on start and end of a session.
A= this declares a custom attribute to extend SDP, you can and will have multiple a= lines in an SDP body. a= lines contain further information about the media types and supported features.
M= declares the media description. Again you can have multiple lines containing M attributes, commonly referred to as “Multiple M Lines”. In a Skype for Business SDP body you would see 2 M lines for a video call, One for Video and one for Audio.
Now that you know what these lines do, let’s look how they help establish that media stream between endpoints.
Firstly, this line. “A=” declares it an extendable attribute and the name of this attribute is X-DEVICECAPS. This attribute provides the media capabilities of the endpoint. In this example the endpoint can send and receive audio and also send and receive video. If the capability check returned just send receive audio and you tried to perform a video call, the video stream would be denied.
The M Line, or media description line contains information about the type of media we are attempting to negotiate. In this case we want to negotiate Audio. The 55966 value is the port which the endpoint sending this SDP information can use to receive audio. RTP/AVP declares the protocol we want to use for the audio stream. RTP = Real Time Protocol AVP = Audio Video Protocol (interchangeable). The numbers after this relate to the types of codec the endpoint can support. The numbers order is important, because it declares the codec the endpoint prefers to use for this type of call. The order is first = preferred last = least preferred. So 118 i would like to use, but if all others in between fail, then 101 is my last choice before I say I can’t support the type of media.
Jumping to the codec map attributes now, this is where those numbers in the M Line relate to. So if we look at the first number from the M Line, 117, we can see we have an RTPMAP (Real Time Protocol Map) attribute with an element 117. The codec relating to this number is G.722 sampling at 8KHz (really 16KHz) and the 2 declares we want to use Stereo (2 channels of audio) instead of Mono. This is the preferred codec the client wants to use for this call.
I won’t spend too much time breaking down each codec, but I will mention 101 telephone-event/8000. This means that this audio stream supports inband DTMF. This allows DTMF tones to be sent over the same stream. If inband was not allowed, then either a separate stream for DTMF would be required or DTMF could be sent using SIP INFO/NOTIFY messages for out of band DTMF.
Now that we have declared our preferred codecs, how do we advertise our media endpoint address? The media will need to be connected from the far end and be able to reach back to the calling party. This is done using the ICE or Internet Connectivity Establishment Protocol. ICE is embedded in SDP.
ICE is encapsulated in A= Line attributes within SDP. From the outset the Skype for Business client will include all it’s known endpoint addresses. In this case you can see my client advertising its internal IP 192.168.1.225, my home routers public IP 80.229.171.181 and also my Edge Server’s AV IP 132.237.132.20 as available candidates for media establishment. You will also note that each candidate is a pair. a=candidate:1 1 and a=candidate:1 2 and so on. A pair is needed because 2 declares the audio sending IP and port and 1 declares the audio receive IP and  port. You can also see the network transport protocol used UDP and the type of the endpoint this candidate relates to, “host” means client workstation / desk phone etc.
This would work for internal to internal communications, but when connected via an Edge Server, we need a candidate that is discoverable over the internet. Therefore, we are also declaring our Edge Server’s AV IP 132.237.132.20 using Port 55966 for audio send but we are declaring the Edge server as a type “relay”. This means it is a media relay server and therefore, needs to be told where to relay the media to. This is provided to it by the client by incorporating the relay address “raddr” of 80.229.171.181 which is the public IP address of my home router and the rport or relay port is the port the router will accept this media stream on.
This media stream will then get back to the client workstation sending it by using STUN and TURN protocols.
One last attribute to probably mention is the SilenceSuppression attribute. SIP has the option of not sending RTP packets when there is silence on the line (i.e. no one speaking). Disabling this feature means that RTP packets will still be sent and received during silence. This is disabled for stability and to stop devices thinking there is no media and therefore, tearing down the call.
Now that the SIP INVITE has been sent to the called party we are waiting for the 200 OK response back. In that 200 OK response will be the called party’s SDP information. Here is the SDP extract from that packet
Notice the M Line, the first codec of choice is 104, which relates to an rtpmap attribute that equates to SILK/16000 (SILK Wideband) as the preferred codec of the called party’s endpoint. So to recap the called party’s endpoint prefers to use 117 G.722.2 / 8000 and the calling party wants to use 104 SILK Wideband.
The calling party’s endpoint acknowledges receipt of the SDP information by sending an ACK to the 200 OK message it received.
As the called party’s endpoint doesn’t have 117 in the list of codecs it supports, the calling party’s client will offer it’s next preffered codec, which is also 104 SILK Wideband. “Hey Presto!” we have a match. Next the client needs to decide which is the best candidate to use to connect the media stream to. The ICE candidate list is tried in order of appearance and the first candidate to respond with a valid path is the candidate chosen to connect media to. Once everything has been agreed, another SIP INVITE message is sent to the called party’s endpoint containing the agreed and negotiated SDP information to use to connect the media.
This is an extract of the SDP information in the second SIP INVITE.  As we can see, we have agreed to use the SILK Wideband Codec and we are connecting directly to the other client endpoint without a media relay server. This is because both clients, although on different Skype for Business infrastructure i.e calling party is Skype for Business Server and called party is Skype for Business Online are on the same internal network as each other. If this was a true federated call the candidate containing the Edge AV IP of the called party would be used.
Notice that we are still sending all of the codecs we can use between the clients. This is sent for fast renegotiation if network impairments prevent SILK Wideband use mid call, allowing the conversation to continue without either party having to hang up and dial again.
The called party’s endpoint will send a 200 OK response back to the calling party to inform it that it accepts this SDP information.
The calling party’s endpoint then sends a ACK back to the called party and media is established and you can now talk!
I hope this helps you understand the basics of media establishment.
0 notes