<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
<title></title>
<meta name="GENERATOR" content="OpenOffice.org 3.1  (Linux)">
<style type="text/css">
        <!--
                @page { margin: 0.79in }
                P { margin-bottom: 0.08in }
                A:link { so-language: zxx }
        -->
        </style>
<p class="western" style="margin-bottom: 0in;">Hi,</p>
<p class="western" style="margin-bottom: 0in;"> </p>
<p class="western" style="margin-bottom: 0in;">A new feature has been
added to OpenSIPS: a signaling B2BUA implementation. This
implementation gives OpenSIPS power over the calls and makes possible
building some PBX specific services. It is not a full B2BUA as it
does not handle media, but only creates and controls media sessions.</p>
<p class="western">B2BUA in OpenSIPS is an implementation of the
behavior of a B2BUA as defined in RFC 3261 that offers the
possibility to build certain services on top of it. It consists of
two modules: </p>
<ul>
  <li>
    <p class="western" style="margin-bottom: 0in;">b2b_entities - the
bottom half, implementing the behavior of UAC and UAS (B2BUA) </p>
  </li>
  <li>
    <p class="western">b2b_logic - the upper half, implementing a logic
for analyzing and applying services scenarios to achieve the desired
B2BUA specific services. </p>
  </li>
</ul>
<p class="western">The reason for which the architecture has two
parts is to allow extensions and integration with other system that
might implement their own logic interpretor. Instead of the b2b_logic
module, another module with a different logic interpretor or scenario
source can be added and use the interface that the
b2b_entities module offers to build quickly a new B2BUA
implementation. The b2b_entities role in the processing is an
independent one that is required in any B2B implementation and it is
therefore encoded in a separate module. It offer an upper level
library that will make the implementation of another logic
interpreter and applier much easier.</p>
<p class="western" style="margin-bottom: 0in;">The services are
defined in <b>scenario documents</b><span style="font-weight: normal;">
that are XML documents with a structure that allows describing many
services described in detail
here <a href="http://www.opensips.org/Resources/B2buaTutorial#toc7">http://www.opensips.org/Resources/B2buaTutorial#toc7</a>.</span></p>
<p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">There
are two means to trigger a B2BUA service:</span></p>
<ul>
  <li>
    <p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">when a SIP message is received, by
calling a function from the script</span></p>
  </li>
  <li>
    <p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">by sending an MI command</span></p>
  </li>
</ul>
<p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">When
a certain service should be initiated is left at the decision of
the administrator.</span></p>
<p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">In
the documentation page you can find two services examples with their
corresponding scenario documents</span></p>
<ul>
  <li>
    <p class="western" style="margin-bottom: 0in;"><a
 href="http://www.opensips.org/Resources/B2buaTutorial#toc12"><b>Prepaid</b></a><span
 style="font-weight: normal;"><a
 href="http://www.opensips.org/Resources/B2buaTutorial#toc12">
    </a> service &#8211; triggered from the script.</span></p>
  </li>
  <li>
    <p class="western" style="margin-bottom: 0in;"><a
 href="http://www.opensips.org/Resources/B2buaTutorial#toc13"><b>Marketing</b></a><span
 style="font-weight: normal;"> service &#8211; triggered with an MI command.</span></p>
  </li>
</ul>
<p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">Other
services can also be defined as long as the document format permits
describing the needed actions. This
implementation is only an initial version and it can be extended to
support other services definitions if they will be requested for.</span></p>
<p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">We
hope that this will be an useful feature and look forward to hear
your feedback.</span></p>
<p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">You
can read more here <a
 href="http://www.opensips.org/Resources/B2buaTutorial">http://www.opensips.org/Resources/B2buaTutorial</a>.
<br>
Also you can check out the modules documentation:
<a
 href="http://www.opensips.org/html/docs/modules/devel/b2b_entities.html">http://www.opensips.org/html/docs/modules/devel/b2b_entities.html</a>
and <a
 href="http://www.opensips.org/html/docs/modules/devel/b2b_logic.html">http://www.opensips.org/html/docs/modules/devel/b2b_logic.html</a>.</span></p>
<br>
<p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;">Regards,<br>
Anca<br>
</span></p>
<p class="western" style="margin-bottom: 0in;"><span
 style="font-weight: normal;"><br>
</span></p>
</body>
</html>