These instructions show you how to install the P2PNS implementation for Linux. Compiling for Windows is currently not supported. 1. Download and install [http://www.oversim.org/ OverSim] according to the these [http://www.oversim.org/wiki/OverSimInstall install instructions]. 2. Download the modified OpenSER SIP proxy [/chrome/site/openser-1.3.1-p2psip-20080926.tgz openser-1.3.1-p2psip-20080926.tgz] and extract in next to your !OverSim installation: {{{ cd ~/sim tar xzf /tmp/openser-1.3.1-p2psip-20080926.tgz }}} 3. Compile and install OpenSER: {{{ cd ~/sim/openser-1.3.1-p2psip make prefix=`pwd/install` install }}} 4. Edit openser-1.3.1-p2psip/install/etc/openser/openser.cfg and change the following parameters: {{{ listen: change this to the local IP mpath: change this to the module path of your OpenSER installation (e.g. /home/user/sim/open-1.3.1-p2psip/install/lib/openser/modules/) }}} 5. Edit !OverSim-20080919/Simulations/realworld/realdhtapp.ini and remove the bootstrap IP (since this is the first node in the overlay): {{{ bootstrapIP: replace the "10.6.0.1" by "" }}} 6. Start !OverSim and click on the "FAST" button: {{{ cd ~/sim/OverSim bin/OverSim -f Simulations/realworld/realdhtapp.ini }}} 7. Start OpenSER (in a new terminal): {{{ cd ~/sim/openser-1.3.1-p2psip install/sbin/openser -f install/etc/openser/openser.cfg }}} 8. Start and configure a SIP UA of your choice (e.g. [http://www.ekiga.org/ Ekiga]): {{{ - Set the outgoing proxy to ''localIP'':5061 (With Ekiga: ''Edit->Preferences->SIP Settings->Outbound Proxy'' - Create a new SIP account with an arbitrary username and the domain ''p2p'' (e.g. alice@p2p) (With Ekiga: ''Edit->Accounts->Add'': Account Name and User ''alice'' and Registrar ''p2p'') - Register the account at the local SIP proxy (With Ekiga: ''Edit->Accounts'': Click the checkbox next to the account, if it's not already registered) }}} Congratulations - now you should have a running P2PNS installation. With this setup you could connect a second SIP UA to the same local proxy and start a call between the two UAs. Of course a peer-to-peer network with a single node is not very interesting ;-) You have to alternatives to add additional overlay nodes: === Emulation of additional nodes by using the tun interface (needs root privileges) === 5a. Adapt !OverSim-20080919/Simulations/realworld/setup-realdht to your environment (username and LD_LIBRARY_PATH). If you removed the bootstrapIP paramter from realdhtapp.ini in step 5 restore the old "10.6.0.1" setting. 6a. Start !OverSim, enter your password and click on the "FAST" button for both !OverSim processes: {{{ cd ~/sim/OverSim/Simulations/realworld ./setup-realdht }}} In this configuration there is a second !OverSim process emulating 10 additional overlay nodes. === Adding additional overlay nodes (you need multiple machines for this) === 9. Install !OverSim and OpenSER on a second machine. If you simply want to copy the !OverSim binary, you should make a static binary with compiled in NED files (but you can't make a static OpenSER binary): {{{ - Set build_shared_libs=no in omnetpp-3.4b2/configure.user - Remove ''-N'' from OPTS in OverSim-20080919 - Rebuild OMNeT++, INET, and OverSim (run configure, makemake and make) }}} 10. Now change realdhtapp.ini on the second machine: {{{ - Replace the run number (''Run'' and ''default-run'') by a unique number for each node (Otherwise all nodes will have the same nodeID!) - Set bootstrapIP to the IP of the first overlay node }}} 11. Start !OverSim and OpenSER on the second machine (see steps 6 and 7).