Documentation for the P2PNS live demo
For demonstration purposes we've deployed our distributed name service P2PNS on the PlanetLab and G-Lab research networks. Currently our name service is running on about 450 nodes, which are monitored by a management node. Every node has registered a SIP name and can be called with an unmodified SIP UA (there's an echo service running on each node).
Please note: The current release still lacks some important security features! Therefore you can e.g. easily hijack a registered user name. This will be fixed in the next release.
Each icon represents the status of a PlanetLab node. The lower part of the icon shows the general node status, the middle part shows the overlay status and the upper part indicates, if the node has successfully registered a SIP name.
Things you should try:
- Watch the load average of a PlanetLab node by clicking on an icon on the monitor page.
- Make a test call from the management node (located in Karlsruhe, Germany) to any of the PlanetLab nodes: Click on an icon on the monitor page and then click on the "Call this node" link. This will open a new window showing the call setup latency (from the initial SIP INVITE to the 200 OK) and the number of SIP retransmissions for this call.
- You can try a test call with you local SIP client: Simply click on an icon on the monitor page and search for the registered SIP name (sip:firstname.lastname@example.org). Dial this name with your SIP UA and you should get connected to the echo test service on this node.
- Use the command interface from the monitor page to control a P2PNS node. You could e.g. try to lookup the siblings to a key using different routing modes and compare the measured lookup latencies.
- Register a new SIP user in the P2PSIP overlay with your local SIP client: Configure p2pname.org:5061 as registrar and outgoing SIP proxy. Then choose an arbitrary user name (with the domain part @p2pname.org) and an empty password.
- Instead of p2pname.org:5061 you could also pick any of the PlanetLab nodes as gateway to register at the P2SIP network. You'll find the hostname of a PlanetLab node at the top the info window after clicking on an icon (the port is always 5061).
The P2PNS nodes in PlanetLab currently use the following parameters:
- Kademlia with k=20 node per bucket and s=8 siblings
- Iterative (default), exhaustive iterative, semi recursive, full recursive or source routing
- Only UDP for overlay signaling
- DHT with 4 replica
- Parallel lookups and DHT queries