<?xml version="1.0" encoding="iso-8859-1"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
  <title>Aswath Weblog</title>
  <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/" />
  <modified>2014-02-17T20:43:24Z</modified>
  <tagline>Musing on telecommunications industry and other sundries</tagline>
  <id>tag:www.mocaedu.com,2014:/mt//1</id>
  <generator url="http://www.movabletype.org/" version="2.65">Movable Type</generator>
  <copyright>Copyright (c) 2014, aswath</copyright>
  <entry>
    <title>On selecting a signaling protocol to use in a WebRTC-enabled app</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000403.html" />
    <modified>2014-02-17T20:43:24Z</modified>
    <issued>2014-02-17T15:43:24-05:00</issued>
    <id>tag:www.mocaedu.com,2014:/mt//1.403</id>
    <created>2014-02-17T20:43:24Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. In a post that prompted me to write this, Tsahi discusses different alternative signaling protocols one can use in a WebRTC-enabled app. In this...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>WebRTC</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com/">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2014/02/17/on-selecting-a-signaling-protocol-to-use-in-a-webrtc-enabled-app/">original location</a>. Thanks.</p>

<p>In a <a href="http://bloggeek.me/siganling-protocol-webrtc/">post</a> that prompted me to write this, Tsahi discusses different alternative signaling protocols one can use in a WebRTC-enabled app. In this post, I approach the issue from a different angle and I hope this sheds additional light and helps you to reach a choice appropriate for you.</p>]]>
      <![CDATA[<p>Before we dig deep, we have to recognize that we have to decide on two independent matters: 1) how will the signaling messages be carried and 2) what will be the signaling protocol. There are very many variables that will affect the optimal answer for your scenario. So it is best that we discuss them in general and let you decide on a case by case basis.</p>

<p>First let us consider the transport mechanism.<br />
<ol><br />
	<li><strong>Pure HTTP</strong>: Since the app will be accessed from a browser, an easy choice would be to use HTTP as the transport. It works great if the browser is initiating a signaling procedure and the server responds.</li><br />
	<li><strong>HTTP w Long Polling/Comet</strong>: But there are times, when the server needs to initiate asynchronously. Some examples are when the server wants to notify one user of another’s action like placing mic or speaker on mute. Or the server would like to notify of an incoming call request. Since the server can autonomously initiate an HTTP session an alternate will be to use long polling or Comet. This may increase the load on the server due to excessive polling or may introduce latency and its undesirable effect on UX.</li><br />
	<li><strong>HTTP w Push Notification</strong>: Alternatively the server can use Push Notification offered by both Chrome and Firefox to push a notification and upon receiving such a notification, the browser can initiate an HTTP session to continue the procedure. Of course this addresses the server load, but does not address the latency issue, especially for “in-session” procedures. Worse, the latency is affected by a third party service.</li><br />
	<li><strong>Websocket</strong>: This where use of Webscoket has its advantages. Since Websocket starts as an HTTP session which is then converted to a persistent TCP session. Almost all browsers (most recent versions) support Websocket and there are server implementations that are very efficient. So it addresses both the issues.</li><br />
	<li><strong>Websocket w Push Notification</strong>: If maintaining a Websocket connection during an idle period (so as to inform of an incoming session request), then one can use Push Notification during idle periods and then use Websocket only during active sessions.</li><br />
	<li><strong>Data Channel w X</strong>: Final choice is for the server not to be involved during an active session, but allow the browsers to handle the signaling procedures directly between themselves via a WebRTC Data Channel. But this approach does not address how to handle notification during idle periods.</li><br />
</ol><br />
As you can see there are many choices with each having its own trade-offs. But knowing the trade-offs, you can decide the appropriate transport for your use case.</p>

<p>Deciding which protocol to use is either “no-brainer” or “not so fast”. If the paramount objective is to work with already deployed system and WebRTC app is just another access mechanism, then there is nothing more to consider. It is optimal just to use the signaling procedure used by the deployed system and that is that. Otherwise, it is better to start from scratch and ask questions differently. From the time of Q.931 in ISDN Basic Access up to and including SIP, the standards bodies have focused on defining the protocol so as to ensure interoperability between two autonomous systems. Since the end-points will be of different capabilities and present different user experiences, the best a standard can do is to design a protocol that drives basic user interface. Thus for example, when the far-end places a call on hold, the near-end is not notified. It is not clear how to abstract the notification so all variation in the UI can be handled.</p>

<p>Next, let me quickly dismiss a faux use case, but one that is widely considered. It is know as “trapezoidal connection”. In this connection, the two end points are each connected to its own WebRTC app and the two apps are federating between themselves. The fact that the two end-points are using WebRTC as access is incidental; the real crux is that the two apps are federating and they have agreed on a protocol for this. So what the apps will select for protocol belongs to the “no-brainer” category. The apps will select a protocol that is optimal for the agreed upon federation protocol.</p>

<p>So the real interesting use case is where the end-points are directly connected to the app server, the so called “triangular connection”. Since both the end-points are directly connected to the app server and the server can dynamically download the signaling procedures via Javascript, it is in a position to offer a rich user experience by dynamically driving UI elements. The app designer can freely devised the needed signaling procedures - conforming to a standards is not critical. A good analogy is to compare the choice to paint by number and free-form painting. At first glance, paint by number looks straight forward; but in fact it is tedious, no room for error and not very expressive. On the other hand, free-form painting, if you are good at it, is fluid, very expressive and gives lots of freedom. If the choice were only free-form painting, then I will have only blank canvas; with paint by numbers, there is a hope that I will have something that looks like a painting. So I say to each, his own.</p>]]>
    </content>
  </entry>
  <entry>
    <title>On User Interface Design of a WebRTC App</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000402.html" />
    <modified>2014-01-05T01:32:36Z</modified>
    <issued>2014-01-04T20:32:36-05:00</issued>
    <id>tag:www.mocaedu.com,2014:/mt//1.402</id>
    <created>2014-01-05T01:32:36Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. Recently, Carl Ford was musing about potential ideas for a WebRTC Hackathon. One idea he had was exploring different UI designs associated with “Video...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>WebRTC</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com/">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2014/01/04/on-user-interface-design-of-a-webrtc-app/">original location</a>. Thanks.</p>

