News from Industry

WebRTC media servers in the Cloud: lessons learned (Luis López Fernández)

webrtchacks - Fri, 09/09/2016 - 13:32

Media servers, server-side media handling devices, continue to be a popular topic of discussion in WebRTC. One reason for this because they are the most complex elements in a VoIP architecture and that lends itself to differing approaches and misunderstandings. Putting WebRTC media servers in the cloud and reliably scaling them is  even harder. Fortunately there are […]

The post WebRTC media servers in the Cloud: lessons learned (Luis López Fernández) appeared first on webrtcHacks.

Should you use Kurento or Jitsi for your multiparty WebRTC video conference product?

bloggeek - Mon, 09/05/2016 - 12:00

Kurento or Jitsi; Kurento vs Jitsi – is the the ultimate head to head comparison for open source media servers in WebRTC?

Yes and no. And if you want an easy answer of “Kurento is the way to go” or “Jitsi will solve all of your headaches” then you’ve come to the wrong place. As with everything else here, the answer depends a lot on what it is you are trying to achieve.

Since this is something that get raised quite often these days by the people I chat with, I decided to share my views here. To do that, the best way I know is to start by explaining how I compartmentalized these two projects in my mind:

Jitsi Videobridge

The Jitsi Videobridge is an SFU. It is an open source one, which is currently owned and maintained by Atlassian.

The acquisition of the Jitsi Videobridge serves Atlassian in two ways:

  1. Integrating Jitsi Videobridge into HipChat while owning the technology (it took the better part of the last 18 months)
  2. Showing some open source love – they did change the license of Jitsi from LGPL to APL

Here’s the intro of Jitsi from its github page:

Jitsi Videobridge is an XMPP server component that allows for multiuser video communication. Unlike the expensive dedicated hardware videobridges, Jitsi Videobridge does not mix the video channels into a composite video stream, but only relays the received video channels to all call participants. Therefore, while it does need to run on a server with good network bandwidth, CPU horsepower is not that critical for performance.

I emphasized the important parts for you. Here’s what they mean:

  • XMPP server component – a decision was made as to the signaling of Jitsi. It was made years ago, where the idea was to “compete” head-to-head with Google Hangouts. So the choice was made to use XMPP signaling. This means that if you need/want/desire anything else, you are in for a world of pain – doable, but not fun
  • does not mix the video channels – it doesn’t look into the media at all or can process raw video in any way
  • only relays the received video – it is an SFU

Put simply – Jitsi is an SFU with XMPP signaling.

If this is what you’re looking for then this baby is for you. If you don’t want/need an SFU or have other signaling protocol, better start elsewhere.

You can find outsourcing vendors who are happy to use Jitsi and have it customized or integrated to your use case.

Kurento

Kurento is a kind of an media server framework. This too is an open source one, but one that is maintained by Kurento Technologies.

With Kurento you can essentially build whatever you want when it comes to backend media processing: SFU, MCU, recording, transcoding, gateway, etc.

This is an advantage and a disadvantage.

An advantage because it means you can practically use it for any type of use case you have.

A disadvantage because there’s more work to be done with it than something that is single purpose and focused.

Kurento has its own set of vendors who are happy to support, customize and integrate it for you, one of which are the actual authors and maintainers of the Kurento code base.

Which one’s for you? Kurento or Jitsi?

Both frameworks are very popular, with each having at the very least 10’s of independent installations and integrations done on top of them and running in production services.

Kurento or Jitsi? Kurento or Jitsi? Not always an easy choice, but here’s where I draw the line:

If what you need is a pure SFU with XMPP on top, then go with Jitsi. Or find some other “out of the box” SFU that you like.

If what you need is more complex, or necessitates more integration points, then you are probably better off using Kurento.

What about Janus?

Janus is… somewhat tougher to explain.

Their website states that it is a “general purpose WebRTC Gateway”. So in my mind it will mostly fit into the role of a WebRTC-SIP gateway.

That said, I’ve seen more than a single vendor using it in totally other ways – anything from an SFU to an IOT gateway.

I need to see more evidence of use cases where production services end up using it for multiparty as opposed to a gateway component to suggest it as a solid alternative.

Oh – and there are other frameworks out there as well – open source or commercial.

Where can I learn more?

Multiparty and server components are a small part of what is needed when going about building a WebRTC infrastructure for a communication service.

In the past few months, I’ve noticed a growing requests in challenges and misunderstandings of how and what WebRTC really is. People tend to focus on the obvious side of the browser APIs that WebRTC has, and forget to think about the backend infrastructure for it – something that is just as important, if not more.

It is why I’ve decided to launch an online WebRTC Architecture course that tackles these types of questions.

Course starts October 24, priced at $247 USD per student. If you enroll before October 10, there’s a $50 discount – so why wait?

The post Should you use Kurento or Jitsi for your multiparty WebRTC video conference product? appeared first on BlogGeek.me.

Kamailio – 15 Years of Development

miconda - Sat, 09/03/2016 - 12:34
Fifteen years ago, on September 3, 2001, inside Fraunhofer Fokus Research Institute, first commit to the source code repository of Kamailio has been made by Andrei Pelinescu-Onciul:Here are the references to the first three commits:# git log --pretty=format:"%h%x09%an%x09%ad%x09%s" --reverse | head -3

512dcd9 Andrei Pelinescu-Onciul Mon Sep 3 21:27:11 2001 +0000 Initial revision
888ca09 Andrei Pelinescu-Onciul Tue Sep 4 01:41:39 2001 +0000 parser seems to work
e60a972 Andrei Pelinescu-Onciul Tue Sep 4 20:55:41 2001 +0000 First working releaseThe project was initially named SIP Express Router (aka SER), years later – after a fork, a rename and a merge – it converged into into what is now the Kamailio project. It has been a fabulous journey so far, in a more than ever challenging market of real time communications.Well known for its performances, flexibility and stability, Kamailio has set a relevant footprint in open source and open communications, enabling entities world wide to prototype, launch new services and build scalable businesses, research and innovate in real time communications. More over, the project has succeeded to create an amazing community of users and contributors, the real engine behind its successful evolution.Its time to celebrate the moment, everyone involved deserving it — thank you all!In a few months the project will deliver v5.0.0, its 16th public major release, with a restructuring of the source tree to match current modern approaches and more flexibility in choosing the language for building the desired SIP routing rules. Stay tuned!Thank you for flying Kamailio!

