<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flashphoner</title>
	<atom:link href="http://flashphoner.com/feed" rel="self" type="application/rss+xml" />
	<link>http://flashphoner.com</link>
	<description>rtmfp sip, rtmp sip, flash sip, javascript sip, websocket sip, javascript phone, flash phone, flash voip, click2call, web phone</description>
	<lastBuildDate>Fri, 24 May 2013 14:12:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Built in load balancer</title>
		<link>http://flashphoner.com/built-in-load-balancer</link>
		<comments>http://flashphoner.com/built-in-load-balancer#comments</comments>
		<pubDate>Fri, 24 May 2013 14:11:34 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=582</guid>
		<description><![CDATA[We have added load balancing to Flashphoner Web Call Server product. With the load balancing feature you can allocate your users between several server nodes. Implementation includes: 1. Load statistics HTTP interface that returns full system info including count of &#8230; <a href="http://flashphoner.com/built-in-load-balancer">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We have added load balancing to Flashphoner Web Call Server product.<br />
With the load balancing feature you can allocate your users between several server nodes.<br />
<span id="more-582"></span><br />
Implementation includes:<br />
1. Load statistics HTTP interface that returns full system info including count of simultaneous calls, CPU usage, memory usage etc.<br />
2. Simple load balancer that works on one of the server nodes and requests another nodes by HTTP.<br />
The simple load balancer selects the least loaded server based on count of simultaneous calls.<br />
3. Flash client side has additional setting <load_balancer_url> and requests this URL to get the least loaded server.</p>
<p>You can also implement your own load balancing logic using HTTP statistics interface.<br />
To setup the load balancer, please follow <a href="http://docs.flashphoner.com/display/WCS/Load+balancing">the load balancing doc</a>.</p>
<p>Kind regards.<br />
Flashphoner team </p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/built-in-load-balancer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashphoner Web Call Server 3.0 WebRTC HTML5/Websockets Preview Has Been Released</title>
		<link>http://flashphoner.com/flashphoner-web-call-server-3-0-webrtc-html5websockets-preview-has-been-released</link>
		<comments>http://flashphoner.com/flashphoner-web-call-server-3-0-webrtc-html5websockets-preview-has-been-released#comments</comments>
		<pubDate>Mon, 29 Apr 2013 18:23:15 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=576</guid>
		<description><![CDATA[We are eager to share with you a piece of news that may be of interest for you. 1. We have changed the name of our core product Flashphoner RTMFP SIP Gateway 2.1 to Flashphoner Web Call Server 2.1 2. &#8230; <a href="http://flashphoner.com/flashphoner-web-call-server-3-0-webrtc-html5websockets-preview-has-been-released">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We are eager to share with you a piece of news that may be of interest for you.</p>
<p>1. We have changed the name of our core product Flashphoner RTMFP SIP Gateway 2.1<br />
to Flashphoner Web Call Server 2.1</p>
<p>2. Preview with WebRTC support –<br />
<strong>Flashphoner Web Call Server 3.0 WebRTC HTML5/Websockets preview  – has been released</strong>.<br />
<span id="more-576"></span></p>
<p><strong>WebRTC – is a browser technology similar to Adobe Flash Player</strong><br />
featuring VoIP functions. The key difference is that WebRTC doesn’t function as a third-party plug-in<br />
(Adobe Flash Player), but as an integral part of the browser.<br />
To put it in simply, it is Javascript/HTML5 API for VoIP.</p>
<p><strong>WebRTC – is a high-flying, future-oriented technology</strong>.<br />
For the moment being, WebRTC stack has been implemented for production usage only in the latest Google Chrome versions.</p>
<p>Please, try out Flashphoner Web Call Server 3.0 WebRTC preview.<br />
This version supports both RTMFP and WebRTC in one browser phone.<br />
We took care to enable simultaneous operation of these options from the same Javascript/CSS interface.</p>
<p><strong>WebRTC protocols are also used as HTML5 Websocket protocol</strong>. It means that you have two implementation options: one entirely based on Adobe Flash Player, the other – on Javascript/CSS/HTML5.</p>
<p>Take the following steps to try it out:<br />
1. <a href="http://docs.flashphoner.com/display/WCS/Downloads">Download</a><br />
2. <a href="http://docs.flashphoner.com/display/WCS/Quick+installation">Install</a><br />
3. <a href="http://docs.flashphoner.com/display/WCS/WebCallServer+WebRTC+with+Asterisk">Switch on WebRTC and configure the calls on your Asterisk server</a><br />
4. For further information and limitation of WebRTC use with Flashphoner Web Call Server 3.0, please refer to our <a href="http://docs.flashphoner.com/display/WCS/WebRTC">WebRTC documentation</a>.</p>
<p>What goes next?</p>
<p><strong>WebRTC performs media streaming via the SAVPF(SRTP+RTCP feedback) with G.711 and VP8 codecs</strong>.<br />
Currently, there are few devices and softphones supporting these protocols and codecs.<br />
We are trying on WebRTC connection of a browser with any SIP device no matter whether the third-party device supports SAVPF, VP8 or not.</p>
<p>We hope you find the information useful.<br />
For more information, contact as at the address specified on our website: flashphoner.com</p>
<p>Best regards<br />
Flashphoner team.</p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/flashphoner-web-call-server-3-0-webrtc-html5websockets-preview-has-been-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashphoner RTMFP SIP Gateway Has Been Renamed to Flashphoner Web Call Server</title>
		<link>http://flashphoner.com/flashphoner-rtmfp-sip-gateway-has-been-renamed-to-flashphoner-web-call-server</link>
		<comments>http://flashphoner.com/flashphoner-rtmfp-sip-gateway-has-been-renamed-to-flashphoner-web-call-server#comments</comments>
		<pubDate>Tue, 16 Apr 2013 19:05:18 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=572</guid>
		<description><![CDATA[We plan to release WebRTC support in April &#8211; May 2013. So, according our plans we are going to present new product with RTMFP and WebRTC support simultaneously. It will work via WebRTC and HTML5 websockets if a browser supports &#8230; <a href="http://flashphoner.com/flashphoner-rtmfp-sip-gateway-has-been-renamed-to-flashphoner-web-call-server">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We plan to release WebRTC support in April &#8211; May 2013.<br />
So, according our plans we are going to present new product with RTMFP and WebRTC support simultaneously.<br />
<span id="more-572"></span><br />
It will work via WebRTC and HTML5 websockets if a browser supports this technology or via Adobe Flash Player RTMFP protocol if WebRTC is not supported.<br />
Thats why we have decided to change the product name and now you can see that<br />
Flashphoner RTMFP SIP Gateway 2.1 has been renamed to Flashphoner Web Call Server 2.1.<br />
Now we are working on Flashphoner Web Call Server 3.0 with WebRTC support. </p>
<p>If you have any questions, please feel free to contact us via ticket-system and specified emails on the website.<br />
Flashphoner Team</p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/flashphoner-rtmfp-sip-gateway-has-been-renamed-to-flashphoner-web-call-server/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The New Major Version of Flashphoner RTMFP SIP Gateway &#8211; 2.1 Has Been Released</title>
		<link>http://flashphoner.com/the-new-major-version-of-flashphoner-rtmfp-sip-gateway-2-1-has-been-released</link>
		<comments>http://flashphoner.com/the-new-major-version-of-flashphoner-rtmfp-sip-gateway-2-1-has-been-released#comments</comments>
		<pubDate>Thu, 14 Mar 2013 05:38:14 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=566</guid>
		<description><![CDATA[You may know that the Adobe Company has recently published the RTMFP specifications. It allowed us to improve protocol implementation, as well as to introduce several major improvements related to audio and video quality, latency and stability of the server. &#8230; <a href="http://flashphoner.com/the-new-major-version-of-flashphoner-rtmfp-sip-gateway-2-1-has-been-released">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>You may know that the Adobe Company has recently published the RTMFP specifications.<br />
It allowed us to improve protocol implementation, as well as to introduce several major improvements related to audio and video quality, latency and stability of the server.<br />
<span id="more-566"></span><br />
We have rewritten some critical places and have carefully tested voice and video streaming quality including tests in a network with additional packet loss.</p>
<p><strong>Main improvements:</strong></p>
<p>- Full support of partial reliability for both, server-side and client-side.<br />
Partial reliability minimizes latency and ensures a good quality of audio and video.<br />
- Improved audio and video streaming quality<br />
- Improved server stability</p>
<p>If you already use version 2.0, we would recommend you updating to the released 2.1 version.<br />
The update process will not take long.</p>
<p><strong>You can download the update files and get additional info and instructions <a href="http://docs.flashphoner.com/display/RSG/Downloads">here</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/the-new-major-version-of-flashphoner-rtmfp-sip-gateway-2-1-has-been-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash &#8211; SIP Communications over RTMFP</title>
		<link>http://flashphoner.com/rtmfp-vs-rtmp</link>
		<comments>http://flashphoner.com/rtmfp-vs-rtmp#comments</comments>
		<pubDate>Wed, 17 Oct 2012 08:14:45 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=501</guid>
		<description><![CDATA[Flashphoner team proudly presents to Flash and VoIP community our two new products that may be interesting for VoIP experts as well as Action Script developers. Both of these products take advantage of newer RTMFP protocol where letter “F” means transition from &#8230; <a href="http://flashphoner.com/rtmfp-vs-rtmp">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Flashphoner team proudly presents to Flash and VoIP community our two new products that may be interesting for VoIP experts as well as Action Script developers.</strong> Both of these products take advantage of newer RTMFP protocol where letter “F” means transition from “Message” to “Media Flow”.</p>
<p>Principal  difference between these two protocols is how they communicate over the network. RTMFP is based on UDP, whereas RTMP utilizes TCP. This change gives a number of specific advantages for audio/video delivery in real-time.  While most of the products with similar functionality are still using RTMP, we’ve made the transition and have got some impressive results.<br />
<span id="more-501"></span></p>
<p>At the beginning we worked a lot with Flash Player and Wowza Media Server. All synthetic tests showed great results, but we encountered a problem in live environment &#8211; growing latency. After further investigation and analysis we came to the conclusion that main limiting factor was the RTMP protocol itself. And the reason for it is in underlying TCP which, being a reliable protocol, asks for every packet to be delivered in strict order. So growing latency was the price for perfect TCP reliability which is not required for VoIP communications in general.</p>
<p><strong>What is the latency?</strong></p>
<p>It’s a delay in communication when one user hears another only after  seconds. During our tests of RTMP protocol in live environment this delay was reaching 4 seconds in average quality network which ruined the quality of communication. Most of professional VoIP solutions utilize UDP protocol for media streaming to reduce latency. And this latency was the last frontier before creation of a full featured softphone based on Adobe Flash Player, as it already has all other needed features (ability to capture, publish, playback media; mainstream codec support, echo cancellation, jitter buffer).</p>
<p>Now about the products.</p>
<p><strong>Flashphoner RTMFP SIP Gateway</strong></p>
<p>This is the gateway between Flash Player and SIP environment. It allows you to connect to any SIP server (Asterisk,OpenSIPs etc.), make and receive calls from PSTN/mobile phone and from your flash-based browser softphone.</p>
<p>So you will not only be able to call from the Click-to-Call widget to mobile phone, but you can also call FROM mobile phone to the user on the website! You can also send text messages (SMS) here. If your SIP server/provider supports sending and receiving text messages, you can send them from the browser to mobile phone, as well as from the mobile phone to your browser softphone. Usually this functionality is provided by full-featured IP Multimedia System (IMS) based on 3GPP standards.</p>
<p><strong>Flashphoner RTMFP Media Server</strong></p>
<p>This Media server is intended for creation of simple flash-to-flash video chats and video conferences. There are many platforms providing similar functionality out there, but most of them are based on RTMP protocol and, therefore, suffer from growing latency if there are users with imperfect connections. You can see that this issue is quite common for RTMP based chat programs if you visit their support forums. Flashphoner Media Server resolves this issue by using RTMFP protocol based on UDP. Which makes it a better option for professional video chat solutions.</p>
<p>Please note that we are not providing any peer-to-peer solutions currently. From our experience, when we worked on a project similar to Chatroulette, peer-to-peer connections were successful  only 10% of the time. All other connections were going through the server. The reason is in the amount of NATs and Firewalls in the global network, which often do not allow P2P connections. So at this moment our server doesn’t not have P2P functionality. But if you need professional flash-based video chat that works through the server, Flashphoner RTMFP Media Server is your best choice!</p>
<p>Among other nice features of our Flashphoner RTMFP Media Server are extensibility and integration options. We are using Java for implementation of server processors which means that you can use all the power of this platform for database integration, communication with third-party web-services, protocols etc.</p>
<p><strong>Specifications</strong></p>
<p><strong>Flashphoner RTMFP SIP Gateway</strong><br />
- Codecs: G.711, G.729, Speex Wideband, H.263, H.264, Sorenson Spark<br />
- Protocols: RTMFP, SIP (RFC3261), RTP<br />
- Instant messaging: RFC 3428<br />
- Transfer, Hold: RFC3515<br />
- Call recording<br />
- Javascript API<br />
- Client application – Javascript Phone (open source, ready for customization)</p>
<p><strong>Flashphoner RTMFP Media Server</strong><br />
- Protocol: RTMFP<br />
- Codecs: G.711, Speex Wideband, Nelly Moser, H.264, Sorenson Spark<br />
- Commands: connect, disconnect, publish, unpublish, play, stop<br />
- Extensibility: ability to use Java on the server side, customized client/server invoke methods</p>
<p><strong>Test results</strong></p>
<p>As we mentioned above, RTMP (TCP based) server will try to maintain a 100% packet delivery rate even if there is a network lag. This may cause a severe latency, since server has to wait for every missing packet before playing the next one. More missing packets &#8211; higher accumulated latency in the audio/video stream. If we try to drop packets programmably to keep the stream in real time, we will hear significant sound deterioration. This is confirmed by our tests with different packet loss percentages (“Linux netem” and “IFB” utilities).</p>
<p>Under the same network conditions RTMFP server works without increased latency and very little sound deterioration compared to RTMP server case. In UDP based communications one UDP packet has one audio frame. In this case even a loss of a few packets is not a real threat to overall quality of the stream. Things are a bit different when you are streaming video. In this case some UDP packets carry video key frames and if they get lost it will produce picture “artifacts” during decoding process. But this does not increase the latency and, if the network lag goes away, your picture quality will improve automatically.</p>
<p>Also there are special parameters in the NetStream API of the Adobe Flash Player that allow you to control reliability of the UDP packet delivery for audio, video and data individually.You should always set “reliable=true” for data as it carries all SIP signalling information, instant messages, call control parameters. But for media streams you can variate between true/false depends on the network quality and your requirements for picture/sound clarity. For example, you can set “audioReliable=false” and “videoReliable=true” simultaneously and get acceptable quality communication in majority of the networks. Thus, based on our test results, we can say that RTMFP protocol significantly improves latency/quality ratio of flashVoIP communications. This protocol can be recommended as a platform for development of web-based applications that utilize real-time audio/video communication.We hope that this information gave you a better idea about our products and their functionality. If you have any further questions or willing to give us some feedback, please contact us at support@flashphoner.com</p>
<p style="text-align: left;">Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/rtmfp-vs-rtmp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashphoner RTMFP SIP Gateway</title>
		<link>http://flashphoner.com/flashphoner-rtmfp</link>
		<comments>http://flashphoner.com/flashphoner-rtmfp#comments</comments>
		<pubDate>Fri, 12 Oct 2012 13:22:13 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=497</guid>
		<description><![CDATA[Finally we released beta of our new product &#8211; Flashphoner RTMFP! This is new generation of Flashphoner product. Our team did a great job and made two huge improvements: 1. Support of RTMFP protocol, which allow you make calls from &#8230; <a href="http://flashphoner.com/flashphoner-rtmfp">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Finally we released beta of our new product &#8211; Flashphoner RTMFP!</p>
<p>This is new generation of Flashphoner product.<br />
Our team did a great job and made two huge improvements:<br />
1. Support of RTMFP protocol, which allow you make calls from browser with really miniature latency.<br />
2. Run away from Wowza Media Server and came to our own RTMFP Media Server, which makes whole product more compact</p>
<p>Please try our beta version and send your feedbacks to support@flashphoner.com<br />
You can download it <a title="Flashphoner RTMFP" href="http://docs.flashphoner.com/display/FPN/Flashphoner+RTMFP">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/flashphoner-rtmfp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashphoner RTMFP Media Server</title>
		<link>http://flashphoner.com/rtmfp-media-server</link>
		<comments>http://flashphoner.com/rtmfp-media-server#comments</comments>
		<pubDate>Wed, 10 Oct 2012 12:56:06 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=493</guid>
		<description><![CDATA[Today we release beta version of the new Flashphoner product &#8211; RTMFP Media Server. This is simple mediaserver with the RTMFP protocol support, which allow descrease latency to the minimum in the web-conference and videochats. Please check it here.]]></description>
			<content:encoded><![CDATA[<p>Today we release beta version of the new Flashphoner product &#8211; RTMFP Media Server.<br />
This is simple mediaserver with the RTMFP protocol support,<br />
which allow descrease latency to the minimum in the web-conference and videochats.</p>
<p>Please check it <a title="RTMFP Media Server" href="http://docs.flashphoner.com/display/FPN/RTMFP+Media+Server">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/rtmfp-media-server/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashphoner and SoliCall Improve Quality in Flash-Based Solutions</title>
		<link>http://flashphoner.com/flashphoner-and-solicall-improve-quality-in-flash-based-solutions</link>
		<comments>http://flashphoner.com/flashphoner-and-solicall-improve-quality-in-flash-based-solutions#comments</comments>
		<pubDate>Thu, 13 Sep 2012 13:28:09 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=485</guid>
		<description><![CDATA[Flashphoner, provider of Flash-to-SIP gateways, and SoliCall, provider of audio quality solutions, announced today on a combined solution that improves audio quality in Flash-based systems. Flashphoner provides Flash-to-SIP gateways for high quality Flash-VoIP communication. Flashphoner provides a gateway between RTMP &#8230; <a href="http://flashphoner.com/flashphoner-and-solicall-improve-quality-in-flash-based-solutions">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Flashphoner</strong>, provider of Flash-to-SIP gateways, and <strong>SoliCall</strong>, provider of audio quality solutions, announced today on a combined solution that improves audio quality in Flash-based systems.<br />
<span id="more-485"></span></p>
<p>Flashphoner provides Flash-to-SIP gateways for high quality Flash-VoIP communication. Flashphoner provides a gateway between RTMP and RTMFP to SIP. Flashphoner focuses on scalable low latency products.</p>
<p>SoliCall provides products for audio quality improvement on both server-side/network filtering and client-side filtering. SoliCall offers both OEM products and stand-alone plug-and-play products.</p>
<p>&#8220;Sound quality and low latency is the key parameters for comfortable web calling. We are excited about partnership with SoliCall experts. Our common aim is to provide best quality sound and maximum low latency web communications&#8221;, said Pavel Ismailov, CEO of Flashphoner project.</p>
<p>“This cooperation demonstrates the importance of standardization in VoIP. Standardization was a key enabler to this new offering”, said Moses Benjamin, Director of Marketing for SoliCall. “From this day, Flash-based solutions will enjoy <a href="http://www.solicall.com/blog/?p=252">high quality audio, free of echo and noise</a>.”, Mr. Benjamin concluded.</p>
<p>***<br />
<strong>About SoliCall Ltd.</strong><br />
SoliCall Ltd. is a privately-held company. SoliCall’s goal is to raise the quality and standards of any audio conversation. SoliCall stands for communicating better by improving existing means of communication on any platform.<br />
<a title="SoliCall" href="http://solicall.com"> www.solicall.com</a></p>
<p><strong>About Flashphoner</strong><br />
Flashphoner project was founded in 2009 by groups of professionals in web development.Flashphoner team has a strong background in the field of design and development web-video platforms and voice browser solutions.<br />
<a title="Flashphoner" href="http://flashphoner.com"> www.flashphoner.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/flashphoner-and-solicall-improve-quality-in-flash-based-solutions/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Do You Think HTML5-WebRTC Phone Ready? Not Yet</title>
		<link>http://flashphoner.com/html5-webrtc-phone-not-yet</link>
		<comments>http://flashphoner.com/html5-webrtc-phone-not-yet#comments</comments>
		<pubDate>Tue, 24 Jul 2012 10:12:35 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=476</guid>
		<description><![CDATA[Some of our customers asks: - So what about HTML5 phone? Is it already done? In this article, we want to explain situation regarding HTML5, SIP, WebRTC phone solution for Windows, iOS, Androind, iPad, iPhone. Some peoples reads tech news and &#8230; <a href="http://flashphoner.com/html5-webrtc-phone-not-yet">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some of our customers asks:<br />
<strong>- So what about HTML5 phone? Is it already done?</strong></p>
<p>In this article, we want to explain situation regarding HTML5, SIP, WebRTC phone solution for Windows, iOS, Androind, iPad, iPhone.</p>
<p>Some peoples reads tech news and thinks that future is already here, and HTML5 is a standard, which gives us possibility to create real time audio/video communications in desktop or mobile browsers like iPhone iPad devices.</p>
<p><strong>Unfortunatelly it`s not true.</strong><br />
<span id="more-476"></span><br />
We would like to explain technologies and describe its perspectives and restrictions for now.<br />
In short &#8211; the HTML5 phone is possible to make and it will work everywhere, but not right now.<br />
It will be available in 6-12 months(but not for sure) depending on activity of browser’s vendors.</p>
<p>Several terms:</p>
<p><strong>HTML5</strong> is a new standard for browsers, including some additional tags like audio and video.<br />
<strong>SIP</strong> – session initiation protocol aka rfc3261<br />
<strong>WebRTC</strong> – open source framework for browser that is able to send or receive encoded audio and video over network.</p>
<p><strong>So, lets find out what is the “HTML5 phone”, and what technologies do we need to create it.</strong><br />
First of all HTML5 phone is not really “HTML5″, because nobody can create SIP phone using pure HTML5.<br />
Surprised? But it is true.</p>
<p><strong>Media traffic:</strong><br />
1. HTML5 can not encode audio+video.<br />
2. HTML5 can not capture audio+video from microphone and camera.<br />
3. HTML5 can not send audio and video data over TCP or UPD protocol.<br />
4. HTML5 does not support Echo cancellation</p>
<p><strong>What about SIP signaling:</strong><br />
HTML5 can not communicate with any SIP devices by TCP and UDP.</p>
<p><strong>Maybe this list is not full yet, but it is quite enough to understand that HTML5 phone is impossible for now.</strong><br />
Yes, HTML5 standard supports playing video over HTTP and playing audio/video files, but that’s all current standard can do.<br />
It`s not designed for any communications, and we think that the standard will never support real-time features,<br />
because it is just HTML(Hypertext Markup Language) version.</p>
<p>Although… we still can create some type of “HTML5 phone”. But we need to add some technologies.<br />
We will need 2 modules: 1) Signaling module 2) Media module<br />
So, what name should our HTML5 phone have?</p>
<p>In fact, HTML5 will do NOTHING or almost nothing in the phone application.<br />
Everything it will do is playing “din-don” for incoming call. It is just playing a ringtone file.<br />
So… we will put “HTML5″ keyword at the end of our solution name, or even delete it.</p>
<p>Lets check what words  do we need to put at first. There are two new technologies:<br />
<strong>Websocket and WebRTC. “HTML5 phone” is impossible without it.</strong></p>
<p><strong>Websocket</strong> is a protocol designed for Browser-Server communications over stateful TCP connection.<br />
What is the difference between the Websocket protocol and plain HTTP? HTTP is a connectionless protocol. It does not keep connection. Browser creates new connection for every HTTP GET/POST request.<br />
If you need to implement real-time data application, you can use HTTP, but plain HTTP gives VERY high traffic overhead for those applications.</p>
<p>For example, you need to receive stock prices from server every second. In case of plain HTTP protocol, you need to initiate  a new HTTP request to get changes every second.<br />
If your requirement is 20 ms latency, HTTP will give you too high overhead in terms of traffic and CPU resources.</p>
<p>Websocket uses 1 persistent TCP connection for all incoming and outgoing traffic.<br />
Websocket works over TCP. This is reliable protocol. So, all the data will be reliably delivered.</p>
<p><strong>Webscocket is the only way to implement low-overhead SIP signaling for browser application. Maybe, you will find solutions, where SIP signaling is implemented over HTTP.</strong><br />
It will be a PHP server that maintains the SIP state machine and receives HTTP requests from web-browser, but it is many times worse than Websockets.<br />
Thus, Adobe Flash Player has RTMP protocol that can do the same. But, in this article we tell about Flash-free application as far as it is.</p>
<p>Websocket protocol is supported in the latest Chrome, Mozilla, Safari, IE 10 browsers and has Javascript API to manipulate websockets.<br />
For example,  you can open connection or send/receive data from pure Javascript code.<br />
Thus, to implement SIP signaling we should have Javascript SIP stack, that works over the Websocket protocol.</p>
<p><strong>So, our HTML5 phone solution should be called Javascript SIP Websocket HTML5 phone or shortly: “JS SIP Websocket HTML5 phone”.</strong><br />
Is it all? Not exactly.</p>
<p>Unfortunately, SIP over Websocket protocol is not supported by current VOIP vendors and millions of VoIP switches all over the world.<br />
It means if you made Javascript SIP Websocket HTML5 phone, your phone would not work with 99% of the SIP vendors, because vendors do not implement this<br />
protocol in their products. Why?</p>
<p>There are two reasons:</p>
<p><strong>Draft “SIP over Websocket” is not in RFC state. It is just draft. It is not  a standard.<br />
SIP vendors and providers are very conservative. Many SIP providers support only UDP protocol for SIP, and do not support TCP and Websockets.</strong><br />
Register on 10 SIP providers sites and try to SIP register over TCP transport. You will mostly see response “Unavailable”.<br />
So, according to this and other reasons, Websocket protocol is not supported by wide range of SIP engines.<br />
So what is a solution?</p>
<p>We can solve this problem using intermediate server software, that converts Websocket SIP requests/responses to UDP/SIP requests/responses and vice versa.<br />
This solution’s name is Websocket SIP Proxy Server, that supports Websocket+SIP specification and pure SIP specification to get compatibility with<br />
the vendors which does not support Websocket over SIP.</p>
<p>In fact, this proxy server will convert Websocket/TCP based reliable protocol to unreliable UDP. According to SIP rfc3261 specification, proxy server must<br />
handle messages statefully. So our server should not just forward messages, but also it must support separate transactions: Websocket SIP client – Websocket SIP proxy<br />
and Websocket SIP proxy – SIP vendor and provider and maintain the state of transactions.</p>
<p><strong>So, our solution should be called “Js SIP Websocket HTML5 phone + Websocket SIP proxy”.</strong></p>
<p>Ok, we have included signaling and intermediate proxy server to our HTML5 phone solution. Also HTML5  is used in the solution to play sounds. But it is still not working solution, because browser does not support streaming. Streaming is an audio/video capture, encoding, sending over transport protocol, receiving and playback, different codecs, Echo cancellation, bufferization.</p>
<p>Of course, Adobe Flash Player has all these features, required for streaming:</p>
<p>- Audio/video capture and playback<br />
- H.264, Sorenson spark<br />
- G.711, Speex, Nelly Moser<br />
- Acoustic Echo Cancellation<br />
- RTMP/RTMFP transport protocols for media relay<br />
- But we still want to avoid Flash player and get pure browser solution without any browser plugins. So let’s move forward. Alternative streaming technology for Flash Player is the WebRTC. This is streaming framework designed for browser vendors.</p>
<p>At the moment, there is no browser, that officially supports this build-in framework.<br />
<strong>That means your users can enable WebRTC function in some browsers, but these settings are turned off by default and experimental for now.</strong><br />
This technology is promoted by Google and Mozilla and has experimental support in Chrome and Firefox browsers. You need to change some settings to enable it.</p>
<p><strong>WebRTC features:</strong></p>
<p>- Audio/Video capture and playback<br />
- iSAC/iLBS audio codec<br />
- VP8 video codec<br />
- SRTP<br />
- Acoustic Echo cancellation<br />
- Video Jitter Buffer<br />
- Similar features represented in Adobe Flash Player 11.</p>
<p>So, what is better: Adobe Flash Player or WebRTC?<br />
Let’s consider pros and cons:</p>
<p><strong>WebRTC</strong></p>
<p><strong>+</strong> iLBS audio codec is VoIP standard<br />
<strong>+</strong> VP8 is a well-suited video codec that designed for web video relay in real-time mode<br />
<strong>-</strong> SRTP – Secure Realtime Transport Protocol is open protocol, that described in RFC. Many vendors does not support Secure RTP. Probably, we need to convert SRTP to RTP and vice versa for vendors, which do not support the SRTP protocol.<br />
<strong>-</strong> VP8 is not compatible with products of many VoIP vendors. So, we probably will need to implement server-side transcoding between VP8 and H.264(it is VoIP video standard currently).<br />
<strong>-</strong> WebRTC is not supported by 99% of browsers. Only one browser, that supports this technology, is enabled in experimental browser Chrome Canary.</p>
<p><strong>Adobe Flash Player</strong></p>
<p><strong>-</strong> Browser plugin.<br />
If Adobe Flash Player was an open source and positioned like WebRTC,<br />
it would be an excellent solution. But Flash player is a plugin, proprietary plugin for browser.<br />
So, developers, end users have dependency from Adobe while using Flash Player.<br />
<strong>-</strong> Incompatible protocols.<br />
 RTMP and RTMFP is well-suited protocols for media relay, but there are proprietary protocols and we can not communicate over such protocols with any VoIP vendor.<br />
We need Flash-VoIP gateway to send and receive media data between RTMP/RTMFP and RTP(Realtime Transport Protocol).<br />
<strong>+</strong> H.264 encoding/decoding playback support, because H.264 is a robust standard for video in VoIP industry, and it gives high compatibility with wide range of VoIP systems.<br />
<strong>+</strong> G.711, Speex codecs are standards for VoIP too.<br />
<strong>+</strong> High availability. It works on 99% of desktop browsers where Adobe Flash Player is installed and Adobe Flash Player has auto-updates since 11.2 version.<br />
<strong>+</strong> Robust transport protocols as RTMP/RTMFP, tested in millions applications.</p>
<p>Thus, WebRTC is perspective technology.This technology can take a place of Flash Player for Browser-VoIP communications in future.<br />
Therefore, we would like to see such features in WebRTC:</p>
<p>- G.711, G.729 audio codecs<br />
- H.264 video codec<br />
- Non-encrypted RTP support<br />
- Compatibility with list of top browsers, such as IE, Chrome, Mozilla, Safary, Opera.<br />
But WebRTC is objectively worse as Browser to VoIP communication platform than Flash Player and is not suitable for production usage for now. This situation will be changed if top browser vendors release WebRTC support. We should wait for a while.</p>
<p><strong>What about mobile devices?</strong><br />
Nothing. There is no difference, where browser is installed – on desktop platform or mobile device.<br />
This browser must support WebRTC for streaming.<br />
There is one browser we know that can do it. It is Chrome Canary.<br />
If you compile Chrome Canary browser with WebRTC support for mobile platform it will work. But we have not tested yet. So, in the world of  mobile technologies we have the same situation. We are waiting for mobile browsers with WebRTC support…</p>
<p><strong>So, what name will our solution have in the end?<br />
Solution name is: “Javascript SIP Websocket HTML5 phone + Websocket SIP proxy + WebRTC”.</strong><br />
Too long, isn’t it?<br />
But we can not exclude any element of this name. This is the real name of HTML5 phone. Now, you aware that “HTML5 phone” does not exists, and that HTML5 phone is a complex solution that is based on top of several technologies.</p>
<p>How can we use this solution for production right now?</p>
<p>There is one trick.<br />
We can exclude WebRTC from this scheme and replace WebRTC with Adobe Flash Player application. This application will provide audio and video streaming and other features which supported by WebRTC. Yes, in this case we are Flash-dependent again. But this solution is closer to “HTML5 phone dream” and to production than WebRTC.</p>
<p>Feel free to try our solution below.</p>
<p><strong>We are glad to introduce you Javascript SIP Websocket HTML5 phone + Websocket SIP proxy + Flash solution.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/html5-webrtc-phone-not-yet/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>More About RTMFP</title>
		<link>http://flashphoner.com/more-about-rtmfp</link>
		<comments>http://flashphoner.com/more-about-rtmfp#comments</comments>
		<pubDate>Wed, 18 Jul 2012 06:31:38 +0000</pubDate>
		<dc:creator>Pavel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://flashphoner.com/?p=456</guid>
		<description><![CDATA[Why RTMFP RTMFP is protocol based on UDP, developed by Adobe for low-latency streaming. Flash platform uses RTMFP for peer to peer connections and media relay between  Adobe Flash Player instances. This feature supported since Flash Player 10. RTMP protocol &#8230; <a href="http://flashphoner.com/more-about-rtmfp">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Why RTMFP</h2>
<p>RTMFP is protocol based on UDP, developed by Adobe for low-latency streaming.</p>
<p>Flash platform uses RTMFP for peer to peer connections and media relay between  Adobe Flash Player instances. This feature supported since Flash Player 10.</p>
<p>RTMP protocol is implemented in many streaming solutions like Wowza Media Server, Flash Media Server and other servers designed for streaming and broadcast targets.<br />
<span id="more-456"></span></p>
<p>RTMP is good and open protocol. You can find RTMP specification on Adobe website. Anybody can talk about lacks and errors of that specification, but anyway it gives good start to understand RTMP and implement own streaming server.</p>
<p>RTMP has one major lack due it&#8217;s nature. This is the latency.</p>
<p>If your service just play video stream, you can admit latency 2-3 seconds (up to 10-60 seconds).<br />
This is normal latency for on-demand streaming, but that`s not good for realtime communicating cases.</p>
<p><strong>For example:</strong></p>
<p>A bank has web-camera, which monitor cashpoint of this bank.<br />
We assume that latency is 1 minute.<br />
So, security department watches situation with 1 minute latency.<br />
Somebody can steal cashpoint, but security department will know about stealing just after 1 minute.</p>
<p>Quite critical, isn`t it?<br />
Yes, that case is very synthetic&#8230; but many a true word is spoken in jest, right?</p>
<p><strong>Now lets take simple usually call. </strong></p>
<p>You have business conversation and your partner hear you with 2 seconds delay.<br />
Is it suitable? May be. Is it convinient? No.<br />
Comfortable conversation in IP telephony is about 200 ms delay.<br />
That how you hear your friend from your mobile phone.</p>
<p>So, why RTMFP?<br />
Because latency is VERY important for communicating, and RTMFP decreases it greatly.</p>
<h3>RTMP vs RTMFP</h3>
<p>Lets imagine that you make call over RTMP, and your connection has lags.<br />
Then your webphone will retransmit audio packets which falls in lags, and latency will grow,<br />
because we will send next packet only when previous packet will be delivered well.<br />
That mean if previous packet will fall into a lag, it will be sends again and again,<br />
until it will be delivered well.</p>
<p>Such mechnism guarantee you that ALL packets will be delivered, and exactly in given sequence<br />
as it was sent. This is very good for sending files, but not very good for realtime communicating.</p>
<p>Because, more lags &#8211; more latency.<br />
That is how TCP works, and that is how TCP-based RTMP works.</p>
<div>
<table>
<tbody>
<tr>
<th>Protocol</th>
<th>How it works</th>
<th>Result</th>
<th>Difference</th>
</tr>
<tr>
<td>RTMP</td>
<td>- Client send packet_1<br />
- Server send ACK<br />
- Client send packet_2<br />
- Server send ACK<br />
- Client send packet_3<br />
- Packet_3 is lost<br />
- 50 milliseconds left (where 50 ms is about RTT route trip time)<br />
- Client does not receive ACK from server<br />
- Client sends packet_3 again<br />
- Server sends ACK</td>
<td>- Total sent unique packets: 3<br />
- Packet lost: 0<br />
- Latency grow: 50ms</td>
<td>- Reliable<br />
- Latency grow</td>
</tr>
<tr>
<td>RTMFP</td>
<td>- Client send packet_1<br />
- Client send packet_2<br />
- Client send packet_3<br />
- Packet_3 is lost<br />
- Client send packet_4</td>
<td>- Total sent unique packets: 4<br />
- Packets lost: 1<br />
- Latency grow: 0ms</td>
<td>- No reliable<br />
- No latency</td>
</tr>
</tbody>
</table>
</div>
<p>No additional latency here. But packet lost is suitable.<br />
And that is the main differences between RTMP and RTMFP protocol.</p>
<h3>What else</h3>
<ul>
<li>RTMFP is encrypted protocol. It uses AES and other cryptographic algorithm to secure audio and other data going through RTMFP.</li>
<li>RTMFP is peer-to-peer oriented protocol, but we use it as peer-server-peer in RTMFP to SIP gateway project.</li>
</ul>
<p>RTMFP alpha is RTMFP to SIP two-way media gateway, which translates Flash RTMFP protocol to<br />
SIP for signaling puporse and RTP for media. So, you can make and receive audio/video calls to/from softhphones,<br />
hardphones, GSM and other SIP endpoints on top RTMFP protocol to get lower latency for professional communications.</p>
<p>You can try it <a href="http://docs.flashphoner.com/display/FPN/RTMFP">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://flashphoner.com/more-about-rtmfp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