<p>Recently, <a href="http://www.webrtcworld.com/topics/from-the-experts/articles/364721-what-would-be-goal-a-webrtc-hackathon.htm">Carl Ford was musing</a> about potential ideas for a WebRTC Hackathon. One idea he had was exploring different UI designs associated with “Video on Hold”.  This post is a summary of our design thoughts decisions we made for a WebRTC application that is part of EnThinnai.</p>]]>
      <![CDATA[<p>He felt that the design used in phone systems don’t work well for smartphones. So probably we should have different approach for video calls. As an example, he was wondering how should the user be notified when she has gone to different browser tab when the held video call is being retrieved by the other party.</p>

<p>In a <a href="http://www.webrtcworld.com/topics/from-the-experts/articles/365143-using-video-hold-with-webrtc.htm">followup post</a> he elaborates his point. He suggests that we may imitate the idea used in 1A2 Key Systems phones. To see how far we can carry its design we need to go into a bit more detail.</p>

<p>These phones had some white buttons, with each one controlling a line it has access to and at most one button can be engaged. There was a red button that can place the currently engaged line on hold. All these buttons can be lit and also flash to signify the status of the line. For example, the quick flashing light will signify that there is an incoming call; a slow flashing light will signify that the line has been put on hold and a steady light will suggest an active call. Subsequently, Avaya carried over this design idea to their digital sets as well. This concept of “call appearances” and “active call appearance” is natural and very familiar in computer systems using windows. It is direct to observe that capp appearances are nothing more that open windows and active call appearance is active window. When the user selects a window to be active, the OS tacitly places other windows on hold.</p>

<p>But the analogy goes only so far. In a computer, even if a window is not active, activities can go on an inactive window. For example, the user may be playing a You Tube video in an inactive window. Also we should note here that 1A2 Key System phone indicates whether the local user has placed the call on hold or not; it does not know whether the far-end user has placed the call on hold or whether he is retrieving the call, which is the use case Carl wants to explore.</p>

<p>There is one other fundamental difference between 1A2 Key System and the environment WebRTC app will find itself. The phone can safely decide that when a call appearance becomes active, the call that was active must be placed on hold. But that may not be appropriate in the case of WebRTC. For example, the user may want to continue the call while viewing and interacting with the contents of another window. Or the user may have multiple WebRTC session going at the same time in an attempt to emulate a bridged call. So the only safe approach is to let the user explicitly select whether a video call must be placed on hold or not.</p>

<p>If we dig a bit deeper, we will question the basic need to place a call on hold in the first place. In PSTN systems, a call must be placed on hold if the user wants to attend another call because the access line can carry only one call at a time. But that is not the case in the case of WebRTC. The user can equivalently decide to turn off the camera or the display or both instead of placing the whole call on hold.</p>

<p>Recently, call centers have responded to frustrations expressed by callers due to excessive hold times, by introducing a feature called “callbacks” or “virtual queuing”. A webRTC app can offer a similar feature in an elegant manner by making the app a multi-modal one with the text chat session to periodically update the status and use it as a link to provide audio and video cues when an agent becomes available.</p>

<p>These thoughts are captured in the current user interface design used in EnThinnai:</p>

<div id="attachment_214" class="wp-caption aligncenter" style="width: 499px"><img class="size-full wp-image-214" title="Screenshot of the chat window, just before start of a video call" src="http://www.mocaedu.com/mt/archives/voh1.jpg" alt="Screenshot of the chat window, just before start of a video call" width="489" height="523" /><p class="wp-caption-text">1. Screenshot of the chat window, just before start of a video call</p></div>
<p><br/></p>
<div id="attachment_215" class="wp-caption aligncenter" style="width: 857px"><img class="size-full wp-image-215" title="Screenshot during an active video call" src="http://www.mocaedu.com/mt/archives/voh2.jpg" alt="" width="847" height="600" /><p class="wp-caption-text">2. Screenshot during an active video call</p></div>
<p><br/></p>
<div id="attachment_216" class="wp-caption aligncenter" style="width: 499px"><img class="size-full wp-image-216" title="Screenshot of a “held” or “virtually queued” call" src="http://www.mocaedu.com/mt/archives/voh3.jpg" alt="Screenshot of a “held” or “virtually queued” call" width="489" height="523" /><p class="wp-caption-text">3. Screenshot of a “held” or “virtually queued” call</p></div>
<p><br/></p>
<div id="attachment_217" class="wp-caption aligncenter" style="width: 500px"><img class="size-full wp-image-217" title="Far-end sends a text message and creates audio sound by pressing the “b” button" src="http://www.mocaedu.com/mt/archives/voh4.jpg" alt="Far-end sends a text message and creates audio sound by pressing the “b” button" width="490" height="461" /><p class="wp-caption-text">4. Far-end sends a text message and creates audio sound by pressing the “b” button</p></div>]]>
    </content>
  </entry>
  <entry>
    <title>WebRTC App is Like a Formal Living Room</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000401.html" />
    <modified>2014-01-02T17:59:01Z</modified>
    <issued>2014-01-02T12:59:01-05:00</issued>
    <id>tag:www.mocaedu.com,2014:/mt//1.401</id>
    <created>2014-01-02T17:59:01Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. Inasmuch the main utility of a formal living room is to entertain visiting guests, a WebRTC allows guests to initiate a communication session with...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>WebRTC</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com/">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2014/01/02/webrtc-app-is-…al-living-room/">original location</a>. Thanks.</p>

