<div dir="ltr">Hello,<div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Oct 13, 2013 at 2:12 AM, Petter Reinholdtsen <span dir="ltr"><<a href="mailto:pere@hungry.com" target="_blank">pere@hungry.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">[Paul Gardner-Stephen]<br>
> Hello all,<br>
<br>
Hi.  Very pleased to hear from you, and very valuable to learn about<br>
the current status of the Serval project.  I hope we can make sure a<br>
Freedombox mesh will provide the Serval project with a mesh to<br>
communicate on. :)</blockquote><div><br></div><div>This would be lovely :)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">
> So some clarification here:<br>
><br>
> Serval used to use the original layer-3 batman, and can still coexist with<br>
> batman, batman-adv, babel, olsrd etc.  But Serval now includes its own mesh<br>
> routing protocol, for many of the reasons that are stimulating discussion<br>
> here.<br>
<br>
</div>Right.  Where is the source for this new protocol available?  Is it a<br>
kernel module or a user space implementation?</blockquote><div><br></div><div><a href="http://github.com/servalproject/serval-dna">http://github.com/servalproject/serval-dna</a> is the main repo you will need.</div><div>
It is entirely userspace, because we want it to be able to run on phones, closed operating systems and other devices where kernel modules are impossible or impractical.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">
> This security platform was recently recognised at the Global Security<br>
> Challenge grand-final in London where we received an Honourable Mention,<br>
> coming a close second in the entire competition -- against entrants from<br>
> the USA, UK, Israel and other major players in the security space.<br>
><br>
> We do not rest on our laurels, nor do we take the praise of men as meaning<br>
> that we have a perfect or vulnerability-free system.  But we do believe<br>
> that we have created something that has great potential in the open-source<br>
> world, and especially for projects like Freedom Box where private<br>
> correspondence (text, voice and data) on a fully-distributed<br>
> self-organising network is a major objective.<br>
<br>
</div>Great.  How hard would it be to create a Serval based soft phone on<br>
Debian?  Which part of the source is needed, and which part can be<br>
ignored?</blockquote><div><br></div><div>It would be fairly easy for a competent C developer:</div><div><br></div><div>1. Build servald for Debian (fairly trivial, as it can be built with a gcc -o servald *.c approach if needed, as it has very minimal external dependencies on purpose).</div>
<div>2. Write a VoMP client (see our Android source at <a href="http://github.com/servalproject/batphone">http://github.com/servalproject/batphone</a>).  This can be done in <1000 lines of code, and probably nearer 100 lines.</div>
<div><br></div><div>The main challenge will be understanding how to use the MDP socket interface (which we admit isn't as good as it could be just yet), and getting your head around the (WAY simpler than SIP) VoMP state model.  An older version of the VoMP packet formats etc is available in the Serval Security Framework document (which could do with some general updating) at <a href="http://github.com/servalproject/serval-docs">http://github.com/servalproject/serval-docs</a>.  While the VoMP packet formats have changed (see the <a href="http://github.com/servalproject/batphone">http://github.com/servalproject/batphone</a> code for the new packet formats), the state model is essentially unchanged.</div>
<div><br></div><div>I reckon someone could have a command-line Serval soft phone running on an arbitrary Linux distribution in under a week. We are happy to have our brains picked by anyone thinking of doing this, and we would certainly love to have it implemented. </div>
<div><br></div><div>Ditto for a Serval Rhizome desktop client for our mesh file distribution system, which I suspect would also be useful for Freedom Box, as we have already demonstrated over-the-mesh signed updates.  Most fun experience of that was when I was visiting the Commotion Wireless guys in Washington DC and I had forgot to update my phone to the latest Serval Mesh and so I wasn't getting a key function that I needed, and that was available on the phones I had prepared for the others to use.  As I was grumbling about this and wondering how I was going to update it without internet access etc, my phone buzzed and told me that an update to the Serval Mesh had arrived over the mesh, and would I like to install it.  This was the same day we just about froze to death on the National Mall before sending encrypted MeshMS (our mesh-based SMS-like service) in the Washington subway:</div>
<div><br></div><div><a href="http://servalpaul.blogspot.com.au/2013/05/range-testing-serval-mesh-extender-on.html">http://servalpaul.blogspot.com.au/2013/05/range-testing-serval-mesh-extender-on.html</a><br></div><div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">
> > As mentioned, because all Serval services operate in parallel to<br>
> IP, this means you can mix and match Serval service with your<br>
> favourite traditional mesh routing protocols should you wish to use<br>
> them.<br>
<br>
</div>Very cool. :)<br>
<div class="im"><br>
> We think that we have some interesting technologies that are of use<br>
> to this community, and of course since we develop them as free and<br>
> open-source software, we encourage this community to take whatever<br>
> they find useful, and perhaps even open a conversation for us to<br>
> work out what activities and efforts are in the intersection of our<br>
> needs and objectives, and apply some combined energy that will<br>
> accelerate our mutual progress towards our goals.<br>
<br>
</div>Very good.  Are you on IRC (#freedombox on <a href="http://irc.debian.org" target="_blank">irc.debian.org</a>)?</blockquote><div><br></div><div>Just hopped on.</div><div><br></div><div>Keep up the good work,</div><div>
<br></div><div>Paul.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">

--<br>
Happy hacking<br>
Petter Reinholdtsen<br>
<br>
_______________________________________________<br>
Freedombox-discuss mailing list<br>
<a href="mailto:Freedombox-discuss@lists.alioth.debian.org">Freedombox-discuss@lists.alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss" target="_blank">http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss</a><br>
</div></div></blockquote></div><br></div></div>