FreeSWITCH Week in Review (Master Branch) August 20th – August 27th

FreeSWITCH - Tue, 08/30/2016 - 20:15

It was a quiet week in the code with some minor build updates and improvements. The FreeSWITCH configuration audit has begun with initial minor commits and will continue throughout the year. If you are looking to volunteer to help with that or would like more information email brian@freeswitch.org or join the Bug Hunt on Tuesdays at 12:00pm Central Time.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

Improvements in build system, cross platform support, and packaging:

  • FS-9442 [Debian] Tweak the packages to properly install the debug symbols via freeswitch-all-dbg and freeswitch-meta-all-dbg
  • FS-8608 [configuration] Beginning the default configuration and a first step is establishing that parameters should have dashes

The following bugs were squashed:

  • FS-9443 [core] Fixed a segfault caused by SDP in a verto.invite with missing ICE candidates
  • FS-9447 [mod_avmd] Increased the number of samples to skip to avoid false beep detection on some voicemails for Windows
  • FS-9452 [libsofia] Fixed the true/false logic for using destination flag
  • FS-7706 [mod_callcenter] Hangup agent channel if we failed to bridge it with member channel

VUC – SER-Kamailio At 15 Years

miconda - Mon, 08/29/2016 - 17:16
This week on Friday, September 2, 2016, we will join the VoIP Users Conference (VUC) moderated by Randy Resnick for an open discussion about the evolution of Kamailio project.On September 3, 2001, the fist commit was pushed for what was then SIP Express Router (SER) project at Fraunhofer FOKUS Research Institute in Berlin, Germany, project that evolved over the time in what is now Kamailio.A lot of great things happened along the way, there were also some not-very-pleasant moments, but hey, that’s life! Join us to listen or share such moments — if Kamailio made your live easy or bad, if you have a funny story to tell or a photo/video to share, you are welcome on board!We started the celebration at Kamailio World Conference 2016, now we gather online of a non-technical debate of whether the project succeeded to deliver on its promises.Several people already confirmed the participation, like Alex Balashov, Daniel-Constantin Mierla and Fred Posner. We expect VUC regulars such as James Body to be around.Anyone can connect to VUC and listen audio or watch the video session via SIP or YouTube live streaming. For more details see:Should you want to actively participate in the discussion, contact us via email at registration [at] kamailio.org in order to plan a bit the structure. Last minute joining is also possible, but a matter of capacity for the video conferencing system.Thank you for flying Kamailio!

Will there ever be a decentralized web?

bloggeek - Mon, 08/29/2016 - 12:00

No. Yes. Don’t know.

I’ve recently read an article at iSchool@Syracuse. For lack of a better term on my part, pundits opining about the decentralized web.

It is an interesting read. Going through the opinions there, you can divide the crowd into 3 factions:

  1. We want privacy. Also we hate governments and monopolies. This is the largest group
  2. There’s this great tech we can put in place to make the internet more robust
  3. We actually don’t know

I am… somewhat split across all of these three groups.

#1 – Privacy, Gatekeepers and Monopolies

Like any other person, I want privacy. On the other hand, I want security, which in many cases (and especially today) comes at the price of privacy. I also want convenience, and at the age of artificial intelligence and chat bots – this can easily mean less privacy.

As for governments and monopolies – I don’t think these will change due to a new protocol or a decentralized web. The web started as something decentralized and utopian to some extent. It degraded to what it is today because governments caught on and because companies grew inside the internet to become monopolies. Can we redesign it all in a way that will not allow for governments to rule over the data going into them or for monopolies to not exist? I doubt it.

I am taking part now in a few projects where location matters. Where you position your servers, how you architect your network, and even how you communicate your intent with governments – all these can make or break your service. I just can’t envision how protocols can change that in a global scale – and how the forces that be that need to promote and push these things will actively do so.

I think it is a good thing to strive for, but something that is going very challenging to achieve:

  • Most powerful services today rely on big data = no real privacy (at least not in front of the service you end up using). This will always cause tension between our design for privacy versus our desire for personalization and automation
  • Most governments can enforce rules in the long run in ways that catch up with protocols – or simply abuse weaknesses in products
  • Popular services bubble to the top, in the long run making them into monopolies and gatekeepers by choice – no one forces us to use Google for search, and yet most of us view search on the web and Google as synonymous
#2 – Tech

Yes. Our web is client-server for the most part, with browsers getting their data fix from backend servers.

We now have technologies that can work differently (WebRTC’s data channel is one of them, and there are others still).

We can and should work on making our infrastrucuture more robust. More impregnable to malicious attackers and prone to errors. We should make it scale better. And yes. Decentralization is usually a good design pattern to achieve these goals.

But if at the end of the day, the decentralized web is only about maintaining the same user experience, then this is just a slow evolution of what we’re already doing.

Tech is great. I love tech. Most people don’t really care.

#3 – We just don’t know

As with many other definitions out there, there’s no clear definition of what the decentralized web is or should be. Just a set of opinions by different pundits – most with an agenda for putting out that specific definition.

I really don’t know what that is or what it should be. I just know that our web today is centralized in many ways, but in other ways it is already rather decentralized. The idea that I have this website hosted somewhere (I am clueless as to where), while I write these words from my home in Israel, it is being served either directly or from a CDN to different locations around the globe – all done through a set of intermediaries – some of which I specifically selected (and pay for or use for free) – to me that’s rather decentralized.

At the end of the day, the work being done by researchers for finding ways to utilize our existing protocols to offer decentralized, robust services or to define and develop new protocols that are inherently decentralized is fascinating. I’ve had my share of it in my university days. This field is a great place to research and learn about networks and communications. I can’t wait to see how these will evolve our every day networks.

 

 

The post Will there ever be a decentralized web? appeared first on BlogGeek.me.

SIPit 32

miconda - Fri, 08/26/2016 - 15:32
The next SIPit – the SIP Tnteroperability Test Event – will be held at the University of New Hampshire Interoperability Laboratory, in Durham, New Hampshire, USA, during September 12-16, 2016.SIPit facilitates testing your SIP implementations, gathering of SIP professionals that develop phones, PBXes, servers or other SIP application to enable peer-to-peer an multiparty tests.There is a great testbed of various NAT networks for those of you working with NAT traversal issues, including IPv6 in the network as well as an extensive set of tests for TLS. This year, there will also be a focus on STIR – the new secure identity handling in SIP.Olle E. Johansson explains why you should participate in the next slides:Participate in SIPit from Olle E JohanssonTo register and learn more details, go to the main SIPit web site:Along the past 15 years, Kamailio-SER participated at many of the SIPit events, which is reflected in the robustness of the application. This edition, at least Olle will be again there to ensure the latest version stays rock solid.Many of the automatic tests on site are built using Kamailio, go there and hammer it!Thank you for flying Kamailio!