<p>Inasmuch the main utility of a formal living room is to entertain visiting guests, a WebRTC allows guests to initiate a communication session with the subscriber of the app that utilizes WebRTC.</p>]]>
      <![CDATA[<p><img class="alignleft" src="http://www.avaliving.com/photos/room/3456/16697_LG.jpg" alt="" width="500" height="408" /></p>

<p>Many go to enormous lengths to furnish and decorate a living space normally called Living Room. Notwithstanding the expense involved and the name, it is used mostly when guests are visiting. When we are entertaining guests and they are using the amenities in that room, there is no question of whether the guests have similar room and similar amenities in their houses. The only requirement is that they visit you and that you are ready to host them.</p>

<p>So is the case with WebRTC apps. The main reason for the app and for you to sign up for one is so people can initiate communication session with you. The only requirements are that your guests have a compatible browser and that you are willing to communicate with them.</p>

<p>Just because you have a lavish formal Living room does not mean that when you visit one of your friends you will experience similar luxury. Similarly, subscribing to a WebRTC app may not imply that you can initiate a communication session to one of your friends. In this respect, WebRTC apps for for receiving only. This is critical. Anyone suggesting differently is misleading you.</p>

<p>The image is courtesy of AvaLiving.com</p>]]>
    </content>
  </entry>
  <entry>
    <title>Tu Me doesn’t have to just To Go</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000400.html" />
    <modified>2013-08-09T00:50:01Z</modified>
    <issued>2013-08-08T20:50:01-05:00</issued>
    <id>tag:www.mocaedu.com,2013:/mt//1.400</id>
    <created>2013-08-09T00:50:01Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. It has been reported that Telefonica will shut down Tu Me and redirect its resources in shoring up another service, To Go. People have...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>WebRTC</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com/">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2013/08/08/tu-me-doesn%E2%80%99t-have-to-just-to-go/">original location</a>. Thanks.</p>

<p>It has been reported that Telefonica will shut down Tu Me and redirect its resources in shoring up another service, To Go. People have theorized that compared to competing services from OTTs, To Me has anemic traction with uncertain revenue potential. On the other hand, the reasoning continues, To Go has solid revenue opportunities, since it accrues billable minutes/SMS from existing customer base. Two years back, I gave a <a href="http://www.slideshare.net/aswath/carriers-own-brandottsocialsharingservice">talk</a> at <a href="http://www.telecom2018.com/">Telecom 2018 Workshop</a>, in which I argued that telcos will have difficult time directly competing with OTTs and suggested an alternate approach. In this post, I revisit those points in the context of Telefonica’s decision.</p>]]>
      <![CDATA[<p>We have to recognize that Telcos and OTTs are fundamentally different. OTTs are funded by risk loving VCs. They are designed to take big risks with a quick entry and just as quick an exit. They go for world domination and design their services for viral adoption.</p>

<p>Telcos are a study in contrast. They are established enterprises beholden to shareholders who value steady return and adverse to big risks. Furthermore, they need to be worried about cross elasticity of new services with old ones.  They also have strong presence in geographically restricted areas; usually federate with other telcos in out-of-regions. But such federation is not easy to come by since potential partners may have different priorities in introducing new and speculative services. So on Day 1, a new service will have low Network effect.</p>

<p>It is clear that To Me experience exactly these issues and predictably they had low traction. Though I do not have verified data, it is a safe bet that they were more successful in their local regions more so than out-of-regions. Since they are marketing To Go to their existing customers, they will have better luck with that service. It allows their subscribers to access the services using multiple means of access. This way, they have become an “OTT” for their subscribers. But it is only half the solution.</p>

<p>If we take the perspective of friends of Telefonica’s subscribers, we will notice the missing piece. They also use multiple technologies to access the network, but in the current scheme, it all have to come via PSTN with attendant restrictive set of features due to federation agreements with their carriers. This need not be the case anymore. Supposing Telefonica allows non-subscribers to reach its network using WebRTC technology, then its customers can use new services and features with no loss of Network effect.</p>

<p>This is the fundamental benefit of WebRTC from the perspective of the carriers: it frees them to introduce new services and features to their subscribers without loss of network effect and without relying on federating and coordinating with other carriers.</p>]]>
    </content>
  </entry>
  <entry>
    <title>How to control robocalling</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000399.html" />
    <modified>2013-07-30T14:10:35Z</modified>
    <issued>2013-07-30T10:10:35-05:00</issued>
    <id>tag:www.mocaedu.com,2013:/mt//1.399</id>
    <created>2013-07-30T14:10:35Z</created>
    <summary type="text/plain">We all hate these annoying, unsolicited calls. FCC has been trying to alleviate the problem by various means. They introduced “Do not call list”. It even ran a “challenge”, in the spirit of crowdsourcing a solution. And now the bright...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>Telephony</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>We all hate these annoying, unsolicited calls. FCC has been trying to alleviate the problem by various means. They introduced “Do not call list”. It even ran a “challenge”, in the spirit of crowdsourcing a solution. And now the bright and smart people of IETF are trying to form a group to address this problem using technology. In the kickoff meeting, Henning Schulzrinne, CTO at FCC is  <a href="https://twitter.com/danyork/status/362116740123074560"> quoted </a> as saying, “Number spoofing is root of (almost) all phone evil”. If this is so, then there is a simple procedural solution and it starts with “me”.</p>]]>
      <![CDATA[<p>I subscribe to Caller ID feature. I pay for it directly or indirectly. So I expect this information to be verified. My carrier claims it is offering this feature, So it stands to reason that its expected to deliver verified information. But this information is generated by yet another carrier and this second carrier has no incentive to deliver a verified information. So the crux of the proposal is to incentivize the upstream chain of carriers.</p>

<p>I suggest that my carrier identify its confidence in the caller id in a three point scale: “verified”, “unverified, but can be challenged”, “unverified and can not be challenged”. The idea is if I answer a call from the second group and conclude that the number was spoofed, I challenge my carrier which propagates upstream. If it is concluded that number was indeed spoofed, a financial payoff follows the reverse path. Since termination charges follows this path, this is not an additional burden. It is recognized that this challenge is resource intensive. So to control my trigger happy nature, I am given a limited number of free challenges, just like we do in sporting events.</p>

<p>There are some potential gotchas. Current Caller ID spec has a way to signify two groups. It is not clear whether the spec can be extended to carry the third group as well. It is not clear how many caller ID devices can display the group. Initiating the challenge process is not difficult. This is just a variation on “last call return”.</p>

<p>I suspect that under this scheme, most of the evil spoofers will not be agreeable to this form of challenge. So those calls will belong to the third group, which I will not answer. But well intentioned spoofers will be agreeable to challenges and over a period of time, the public will gain confidence in this characterization and the number of challenges will decline.</p>]]>
    </content>
  </entry>
  <entry>
    <title>Who needs Federation in WebRTC</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000398.html" />
    <modified>2013-07-25T19:26:02Z</modified>
    <issued>2013-07-25T15:26:02-05:00</issued>
    <id>tag:www.mocaedu.com,2013:/mt//1.398</id>
    <created>2013-07-25T19:26:02Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. In a recent post Chris Kranky on the need “to move on” and the need for expediency in wrapping up the first iteration of...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>WebRTC</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2013/07/25/who-needs-federation-in-webrtc/">original location</a>. Thanks.</p>

