sun microsystems Systems Architecture Committee _________________________________________________________________ Subject: SIP Library Integration Submitted by: Venugopal Iyer File: PSARC/2006/402/opinion.ms Date: August 9th, 2006 Committee: James D. Carlson, Kais Belgaied, Ed Gould, Glenn Skinner, William Sommerfeld, Gary Winiger. Product Approval Committee: Solaris PAC solaris-pac@sun.com 1. Summary This project delivers a library that implements the Session Initiation Protocol, which is used in telecommunications applications. It does not deliver the applications that use it, but can be used to build applications that require a C programming interface. 2. Decision & Precedence Information The project is approved as specified in reference [1], but as modified by the technical change required listed in Appendix A below. The project the project may be delivered in a patch/micro release of Solaris via the ON consolidation. 3. Interfaces PSARC/2006/402 Copyright 2006 Sun Microsystems, Inc. - 2 - The project exports the following interfaces. __________________________________________ | Interfaces Exported | |_________|________________|_____________| |Interface| Classification| Comments | |_________|________________|_____________| |SIP API | Committed | See [1] | | | Committed | Header File| |-lsip | Committed | Library | |_________|________________|_____________| 4. Opinion 4.1. State Management The library has just one globally initialized state, which means that sip_stack_init() cannot be called more than once in an application, and there should be no more than one user of the library in a given application. Several ARC members noted that this limitation means that it should not be used from within other libraries, and that the documentation must be updated to make this limitation clear. This discussion led to the first technical change required, listed in Appendix A below. 4.2. Standards Much of the review discussion for this case and the super- seded "Session Initiation Protocol (SIP) API" (PSARC 2005/451) project dealt with the lack of interoperable API standards for SIP, and the generally uneven state of the open source alternatives. While many of the committee members felt that this project would be more successful with such a standard in place, there was no consensus to require this standardization. 4.3. Documentation An ARC member noted that the documentation for this library is very important if the library is to be usable by applica- tion developers. The project team is advised to put every effort into making certain that the documentation is clear and complete. 5. Minority Opinion(s) None PSARC/2006/402 Copyright 2006 Sun Microsystems, Inc. - 3 - 6. Advisory Information None 7. Appendices 7.1. Appendix A: Technical Changes Required 1. The sip_stack_init() function must fail if called more than once within a single process. 7.2. Appendix B: Technical Changes Advised None 7.3. Appendix C: Reference Material Unless stated otherwise, path names are relative to the case directory PSARC/2006/402. 1. SIP API File: commitment.materials/sipapi.pdf PSARC/2006/402 Copyright 2006 Sun Microsystems, Inc.