Voice Over IP (VOIP) Using P2P Sockets
Enzo Michelangeli had an interesting idea on the p2p-hackers list this morning using my P2P Sockets project:
Perhaps one could combine a standard SIP proxy (better if written in Java,
like https://jain-sip-presence-proxy.dev.java.net/ ) with Brad Neuberg's
P2Psockets (which is built on top of JXTA): http://p2psockets.jxta.org/ .
What do you think, Brad?
I responded:
That sounds like a trip! Sure sounds like a worthwhile project. If you grab a Java-based SIP library that is based on java.net.socket and serversocket, you could probably port it over to P2P Sockets in a weekend just by converting it to use 'new P2PServerSocket' and 'new P2PSocket' wherever you see 'new ServerSocket' and 'new Socket'; you also need to add some code to initialize the P2P network, which is pretty easy. I'd be interested in seeing what the performance is, as well as how long it takes to establish a connection. Also, I'm not that familiar with SIP; how does it establish endpoints that you can communicate with? Does it use DNS? If it uses DNS you could convert it to use the P2P DNS in P2P Sockets. Note however that P2P Socket's distributed DNS system isn't secure, though.
This would be an easy and fun proof-of-concept port if folks are interested.
What do folks think of this? Post your replies as comments to this weblog entry.
Perhaps one could combine a standard SIP proxy (better if written in Java,
like https://jain-sip-presence-proxy.dev.java.net/ ) with Brad Neuberg's
P2Psockets (which is built on top of JXTA): http://p2psockets.jxta.org/ .
What do you think, Brad?
I responded:
That sounds like a trip! Sure sounds like a worthwhile project. If you grab a Java-based SIP library that is based on java.net.socket and serversocket, you could probably port it over to P2P Sockets in a weekend just by converting it to use 'new P2PServerSocket' and 'new P2PSocket' wherever you see 'new ServerSocket' and 'new Socket'; you also need to add some code to initialize the P2P network, which is pretty easy. I'd be interested in seeing what the performance is, as well as how long it takes to establish a connection. Also, I'm not that familiar with SIP; how does it establish endpoints that you can communicate with? Does it use DNS? If it uses DNS you could convert it to use the P2P DNS in P2P Sockets. Note however that P2P Socket's distributed DNS system isn't secure, though.
This would be an easy and fun proof-of-concept port if folks are interested.
What do folks think of this? Post your replies as comments to this weblog entry.
Comments