The FreeSWITCH 1.6.10 release is here!

FreeSWITCH - Thu, 08/25/2016 - 18:24

The FreeSWITCH 1.6.10 release is here!

This is also a routine maintenance release. Change Log and source tarball information below.

Release files are located here:

New features that were added:

  • FS-9192 [mod_sofia] Added renegotiate-codec-on-hold parameter for proxy hold when proxy media and proxy mode are disabled; it’s similar to proxy-refer
  • FS-9276 [mod_sofia] Added proxy in-dialog calls sip notify and info similar to proxy hold
  • FS-9440 [mod_sofia] Add transfer_destination
  • FS-9154 [libsofia] Add & remove video on re-invites
  • FS-9009 [mod_avmd] Add amplitude estimation
  • FS-9069 [mod_avmd] Add detection time to beep event
  • FS-9287 [mod_spandsp] Add channel variable to make spandsp_start_tone_detect easier to use from dialplan/embedded scripts.
  • FS-9310 [mod_sms_flowroute] Added native support for Flowroute SMS API over HTTP(S)
  • FS-9264  [mod_dptools] Add detect_audio and detect_silence API calls
  • FS-9230 [mod_conference] Customize video muted banner
  • FS-9441 [mod_conference] Add the option to not beep between dials in outcall
  • FS-9281 [mod_verto] Add support for QQVGA resolution in Verto
  • FS-9256 [mod_v8] Add DB.Finalize() in order to close statements.
  • FS-9419 [mod_commands] Add event_channel_broadcast api

Improvements in build system, cross platform support, and packaging:

  • FS-9263 [build] Attempting to find the proper lua5.2 version on openbsd
  • FS-9260 [build] Fixed make detection to not fail on openbsed,  fixed libtoolize detection to attempt to find libtoolize the same version as specified libtool, and added -ltermcap for openbsd so it can correctly link to libedit
  • FS-9403 [build] Add timestamp for when user was pushed into queue that lives with the channel
  • FS-9449 [build] Enable clock calibration and clock_realtime on Solaris
  • FS-9424 [build] Define byte order correctly on Solaris/SPARC
  • FS-9317 [configuration] Added screen share examples to the vanilla configurations
  • FS-9350 [configuration] Add mod_av commented to modules.conf.xml
  • FS-9320 [mod_local_stream] When the entity playing the local_stream video file has a greater or equal frame rate, reduce the buffering
  • FS-9315 [mod_http_cache] Added support for video file formats
  • FS-9373 [Debian] Added mod-verto and mod-rtc to freeswitch-meta-all package
  • FS-9386 [mod_snmp] Use net-snmp-config for SNMP libs if available
  • FS-9385 [mod_conference] Check for ghosts before destroying a conference
  • FS-9161 [mod_verto] Added example Verto settings to example configs
  • FS-9362 [mod_sofia] Fixed sofia compile error on newer clang included in new osx
  • FS-9447 [mod_avmd] Increase default value of samples to skip to increase robustness against false detections
  • FS-9439 [mod_loopback] Check chained loopback for loopback_bowout

