What's in this Distribution?
This distribution contains JAVA(TM) libraries for the following:The Session Initiation Protocol (RFC 3261) is a text based signaling protocol that is widely used for IP Telephony, Instant Messaging and and Internet Conferencing applications.
- The official Reference Implementation of the JAIN SIP (v 1.2) API (JSR 32) maintenance release.
- The Technology Compatibility Kit (TCK) for the maintenance release of JSR 32.
- An implementation of the JAIN SDP API (JSR 141).
The Session Description Protocol ( RFC 2327 ) is used for describing media sessions and is frequently used in conjunction with SIP.
Primarily, this distribution contains a protocol stack/library that will help you build and test SIP applications and servers.
Core Library and Stack Packages
This packages included in the gov.nist.javax.sip hierarchy form the reference implementation for JAIN-SIP 1.2 JSR-32 maintenance release. JAIN-SIP is a low level protocol API for SIP.Technology Compatibility Kit
The source code for the technology compatibility kit is provided in the directory src/test/tck.Examples
See the directory src/examples which contains several skeleton examples that illustrate how to use this software.Tools
A trace viewer application that can be used to view the traces generated by the NIST Stack This is our primary debugging tool. To report stack problems please send us a debug log which can be input to the trace viewer to determine the problem.Build Instructions
It is highly recommended that you use J2SDK 1.4.2 or above. However, you can also build RI under JDK 1.3.1 (for use on PDA's). Get the source from CVS or the nightly snapshot. Visit the stable repository on java.net and follow the instructions there to get the source code. The build tool is Apache Ant.Here is how you can build and run the TCK against your own implementation:
- Install the ant junit extension: copy the file lib/junitXXX.jar to $ANT_HOME/lib
- The following ant targets are relevant:
- ant make makes everything. A jar file JainSipRi1.2.jar will be generated which is the RI for JAIN-SIP 1.2.
- ant javadoc makes the documentation
- ant tools makes the tools
- ant examples makes the examples.
- ant compileri makes just the RI.
- ant compiletck makes the tck
- ant runtck makes the tck and runs it
- make the RI using the instructions above.
- Edit the tck.properties file to point to your implementation.
ant runtck Reporting Bugs
To report bugs you need to enable debugging and message logging. Set the gov.nist.javax.sip.TRACE_LEVEL property to DEBUG enable debugging (see documentation for gov.nist.javax.SipStackImpl.java). Set the gov.nist.javax.sip.DEBUG_LOG property to a writeable file name (eg. debuglog.txt). Send us the generated debug log file to help us determine the problem. Post an issue to the bug tracker at the jain-sip project at java.net so we can better track bugs, and email us at nist-sip-dev@antd.nist.gov to notify us. Note that you need to join the project on java.net as an observer to post an issue. Follow the instructions on the java.net website above to do this.Copyrights (or lack thereof) and Other Disclaimers
The software was developed by employees of the National Institute of Standards and Technology (NIST), an agency of the Federal Government. Pursuant to title 15 Untied States Code Section 105, works of NIST employees are not subject to copyright protection in the United States and are considered to be in the public domain. As a result, a formal license is not needed to use the software. That means you can incorporate it into any product you wish or use it as-is free of any royalty payments or license agreements.
The software is provided by NIST as a service and is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY. NIST does not warrant or make any representations regarding the use of the software or the results thereof, including but not limited to the correctness, accuracy, reliability or usefulness of the software.
Permission to use this software is contingent upon your acceptance of the terms of this agreement.
This work is not an endorsement of any product or protocol. We would appreciate your acknowledgment if you find this software useful.
Some tools included in this distribution (although not the RI itself) use technology that was developed by the Apache Software Foundation. The libraries used by these tools are re-distributed in binary form under the Apache Software License ( a copy of which is included herein ).
The TCK uses the test framework
junit which is used under the IBM Common Public License agreement.The JAIN-SIP API interface specification is the intellectual property of Sun Microsystems.
The SDP API interface specification (JSR 141) is the intellectual property of DynamicSoft. It is used here under the JCP license.
JAVA and the Java Coffee Cup Logo are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
We have provided links to external web pages from this page because it has information that may be of interest to our users. NIST does not necessarily endorse the views expressed or the facts or fiction presented on these sites. Further, NIST does not endorse any commercial products that may be advertised or available on these sites.
Release Status
The RI and TCK are stable. JAIN-SIP 1.2 is pending final review by the JCP PMO.Support
As in much open of source software, the NIST-SIP is (and will remain) user supported and user tested code. Before you incorporate this into any product, please note that NIST provides no guarantee of continuing support. You should regard this as experimental code.
However, take heart - the good news is that RI is stable and has been successfully deployed in several academic and commercial projects. The parser passes the SIPPING torture tests. It has been downloaded thousands of times and there is an active and supportive news group. Further, although this code is officially unsupported, we will try to keep up with your bug reports (and suggested fixes). You are part and parcel of this development effort and NIST-SIP is only as good as the bug reports, feature requests and usage feedback reports you send in.
Acknowledgments
Many people have contributed bug reports and suggestions. Where ever applicable, we have tried to retain acknowledgment of contributions in the code. We have compiled list of contributors. Please inform us if we have missed your name in error.
Here is a growing list of frequently asked questions
![]()