[jitsi-users] Direct PC-to-PC calls


#1

I have a great deal of interest in this subject.

I share some of Piergiorgio's view on this. This has driven me crazy for a
long long time and I think it's time to solve it. I have given this a lot
of thought over the last few years.

SIP and XMPP are server oriented protocols, you need a central server for
them to work. During a call, the audio streams pass through a server (this
is known as a "bent pipe").

Up to a few months ago, Skype used to, when possible, try to set up a true
direct connect between client and client. As far as I can tell they no
longer do this. Their connections are markedly worse than just a few
months ago.

Skype holds the patent (which is quite obvious) of hooking up two peers and
bowing out of the conversation.

I would like to see an open protocol with the following features:

1) open, standard based, so it could be implemented everywhere

2) allow p2p voice/data/chat connections without a bent pipe* (serverless)
and without using skype's patent

3) univerally interconnected so that there are no "islands" (like email)

4) reasonably secure so that two parties could set up a connection on their
own without the use of a central server knowing they set up the connection
(i.e. not like skype at all in this)

5) immune to NAT *

6) something that just worked when people used it.

7) maybe SIP (or a modified SIP or XMPP) would run on or over this to get
the call set up. ZRTP certainly would run over this for the transport
between the peers.

8) ability for users to choose their own name or number in the name-space.

I think something like this is possible but it's not easy.

* The NAT problem is particularly painful to deal with if both parties are
running NAT (which is common) and neither party has UPnP enabled and no
other technique for punching a hole through NAT works. In the worst case,
a bent pipe will be necessary in some situations.

I have been thinking along the lines of using something like bittorrent
(not bittorrent itself but something similar) to keep groups of peers
connected to a shared control channel. Piergiorgio, forget about using
ssh for this.

Before I start sinking time into this, does something like this already
exist? I don't think so. Unless I totally misunderstand the protocols,
the p2p aspect does not exist in SIP or XMPP.

This is clearly not Jitsi development. But is this a good list to talk
about such things? If not, I'm happy to take this off list and set up
another list. The only reason I bring it up on this list is because of
this thread.

Michael Grant


#2

Michael,

I'm just happy something like webRTC is being created and developed to
possibly used in place of skype. Of course, both parties need connection to
the internet and TCP & RTP packets will still be traveling through routers
touching other devices that are not directly connected to your machine, but
it allows audio/video chat without plugins and its cross platform. As fast
moving as tech is, there are still limitations because of business reasons
or otherwise.

I have no doubts that you can find a group of people to develop what you're
interested in.

best,
Jungle

···

On 22 July 2013 21:08, Michael Grant <mgrant@grant.org> wrote:

I have a great deal of interest in this subject.

I share some of Piergiorgio's view on this. This has driven me crazy for
a long long time and I think it's time to solve it. I have given this a
lot of thought over the last few years.

SIP and XMPP are server oriented protocols, you need a central server for
them to work. During a call, the audio streams pass through a server (this
is known as a "bent pipe").

Up to a few months ago, Skype used to, when possible, try to set up a true
direct connect between client and client. As far as I can tell they no
longer do this. Their connections are markedly worse than just a few
months ago.

Skype holds the patent (which is quite obvious) of hooking up two peers
and bowing out of the conversation.

I would like to see an open protocol with the following features:

1) open, standard based, so it could be implemented everywhere

2) allow p2p voice/data/chat connections without a bent pipe* (serverless)
and without using skype's patent

3) univerally interconnected so that there are no "islands" (like email)

4) reasonably secure so that two parties could set up a connection on
their own without the use of a central server knowing they set up the
connection (i.e. not like skype at all in this)

5) immune to NAT *

6) something that just worked when people used it.

7) maybe SIP (or a modified SIP or XMPP) would run on or over this to get
the call set up. ZRTP certainly would run over this for the transport
between the peers.

8) ability for users to choose their own name or number in the name-space.

I think something like this is possible but it's not easy.

* The NAT problem is particularly painful to deal with if both parties are
running NAT (which is common) and neither party has UPnP enabled and no
other technique for punching a hole through NAT works. In the worst case,
a bent pipe will be necessary in some situations.

