Here are some details... : )
For those of you who aren't familiar with P2PSIP or RELOAD, they replace the
server-based rendezvous system of SIP with a peer-to-peer system based on a
distributed hash table (DHT). Instead of having fixed servers, the UAs
cooperate to provide a distributed registrar and rendezvous function. Roughly,
the way this works is:
- When my UA starts up it joins the P2P overlay and stores its registration in
the overlay.
- Each UA stores other people's registrations.
- When I want to make a phone call to "alice@xxxxxxxxxxx"
I use the overlay to rendezvous with here and form a direct
connection which I can use to exchange SIP messages.
A key element of the design is that once the connection is set up between the
UAs they just exchange ordinary SIP messages and phone calls proceed as usual.
This is intended to allow easy integration
with existing SIP stacks and UAs.
At the end of the coding session we would like to have:
- A working RELOAD stack that can participate in the P2P network, including
storing and retrieving data
and routing messages.
- A version of reSIProcate that's integrated with the RELOAD stack
and can use it to REGISTER itself and make SIP calls.
The tasks we will be working on include:
- RELOAD stack
+ Connection formation between overlay peers
. ICE
. TLS/DTLS
+ Overlay maintenance (joining, leaving, updates)
. Implementation of a single DHT (Chord)
+ Message routing
+ Data storage and retrieval
+ Enrollment
. Certificate server
+ reSIProcate
+ A new transport that can use RELOAD to set up
connections and send SIP messages
+ The "SIP registrar usage" which stores registrations
in the overlay