The following bugs were squashed:

  • FS-9244 [core] Fixed debug lines
  • FS-9265 [core] Fixed an issue with receiving INCOMPATIBLE_DESTINATION when there is no RTCP
  • FS-9292 [core] Fixed a core dump while playing videos or showing images usually with a high number of callers
  • FS-9312 [core] Fixed and unreachable code block in switch_core_media
  • FS-9328 [core] Fixed switch_jb_peek_frame bug where it uses the len of the whole packet and does not subtract the len of the rtp header when copying and returning the size of the packet read.
  • FS-9337 [core] Fixed invalid sdp generated with soa disabled
  • FS-9352 [core] Fixed overzealous ptime adjust issues on opus
  • FS-9355 [core] Fixed a segfault in case of null frame
  • FS-9356 [core] Fixed an issue with DTMF not recognized when coming from a Cisco SIP trunk
  • FS-9289 [core] Fixed a MOH issue with b side hold causing silence for the a leg
  • FS-9365 [core] Fixed the SDP format on reply to RE-INVITE to be RFC-4566 compliant
  • FS-9357 [core] Handle packet loss and reset decoder on memory error
  • FS-9382 [core] Fixed an issue with video broken between two users in verto
  • FS-9390 [core] Fixed a ‘Segmentation fault’ during call setup
  • FS-9369 [core] Added the variable add_ice_candidates=true to enable inserting ice candidates in outgoing sdp
  • FS-9436 [core] Fixed RTCP PLI media source SSRC not updating after re-INVITE
  • FS-9422 [core] Fixed an issue with Freeswitch Exit/Crash on SDP negotiation by removing renegotiate-codec-on-hold and renegotiate-codec-on-reinvite
  • FS-9410 [core] Fixed PLI Missing Media Source SSRC
  • FS-9423 [core] Handle null value in ACL list name
  • FS-9434 [core] Fixed the SDP parser in sofia not recognizing UDP/TLS/RTP/SAVP
  • FS-9380 [core] Fixed a problem with ext-rtp-ip not being used when originating
  • FS-9401 [core][mod_amqp] Fixed a leak in usage of hash itterator
  • FS-9357 [verto communicator] Fixed an issue with VP9 codec screensharing on mod_conference (mux/transcode) not working
  • FS-9342 [verto_communicator] Fixed a problem with settings not being saved when closing the settings panel
  • FS-8761 [libsofia][mod_verto] Fixed a memory leak
  • FS-9375 [mod_sofia] Fixed DTMF not working on OPUS after call transfer
  • FS-9423 [mod_sofia] Handle null value in ACL list name
  • FS-9183 [mod_sofia] Handle 415 Unsupported Media Type as 488
  • FS-9376 [mod_sofia] Fixed a hold negotiation problem on a call received from a Cisco Session Manager
  • FS-9381 [mod_sofia] Fixed a leak in sofia_presence_chat_send
  • FS-9368 [mod_sofia] Fixed a problem with errant duplicate video frames causing video recording issues
  • FS-9241 [mod_sofia] Use tls_public_url instead of tls_url in INVITE Contact when NAT is detected
  • FS-9316 [mod_sofia] Fixed an issue caused by INVITE with empty SDP from Cisco VCS not setting up video
  • FS-9333 [mod_sofia] Disable video refresh by sip INFO by default because this method is outdated
  • FS-9297 [mod_sofia] Fixed multiple crashes from passing invalid null values in sofia.conf
  • FS-9301 [mod_sofia] Handled a race condition on startup of mod_sofia with error conditons causing segfault
  • FS-9271 [mod_conference] Fixed a segfault trying to record a canvas that does not exist
  • FS-9221 [mod_conference] Add inactive support for calls to prevent termination if just the video stream is removed
  • FS-9303 [mod_conference] Removed unnecessary checks as the video flag is not sent to file open unless using transcode mode, you can record mp4 but it will only contain the audio if in passthru mode
  • FS-9305 [mod_conference] Fix for fs_cli crashing due to vid-logo-img incorrectly being set to nothing after originally setting it to a bad image
  • FS-9307 [mod_conference] Fixed a race condition caused by trying to use a closed file handle when playing a video file after closing files before video threads are done
  • FS-9314 [mod_conference] Fixed a crash when starting conference in mux mode while specifying or defaulting to a layout group that does not exist. We will now fall back to transcode mode in this case
  • FS-9353 [mod_conference] Fixed a problem with clear-vid-floor producing an error while working
  • FS-9425 [mod_conference] Fixed a copy and paste error where the height was not set properly
  • FS-9437 [mod_conference] Delete avatar if video is enabled mid-call
  • FS-9267 [mod_cv] Fixed an issue where the VPX codec returns the same image to the core when doing repeated decoding. Updates to that image match the updates to the stream so if a media bug modifies the image between key frames it messes up the picture until the next key frame is received.
  • FS-9283 [mod_hiredis] Fixed an issue with using hiredis_raw on channels without media such as an originate
  • FS-9302 [mod_mongo] Fixed mongo_find_one and mongo_find_n to return -ERR when the connection to the database fails
  • FS-9313 [mod_opus] Fixed sprop_stereo interpretation causing bad audio
  • FS-9345 [mod_httapi] Fixed an issue with HTTAPI truncating a string when responses span multiple packets
  • FS-9296 [mod_httapi] Fixed video support
  • FS-9343 [mod_smpp] Fixed a problem with failing to send a message via Nexmo
  • FS-9259 [mod_spandsp] Fixed a missing “m=image 0” when replying to INVITE with disable image line
  • FS-8783 [libsrtp] Fix alignment issue
  • FS-9394 [mod_av] Fixed the h263 leak
  • FS-9409 [mod_av] Wait for avformat reader thread before reading to prevent spurious EOF and skipped playback
  • FS-8783 [libsrtp] Fix alignment issue
  • FS-9415 [mod_spy] Increasing loop so we can also look for variable_verto_user and variable_verto_host to fix mod_spy not reacting on verto channels

FreeSWITCH Week in Review (Master Branch) August 6th – August 13th

FreeSWITCH - Mon, 08/22/2016 - 12:31

The features this week include added detection time to beep event in mod_avmd and event_channel_broadcaster API in mod_commands.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-9069 [mod_avmd] Add detection time to beep event
  • FS-9419 [mod_commands] Add event_channel_broadcast api

Improvements in build system, cross platform support, and packaging:

  • FS-9424 [build] Define byte order correctly on Solaris/SPARC

The following bugs were squashed:

  • FS-9409 [mod_av] Wait for avformat reader thread before reading to prevent spurious EOF and skipped playback
  • FS-9415 [mod_spy] Increasing loop so we can also look for variable_verto_user and variable_verto_host to fix mod_spy not reacting on verto channels
  • FS-9183 [mod_sofia] Handle 415 Unsupported Media Type as 488
  • FS-9422 [core] Fixed an issue with Freeswitch Exit/Crash on SDP negotiation by removing renegotiate-codec-on-hold and renegotiate-codec-on-reinvite
  • FS-9410 [core] Fixed PLI Missing Media Source SSRC
  • FS-9423 [core] Handle null value in ACL list name

FreeSWITCH Week in Review (Master Branch) August 13th – August 20th

FreeSWITCH - Mon, 08/22/2016 - 12:19

This week we had some great improvements to mod_verto, mod_sofia, mod_conference, mod_avmd, and mod_v8. These changes include support and minor configuration improvements.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-9281 [mod_verto] Add support for QQVGA resolution in Verto
  • FS-9440 [mod_sofia] Add transfer_destination
  • FS-9441 [mod_conference] Add the option to not beep between dials in outcall
  • FS-9069 [mod_avmd] Add detection time to beep event
  • FS-9256 [mod_v8] Add DB.Finalize() in order to close statements.

Improvements in build system, cross platform support, and packaging:

  • FS-9161 [mod_verto] Added example Verto settings to example configs
  • FS-9362 [mod_sofia] Fixed sofia compile error on newer clang included in new osx
  • FS-9449 [build] Enable clock calibration and clock_realtime on Solaris
  • FS-9424 [build] Define byte order correctly on Solaris/SPARC
  • FS-9447 [mod_avmd] Increase default value of samples to skip to increase robustness against false detections
  • FS-9439 [mod_loopback] Check chained loopback for loopback_bowout

The following bugs were squashed:

  • FS-9375 [mod_sofia] Fixed DTMF not working on OPUS after call transfer
  • FS-9434 [core] Fixed the SDP parser in sofia not recognizing UDP/TLS/RTP/SAVP
  • FS-9425 [mod_conference] Fixed a copy and paste error where the height was not set properly
  • FS-9436 [core] Fixed RTCP PLI media source SSRC not updating after re-INVITE
  • FS-9437 [mod_conference] Delete avatar if video is enabled mid-call
  • FS-9423 [mod_sofia] Handle null value in ACL list name
  • FS-8783 [libsrtp] Fix alignment issue

Are WebRTC room systems interesting again?

bloggeek - Mon, 08/22/2016 - 12:00

I get a feeling that the room system is actually about to change. And that’s probably a good thing.