<p>In a <a href="http://www.chriskranky.com/when-the-man-comes-around/">recent post</a> Chris Kranky on the need “to move on” and the need for expediency in wrapping up the first iteration of the API. Personally I would have benefited if the first iteration had been a low level spec. For I could have easily ported a custom Java applet. But given the passage of time, it is more important that there is an agreed standard. But this point is not the objective of this post. Instead I would like to focus on another of his points:</p>

<p>[WebRTC] wasn’t designed to be federated (namely that 2 WebRTC applications aren’t in fact supposed to talk to each other.</p>

<p>He makes this observation to explain the motivation for seeking low level control. My quibble is not with this explanation, but I want to take this sentence in isolation, interpret it literally and discuss it. (It is not fair to Chris, but I am just using his sentence as a prop. So it should be OK with him.)</p>]]>
      <![CDATA[<p>In my interpretation, if WebRTC is not designed to be federated, then there is some deficiency and need to be addressed. If not immediately, but at some future time. But with WebRTC construct there is no need for federation. Let me explain.</p>

<p>Following are four main reasons why we need federation and how WebRTC handles them without requiring federation:<br />
<ol><li>Reachability information is not widely held, except for some selected nodes in both the systems.<br><br />
Since WebRC address is HTTP URI, the originator’s service provider or system is not needed. The originator can directly access the destination’s system. Indeed, it is not required that the originator be part of any service provider or system.</li><li><br />
Communication between the systems may need mediation to handle incompatibilities.<br><br />
Since the app server dynamically downloads the signaling procedures, there are no incomptibility issues on the signaling plane. I further assume that MTI codecs remove incompatibility between the browsers. In any event, any such incompatibility can be solved w/o the two systems federating.</li><li><br />
Identification and authentication of external nodes need to be mediated.<br><br />
Since the whole construct is built on HTTP, any of the third party verification systems can be used to identify and authenticate the end-points. In this respect there is a need for federation, which is much less stringent requirement and can be easily waived by the end points depending on the use case.</li><li><br />
Since the external systems may not be trustworthy, the local system need to protect its users.<br><br />
WebRTC has builtin security systems to protect the end nodes from malware apps. Specifically, the browser ensures that a rogue app can not assume control of the end node.</li></ol></p>

<p>In my opinion the fact that WebRTC does away with federation is one of the important benefits and why it is going to disrupt communications industry.</p>]]>
    </content>
  </entry>
  <entry>
    <title>On Avoiding STUN and TURN While Deploying a WebRTC-based App</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000397.html" />
    <modified>2013-07-23T00:15:21Z</modified>
    <issued>2013-07-22T20:15:21-05:00</issued>
    <id>tag:www.mocaedu.com,2013:/mt//1.397</id>
    <created>2013-07-23T00:15:21Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. By now it is quite passe to claim that WebRTC will be a huge disruptive technology. Indeed, there has been a predictable backlash. In...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>WebRTC</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2013/07/22/on-avoiding-stun-and-turn-while-deploying-a-webrtc-based-app/">original location</a>. Thanks.</p>

<p>By now it is quite passe to claim that WebRTC will be a huge disruptive technology. Indeed, there has been a predictable backlash. In all these back and forth, very often we miss to note an important aspect of this technology: there has been a deliberate attempt to avoid specifying any messages and procedures that go across the wire to an intermediate point like server. This gives enormous flexibility to app developer in designing a signaling procedure that suits the needs of the app and at the same time do not have to worry about interoperability issues between arbitrary peers and the app. This is almost true, except for NAT/FW traversal. The objective of this post is to suggest a way to overcome this as well.</p>]]>
      <![CDATA[<p>The recommended procedure for NAT/FW traversal is to use ICE, which in turn uses two servers - STUN and TURN. More importantly, ICE specifies the procedure and message format that these servers have to follow. Of course Google makes available a STUN server and free, open source TURN server implementations are available. But if for some reason an app wants to avoid these external dependencies, then the app developer has to develop them and then have to test compatibility with browsers. This takes away one of the main benefits of WebRTC.</p>

<p>Instead of fully developing STUN and TURN servers, the idea is to develop a simple “Twice NAT” and a clever use of Trickle ICE procedure that the browsers already support to bootstrap ICE procedure. Here, let us recall that Twice NAT maps both the origination and destination addresses, instead of just the origination (destination, resp) address on the outgoing (incoming, resp.) flow.</p>

<p>As part of Peer Connection procedure, Peer A will generate an SDP offer containing its host address. The app server can append to this SDP offer an address as a “fake” server reflexive address of Peer A before forwarding it to Peer B. In response to this, Peer B will generate an SDP accept containing its host address. The app server can append to this SDP accept another address as a “fake” server reflexive address of Peer B before forwarding it to Peer A. As part of ICE connectivity check procedure, Peers A and B will send connectivity check messages to these “fake” server reflexive addresses. From these the app server can deduce the real server reflexive addresses of the peers. Also, the app server can allocate two addresses at the Twice NAT as relay addresses. With these addresses at hand the app server can generate SDP offer messages to the two peers containing server reflexive and relay addresses of the other peer. Of course the peers will respond with accept messages that the app server can ignore. Since the peers have new candidates, they will perform connectivity checks on these new set of addresses.</p>

<p>If a peer is multihomed, then that peer will conduct connectivity check from each of the interfaces to the “fake” server reflexive address, yielding true server reflexive address of each of those interfaces.</p>

<p>Thus, the app server facilitates NAT/FW traversal without developing conforming STUN and TURN servers and placing the burden of compatibility solely on the peers.</p>

<p>This procedure is adopted from a modified procedure we were using in the Java-based RTC system in EnThinnai. It was developed during 2008.</p>]]>
    </content>
  </entry>
  <entry>
    <title>An “App” Enabled by WebRTC</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000396.html" />
    <modified>2012-11-29T16:21:11Z</modified>
    <issued>2012-11-29T11:21:11-05:00</issued>
    <id>tag:www.mocaedu.com,2012:/mt//1.396</id>
    <created>2012-11-29T16:21:11Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. Some of us strongly believe that WebRTC will usher in a wide variety of innovative services, features and capabilities. At the same time, there...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>IP Communications</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2012/11/29/an-“app”-enabled-by-webrtc/">original location</a>. Thanks.</p>