I have been thinking along the lines of using something like bittorrent
(not bittorrent itself but something similar) to keep groups of peers
connected to a shared control channel. Piergiorgio, forget about using
ssh for this.

Before I start sinking time into this, does something like this already
exist? I don't think so. Unless I totally misunderstand the protocols,
the p2p aspect does not exist in SIP or XMPP.

This is clearly not Jitsi development. But is this a good list to talk
about such things? If not, I'm happy to take this off list and set up
another list. The only reason I bring it up on this list is because of
this thread.

Michael Grant

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

--
-------
inum: 883510009902611
sip: jungleboogie@sip2sip.info


#3

SIP and XMPP are server oriented protocols, you need a central
server for them to work. During a call, the audio streams pass
through a server (this is known as a "bent pipe").

I don't know about XMPP, but that's false for SIP. *Control* packets
pass through the central server, but it's common for that server to
create a direct end-to-end connection for the audio and video.


#4

SIP and XMPP are server oriented protocols, you need a central
server for them to work. During a call, the audio streams pass
through a server (this is known as a "bent pipe").

Not actually true though. Both SIP and XMPP designed over the "trapezoid"
model where low traffic signalling goes through servers, while media is
sent end to end:

http://tools.ietf.org/html/rfc3261#page-12

Of course, sending direct media today is more difficult than in the 1990s
which is why we have ICE to help us establishing a direct connection. ICE
itself would fall back to TURN relay servers when a direct connection was
not possible.

Up to a few months ago, Skype used to, when possible, try to set up
a true direct connect between client and client. As far as I can tell
they no longer do this. Their connections are markedly worse than
just a few months ago.

I don't think this is what they've done. Very roughly speaking Skype also
used the trapezoid model. When it comes to media though their equivalent of
a TURN server was outsourced by other users. From what I've seen, this is
the part that seems to be changing: no longer relaying media through
clients but through dedicated infrastructure (only when necessary though).

This makes sense since that's how MSN / Windows Live used to work.

This is also how Jitsi works with XMPP and will also soon work with SIP.\

Skype holds the patent (which is quite obvious) of hooking up two peers

and

bowing out of the conversation.

This is the first I am hearing of such a patent. Do you have a reference?

Personally, I don't believe this is true. And this same model is used by a
number of other applications (including WebRTC).

Could it be that what you are referring to is actually the Skype DHT?

I would like to see an open protocol with the following features:

1) open, standard based, so it could be implemented everywhere

2) allow p2p voice/data/chat connections without a bent pipe*

(serverless) and

without using skype's patent

3) univerally interconnected so that there are no "islands" (like email)

4) reasonably secure so that two parties could set up a connection on

their own

without the use of a central server knowing they set up the connection

(i.e. not

like skype at all in this)

The use of a central server is orthogonal to security. End-to-end
encryption mechanisms such as ZRTP allow security even when servers are in
the middle (and there always is someone in the middle because that's how
the internet works).

5) immune to NAT *

6) something that just worked when people used it.

7) maybe SIP (or a modified SIP or XMPP) would run on or over this to get

the

call set up. ZRTP certainly would run over this for the transport between

the

peers.

8) ability for users to choose their own name or number in the name-space.

I think something like this is possible but it's not easy.

It is actually possible and it already exsits. Both SIP and XMPP (in
combination with ICE) answer all of the conditions above.

Emil

···

On Jul 23, 2013 6:08 AM, "Michael Grant" <mgrant@grant.org> wrote:


#5

You and Piergiorgio Sartor might be interested in looking at the program called
RetroShare.

It uses no server, but instead a DHT. They have very few developers, but have
managed to evolve RetroShare.

I believe they now have a VOIP plug-in. It is a very unique program, different
from everything else. They call it Friend-2-Friend F2F.

I used this some time ago when there was still a lot of toothing pain, but don't
presently have it installed. Maybe it is time to look at it again.

Regards, Earl

···

On 23/07/2013 6:08, Michael Grant wrote:

I have a great deal of interest in this subject.

I share some of Piergiorgio's view on this. This has driven me crazy for a long long time and I think it's time to solve it. I have given this a lot of thought over the last few years.