For many years, video conferencing was defined by the “codec”. The “codec” in this case wasn’t H.264 or any other specification of a video compression standard. It was the term given to the grey box sitting inside a meeting room connected to a camera. For me, a better term for it was always the “room system”. The first ones started as designed, proprietary hardware, running proprietary embedded operating systems. They were connected to a specific camera that was either a part of the box or connected to the box externally – but in most cases was again a proprietary camera.

There have been attempts in the past to replace the room system with something less expensive. I even remember GIPS (remember them? Google acquired them 6 years ago and made WebRTC out of them) writing a post on their blog on how to build your own video conferencing system from an Intel machine and a Logitech webcam. It was nice, but it really didn’t change the industry.

Little has changed in the video conferencing room system. When I stopped following that industry closely, which was a few years ago, things were still in the same trajectory:

  • Use proprietary hardware (the industry leaned towards the TI DSP at the time)
  • Use Embedded Linux as the OS (at the time, this was actually a refreshing sidestep from VxWorks)
  • Use an external proprietary camera (sourced from Sony if you wanted expensive highend or from another vendor if you wanted expensive “lowend”)

Software was taking the same design concepts of embedded platforms and closed systems at the time. You wrote ugly proprietary code from scratch with specialized UI frameworks. No fun at all.

When I decided to write my first posts about WebRTC, I wanted to share my views o f what WebRTC will do to the video conferencing room system. I noted three changes we will see:

So how will we handle it now?

  1. Commodity hardware, probably still with proprietary cameras
  2. Android operating system
  3. WebRTC multimedia and a web browser for signaling and everything else

I wrote it more than 4 years ago. And it still hasn’t happened. What I did fail to see, was how two additional changes are going to affect this industry:

  1. Migration towards cloud based deployments, services and business models (specifically in the video conferencing industry)
  2. Open hardware. Or at the very least, the constant grind of Moore’s Law and the stupidly capable hardware we have today

Hardware is cool again. IoT (the Internet of Things) made sure of that. Everything from wristbands, to drones, to self driving cars. Somehow, hardware startups had to also look at the video conferencing system.

Highfive was an early indication of that. A company conceived in 2012, just about the time I’ve written my own thoughts on the video conferencing room system. To some extent, also Double Robotics, who made use of an iPad and a Segway-like device. Both employed cloud for their distribution, selling a service around their devices. They were pioneers in selling their own video “codec” (=room system) coupled with a service they host and manage.

In the past month, things seem to be progressing in this same trajectory. Three items on the news recently caught my attention:

#1 – HELLO

HELLO is a video conferencing room system created by Solaborate. Solaborate is a social business/collaboration platform that has been around for several years now. Their CEO, Labinot Bytyqi was interviewed here a few years ago about Solaborate. I am not sure how they are fairing since then, but they must have been busy.

It seems that they are now adding a hardware component to the Solaborate platform in the form of HELLO. And what better place to go about doing that than a Kickstarter campaign?

HELLO Kickstarter

The thing I liked most is the image they shared of their first prototype:

For the uninitiated, that’s the Logitech C920 webcam, cut from its plastic contraption and glued together to something that looks like one of them Linux or Android-in-a-stick devices. Probably what holds the quad core ARM processor. Commodity hardware at its best.

Solaborate took a low goal for their Kickstarter campaign, passing it and then some. They will probably end up below the million dollar mark, but with a rather solid number of backers considering this is at the end of the day an enterprise product.

Oh – and did I mention they use WebRTC?

#2 – Pluot

Pluot is a new startup I came across over TechCrunch when they reported that Pluot raised $2.5 million.

The idea isn’t any different than the previous set of vendors. You get a small box and a camera, connected to the Pluot service.

From a hardware standpoint, it isn’t much different than the HELLO box. The camera from the picture is a Logitech C920 one.

The box, if you ask me, is too similar to an Intel NUC.

And it is actually running an Intel off-the-shelf commodity hardware:

The Pluot device is an Intel NUC running Ubuntu Core. […]

All the WebRTC media streams are peer-to-peer. […] That’s why we’re using an Intel Core i3 instead of a cheaper ARM option.

And yes. It is using WebRTC. And guess what? As with Skype, Pluot is also based on Electron (and Chromium as an extension of it):

So we scratched our own itch and built a little appliance, using WebRTC and atom-shell (which is now electron).

Pluot took a different business model approach – one used extensively by mobile operators: the box is free and you pay for the monthly subscription service only.

Commodity hardware, commodity software, commodity video conferencing core inside a Chromium shell, powering the whole video conferencing service.

#3 – Cisco trimming its workforce

In seemingly unrelated news, Cisco is trimming down its workforce. Everywhere in the news that this is mentioned, it also comes with an indication that the cuts are mainly on the hardware side of the house. There’s a need to focus more on software these days.

As one of the biggest players in video conferencing room systems, I wonder what that means. Is it a move towards leaner, more software focused room systems? Is the room systems in Cisco considered hardware or software in essence? Will we see a shift in business models?

The room system is slowly starting to change and take a new shape.

This change isn’t just a technical one in the specification of the hardware and software, but goes a lot deeper than that. These changes come with a change of how the room system is built, which parts are developed and which are “sourced” from open source alternatives (or paid third parties), who offers the service and how the business model look like.

 

Planning on introducing WebRTC to your existing service? Schedule your free strategy session with me now.

The post Are WebRTC room systems interesting again? appeared first on BlogGeek.me.

FreeSWITCH Week in Review (Master Branch) July 30th – August 6th

FreeSWITCH - Wed, 08/17/2016 - 14:31

A new feature went into mod_sofia, proxy in-dialog calls sip notify and info similar to proxy hold.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-9276 [mod_sofia] Added proxy in-dialog calls sip notify and info similar to proxy hold

Improvements in build system, cross platform support, and packaging:

  • FS-9403 [build] Add timestamp for when user was pushed into queue that lives with the channel

The following bugs were squashed:

  • FS-9380 [core] Fixed a problem with ext-rtp-ip not being used when originating
  • FS-9401 [core][mod_amqp] Fixed a leak in usage of hash itterator
  • FS-8761 [libsofia][mod_verto] Fixed a memory leak

Microsoft Acquires Beam, Showing the Value of WebRTC to Interactive Live Streaming

bloggeek - Mon, 08/15/2016 - 12:00

Low latency is critical for interactive live streaming.

Microsoft acquired last week Beam, a company focused on a gamer interactive live streaming service.

According to CrunchBase, Beam has been around for almost 2 years before getting plucked by Microsoft. The investment in them has been smaller than 0.5M USD.

