<?xml version="1.0" encoding="ISO-8859-1"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Clearspace Server Syndication Feed</title>
    <link>http://www.opensourcesip.org:8080/clearspacex/blogs</link>
    <description>A syndication feed of all the blogs on this system</description>
    <pubDate>Fri, 05 Sep 2008 05:06:45 GMT</pubDate>
    <generator>Clearspace 1.10.1 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2008-09-05T05:06:45Z</dc:date>
    <item>
      <title>On Route Failover, Forking and SLA</title>
      <link>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/2008/09/05/on-route-failover-forking-and-sla</link>
      <description>Thanks to private funding from a customer, I recently found time to introduce ICT forking and SLA in OpenSBC.  Forking is the term used in RFC 3261 to allow SIP Servers to literally clone INVITE transactions and send them to multiple destinations, thus, giving the ability of a single call to ring  on multiple destinations.  Up until recently, OpenSBC only supports serial route failover.  This, technically, is not real forking for OpenSBC will create separate dialogs for each failover attempt.   Solegy has been using this failover machanism for years to ensure higher call completion rate in exchange for a bit longer post dial delay or PDD.  OpenSBC forking mechanism, on the other hand, is done in parallel instead of serial attempts.   To the SIP grammatist, forking can be either serial or parallel.  To clarify the semantics however, we call serial forking as route-failover and shared line appearance SLA for parallel forking.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How does it work?&lt;/b&gt;&lt;br /&gt;
