<div dir="ltr">Cool. Would be really interesting if you can make it fully distributed. If a failure in the middle of transaction can be recovered on another node to send retransmissions and continue. Distributed timers and state all together. I will be checking it out.</div>

<div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Jul 27, 2014 at 2:05 AM, Carlos González Florido <span dir="ltr"><<a href="mailto:carlosj.gf@gmail.com" target="_blank">carlosj.gf@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello list,<div><br></div><div>I want to announce the release of version v0.4.0 of NkSIP, a SIP Erlang Framework to build scalable SIP elements very easily. About a year ago, I announced the release of the first open source version. A lot of work has been done during this year, and NkSIP is now quite stable and fully featured:</div>



<div><br></div><div><div><ul><li>Full support for all currently defined SIP methods: INVITE, ACK, REGISTER, OPTIONS, INFO, UPDATE, PRACK, SUBSCRIBE, NOTIFY, REFER, PUBLISH and MESSAGE, as an UAC, an UAS or a Proxy.<br></li>



<li>Can be used to develop very easily any possible SIP application: endpoints, stateful proxies with serial and parallel forking, stateless proxies, B2BUAs, application servers, registrars, SBCs, load generators, etc.<br>



</li><li>Transports UDP, TCP, TLS, SCTP, WS and WSS (websockets) are available, all of them capable of handling thousands of simultaneous sessions.<br></li><li>Full SIP Event support.<br></li><li>A written from scratch, fully typed 100% Erlang code with few external dependencies.<br>



</li><li>Robust and highly scalable, using all available processor cores automatically.<br></li><li>More than 150 tests covering nearly all of the functionality.<br></li><li>Sophisticated plugin mechanism, that adds very low overhead to the core.<br>



</li><li>Hot, on-the-fly core and application configuration and code upgrades.<br></li><li>IPv6 support and IPv4 <-> IPv6 bridge.<br></li><li>Full support for NAPTR and SRV location, including priority and weights.<br>



</li><li>Dialog and SDP processing utility functions, including media start and stop detection.<br></li></ul><div>A lot of functionality has been moved into plugins:</div><div><ul><li>Digest Authentication.<br></li><li>Registrar Server and Automatic Registrations.<br>



</li><li>Event State Compositor.<br></li><li>Reliable provisional responses.<br></li><li>Session Timers<br></li><li>SIP REFER.<br></li><li>Outbound and GRUU.<br></li><li>Trace and Statistics.<br></li></ul></div><div>This release also includes comprehensive documentation in the project page.<br>



</div></div></div><div><br></div><div>Now, the next target is NkCore, a distributed, generic, and easy to use Erlang application server based on the NkSIP code. NkSIP will then become a plugin of NkCore.</div><div><br></div>



<div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">As always, any feedback is welcomed. Thank you!</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">



<a href="https://github.com/kalta/nksip" target="_blank">https://github.com/kalta/<span style="color:rgb(34,34,34);background:rgb(255,255,204)">nksip</span></a><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">



<br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">Carlos González</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">@carlosjgf</div></div><div><br></div><div><br>



</div><div><br></div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>