<p>Some of us strongly believe that WebRTC will usher in a wide variety of innovative services, features and capabilities. At the same time, there are many skeptics dampen the (irrational?) exuberance. I am sure both sides will present their view points during this week’s WebRTC Conference & Expo. In this post, I would like to commemorate that conference by outlining one possible application.</p>]]>
      <![CDATA[<p>As a background, we are all familiar with emergency telephone service. You know the one where you dial 911? Or is it 112? Or is it 999? On top of that, you may have to dial a different number depending on the nature of emergency – one number for Police, another Medical and yet another for Fire. How will a roaming mobile user to know which number to use?</p>

<p>Then there are occasions when one would like to reach the local police for non-emergency assistance, like a fender-bender. But one may not know the contact information. Indeed, I do not know the phone number of my local police station, let alone a location I am just passing through.</p>

<p>Finally, many communities have non-emergency community information service, sometimes called 3-1-1 service, based on the dial code used in US. Other countries have similar services, but use different access numbers.</p>

<p>I propose an application that can be used in these scenarios.</p>

<p>A user who would like to contact Police or a government agency sends an HTTP request to the app provider. That request will contain needed information like the nature of query, location of the user (as derived from the device) and other incidental information. Then the app provider can use these to locate the specific agency that has jurisdiction and can redirect the HTTP request to that agency. From there, the agency and the user can communicate using the services of WebRTC.</p>

<p>There are advantages in using this scheme. A roaming user does not have to know how to reach the local agency. If the request is for medical emergency, the request can carry the location (URL?) from where medial data can be retrieved. Of course this requires authentication and authorization processes, which can be easily done using multiple redirection of HTTP requests.</p>

<p>It should be noted that the basic requirement is that the app provider have a universal database of emergency and other government agencies for any given location. This may not be such an onerous task. For example, <a href="http://seeclickfix.com/">SeeClickFix </a>does it for 311 in many communities.</p>]]>
    </content>
  </entry>
  <entry>
    <title>Integrating POTS line, Google Voice account and Obi110</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000395.html" />
    <modified>2012-01-11T22:48:49Z</modified>
    <issued>2012-01-11T17:48:49-05:00</issued>
    <id>tag:www.mocaedu.com,2012:/mt//1.395</id>
    <created>2012-01-11T22:48:49Z</created>
    <summary type="text/plain">In this blogpost, I note down my experiences as I integrate POTS line, Google Voice account and Obi110 and finish it off with some ideas on enhancing products like Obi110. But I want to clarify upfront that this is not...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>Telephony</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>In this blogpost, I note down my experiences as I integrate POTS line, Google Voice account and Obi110 and finish it off with some ideas on enhancing products like Obi110. But I want to clarify upfront that this is not a review of Obi110. It has a tone of features and my interest is very narrow and focused. So this will not do justice.</p>]]>
      <![CDATA[<p>I ordered Obi110 after learning that Google Voice has extended its free calling within US offer for one more year. Since Obi110 has included Google Voice “client”, I could use a standard telephone to make outgoing calls using Google Voice. Since Obi110 also has a POTS line port, I could use Google Voice to make outgoing calls while I continue to use existing POTS line to receive calls without making major disruptions like porting the number or distributing Google Voice numbers to my friends. So my narrowly defined objective is setup Obi110 so I can make outgoing calls via Google Voice and receive POTS calls all the while using the same telephone.</p>

<p><b>Setup:</b></p>

<ol><li>The initial step of connecting Obi110 to the Internet and powering up is a simple matter. Once the device powers up, it is automatically connected to Obihai’s VoIP service called ObiTALK. There is no need for any configuration and the device comes with a preassigned ObiTALK number. I am not sure I will ever use this service. There are a number of reasons for this. I know of anyone in my “phone circle” with ObiTALK. Distributing yet another contact information is a pain. But I could use to test the initial setup by dialing the test number.</li><li>The next step is to administer Google Voice account credentials. There are two ways of doing it. One is to populate the account information by accessing Obi110 locally. This is a low level access with intimidating level of parameters that one can tweak. The other is to register the device with Obihai and provide the needed information to configure Obi110. Since the latter is user friendly and straight forward I used this method.If the device is able to connect to Google Voice, the portal page displays the status information.</li><li>The final step is to connect Obi110 line port to the wall jack and attach a telephone.</li></ol>

<p>These three steps look simple enough but I encountered a few annoying difficulties.</p>

<p><b>Difficulties:</b></p>

<ol><li>Even though Google allows for a passphrase, meaning the password can contain spaces, evidently Obi110 does not. I inferred this only after a few failures and have to change the password so it does not contain spaces. The portal should use the password string as entered rather than inferring any delimiters.</li><li>Evidently, the account information is stored in the portal. I am uneasy about this. Granted, the portal makes the admin simpler, They could have implemented it as a proxy to the device and avoided the need for external storage. At a minimum, they should state how the account information is stored at their site.</li><li>Given a temperamental DSL connection, I couldn’t connect the device to the telephone jack. But other rooms do not have Ethernet access. So I ended up getting a WiFi bridge so the device could be connected to the router via WiFi. This effectively doubled the total price of the device. I wish the device had a builtin wifi capability.</li><li>I could not complete calls over the POTS line by dialing the access code, **8. But a person over at the support forum was helpful. The suggestion was to dial # and wait for the second dial tone from the phone company before dialing the phone number. In other words, I have to dial #, instead of the access code. The device could do this for access code itself. After all my cordless phone does this for “offhook” dialing.</li><li>Updated: If the device is powered, but looses net connection, then it doesn't failover to PSTN line. I wish it announced the net failure and gave an option to complete the call over PSTN or any other available interface.</li></ol>

<p><b>Enhancements:<b></p>

<p>Apart from the previously stated points, I hope Obihai considers the following enhancements in their roadmap.</p>

<ol><li>They should add DECT base station capability, in the same way Ooma has done it.</li><li>Once the device is DECT enabled, they should use DECT’s data channel to display Google Voice SMS messages in the handset.</li><li>Recognizing that Obi110 is a computer, that should facilitate apps from third party developers in the same manner Netgear has announced as part of their Smart Network program.</li></ol>
]]>
    </content>
  </entry>
  <entry>
    <title>To Cap or Not to Cap?</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000394.html" />
    <modified>2011-12-28T18:13:31Z</modified>
    <issued>2011-12-28T13:13:31-05:00</issued>
    <id>tag:www.mocaedu.com,2011:/mt//1.394</id>
    <created>2011-12-28T18:13:31Z</created>
    <summary type="text/plain">Evidently I seem to hold a contrarian position on whether Broadband access bandwidth consumption should be capped or not. My position is that ISPs are in the business of offering service at the Network Layer and they should be free...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>IP Communications</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>Evidently I seem to hold a contrarian position on whether Broadband access bandwidth consumption should be capped or not. My position is that ISPs are in the business of offering service at the Network Layer and they should be free to charge based on the consumption. My rationale is simple: with the freedom to charge at the Network Layer, ISPs will not be in a position to dictate usage policy or to play favoritism to one provider over another. Please note that I also contend that freedom to charge at the Network Layer includes offering differentiated service (at the Network Layer) as long as differentiation is requested by the users and are charged to them. Today I <a href="http://gigaom.com/broadband/getting-to-a-gigabit-how-sonic-net-will-take-on-caps-residents-and-att-in-san-francisco">read</a> something from an unexpected source that reinforces my position.</p>]]>
      <![CDATA[<p>Sonic.net, a competitive access provider based in California is strongly and unequivally opposed to capping bandwidth usage. So I had understood. Indeed, they supplied usage data to widely <a href="http://www.fiberevolution.com/2011/11/do-data-caps-punish-the-wrong-users.html">reported study</a> that refutes effectiveness of bandwidth caps in relieving congestion. But an article in Gigaom that quotes Dane Jasper, CEO of Sonic.net seems to suggest their position is conditional after all. First let me quote some passages (referring to why the company is offering fiber access only to consumers and not to businesses) from the article:</p>

<p><i>“... when it comes to delivering broadband to businesses, he recognizes that a superfast gigabit connection to a business will have a very different usage pattern than one delivered to a consumer. ... “With our stance on no capping, I [Jasper] have a little bit of concern delivering 1 gig to a business at $89.95 and them using half of it, because that could really happen.”</p>

<p>… For example, the lack of applications for gigabit networks probably helps Jasper here, as does the fact that most consumers typically use downlink services to consume content. And currently there’s a limit to how much they can consume, even with three or four TVs downloading or streaming HD content.</p>

<p>“Consumption is still constrained by the number of TVs and hard drives and even though everyone eventually has more stuff, practically speaking it really does end up normalizing down to a reasonable level,” Jasper says. … But a business might hook a data center or several servers up on a gigabit connection and use that to send a lot of traffic out. And that could get expensive.”</i></p>

<p>This is my take away from this article: Currently consumers use the connection mostly to download content and there is a natural limit on how much they can use it for. In other words, Sonic.net is relying on the empirical cap. what happens if the usage pattern changes and the empirical cap is not acceptable anymore? What happens if consumers place low-cost servers to serve their content by themselves? What if some OTT player distributes Nano Data Centers to Sonic.net’s customers? After all rate arbitragers would love this, won’t they?</p>

<p>There is a more damning indictment with regards to businesses. Sonic.net has decided to not offer gigabit access to businesses, just so they can cling to “no cap” policy. What would be our reaction if AT&T Worldnet decided not to offer DSL, but stick to just dial-up modems for some policy reasons. Isn’t it better for businesses to pay for consumed bandwidth, but still get gigabit access? After all the major benfit of high-speed access is reduced latency.</p>

<p>So I say to Sonic.net and other proponents of “no cap” policy: fanatical adherence may be robbing the very same customers you think you are protecting.</p>]]>
    </content>
  </entry>
  <entry>
    <title>A Possible Fix for Location Tracking Attack on Skype</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000393.html" />
    <modified>2011-12-03T15:18:07Z</modified>
    <issued>2011-12-03T10:18:07-05:00</issued>
    <id>tag:www.mocaedu.com,2011:/mt//1.393</id>
    <created>2011-12-03T15:18:07Z</created>
    <summary type="text/plain">A couple of days back, my Twitter stream saw a few mentions about a story that suggested potential privacy issue due to a flaw in Skype. A quick tracing of the origin of the story pointed to a research paper...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>VoIP</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>A couple of days back, my Twitter stream saw a few mentions about a story that suggested potential privacy issue due to a flaw in Skype. A quick tracing of the origin of the story pointed to a research paper published by a few associated with NYU-Poly, which is about six weeks old. It is not clear why it surfaced this late. Nonetheless it is instructive to study the paper and understand the root cause of the flaw.</p>

