<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    a new module is now on development branch, named msrp, offering an
    embedded MSRP relay.
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    Message Session Relay Protocol is specified by IETF (
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    core and relay part in RFC4975 and
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    RFC4976), one of typical use cases is Instant Messaging sessions
    negotiated via INVITE-200ok-ACK, a different approach than SIP
    MESSAGE request.<br>
    <br>
    There is no external dependency, the transport layer from core is
    reused to manage TCP/TLS connections used for MSRP. A MSRP relay is
    pretty much an independent node, thus you can run Kamailio just to
    deal with MSRP traffic. But there is no problem to run Kamailio to
    handle SIP and MSRP traffic in the same instance, same or different
    sockets (it is working even when SIP/MSRP are sent over the same
    connection or different connections to same port).<br>
    <br>
    I couldn't find a reliable and trustable open source SIP phone to
    test with it so far (hints are welcome), the module was tested with
    network tools and chaining Kamailio instances. Help with testing and
    feedback is very appreciated -- I can provide guidelines to adjust
    the config file to fit tester's needs, just contact me off list or
    via IRC channel.<br>
    <br>
    For the moment, the relation (user,session) management is done in
    the config, using htable module for example (see the README), it may
    be added inside the module for the future to make it easier overall,
    although is less than 10 lines of config -- this is mainly for extra
    security reasons, to check if the session id matches the connection
    that was opened when the session was created, otherwise the user
    authentication functionality is done reusing existing functions from
    auth module. Another benefit is performances, storing local socket
    and connection IP/port saves some time to lookup the connection.<br>
    <br>
    Building MSRP relay on top of SIP server was done first for the
    benefit of reusing the transport layer from the core for IPv4/IPv6
    and TCP/TLS, which is mature, scalable and offers asynchronous
    communication. Besides that, you have most of the config tools to
    route SIP requests available for routing MSRP (authentication,
    authorization, IP checking, accounting, a.s.o.).<br>
    <br>
    I made a news post with more details:<br>
    <br>
    &nbsp; *
    <a class="moz-txt-link-freetext" href="http://www.kamailio.org/w/2012/01/new-module-embedded-msrp-relay/">http://www.kamailio.org/w/2012/01/new-module-embedded-msrp-relay/</a><br>
    <br>
    The readme of the new module is available at:<br>
    <br>
    &nbsp; * <a class="moz-txt-link-freetext" href="http://kamailio.org/docs/modules/devel/modules/msrp.html">http://kamailio.org/docs/modules/devel/modules/msrp.html</a><br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla -- <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://linkedin.com/in/miconda">http://linkedin.com/in/miconda</a> -- <a class="moz-txt-link-freetext" href="http://twitter.com/miconda">http://twitter.com/miconda</a></pre>
  </body>
</html>