&lt;p /&gt;
There are two ways in which forking can be achieved in OpenSBC.  The first is by providing static routing rules in the B2BUA-Route section of OpenSBC. &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;Via B2BUA-Route&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;i&gt;&lt;a class="jive-link-adddocument" href="http://www.opensourcesip.org:8080/clearspacex/community-document-picker.jspa?communityID=&amp;subject=sip%3Aalice*"&gt;sip:alice*&lt;/a&gt; sip:ua1.atlanta.com,  sip:ua2.atlanta.com, sip:ua3.atlanta.com&lt;/i&gt; &lt;br clear="all" /&gt;		 In the routing rule above, the wild card &lt;i&gt;sip:alice*&lt;/i&gt; which essentially means &lt;i&gt;"Any request URI that starts with 'sip:alice' followed by any number of characters"&lt;/i&gt; will be serially routed to the three destinations &lt;i&gt;sip:ua1.atlanta.com,  sip:ua2.atlanta.com, sip:ua3.atlanta.com.&lt;/i&gt;  This type of routing is called route-failover. &lt;br clear="all" /&gt;		 Recent improvements to OpenSBC added the capability to try all three routes simultaneously instead of serially.  This is shared line appearance or SLA.  This is achieved by providing a parameter "fork=true" to the routing rule wild card.&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;i&gt;&lt;a class="jive-link-adddocument" href="http://www.opensourcesip.org:8080/clearspacex/community-document-picker.jspa?communityID=&amp;subject=fork%3Dtrue"&gt;fork=true&lt;/a&gt; sip:ua1.atlanta.com,  sip:ua2.atlanta.com, sip:ua3.atlanta.com&lt;/i&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;b&gt;Via REGISTER&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;Aside from routing rules as described above, OpenSBC now makes it seamless for multiple Address Of Records or AOR to be  be registered while each record points to a different distinct binding.  Do not be overwhelemed by the terms.  AOR is the To-URI and the Binding is the Contact-URI in the REGISTER request.  The static route above can be duplicated by sending registrations as follows&lt;/blockquote&gt;
&lt;blockquote&gt;REGISTER sip:osbc.atlanta.com SIP/2.0 /CRLF To: sip:alice@atlanta.com /CRLF Contact: sip:ua1.atlanta.com&lt;/blockquote&gt;
&lt;blockquote&gt;REGISTER sip:osbc.atlanta.com SIP/2.0 /CRLF To: sip:alice@atlanta.com /CRLF Contact: sip:ua2.atlanta.com&lt;/blockquote&gt;
&lt;blockquote&gt;REGISTER sip:osbc.atlanta.com SIP/2.0 /CRLF To: sip:alice@atlanta.com /CRLF Contact: sip:ua3.atlanta.com&lt;/blockquote&gt;
&lt;blockquote&gt;If you will notice, the three REGISTER requests above share a common To-URI  sip:alice@atlanta.com while all three differ in the Contact-URI.  The previous behavior of OpenSBC, is to just preserve the last registration attempt for an AOR.  This overwrites the old record which makes it impossible to support forking via registration in the past.  Recent modification, (in fact I rewrote the registrar code), in OpenSBC now allows this scenario making it possible to do forking via registrations.&lt;/blockquote&gt;
&lt;blockquote&gt;There is no special configuration required in OpenSBC for it to attempt a fork for SLA registrations.   If OpenSBC detects multiple binding, it will automatically fork the calls.   As of this moment, only parallel forking is supported for registration. Serial forking support is planned in the future.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Does SLA work for Upper-Registration too?&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
Yes but with a caveat.  OpenSBC has support for upper registration.  This is the term we coined to represent the ability of OpenSBC to hijack registration bindings before it relays the registration to the actual registrar.  This allows OpenSBC to always stay in the middle of registered UA and the SIP Server that needs far-end NAT traversal for RTP.  &lt;br /&gt;
&lt;p /&gt;
The current implementation of Upper-Registration now also allows the registrar to fork calls.  To achieve this, OpenSBC not only hijacks the registration by setting the contact address, it also now preserves the original binding as an escaped parameter of the Contact-URI sent to the upper registrar.  If an upper registrar decides to fork a call to an SLA account, OpenSBC would be able to identify the carrect binding to be used for each forked transactions.  &lt;br /&gt;
&lt;p /&gt;
It is worth noting, however, that OpenSBC only has partial support for Merged Requests"  Merge Request is the term used for the situation whereby INVITEs that are forked arrives at the same server.  Since OpenSBC is a B2BUA rather than a SIP Proxy, it can only reserve one RTP session for each call.  This results to an undesirable complication in upper registrar forking where only the first INVITE received by OpenSBC gets a B2BUA session. The rest of the merge requests are simply relayed by OpenSBC.  Yes, the serial fork would still ring the multiple  devices but only the first INVITE will have the ability to anchor media.  This is a deal breaker if the mutiple devices are behind a NAT.  As of this moment, at least until a solution is found to this problem, I do not recommend upper registrar to fork calls towards OpenSBC.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;br /&gt;
Bottom line, it's a happy week for me.  Thanks to the generosity of sponsors, we continously advance OpenSBC as a free alternative to commercial border controllers.  &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;</description>
      <pubDate>Fri, 05 Sep 2008 05:06:45 GMT</pubDate>
      <author>joegen</author>
      <guid>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/2008/09/05/on-route-failover-forking-and-sla</guid>
      <dc:date>2008-09-05T05:06:45Z</dc:date>
      <wfw:comment>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/comment/on-route-failover-forking-and-sla</wfw:comment>
      <wfw:commentRss>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/feeds/comments?blogPostID=1006</wfw:commentRss>
    </item>
    <item>
      <title>grnVoIP Implements OpenSBC for Prepaid Wholesale Business</title>
      <link>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/2008/09/05/grnvoip-implements-opensbc-for-prepaid-wholesale-business</link>
      <description>We are happy to announce that our friends at &lt;a class="jive-link-external" href="http://www.grnvoip.com"&gt;grnVoIP&lt;/a&gt; have replaced their SIP session border controllers with the OpenSBC open session border controller.   grnVoIP has supported the OpenSourceSIP intitiative since it's inception, and we are pleased that they are able to reap tangible benefits from their investment.  The move puts the equivalent of  $7 Million in prepaid wholesale termination  traffic onto the OSBC platform and demonstrates the continuing success that companies find using open source software.</description>
      <category domain="http://www.opensourcesip.org:8080/clearspacex/blogs/tags">opensbc</category>
      <category domain="http://www.opensourcesip.org:8080/clearspacex/blogs/tags">grnvoip</category>
      <category domain="http://www.opensourcesip.org:8080/clearspacex/blogs/tags">prepaid_wholesale_sip_termination</category>
      <category domain="http://www.opensourcesip.org:8080/clearspacex/blogs/tags">opensourcesip</category>
      <pubDate>Fri, 05 Sep 2008 05:05:34 GMT</pubDate>
      <author>ehernaez</author>
      <guid>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/2008/09/05/grnvoip-implements-opensbc-for-prepaid-wholesale-business</guid>
      <dc:date>2008-09-05T05:05:34Z</dc:date>
      <wfw:comment>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/comment/grnvoip-implements-opensbc-for-prepaid-wholesale-business</wfw:comment>
      <wfw:commentRss>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/feeds/comments?blogPostID=1005</wfw:commentRss>
    </item>
    <item>
      <title>FMC with OpenSBC</title>
      <link>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/2007/11/07/fmc-with-opensbc</link>
      <description>There is a lot of hype about fixed mobile convergence (&lt;a class="jive-link-external" href="http://www.solegy.com/blog/eric/?p=84"&gt;FMC&lt;/a&gt; ).   Almost every vendor that touts a solution in this area uses the example of seamlessly transfering a call from their mobile phone to a SIP phone when the user enters a WiFi zone.   It makes for a great talking point.  Who among us hasn't walked into their office from the parking lot and asked to call or be called back on a landline?   &lt;br /&gt;
