My journey creating a scalable SBC as a Service for Microsoft Teams Direct Routing is over at Snapsonic.com.
The road to the promised land.
For more than 6 years, we have been working on and looking forward to a simpler way to build RTC (Real Time Communications) applications on the web. In order for this technology to truly show its value, the major browser vendors needed to show up.
Mobile, mobile, mobile.
Now that Apple has joined the party in earnest, does the technology have the coverage required in order for developers to make good use of WebRTC on mobile devices? Let’s find out.
Until now, in order for WebRTC to work on iOS, we were relegated to wrapping WebRTC code in Objective-C and Swift, in our native iOS apps. Basically, we had to take the Chrome code and build an app that was sent to the app store for approval and wait in line, like all the other chumps (yours truly included). Conversely, on Android we could run much of that same code from our desktop Chrome apps, on the Android device as well, within reason of course.
Now that Safari and Chrome are shipping compatible WebRTC on mobile, we get to reuse the same code, right!? Well, mostly, they are different code bases, after all.
A word about hardware acceleration.
If ubiquitous mobile video is to take off, the battery life of the device has to last more than the length of the 10 minute video call (ok, I am exaggerating a bit, but I think you get the point) and the performance needs to be at least adequate enough to distinguish facial features. My bar is set a little higher, baby steps for now.
Without h/w acceleration the CPU is likely working too hard to encode the local video and decode the inbound video + service the other processes required at the same time. That really means there needs to be hardware onboard the device dedicated to video coding. That in turn means H.264, since there are very few vendors that offer VP8 or VP9 h/w acceleration.
Question: Does this mean that mobile apps written with VP8 will not be able to deliver decent mobile video conferencing?
Answer: No, not at all, but they will likely not be as performant as those taking advantage of hardware acceleration.
Suffice to say that SVC (Scalable Video Coding) usage would be another reason why we need h/w acceleration, but that’s for another day.
Who’s using what?
The majority of desktop and mobile WebRTC apps written today, are using VP8 for video.
Since Apple and Microsoft both use H.264 and Google uses VP8 and H.264 (recently shipped Open H.264 – on the desktop and mobile). Also, many of the Enterprise RTC developers are already on that H.264 bandwagon.
Question: If Apple and Microsoft devices ship with H.264, what is the case with Google Chrome on desktops and android, are they preferencing VP8?
Answer: Chrome for desktop and android now have H.264 native. Many of the Android devices that ship today all have H.264 hardware acceleration onboard. In order to understand which units have H.264 and hardware acceleration, you can run use the Android APIs to pull a list of available codecs, but in the case of WebRTC, you will only get H.264 in Android WebRTC if there is a h/w encoder on the device.
Is H.264 the answer for WebRTC video?
Here is a recent test:
Host 1 – (before joining):
macOS Sierra, Macbook, Safari (Technology Preview 32)
Host 2 (after joining):
Android 7, Samsung 7, Chrome 55
Host 1 (after joining):
According to the Chrome Status page, Chrome for Android should have H.264. So why is the session barfing when trying to set up video? The logs do not lie…
Safari – offer:
Chrome on android – answer:
Err, huh? No H.264 in reply?
So, I updated to latest Chrome on android (58) and tried again…
… et voilà!!
Next topic, paying the man!
Shipping your product with H.264 enabled, means you may potentially need to deal with the MPEG-LA royalty police for H.264 royalties, but there are some grey areas.
In the case of Apple and Microsoft, where H.264 royalties are already being paid for by the parent vendor, the WebRTC developer is riding on the coattails of papa bear, at least in theory.
Cisco’s generous OpenH.264 offer means that those using this binary module, can do so at potentially no cost:
We will not pass on our MPEG-LA licensing costs for this module, and based on the current licensing environment, this will effectively make H.264 free for use on supported platforms.
Q: If I use the source code in my product, and then distribute that product on my own, will Cisco cover the MPEG LA licensing fees which I’d otherwise have to pay?
A: No. Cisco is only covering the licensing fees for its own binary module, and products or projects that utilize it must download it at the time the product or project is installed on the user’s computer or device. Cisco will not be liable for any licensing fees incurred by other parties.
That seems to mean (I am no lawyer) every developer shipping WebRTC apps supporting Open H.264 binary module, get a free ride. Those using some other binary, or shipping the above source code for that module, could be on the hook for those royalties. That said, since there are royalties being paid by parent vendors where devices are shipping H.264 anyways, developers may not get hassled regardless.
So what did we learn here?
- Apple has joined the party, now we have a full complement of browser vendors!
- If you want to leverage WebRTC video to deliver a ubiquitous mobile and desktop experience for your users, you should likely consider including both H.264 and VP8.
- VP8 is (still) free and powers most of the WebRTC video out there today.
- You can make use of the Open H.264 project and get a free H.264 ride, albeit baseline AVC.
- WebRTC on Android does not support software encoding of H.264, so unless there is local hardware acceleration, H.264 will not be in the offer.
- H.264 is not fully enabled (or buggy) in Chrome 55 (I was using it on Samsung S7 Edge (Android 7), but it does work with Chrome 58.
- WebRTC is not DOA!
- SDP still sucks and ORTC can’t come soon enough!!
As a side note, it would be interesting to see something like this open sourced; VP8 / H.264 conversion without transcoding, if only to service the existing desktop apps currently running VP8 <-> mobile H.264. It would likely overwhelm the mobile device, but it would be cool if it worked!
Disclaimer: The views expressed by me are mine alone and do not necessarily represent the views or opinions of my employer.
Update 2: To the hundreds/thousands of repetitive spam tweets / twits, “Will WebRTC replace / kill Skype”, the answer is NO!! It will not. WebRTC is using broken Jingle in the browser, it does not support chat and can only make and receive calls., there is no buddy / contact list to speak of etc etc. NO it will not replace Skype. Stop with the spam tweets already, please!
Update: It seems to me that until all the browsers are on board, native clients will be required to make this go. Which is not outside the realm of possibility, considering Google has open sourced the GIPS audio and video engine along with WebRTC.
Something to remember, WebRTC is not RTCWEB! It may sound silly but it’s true. WebRTC is a Google-centric project using Google code etc. RTCWEB is essentially an IETF effort, a working group driving towards open real-time communications on the web. They are not the same, which can be rather confusing.
— Original Post —
Google has been busy it would seem, last night WebRTC appeared to the public for the first time. This has some pretty serious implications for Flash, which was the de-facto technology one had to use to get real-time communications in a browser, that has now been circumvented, at least to a certain degree.
The sessions are not run by a signaling protocol per se, not Jingle, no XMPP, not SIP not anything we have seen before. All the session management looks to be coming from libjingle. Which, to me means Jingle is in the browser.
A few early comments:
1. Where does Google stand on websockets? Google have said they will block it if an exploit emerges.
2. Chrome, Opera & Firefox are the supported browsers. Where does Safari and IE land? My guess is that Microsoft will not be in any hurry to implement this considering their recent Skype acquisition.
3. Web-cam captures from HTM5 has not been ratified, although this is likely not as serious as the former points.
Rise of the Virtual Organization
Today, we are witnessing a powerful transformation in the business space. The very nature of the workplace is changing, as more and more people are working in locations that are different from those of their colleagues, managers and direct reports. It’s no longer the case that road warriors—sales people, service personnel and executive management—are the only people who routinely work outside the office. These days, everyone from contact-center agents to HR managers to general knowledge workers are likely to spend at least some of their time working from a remote or home-based location, and as the lines between home life and work life continue to blur, many employee find themselves “on the job” even as they watch their kids’ soccer games or commute on the train to the work.
One key factor driving organizational sprawl is the globalization of business. As businesses tap into new markets looking to expand customer reach and grow revenues, they also acquire local talent and maintain local presence through a growing number of branch offices and remote sites. As a result, functional teams increasingly span multiple, geographically dispersed locations.
But there is also a growing tendency to offer employees a better, more balanced life style. Many businesses today are creating flexible work programs – with flexibility extending to both employee workplace and working hours. Such programs enable businesses to accomplish three key objectives:
- Reduce facilities costs (including real estate, utilities, equipment, furniture, etc.),
- Reduce employee commuting costs and improve employee satisfaction and retention (and possibly productivity),
- Spare the environment by reducing fuel emissions.
Some refer to these benefits as the Triple Bottom Line. There’s no doubt that the virtual workplace offers significant advantages to companies and their employees. Myriad third-party research supports the benefits. For instance, in a 2009 study, the Institute for Corporate Productivity (i4cp) reports that 84% of companies believe that flexible work arrangements in their organization boost employee morale. That’s up from 76% over 2008. And 78% of polled companies say flexwork options bolster retention rates, up from 64% the previous year.”
Meanwhile, a 2008 report from Corporate Voices for Working Families notes that in a 2007 survey of senior-level executives at large corporations, respondents reported an overwhelmingly positive experience with flexible work strategies. By a ratio of 9-to-1, respondents reported that flexible work strategies have a positive effect on helping organizations reach business goals.
Mobility and Mobile Communications Drive a Paradigm Shift
Mobile communications have brought down the walls of the confined business space and the physical establishment. Individuals can now communicate and do business from their homes, cars, airports and hotel rooms, virtually anywhere.
Today’s employees are much more tech-savvy than they have ever been before. They have access to various high-end communications and collaboration tools as consumers and they demand the same tools and capabilities in the workplace as well. We acknowledge a growing trend of “consumerization” in the enterprise, which manifests itself in the increasing use of consumer devices, applications and tools for business purposes, with or without the official support of the IT department. This trend is most evident in the use of mobile devices – smart phones, tablets, and so on. A 2010 Frost & Sullivan survey of 200 North America-based C-level executives and IT managers revealed that 70% of the respondents used mobile devices for business purposes, and 49% claimed that mobile devices represented the primary communications endpoints used by the majority of users in the organization.
Consumerization is having a significant impact on technology investment decisions in the enterprise. Business IT and telecom managers have been somewhat reluctant to support all these consumer devices and applications, mostly due to cost, interoperability and security concerns. In fact, only 50% of the respondents in our survey reported that their mobile devices were integrated with the corporate communications systems and applications. Yet, 91% of those respondents reported that mobile extensions of corporate communications were either very important (61%) or somewhat important (30%) to their daily operations.
Discussions with CTO and CIO professionals reveal that technology investment decisions now involve a variety of stakeholders. Line-of-business (LOB) managers and even end users are forcing IT to take into account their preferences and needs when deploying new technologies and solutions. In fact, end users are the primary driving force behind the adoption of advanced mobile devices in the workplace. Going forward, as the workforce becomes increasingly mobile, IT will need to support the right set of mobile communications tools to enable employees to communicate and collaborate more effectively.
So What Can you Do? Gain a Competitive Advantage through Advanced Communications Solutions
The changing nature of today’s dispersed and diverse workforce demands employees be able to access a wide array of collaborative communications tools, regardless of the de-vices they’re using, or where they’re using them. Mobile workers, teleworkers, “corridor” warriors and the so-called “digital generation” have varied needs, but they all share several things in common:
- They require an “in-office” communications experience regardless of where they are based;
- They use a diverse set of software tools and devices to communicate (ranging from, but not limited to, instant messaging, web and video conferencing, soft and hard phones, social media, Blackberries, Android phones, iPads and iPhones, and even lowly PCs.).
- Users and business managers wish to be able to present a uniform public identity – a single number and a single mail box where users can be reached by customers, partners and co-workers.
Companies must embrace the virtual workplace, but as they do so, they must deploy technology that supports this new way of working. Communications solutions must conform to the needs of individuals and to specific job functions, not the other way around.
How do you Chose the Right Solution for your Organization?
I was recently on a panel with Jim Davies, Mitel’s CTO, discussing evolving business needs and changing requirements for communications solutions. Jim talked about the founding principles of Mitel’s Freedom Architecture and I found those in line with key market trends. Mitel’s next-generation architecture is based on the following building blocks:
- Flexible, software-based solutions that allow integration with other vendors’ best-of-breed technologies,
- Support for a broad range of endpoints, including UC application support on a variety of mobile devices such as Nokia, Windows Mobile, Blackberry, Android and iPhone smartphones,
- Alternative deployment models including on-premises virtualization, Mitel-hosted cloud (Mitel AnyWare) or carrier-hosted solutions (Multi-instance MCD).
Fred Crespo, VP of Information Technologies at Rosewood Hotels and Resorts, who was also on the panel, affirmed, that the walled-garden approach is no longer acceptable to end users. He also gave examples of employees demanding support for the mobile devices of their choice and the resulting need for proper integration with the rest of the company’s communications infrastructure.
Businesses looking to future-proof their investments need to develop their next-generation architectures taking the above factors into consideration. A business’ communications infrastructure must support a single user identity and integrated access to a variety of communications software and devices for a user without adding cost and complexity. That technology should be open and flexible, software-based, and be able to run on any device and accessed from anywhere.
I have been working with the folks over at ImmersiFind on a mobile voip project for the past 8 months, the invite-only beta went live yesterday in the iTunes app store. It’s called “gabpark”. It’s been tested on the iPhone, iPod Touch and the iPad. In my humble opinion, it has some cool features that many should find quite useful.
The service is free during the invite-only beta period. I have a few invites for bloggers who are interested in getting a sneak peak, just email erik AT sipthat.com.
iTunes Store Overview
Gabpark is a new fun way to communicate with your family, friends and colleagues. Gabpark allows you to make and receive calls phone calls over 3G (Cellular Data Network) or WiFi. It works on both iPhone, iPod and iPad devices running OS 3 or higher. Never pay for roaming charges again!
Turn your iPod Touch or iPad into a phone in just a couple of minutes! Use the Follow-me feature and gabpark will call up to 3 of your alternate numbers at the same time! Use your cellular phone, home and work numbers or any 3 numbers in North America! Gabpark Voicemail allows you to see and hear your voicemail without having to call in for messages! Share your voicemails with anyone!
Change your Caller ID to match any of your existing numbers!
Gabpark is currently available via invitation. Invite up to 50 of your friends right from the app so they can enjoy Gabpark FREE calling in North America!
• Free calling in US and Canada!
• Get a phone number nearly anywhere in Canada or the US
• Receive calls even when the gabpark app is not running.
• Choose up to 3 follow-me numbers and gabpark will call them all at the same time.
• Gabpark voicemail can be seen and heard right in the app.
• Share voicemail with friends and family at the click of a button.
• Voicemail to email.
• Record up to 9 new voicemail greetings right from the app.
• Record calls from any phone you receive a gabpark call on.
• Blacklist. Add unwanted callers to your Blacklist and when they call your gabpark number they will hear a busy tone or a “This line has been disconnected..” message.
• Integrated with your contacts.
• See recent calls.
• Calls do not count towards your cellular calling plan.
• Compatible with iPhone, iPhone 3GS, iPod Touch and iPad.
• Built-in VoIP connection test.
Free calling requires free and instant registration to protect against abuse.
*IMPORTANT VOIP OVER CELLULAR / 3G NOTICE*
Because some mobile network operators may prohibit or restrict the use of VoIP (Voice over Internet Protocol) functionality over their network, such as the use of IP telephony over a cellular network, and may also impose additional fees, or other charges in connection with VoIP. As the user of this application, you agree to learn and abide by your cellular carrier’s network restrictions. Immersifind Inc. will not be held liable for any charges, fees or liability imposed by your carrier(s) for the use of VoIP over cellular networks.
*IMPORTANT Non-Availability of Traditional 911 or E911 Service*
END USER MUST MAINTAIN AN ALTERNATE MEANS OF REQUESTING EMERGENCY SERVICES. END USER acknowledges and understands that COMPANY does NOT support traditional 911 and E911 access to emergency services. END USER must maintain an alternate means of accessing traditional emergency response services.