For some reason unknown to me, there are people who love watching other people play games. I guess it is similar to some extent to people sitting down to watch a soccer game. Another thing I can’t really understand. It is the reason why Twitch was acquire by Amazon for almost a billion dollar – a month prior to Beam’s founding.

What Beam worked on was a way to enable viewers to be a part of the game and up their engagement. You do this by allowing viewers to push feedback to the gamers – add challenges to them, buy virtual goods for them, etc. From Beam’s website:

We make it possible for streamers to involve viewers in their gameplay, no matter what game they’re playing.

Want to let your viewers choose your weapon, make quests for you, or even fly a drone around your room? You can do that, all in realtime. Our SDK allows developers to create interactive experiences for existing games with as few as 25 lines of code.

In the console world, there are two major players – Microsoft Xbox and Sony PlayStation. With the acquisition of Beam, Microsoft is trying to build an ecosystem of viewers around the gamers and games offered in Xbox. Will they share the SDK and platform with Sony? It is too soon to tell, especially now that Microsoft is opening up and trying to build large ecosystem around its services as opposed to its operating systems. It might just be that Microsoft is trying to become a big player in gaming in general – not just console ones but also mobile.

Back to Beam and video streaming.

To enable higher and richer interactions between viewers and gamers, and offer the kind of  that, latency higher than a second are detrimental. This makes HLS and MPEG-DASH protocols irrelevant. Flash is on its way out the window. The only other technology that can get to a sub-second latency for real time video streaming then is WebRTC.

 

WebRTC is exactly what Beam has been using in their “protocol” dubbed FTL. It used WebRTC to stream video to the viewers instead of the more traditional mechanism of Flash.

I have been a believer in WebRTC for live streaming and broadcast for over a year now. It is just another place where WebRTC makes a lot of sense, but it will take time for us to get there. The main reason for that is that current implementations are too focused on video chat scenarios – trying to leverage the WebRTC implementation found in Chrome and hooking it up to backend media servers that are again geared towards video chat use cases.

There are 4 different techniques that WebRTC can be leveraged in interactive live streaming (or streaming at all):

  1. Use WebRTC’s data channel as a replacement for HTTP(S) to send video packets
    • Theoretically, this should be faster than HTTP and enables optimization to buffering
    • No one has taken that route yet as far as I can tell
  2. Build a kind of P2P CDN on top of WebRTC’s data channel
    • Think BitTorrent inside the browser
    • Peer5 and a view other vendors are doing just that
  3. Use WebRTC in its full glory – voice and video channels opened and streamed
    • Acquire the original live stream using WebRTC or some other mechanism, and then use WebRTC to connect the viewers via a VOD like architecture to the broadcast
    • Probably the most wasteful of all approached
    • And the one I am guessing Beam is currently employing
  4. Optimize on (3) to offer something akin to a Flash/HLS streamer
    • Handle multiple bitrates and resolutions
    • Be able to get high density of streams in a single machine

Options (1) and (2) require knowledge of networking.

Option (2) requires knowledge of P2P networks.

Option (3) requires WebRTC knowledge at its basic level.

Option (4) means you practically implement a WebRTC stack of your own with a focus on live streaming.

My guess is that with time, we will see vendors implementing options (2) and (4) which will be the winning architectures for live streaming.

Option (2) will be deployed to support today’s use cases, while option (4) will be deployed to support future use cases, where interactivity between viewer and broadcaster are important.

Beam took the right challenge on itself. It got it acquired in a short timespan and in a way redefine live streaming and low latency.

For Microsoft, this is yet another acquisition in the WebRTC space, and another area in which it now relies on this technology – even without supporting it on IE.

 

Planning on introducing WebRTC to your existing service? Schedule your free strategy session with me now.

The post Microsoft Acquires Beam, Showing the Value of WebRTC to Interactive Live Streaming appeared first on BlogGeek.me.

WebRTC Plugin? An Electron WebRTC app is the only viable fallback

bloggeek - Mon, 08/08/2016 - 12:00

I was meaning to write something about Skype, Linux and WebRTC. But never got around to it. Until now.

The reason why I decided to write about it eventually? This tweet by Alex:

IMTC (Microsoft, Cisco, polycom, unify, sonus, …) to provide free (no cost) and free (do what you want) webrtc plugin for I.E. And Safari.

— Dr. Alex. Gouaillard (@agouaillard) August 3, 2016

Hmm. The IMTC is planning to offer a FREE plugin for IE and Safari.

Sounds like Temasys, and from the person who worked at Temasys at the time of releasing their plugin – now a commercial one rather than a free offering.

While some like this plugin, others don’t. They tried it and decided that the warning messages it pops up when being installed aren’t worth the effort.

The Electron WebRTC app approach

What did catch my eye was the Skype for Linux announcement. This is an alpha release of the Skype app for Linux – something that Microsoft have been neglecting for quite some time now.

The interesting bit isn’t that Microsoft is actively investing in a Linux version for Skype and acknowledging this part of the user base, but rather how they did that and the stance they have.

Here are a few lines from the announcement on the Skype community site:

The new version of Skype for Linux is a brand new client using WebRTC, the launch of which ensures we can continue to support our Linux users in the years to come.

[…] you’ll be using the latest, fastest and most responsive Skype UI, so you can share files, photos, videos and a whole new range of new emoticons with your friends.

The highlighted text is my own addition.

Here are my thoughts:

  • This is implemented on top of WebRTC and not ORTC. In a way, we’ve gone full circle with Microsoft – from ORTC, to adding WebRTC support in Edge to using WebRTC to develop their own products where needed
  • Microsoft gives the best reasoning behind using WebRTC in its own development: to ensure continued support for Linux
    • For the most part, using WebRTC equates better support for more devices and platforms than any other technology out there today
    • Yes. You still need to put some effort into getting it working on some platforms – but with a lot less of a hassle than any other technology and at a lower cost
  • Responsive Skype UI = HTML5. So there’s some browser engine / rendering engine for HTML in there somewhere
  • Latest and fastest…

It turns out Microsoft decided to use Electron.

What is Electron? It is a framework around Chromium that can be used to created desktop apps from web apps. And it is the most popular platform for doing it these days.

The irony.

Microsoft. Who owns, develops and promotes IE and Edge. Who was against WebRTC and for ORTC. That Microsoft used Chromium (effectively Chrome) to bring its Linux Skype app to market.