<p>The <a href="http://cis.poly.edu/~ross/papers/skypeIMC2011.pdf">paper</a> is clearly written and is based on a well designed experiment. Apparently, the authors have alerted Skype of the problem and the authors lament that Skype has not taken any steps to address the issues. But it looks, on the surface at least, it is simple to thwart the attack.</p>]]>
      <![CDATA[<p>What the study found out is that it is able to <br />
<ol><li>easily identify the Skype Id of a person using some commonly known information of a user</li><li>determine the IP address of a Skype user and track this information with out the user being aware of</li><li>use the learnt IP address to see whether any Bit Torrent activity going on at that address to conclude the user behind that activity.</li></ol></p>

<p>I don’t think that many will find it very alarming that one can so easily find out the Skype ID aof a person. After all it is widely known that Skype provides a directory service. After all, with White Pages, we could reasonably get a person’s address. Also, determining Bit Torrent activity is outside the scope of Skype. So our focus really is how are they able to determine the IP address at which a Skype user is connected.</p>

<p>It turns out that Skype clients and the supernodes generate a signature pattern of datagrams during a session setup, thereby identifying the IP address of the target Skype client. In the following A is the Skype client originating the session and B is the target Skype client. When A initiates a session with B, A is given the IP addresses of a bunch of supernodes AND that of B (if B is not currently connected then the last connected address). Even though A does not know which is B’s, the researchers have identified a weakness in Skype’s protocol design that can be exploited to identify B’s address.</p>

<p>As part of session initiation, Skype protocol initiates TCP connection to all of them. If the TCP connection attempt to B fails, then A and B exchange bunch of UDP datagrams of predetermined length. Interestingly, this does not happen with other nodes. Additionally, if the TCP connection between A and B fails, then B does not indicate the presence of an incoming call on the UI. In other words, the user of B does not know of a malicious call attempt. The researchers suggest that one can exploit these two flaws to determine and track the IP address at which B is connected to the Internet. Specifically, the researchers prevented the establishment of any new TCP connection by dropping all outgoing and incoming SYN packets to all IP addresses. Then monitor UDP traffic to identify B’s IP address.</p>

<p>It is not clear why Skype has not addressed this issue thus far. A simple solution is clear: Skype needs to hide B in plain sight. They just have to make all the nodes to behave the same way when TCP connection fails. In other words all the nodes have to exchange UDP packets. Since the content is encrypted and obfuscated, the infrastructure nodes can be saying “let us pretend to talk”. As an added mesaure the length of UDP packets should be varying from instance to instance. It is simple to add a random length of padded bytes. The fact that they have not fixed the flaw suggests that there must be operational reasons why this apparently simple solution will not work.</p>

<p>In any event, Skype must add these malicious call attempts to the call logs, even if they do not want to inform the user via UI. The call logs can give the information of the Skype ID, their IP address (isn’t that poetic justice?) who made these surreptitious call attempts. This way at least users will be aware of they being tracked.</p>

<p>It is likely that this is a known flaw. I recall that one of the suspects in the murder of a British student in Italy was tracked in Germany after he attempted to use Skype. It is possible that the authorities used this mechanism.</p>]]>
    </content>
  </entry>
  <entry>
    <title>NaDa and EnThinnai</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000392.html" />
    <modified>2011-11-28T18:16:23Z</modified>
    <issued>2011-11-28T13:16:23-05:00</issued>
    <id>tag:www.mocaedu.com,2011:/mt//1.392</id>
    <created>2011-11-28T18:16:23Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. A couple of days back, New York Times had a story on a recent research paper that was presented at Usenix Workshop on Hot...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>Social Networking</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2011/11/28/nada-and-enthinnai/">original location</a>. Thanks.</p>