&lt;br /&gt;
In fact, it's very hard to devise a real FMC service if you are not a mobile network operator.  Doing so requires one to route the mobile leg of a call through a SIP proxy (either by forwarding your mobile phone number to a SIP DID, or by forwarding a SIP DID to your mobile phone) in order to control the signalling on the mobile leg.   It's messy because it requires the mobile call to be converted and then reconverted between TDM, VoIP and GSM protocols.  &lt;br /&gt;
&lt;br /&gt;
That said, I am happy to report that the OpenSBC team has recently added support for FMC scenarios.  It works like this:&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
1.  Caller A dials a number that is forwarded to User B's mobile phone through a SIP PSTN gateway, and User B answers; &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
2.  While the mobile call is in session, a SIP endpoint with the same user address as the mobile phone registers to OSBC;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
3.  OSBC recognizes that the new registration is a match for the ongoing session, and sends an INVITE to the newly registered endpoint;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
4.  When the endpoint OKs the INVITE, OSBC sends a re-INVITE to the SIP PSTN gateway containing the endpoints comtact information.  &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
I was excited to test this scenario recently using a my Cingular mobile phone and a UTStarcom WiFi phone. As soon as the WiFi phone registered to OSBC, the mobile call was placed on hold, and the WiFi phone started ringing.  Boy was I enthralled.  As long as I have been in this business,  it still amazes and delights me to see this  stuff work.  Sad... I know.&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
I encourage anyone else that is interested in recreating this test to give it a try.  Please post your results, good or bad, to the forum. &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
_________________________&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
NOTE:  The only carrier (so far) to deploy a public FMC service - &lt;a class="jive-link-external" href="http://www.t-mobile.com/promotions/hotspotathomelearnmore.aspx?WT.mc_n=HotSpotatHm_index&amp;#38;WT.mc_t=OnSite"&gt;T-Mobile's @Home&lt;/a&gt;  - has received less than stellar feedback from users.  Some of the complaints concern the less-than-smooth hand-off between the GSM and WiFi networks, and the tendency for the UMA handset to try to lock-in to a competing WiFi signal while a call is in session.</description>
      <category domain="http://www.opensourcesip.org:8080/clearspacex/blogs/tags">opensbc</category>
      <category domain="http://www.opensourcesip.org:8080/clearspacex/blogs/tags">fmc</category>
      <category domain="http://www.opensourcesip.org:8080/clearspacex/blogs/tags">t-mobile</category>
      <category domain="http://www.opensourcesip.org:8080/clearspacex/blogs/tags">@home</category>
      <pubDate>Wed, 07 Nov 2007 04:11:54 GMT</pubDate>
      <author>ehernaez</author>
      <guid>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/2007/11/07/fmc-with-opensbc</guid>
      <dc:date>2007-11-07T04:11:54Z</dc:date>
      <wfw:comment>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/comment/fmc-with-opensbc</wfw:comment>
      <wfw:commentRss>http://www.opensourcesip.org:8080/clearspacex/blogs/ehernaez/feeds/comments?blogPostID=1001</wfw:commentRss>
    </item>
  </channel>
</rss>