A few years ago, that would have been unheard of. Today? It makes too much sense – it actually increased the value of Microsoft in my eyes. Making the most practical decision of all and putting the ego aside.

Back to a WebRTC Plugin

So.

The IMTC is now investing its time and effort in a WebRTC plugin. Call me skeptic, but I can’t see this heading in the right direction.

Here’s why:

  • The IMTC is an interoperability group. Its strength lies in getting multiple vendors into the same room and having them test their products against each other. “their products” being products that follow the same specification and end up being deployed in the same network and service
  • Companies put their money into the IMTC to enable them that testing services
  • The problem with WebRTC and the IMTC is that WebRTC doesn’t really require interoperability per se – besides that between browser vendors. And browser vendors aren’t exactly the type of audience the IMTC caters for. To be exact, Microsoft is the only browser vendor who is part of the IMTC – and that’s probably for their Skype for Business product and not Edge or IE
  • Writing and maintaining a WebRTC plugin is hard work. It gets updated too frequently to be considered a one-time effort, so maintaining it comes at a cost – a type of cost that is new to the IMTC and its member companies

I believe it will be hard for the IMTC to maintain such a plugin on their own, and if the idea is to open source it to the larger community so the external community can take it up and continue to work and maintain it for the IMTC then that’s just wishful thinking. Open source projects are not synonymous with community development – they don’t all get picked up, adopted, used and maintained by the masses. The webrtc-everywhere project on github shows that – 2 contributors, a few forks, but not much of a collaboration or community around it.

Since the IMTC is a group of vendors who all seek reaching interoperability of the spec while maintaining a technical advantage on the rest of the vendors (I was there once), I can’t see them cooperating for a long term development of such a thing and putting the resources into it while contributing back to the community.

Furthermore, do we really need a WebRTC plugin?

Yes. I know. Safari. Important. IE. All those poor enterprise guys forced to use it. You can’t live without it and such.

But guess what? That same target market? How receptive do you think it will be for a plugin? What will be the install rate and usage rate for a plugin in such environments?

I have a warm place in my heart for the IMTC, but I think it is losing its way when it comes to WebRTC. I can’t see how a free plugin for WebRTC today will make a change. There are better things to focus on.

What to do in 2016 with WebRTC on IE/Safari?

There are two use cases here:

  1. I need to use the service daily
  2. I just want to get on a URL and do whatever needs to be done (call a doctor for example)

The first one can be solved with an installed PC app. A quaint choice maybe, but one which seems to be popular by comms vendors who started from the web. Think Slack or even Whatsapp – they both have a PC app. If you are using a service daily, the idea goes, you might as well just have it somewhere handy in the background of your PC instead of having to have it opened in a browser tab all the time.

The second one is where things get nasty. Asking for a plugin installation for it is just like asking for an app installation for it. Maybe worse if the installer of the plugin comes with a large set of browser warnings (because browsers now hate plugins). So you might just rethink the app option – or just ask the user to come back with a better browser.

My suggestion?

Explore the option of using Electron instead of a plugin.

 

Planning on introducing WebRTC to your existing service? Schedule your free strategy session with me now.

The post WebRTC Plugin? An Electron WebRTC app is the only viable fallback appeared first on BlogGeek.me.

ClueCon 2016

miconda - Tue, 08/02/2016 - 15:30
The ClueCon 2016 is preparing to start next week in Chicago, IL, USA. Organized mainly by the FreeSwitch developers, the event brings together VoIP enthusiasts from around the world.Many Kamailio friends and community members will be at the event, be sure it worth attending it.Our Fred Posner, from Palner Group/LOD Communications, will present about pairing Kamailio and FreeSwitch to build scalable and secure VoIP systems.The friends at Asterisk PBX project are represented by Matthew Fredrickson of Digium, touching in his presentation the use of Asterisk and Kamailio to enhance SIP presence services.Karl Anderson of 2600hz, which were contributing lately a lot of code to Kamailio’s presence and database extensions, will talk about their open source Kazoo Cloud PBX platform.We spotted some of the big supporters of Kamailio World Conference, respectively Simon Woodhead from Simwood eSMS, Matthew Hodgson from Matrix.org, Mira Georgieva from Zoiper, as well as long time Kamailio friends or developers such as Alexandr Dubovikov from Homer Sipcapture, Emil Ivov from Jitsi/Atlassian, Cezary Siwek, Giovanni Maruzelli, Michael Ricordeau and Tristian Foureur from Plivo.Wishing everyone great season holidays!Thank you for flying Kamailio!

Summary of WWAN cards configuration

TXLAB - Tue, 08/02/2016 - 00:49

In this github repo, I put together my knowledge about WWAN cards setup, alongside with all initialization scripts.


Filed under: Networking Tagged: 3G, GSM, linux, pcengines, UMTS

Let’s Encrypt – how get to free SSL for WebRTC

webrtchacks - Mon, 08/01/2016 - 21:16

Way back in 47 (version that is), Chrome started to mandate the use of HTTPS in conjunction with getUserMedia. To use HTTPS you need a SSL/TLS certificate.  Xander Dumaine covered this a bit for us before, but I still see a lot of people out there struggle with it. As it so happens, the certificate for my […]

The post Let’s Encrypt – how get to free SSL for WebRTC appeared first on webrtcHacks.

FreeSWITCH Week in Review (Master Branch) July 23rd – July 30th

FreeSWITCH - Mon, 08/01/2016 - 18:29

This week the ability to add and remove video on re-invites was added.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-9154 [libsofia] Add & remove video on re-invites

Improvements in build system, cross platform support, and packaging:

  • FS-9386 [mod_snmp] Use net-snmp-config for SNMP libs if available
  • FS-9385 [mod_conference] Check for ghosts before destroying a conference

The following bugs were squashed:

  • FS-9357 [core] Handle packet loss and reset decoder on memory error
  • FS-9381 [mod_sofia] Fixed a leak in sofia_presence_chat_send
  • FS-9382 [core] Fixed an issue with video broken between two users in verto
  • FS-9390 [core] Fixed a ‘Segmentation fault’ during call setup
  • FS-9369 [core_media] Added the variable add_ice_candidates=true to enable inserting ice candidates in outgoing sdp
  • FS-9394 [mod_av] Fixed the h263 leak

Surprise: Free Video Calling is no Guarantee for Success (or Adoption)

bloggeek - Mon, 08/01/2016 - 12:00