<p>A couple of days back, New York Times had a <a href="http://www.nytimes.com/2011/11/27/business/data-furnaces-could-bring-heat-to-homes.html">story</a> on a recent research <a href="http://www.usenix.org/events/hotcloud11/tech/final_files/LiuGoraczko.pdf">paper</a> that was presented at Usenix Workshop on Hot Topics in Cloud Computing. The idea is to spin a cloud using servers placed inside the homes and use the heat generated by these servers to heat the homes. In the paper, the authors point out an earlier study that suggested the use of home routers as Nano Data Centers (<a href="http://conferences.sigcomm.org/co-next/2009/papers/Valancius.pdf">NaDa</a>) for content caching.</p>]]>
      <![CDATA[<p>As stated in the NaDa paper: “The key idea behind NaDa is to create a distributed service platform based on tiny managed “servers” located at the edges of the network. In NaDa, both the nano servers and access bandwidth to those servers are controlled and managed by a single entity (typically an ISP).” It goes on to suggest that, “Signi&#64257;cant opportunities already exist for hosting such tiny servers on ISP owned devices like Triple-Play gateways and DSL/cable modems that sit behind standard broadband accesses. Such gateways form the core of the NaDa platform and, in theory, can host many of the Internet services currently hosted in the data centers.” This has been the exact guiding philosophy as we developed EnThinnai where the candidate service is Social Sharing that provides consumer-friendly alternative to public social networks.</p>

<p>I think Social Sharing service based on NaDa is a better alternative than the content caching and distribution service that explored in the paper. Users may perceive that Content Cachnig and Distribution service really benefits the ISP and so may be reluctant to share their resources to offer service to others. Additionally, these gateways and modems require storage capability that may not be available readily. Social Sharing service on the other hand is directly beneficial to the hosting user and they will be willing to supply storage devices to store their content. More importantly, users will be assured that their content is at all times in their possession and privacy is assured. ISPs will be able to position this in positive light compare to privacy issues that plague public social networks.</p>]]>
    </content>
  </entry>
  <entry>
    <title>On the Need for a Crowd in Social Software</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000391.html" />
    <modified>2011-06-08T14:29:59Z</modified>
    <issued>2011-06-08T10:29:59-05:00</issued>
    <id>tag:www.mocaedu.com,2011:/mt//1.391</id>
    <created>2011-06-08T14:29:59Z</created>
    <summary type="text/plain">This is cross posted from EnThinnai Blog. Please post your comment at the original location. Thanks. As part of his &quot;5 Myths of Social Software&quot;, Jon Mell dispels a myth that one needs &quot;lots of people for social tools to...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>Social Networking</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>This is cross posted from <a href="http://blog.enthinnai.com">EnThinnai Blog</a>. Please post your comment at the <a href="http://blog.enthinnai.com/2011/06/08/on-the-need-for-a-crowd-in-social-software/">original location</a>. Thanks.</p>