SIP and XMPP are server oriented protocols, you need a central server for them to work. During a call, the audio streams pass through a server (this is known as a "bent pipe").

Up to a few months ago, Skype used to, when possible, try to set up a true direct connect between client and client. As far as I can tell they no longer do this. Their connections are markedly worse than just a few months ago.

Skype holds the patent (which is quite obvious) of hooking up two peers and bowing out of the conversation.

I would like to see an open protocol with the following features:

1) open, standard based, so it could be implemented everywhere

2) allow p2p voice/data/chat connections without a bent pipe* (serverless) and without using skype's patent

3) univerally interconnected so that there are no "islands" (like email)

4) reasonably secure so that two parties could set up a connection on their own without the use of a central server knowing they set up the connection (i.e. not like skype at all in this)

5) immune to NAT *

6) something that just worked when people used it.

7) maybe SIP (or a modified SIP or XMPP) would run on or over this to get the call set up. ZRTP certainly would run over this for the transport between the peers.

8) ability for users to choose their own name or number in the name-space.

I think something like this is possible but it's not easy.

* The NAT problem is particularly painful to deal with if both parties are running NAT (which is common) and neither party has UPnP enabled and no other technique for punching a hole through NAT works. In the worst case, a bent pipe will be necessary in some situations.

I have been thinking along the lines of using something like bittorrent (not bittorrent itself but something similar) to keep groups of peers connected to a shared control channel. Piergiorgio, forget about using ssh for this.

Before I start sinking time into this, does something like this already exist? I don't think so. Unless I totally misunderstand the protocols, the p2p aspect does not exist in SIP or XMPP.

This is clearly not Jitsi development. But is this a good list to talk about such things? If not, I'm happy to take this off list and set up another list. The only reason I bring it up on this list is because of this thread.

Michael Grant


#6

Emil,

Maybe you could get the Jitsi web page and documentation to the fact
that direct pc-to-pc audio and video that do not pass through a server
is possible, and that it uses open protocols?

Just my $0.02
FC

···

On Tue, Jul 23, 2013 at 7:30 AM, Emil Ivov <emcho@jitsi.org> wrote:

It is actually possible and it already exsits. Both SIP and XMPP (in
combination with ICE) answer all of the conditions above.

--
During times of Universal Deceit, telling the truth becomes a revolutionary act
Durante épocas de Engaño Universal, decir la verdad se convierte en un
Acto Revolucionario
- George Orwell


#7

> Skype holds the patent (which is quite obvious) of hooking up two peers
and
> bowing out of the conversation.

This is the first I am hearing of such a patent. Do you have a reference?

Personally, I don't believe this is true. And this same model is used by a
number of other applications (including WebRTC).

Could it be that what you are referring to is actually the Skype DHT?

I can't find the what I read several years ago. I admit I may be wrong or
mis-remembered this. It may be the Joltid patent that Skype did not sell
to eBay:
http://www.tangible-ip.com/2009/ip-ownership-issues-not-just-for-skype-and-ebay.htm
(http://www.google.com/patents/US7480658). So perhaps this is a non-issue.


#8

Yup, this patent (which IIRC was indeed the origin of contention with
eBay) mostly concerns the DHT algorithms and not any specific NAT
traversal methods.

The latter are covered by ICE:

http://tools.ietf.org/html/rfc5245

Cheers,
Emil

···

On Tue, Jul 23, 2013 at 3:34 PM, Michael Grant <mgrant@grant.org> wrote:

> Skype holds the patent (which is quite obvious) of hooking up two peers
> and
> bowing out of the conversation.

This is the first I am hearing of such a patent. Do you have a reference?

Personally, I don't believe this is true. And this same model is used by a
number of other applications (including WebRTC).

Could it be that what you are referring to is actually the Skype DHT?

I can't find the what I read several years ago. I admit I may be wrong or
mis-remembered this. It may be the Joltid patent that Skype did not sell
to eBay:
http://www.tangible-ip.com/2009/ip-ownership-issues-not-just-for-skype-and-ebay.htm
(http://www.google.com/patents/US7480658). So perhaps this is a non-issue.