Guess what? Mozilla is removing Hello from Firefox.

It will still be available as an add-on, but it seems to have degraded in its importance to Mozilla, which is understandable.

Goodbye HelloWhat is/was Hello?

Hello was Mozilla’s attempt to build a video calling service. Something that is baked right into the browser, but can be used by any browser supporting WebRTC. Think FaceTime or Hangouts but without the app or even a website.

Mozilla partnered for Hello with TokBox (a Telefonica company), which provided the backend to the service – mainly NAT traversal as far as I can tell.

When Hello was announced, I had my doubts and questions about it.

What went wrong?

A few things were wrong from the onset in Firefox Hello:

  1. While it debuted on a desktop browser, its main purpose was mobile. The problem is that Firefox OS got scrapped/pivoted, leaving Hello with no real use
  2. It came at a low point in Mozilla’s history. Mozilla partnered during 2014 with 3 vendors, trying to reduce Google’s hold on it: Yahoo, Cisco and Telefonica
    • Yahoo is all but dead – it just got acquired by Verizon
    • Telefonica needed Firefox OS on mobile, and now that that hasn’t matured, my guess is that its interests lie elsewhere these days, so having Telefonica/TokBox as part of Hello probably isn’t helping too much today
    • Cisco only wanted to protect its H.264 investments, which it succeeded
    • This cost Mozilla in focus and diluted its brand from being a pure open alternative
  3. Firefox has no real network effect or user base to rely on. It doesn’t connect users to one another but rather it connects viewers to web pages. Having hundreds of millions of viewers doesn’t equate monthly active users for a personal communication tool that is baked into the same product
  4. Hello was simple, but offered nothing interesting/innovative/new/needed. People who used apps continued to use apps. Those that wanted to meet over URLs used URLs. Having the button in the browser wasn’t enough to make people leap for the opportunity to use it
  5. While available in all WebRTC supporting browsers (=Chrome & Firefox), it was really a Firefox thing. This limited the user base, and especially the ability to start or to really receive a call over a mobile device

The main issue though is that a free video calling service isn’t that much of a deal these days (if this surprises you – just ask Google).

So Mozilla started by embedding Hello right into the browser. Then making it into a system add-on. And now it is making it into just another add-on. I assume it has a lot to do with the usage they’ve seen over the past year for Hello (and its non-adoption). It makes no sense to continue investing the time and effort in it if no one is using it – and having it officially released with the browser once every few months is a waste. Better throw it out of the browser and simplify the browser releases.

The next step might be to sunset the add-on/service altogether and say goodbye to Hello.

Is this predictive to Google’s Duo app?

Google announced Duo and is about to release it. Simplifying things a bit (and dumbing it down), Duo is a FaceTime clone. I covered Allo/Duo a few months back.

On face value, there’s no reason why Google Duo won’t meet a similar fate as Mozilla Hello.

That said, there are a few notable differences:

  • Duo is a mobile only app, whereas Hello focused on desktop browsers
  • Duo will probably be released on Android and iOS, covering 100% of the mobile market from day one
  • Google has a large users base on Android and the ability to get Duo in front of users. It also has the social graph of these people – via the phone’s address book
  • While Google kept Duo simple, it did bake two features into it:
    • Speed of connectivity, taking it to the extreme by adding QUIC into the mix
    • Caller’s video sent even before you accept the call

Will this be enough for Google Duo to get the adoption? I don’t know.

Where do we go from here?

In 2016 there should be no doubt anymore:

If you plan to monetize a video calling service, you need a serious business plan.

Most services I see launched have no business plan. They attempt to grow to millions of users. There’s a lot of dumb luck involved in it.

I’ve had my doubts about the viability of Wire as a company due to the same reasons. The only progress made by Wire is open sourcing their app – this doesn’t strike me like a business plan or a signal of strength and healthy growth.

 

Planning on introducing WebRTC to your existing service? Schedule your free strategy session with me now.

The post Surprise: Free Video Calling is no Guarantee for Success (or Adoption) appeared first on BlogGeek.me.

FreeSWITCH Week in Review (Master Branch) July 16th – July 23rd

FreeSWITCH - Mon, 07/25/2016 - 10:29

This week we saw the addition of customized video mute banners in mod_conference.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-9230 [mod_conference] Customize video muted banner

Improvements in build system, cross platform support, and packaging:

  • FS-9373 [Debian] Added mod-verto and mod-rtc to freeswitch-meta-all package

The following bugs were squashed:

  • FS-9355 [core] Fixed a segfault in case of null frame
  • FS-9356 [core] Fixed an issue with DTMF not recognized when coming from a Cisco SIP trunk
  • FS-9353 [mod_conference] Fixed a problem with clear-vid-floor producing an error while working
  • FS-9259 [mod_spandsp] Fixed a missing “m=image 0” when replying to INVITE with disable image line
  • FS-9289 [core] Fixed a MOH issue with b side hold causing silence for the a leg
  • FS-9365 [core] Fixed the SDP format on reply to RE-INVITE to be RFC-4566 compliant
  • FS-9357 [verto communicator] Fixed an issue with VP9 codec screensharing on mod_conference (mux/transcode) not working
  • FS-9342 [verto_communicator] Fixed a problem with settings not being saved when closing the settings panel
  • FS-9368 [mod_sofia] Fixed a problem with errant duplicate video frames causing video recording issues
  • FS-8783 [libsrtp] Fix alignment issue
  • FS-9376 [mod_sofia] Fixed a hold negotiation problem on a call received from a Cisco Session Manager

Pages

Subscribe to OpenTelecom.IT aggregator

Using the greatness of Parallax

Phosfluorescently utilize future-proof scenarios whereas timely leadership skills. Seamlessly administrate maintainable quality vectors whereas proactive mindshare.

Dramatically plagiarize visionary internal or "organic" sources via process-centric. Compellingly exploit worldwide communities for high standards in growth strategies.

Get free trial

Wow, this most certainly is a great a theme.

John Smith
Company name

Yet more available pages

Responsive grid

Donec sed odio dui. Nulla vitae elit libero, a pharetra augue. Nullam id dolor id nibh ultricies vehicula ut id elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.

More »

Typography

Donec sed odio dui. Nulla vitae elit libero, a pharetra augue. Nullam id dolor id nibh ultricies vehicula ut id elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.

More »

Startup Growth Lite is a free theme, contributed to the Drupal Community by More than Themes.