<p><br />
As part of his "5 Myths of Social Software", Jon Mell <a href="http://jonmell.co.uk/5-myths-of-social-software-%E2%80%93-myth-3-crowds/">dispels a myth</a> that one needs "lots of people for social tools to be a success." He points to this famous diagram by Chris Rasmussen <img src="http://jonmell.co.uk/wp-content/uploads/2011/06/wiki-vs-email.png" alt="Chris Rasmussen wiki-email" width="500" height="320"  /> and his own positive personal experience at a three person startup to conclude that "placing social tools in the context of their existing workflows (like email) and targeting identified business problems (even if they initially involve small groups) is far more successful than trying to get large numbers of young people using Facebook-like tools for the sake of it."</p>]]>
      <![CDATA[<p>This is a very critical point, especially since "Network Effect" is often erroneously invoked to suggest that a large social network, ipsofacto, is very critical for its success. But at the same time, social tools should facilitate <a href="http://en.wikipedia.org/wiki/Diffusion_of_Innovations">innovators and early adopters</a> to evangelize to the rest of the organization. Many tools do not allow for this. Take the case of Google Wave. In my opinion it is a great social software offering many features and capabilities. But my colleagues couldn't be part of a single wave without committing to it fully. They can not wade into it - they have to fully submerge. It would have been nice if Wave allowed me to invite a colleague into a wave and experience it. To illustrate this point further consider the case where the colleague is an employee of a partner company. Shouldn't she be able to use the social software as it pertains to the project at hand. Federation between companies is not the answer. What if that company has not deployed social software? What if they are using a different version?</p>

<p>So the bottom line is social software must allow for "guests" before they become full fledged users. Of course for this to happen, the software must allow for browser based access and allow third party authentication tools like OpenID/OAuth.</p>]]>
    </content>
  </entry>
  <entry>
    <title>On Disambiguating Identity</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000390.html" />
    <modified>2011-06-01T20:43:20Z</modified>
    <issued>2011-06-01T16:43:20-05:00</issued>
    <id>tag:www.mocaedu.com,2011:/mt//1.390</id>
    <created>2011-06-01T20:43:20Z</created>
    <summary type="text/plain">Yesterday during D9 interview, Eric Schmidt is quoted to have stated, “It’s the first generally available way of disambiguating identity. Historically, on the Internet such a fundamental service wouldn’t be owned by a single company. I think the industry would...</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>OpenID</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>Yesterday during D9 interview, Eric Schmidt is quoted to have stated, “It’s the first generally available way of disambiguating identity. Historically, on the Internet such a fundamental service wouldn’t be owned by a single company. I think the industry would benefit from an alternative to that….Identity is incredibly useful because in the online world you need to know who you are dealing with.” There have been <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.142.7426">academic research</a> done on disambiguating identity through social circles and social data. This may help us to move away from a service owned by a single company, but I am afraid that this will still beholden us to a handful of companies. In my opinion OpenID is a more apporpriate user-centric solution.</p>]]>
      <![CDATA[<p>First of all, I don’t mean to use OpenID as it is generally understood to be a single identity used across multiple sites. Yes, OpenID originated to offer Single Sign On solution. But I am focusing on the decomposition of three parties and the protocol of engagement between them. The three parties are 1. individual, 2. Identity Provider and 3. Relying Party. The protocol of engagement is first the interaction between the Individual and RP, second between the Individual and IP, and finally the interaction between IP and RP, including Attribute Exchange. Additionally I want to discard a widely held assumption that RPs are expected to accept any and all IPs and that they should accept all the attributes provided by the IPs. Even though OpenID has never stipulated that, these two have found its way into our unconscious mind.</p>

<p>So how will I assert my identity with different RPs who may want to verify different attributes. If an RP would like to know my current employer, I will present OpenID issued by my employer and the RP can request the needed attributes like, start date, salary or other personnel information. I would use the OpenID procedure to allow or restrict access to such information as is appropriate. If an RP is interested in ensuring that the individual is school going student, they would require IP to be an accredited school and RP could access the age of the individual to further restrict age appropriate material. If an RP is interested in my address, they could require OpenID from DMV or an utility company. And so on.</p>

<p>To summarize, the technology is in place. We should evangelize and advocate use of this technology for wide adoption.</p>]]>
    </content>
  </entry>
  <entry>
    <title>Evolution of SIP Trunking</title>
    <link rel="alternate" type="text/html" href="http://www.mocaedu.com/mt/archives/000389.html" />
    <modified>2011-06-01T19:46:24Z</modified>
    <issued>2011-06-01T15:46:24-05:00</issued>
    <id>tag:www.mocaedu.com,2011:/mt//1.389</id>
    <created>2011-06-01T19:46:24Z</created>
    <summary type="text/plain">Recently, the market segment that interconnects PBX to PSTN using SIP/VoIP technology, called SIP Trunking has seen dramatic growth. It is generally agreed that low costs associated with SIP Trunks and increased deployments of IP-PBX have contributed to this success....</summary>
    <author>
      <name>aswath</name>
      <url>www.whencevoip.com</url>
      <email>aswath@mocaedu.com</email>
    </author>
    <dc:subject>VoIP</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.mocaedu.com/mt/">
      <![CDATA[<p>Recently, the market segment that interconnects PBX to PSTN using SIP/VoIP technology, called SIP Trunking has seen dramatic growth. It is generally agreed that low costs associated with SIP Trunks and increased deployments of IP-PBX have contributed to this success. The question is how will this market evolve in the coming months.</p>]]>
      <![CDATA[<p>There is no question that SIP Trunks cost less than corresponding PRI costs. A recent study reported that generally the savings are the order of 15% (oh where did I leave that bookmark?). But some of the operational metrics are <a href="http://www.slideshare.net/ekrapf/sip-trunk-slas-lisa-piercevoicecon-orlando-2010">much to be desired</a>. For example, the industry average for installation is 60 to 90 days. Majority do not have an SLA for call blocking. It is reasonable to take a few weeks to install the facilities associated with PRI and T1 trunks. If SIP Trunks are going to be facility based then it is possible there is a need for lead time. Clearly there is a need for quick access to trunks to handle short and unplanned surge in voice calls. So it would be nice if SIP Trunks are tariffed like Amazon charges for EC2 instance. Amazon has three pricing structure that they call “demand, reserved and spot”. Current SIP Trunking pricing is analogous to “reserved instances”: customer pays for reserving a certain number of trunks and then additionally pays based on usage of those trunks. If an enterprise has a need for additional trunks to handle temporary surge in calls as there would be due to a promotion say, it would be nice if they can get additional trunks and pay for usage, if at a higher rate compared to reserved trunks. Alternatively, enterprises may prefer to place calls, like cold calls when the rates are low enough. This will be like Amazon’s spot pricing. In this case, an enterprise would be informed when the Trunk price reaches below a stated threshold. Here it is assumed that the Trunk provider will adjust price of the trunks based on the load. If Amazon or Google were to enter the market, I fully envision this happening. I am surprised that Skype Connect has not yet adopted this pricing scheme. Even though Twilio and Voxeo are not really viewed as Trunking providers, they also could adopt this model.</p>

<p>I am surprised to note that Trunking providers do not provide SLA for call blocking. If they were to offer reserved instance and so on, it is imperative on stating the call blocking probability. Otherwise reserved trunks do not have a meaning. So I anticipate the market move on these two aspects of the service.</p>]]>
    </content>
  </entry>

</feed>