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.
We wanted to get this initial informational document out right away so everyone that has any interest would be able to review the concepts and comment before we get too far along on the actual API.
“No SDP Offer/Answer” is a concept that has been bantered about for some time. It continues to rear its ugly head within the IETF and W3C Working Groups. There is evidence that some major browser vendors will not back the current SDP O/A methodology at all, but some of us continue to pin our hopes and dreams on SDP O/A nonetheless.
We are told by the developers we need something that will not only pass muster with them but will also be something that can be extended and innovated upon, uninhibited by large browser vendors or any vendor for that matter.
According to many, real adoption of WebRTC will not happen if we continue to force everyone to use this SDP Offer/Answer methodology. It is clearly blocking our way forward and the amount of specification documentation remaining needed for the browser vendors to produce a compatible SDP based WebRTC engine in a browser is much more daunting than most are willing to admit.
It’s time for a change.
What does that mean? It means we need to rewrite a portion of the current WebRTC specification and WebRTC API, which also means that many of the demo apps running out there will need some level of modification. Which is O.K. It’s better to break a few demo apps now than to proceed knowing there is a material flaw in the design, precluding the rest of the web from playing along and causing untold pain in future development.
Long live WebRTC.
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.
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.
Many of us have struggled with VoIP Network Monitoring, keeping tabs on our network without having to manually review the health is always a hassle and concern. For every network my team erected we needed to erect a proper monitor. For smaller networks and even VoIP phone systems the traditional Network Monitors were far to expensive to implement and required port mirroring which meant servers had to be deployed in the VoIP network that required monitoring.
So, we created SIPQOS… SIPQOS is a service that allows VoIP network administrators to attach virtual SIP endpoints to their network which send calls to-and-fro and monitors those calls for interruption. It’s a simplistic approach to a complex problem, if the network drops a registration or if a call fails it’s likely (from personal experience at least) that the issue applies to the entire network and other endpoints are experiencing the same problem. SIPQOS won’t take the place of more expensive in-network solutions but it does a great job of providing redundant VoIP network monitoring and SIP-based VoIP phone system monitoring as well.
An excerpt from the announcement we made on the 10th…
VANCOUVER, February. 10 – SIPQOS (pronounced SIP-KWOSS), a new entrant in the VoIP network monitoring market has launched a beta of its remote VoIP network monitoring service today. SIPQOS released the first product to bring the power of remote VoIP network monitoring by combining embedded SIP (Session Initiation Protocol) User Agents, web services and some secret sauce. SIPQOS monitors VoIP networks remotely and alerts network administrators when a problem has been detected.
SIPQOS is doing a great job for us and provides redundant VoIP network monitoring on a production network we run today. It also fills a void where others solutions fell flat, SMS alerts are critical and SIPQOS delivers in spades on that front. Those interested should give it a whirl, it’s free to sign up and the plans after the 30 day trial are cheap by anyone’s standards.
UPDATE: It’s looking good folks!
In the agreement…
3.3. 23 Because some mobile network operators may prohibit or restrict the use of Voice over Internet Protocol (VoIP) functionality over their network, such as the use of VoIP telephony over a cellular network, and may also impose additional fees, or other charges in connection with VoIP, You agree to inform end-users, prior to purchase, to check the terms of agreement with their operator, for example, by providing such notice in the marketing text that You provide accompanying Your Application on the App Store.
9. Third Party Terms of Agreement: You must state in the EULA that the end-user must comply with applicable third party terms of agreement when using Your Application, e.g., if You have a VoIP application, then the end-user must not be in violation of their wireless data service agreement when using Your Application.
Now that we know VoIP over the cellular data network is allowed, and ATT has said they will support it, and ATT has a cheap unlimited data plan (Listen up Rogers, Telus, Bell!), the iPad and iPhone has just become something I think we should be excited about.
Apparently the new iPhone dev agreement has officially been modified allowing for VoIP over the cellular data networks. Trying to confirm that myself.
If this is the case, the iPad and iPhone just got a whole lot more interesting.
Jazinga and Freetalk have combined efforts and the result is a Skype enabled SMB phone system called Freetalk Connect.
The press release:
FREETALK Partners With Jazinga To Create FREETALK® Connect
Companies Collaborate On Skype-enabled Small Business Communication System
Featuring Set Up In Less Than 15 Minutes
MIAMI, January 20, 2010 — As the result of a new partnership announced today at ITEXPO East 2010, FREETALK and Jazinga have created the FREETALK® Connect, a full-featured unified communications system that is the first to feature Skype for SIP and Skype for Asterisk functionality.
FREETALK and Jazinga collaborated in designing the FREETALK Connect, featuring a do-it-yourself (DIY) technology approach that can be configured in less than 15 minutes, enabling users who are not tech savvy to use it without formal training. This new class of DIY communications system allows anyone with basic knowledge of computers to install and maintain the office phone system. SIP, Skype and traditional PSTN phones can be plugged into the network, and the FREETALK Connect auto-detects and configures them. An onscreen wizard guides the user through setup. Adding users and administering the system after install is equally simple.
Further distinguishing the FREETALK Connect is its intelligent routing capabilities. Incoming Skype calls, as well as SIP, PSTN and IAX2 calls, can be routed to any local or remote Skype user, SIP, analog or mobile phone. Additionally, the FREETALK Connect enables users to set up “Find Me, Follow Me” features, and provides a unified mail box that consolidates messages from voice mail and email into one mailbox.
Some of the key features from the Jazinga platform found in the FREETALK Connect include:
Callback / Dial-around
Access to Skype Buddy lists
Auto Attendant / IVR
Music on Hold
The FREETALK Connect also has an easily configured and updated:
Managing routes to users, telephone services, and applications
Providing SIP/Skype telephone service management
Router management (networking, port forwarding, DNS, DHCP)
“Jazinga’s products consistently ensure call integrity by integrating quality of service and prioritizing voice traffic on the network into an affordable, simple product,” said In Store Solutions COO Craig Smith. “There was no question that FREETALK wanted to partner with Jazinga to develop the FREETALK Connect, because it continues our goal of working with the best providers to distribute outstanding products around the world.”
“FREETALK Connect is designed for small businesses with between 2 and 49 users, an undersold market that desperately needs UC functionality,” said Randy Busch, CEO of Jazinga Inc. “As a result of our partnership with In Store Solutions, the telecom technology playing field is much more level between larger enterprises and their smaller competitors.”
The the FREETALK Connect is marketed through Skype Shop, which is operated by In Store Solutions. The unit initially will be available to registered U.S. Skype users beginning in March.
For more information about FREETALK Connect PBX or to order a unit, visit
FREETALK is a product innovation catalyst – identifying market gaps and working with its global partners to design, manufacture and quickly bring to market products that disrupt traditional categories. Leveraging untapped market opportunities, FREETALK products are designed to be environmentally friendly, sold online and delivered globally at aggressive price-points. Always at the forefront of innovation, FREETALK is known for creating synergistic products that add unique value to its partners’ branded points-of-sale.
Jazinga Inc. develops communications products for small businesses and homes. The Jazinga system provides enterprise telephony and data functionality for this market, but at a fraction of the cost and without the setup complexity of an enterprise-class IP PBX. Jazinga Inc. is privately held and headquartered in Toronto, Canada. Additional information is available at http://www.jazinga.com.
Sue Huss, for In Store Solutions
Jazinga came to market a while back with a Asterisk appliance that is not much different than other you would find in the Asterisk market today. Skype recently announced their Skype SIP Trunking capability which is helping Skype become more open standards compliant, paving the way for deals like this one.
Since I have not tested the system myself I can only speculate that it is not huge departure from other Asterisk systems, which are not trivial to set up. Let’s hope they did their homework and come to market (March) with something that is much less technical and more end-user friendly, like Response Point.. was.
One thing that I find interesting is that it will be sold via the Skype store to US registered Skype users. If you were wondering what the connection is between Freetalk and Skype; the creators of Freetalk are also the curators of the Skype store. Ya, you heard me right. The company that created Freetalk (In Store Solutions) operates the Skype store. Which makes one wonder if there is overlapping ownership between Skype and In Store Solutions.
Something else that I find interesting, and not just because I am one of the founders of Xten/Counterpath, is how this announcement relates the recent announcement of the Asterisk/Digium softphone from Counterpath. Which may be why In Store Solutions decided not to leverage the Digium or Asterisk brand in this release, maybe they see the new Asterisk Bria softphone as a competitor in this instance?
I expect this will not be the last Asterisk-based phone system to incorporate Skype functionality this year, but it would seem as though they are the first, congrats to fellow Canadians at Jazinga.