<div dir="ltr"><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 13, 2014 at 9:39 AM, Matthew Jordan <span dir="ltr"><<a href="mailto:mjordan@digium.com" target="_blank">mjordan@digium.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On Mon, Aug 11, 2014 at 10:46 AM, Farid Fadaie <<a href="mailto:farid@bittorrent.com">farid@bittorrent.com</a>> wrote:<br>


> Hello,<br>
><br>
> Full disclosure: my name is Farid Fadaie and I'm in charge of BitTorrent<br>
> Bleep (a private P2P SIP-based messaging application in early alpha)<br>
> <a href="http://blog.bittorrent.com/2014/07/30/building-an-engine-for-decentralized-communications/" target="_blank">http://blog.bittorrent.com/2014/07/30/building-an-engine-for-decentralized-communications/</a><br>


><br>
> I have personally been a fan of Asterisk and have been using it for years<br>
> and now that we have (kind of) released Bleep, I wanted to ask you guys to<br>
> let us know what you think. Considering that Bleep is built on an engine<br>
> (think of it as a distributed SIP proxy) that supports SIP, I thought it<br>
> might be beneficial to ask you guys for your ideas.<br>
><br>
> Here is what I have in mind but will be happy to hear your thoughts on<br>
> everything that is relevant to Bleep and Asterisk:<br>
><br>
> 1- What do you think about supporting Bleep in Asterisk? Similar to Skype<br>
> channels but way more flexible (considering the interface will be SIP). Our<br>
> engine can take care of all lookups, NAT traversals, encryption, etc. We can<br>
> essentially enable Asterisk connected devices to be able to talk to Bleep<br>
> users.<br>
<br>
</div>The integration with Skype used a completely separate channel driver.<br>
Without any more information to show otherwise, I'd assume that since<br>
Bleep's protocol is SIP, both chan_sip and chan_pjsip would work "out<br>
of the box". </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Are there any specific technical differences between what Bleep and a<br>
"standard" upstream SIP provider would look like to Asterisk?<br></blockquote><div>SIP-wise they should be the same. You can use a normal SIP softphone with the engine (that's actually how we implemented this internally and test it). Having said that, they are some non-SIP features like creating a new user (done locally by creating a public/private key), authentication (for non-incognito user) we very that they actually own the phone number/email address, etc that can potentially be supported. </div>

<div><br></div><div>A simple (but probably not ideal) scenario is to just use the username field (which works <= I tried it) but it doesn't scale. </div><div>One potentially better approach is for us to allow authenticating domains (at this point we only support authenticating emails & phone numbers). With domain authentication, companies which use Asterisk can authenticate their domain and the Bleep network will route all SIP invites to that domain to their Asterisk server. Then Asterisk can decide how to route the call internally to clients that are attached to it.</div>

<div><br></div><div>In any case, my personal hack-y way of getting this to work is to run our engine and Asterisk on the same machine and configure Asterisk to use localhost as a SIP server. It probably makes more sense to enable Asterisk to talk to our engine not through a UDP socket and ideally not require two different processes (one for Asterisk and one for our engine).</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=""><br>
> 2- How could the Asterisk community benefit from Bleep (or the engine behind<br>
> it)?<br>
<br>
</div>I'll defer that question more to users - but I'm sure there are plenty<br>
of people who are interested in secure communication!<br>
<br>
{quote}<br>
All links are encrypted.  We are using secure encryption protocols<br>
such as curve25519, ed25519 , salsa20, poly1305, and others. Links<br>
between nodes are encrypted. All communication is end to end<br>
encrypted. This should be the new normal in the post-Snowden era.<br>
{quote}<br>
<br>
I think some more specific information about how things are encrypted<br>
would be useful. How do you see Bleep comparing against WebRTC, which<br>
has a similar distribution model for media? (Although signalling is<br>
not distributed; that's obviously a whole different conversation) Are<br>
you using DTLS-SRTP, or something else?<br></blockquote><div>We are certainly going to answer most of these questions. We have been extremely busy in finalizing the protocols and haven't had time to look into how we can publish the information.</div>

<div>In a nutshell, here is how it works:</div><div>The SIP client (any SIP client) talks to the engine over SIP. We intercept some of the SIP messages (like INVITE) and do a lookup to find the destination's IP through a DHT lookup (unlike some other P2P solutions, we do it in a manner that (IP, public keys) are not public so an attacker cannot just correlate IPs to public keys. Once we find the destination's IP, we create an encrypted tunnel between the two nodes and from that point on, we forward most of the SIP/RTP verbatim through the tunnel). We handle all NAT traversals (before establishing the tunnel) so that SIP peers don't need to worry about it. We rewrite SIP headers in a way that makes it seamless to the SIP endpoints. </div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=""><br>
> 3- what features would you like to see implemented in Bleep (the consumer<br>
> app) or its engine?<br>
<br>
<br>
</div>I'll defer that question more to users as well :-)<br>
<div class=""><br>
> Let's see if we can come up with any interesting idea. Thanks in advance.<br>
><br>
<br>
</div>So this definitely sounds very interesting. I think some more<br>
technical details about Bleep would be helpful for the Asterisk<br>
developers, so we could see what would be needed for Asterisk to<br>
communicate with Bleep.<br>
<br>
Thanks!<br>
<br>
Matt<br></blockquote><div><br></div><div>Thanks for your input Matt.  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Matthew Jordan<br>
Digium, Inc. | Engineering Manager<br>
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA<br>
Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> & <a href="http://asterisk.org" target="_blank">http://asterisk.org</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
New to Asterisk? Join us for a live introductory webinar every Thurs:<br>
               <a href="http://www.asterisk.org/hello" target="_blank">http://www.asterisk.org/hello</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Farid Fadaie<div><div><a href="http://twitter.com/intent/user?screen_name=ffadaie" target="_blank">@ffadaie</a><br></div></div><div>

<a href="http://www.linkedin.com/in/faridfadaie" target="_blank">Linkedin<span></span><span></span></a></div><div><br></div></div>
</div></div>