NSIS-ka
A free C++ implementation of NSIS protocols
Last modified 2 years ago Last modified on 02/14/12 10:31:53

NSIS Implementation Project NSIS-ka

Welcome to the ITM's web site and bug tracker for all NSIS-related projects developed by the Institute of Telematics at the Karlsruhe Institute of Technology (KIT).
NSIS is the name of the Next Steps in Signaling Working Group of the IETF.

Bug reports and planned enhancements to the code are documented here. These pages also provide a wiki, a source browser and a timeline to keep track of changes to the code base. Since the implementation is a research prototype, we can only offer limited support for the code on a best-effort base. The code is currently under GPL, see License Information.

The following components are available (please see NSISFeatures for more information on supported functionality):

Component Corresponding Draft Revision (in SVN) Latest Code Release Download Tarball SLOC
GIST-ka (RFC5971) https://svn.tm.kit.edu/nsis/dist/gist-ka/trunk/ 0.97 source doxygen-docs 32,858
NATFW-ka (draft-13) https://svn.tm.kit.edu/nsis/dist/natfw-nslp-ka/trunk/ 0.97 source
QoSNSLP-ka (draft-09) https://svn.tm.kit.edu/nsis/dist/qos-nslp-ka/trunk/ 0.97 source
QSPEC-ka (RFC5975) https://svn.tm.kit.edu/nsis/dist/qspec-ka/ 0.97 source
NSIS-ka (the whole NSIS suite) https://svn.tm.kit.edu/nsis/dist/nsis-ka/trunk/ 0.97 source 67,193

To get a quick start see the Quick Start Guide in the Documentation section.

NSIS Protocol Dissectors for Wireshark

In order to analyze captures taken from an NSIS trace we provide patched 32 and 64 bit binary packages of wireshark for Ubuntu 10.04 LTS (Lucid Lynx) as well as for Ubuntu 10.10 (Maverick Mercat). The patch for the NSIS protocol dissectors origins from http://nsis.srmr.co.uk/nsis/wireshark.html. Thanks to Andrew McDonald and his team.

For Ubuntu 10.04 LTS:

32 bit i686 packages 64 bit amd64 packages
tshark 1.2.7 tshark 1.2.7
wireshark 1.2.7 wireshark 1.2.7
wireshark-common 1.2.7 wireshark-common 1.2.7

For Ubuntu 10.10:

32 bit i686 packages 64 bit amd64 packages
tshark 1.2.11 tshark 1.2.11
wireshark 1.2.11 wireshark 1.2.11
wireshark-common 1.2.11 wireshark-common 1.2.11

NSIS Signaling for IP Multicast

The NSIS protocol suite was designed to consider unicast flows only. Since NSIS offers a wide range of advanced signaling mechanisms and we felt that support for group communication would be useful, we extended our GIST and QoS NSLP implementations to support IP multicast. More details can be found here:

Session Authorization Object

In order to allow signaling messages to be authenticated, authorized, and integrety protected in parts, we implemented and extended an already existing proposal of a Session Authorization Object for NSIS. Our extensions allow for a fine-grained per-session and per-user authentication mechanism and proposes a light-weight HMAC-based integrity protection for NSIS signaling messages. More details can be found here:

GIST-aware NAT Gateway

We designed and implemented a GIST-aware NAT gateway based on the Linux Netfilter framework. This NAT gateway realizes an application layer gateway for GIST message processing in order to enable GIST to be used across such intermediate NATs. More details can be found here:

QoS NSLP Mobility Support

There is experimental support for MobileIPv6 in NSIS-ka. For instance, reservations are triggered by mobility events, such as binding updates. More details can be found here:

NSIS Interop

The 3rd international NSIS Interoperability testing event was held in Karlsruhe, Germany.
More Information

Supporting Development

You could get a guest account if you want to actively support the development of the code. In order to avoid abuse, tickets can only be created with an account. If you want to actively participate in development you can get a Trac and/or Subversion (SVN) account to get your own branches. Please see information for SVN access