.de Sc
\\s-1\\$1\\s0\\$2
..
.ds cA 2006/402
.ds aR \s-1PSARC\s0
.LP
.so ../../amac
.Co
.ds LF \fI\*(aR/\*(cA\fP
.ds RF \fICopyright 2006 Sun Microsystems, Inc.\fP
.if n .ds CF
.IP \fBSubject:\fP 15
SIP Library Integration
.IP "\fBSubmitted by:\fP" 15
Venugopal Iyer
.IP \fBFile:\fP 15
\*(aR/\*(cA/opinion.ms
.IP \fBDate:\fP 15
August 9th, 2006
.IP "\fBCommittee:\fP" 15
James D. Carlson,
Kais Belgaied,
Ed Gould,
Glenn Skinner,
William Sommerfeld,
Gary Winiger.
.IP "\fBProduct Approval Committee:\fP" 15

Solaris PAC
.br
solaris-pac@sun.com

.pn 2
.NH
Summary
.LP
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.

.NH
Decision & Precedence Information
.LP

The project is approved as specified in reference [1], but as modified
by the technical change required listed in Appendix A below.

.LP

The project the project may be delivered in a patch/micro release of
Solaris via the ON consolidation.

.NH
Interfaces
.LP
The project exports the following interfaces.
.if n .ne 8
.if t .ne 3
.TS H
box;
c s s
l | l | l.
Interfaces Exported
_
Interface	Classification	Comments
_
.TH
SIP API	Committed	See [1]
<sip.h>	Committed	Header File
-lsip	Committed	Library
.TE
.NH
Opinion
.LP
.NH 2
State Management
.LP
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.
.LP
This discussion led to the first technical change required, listed in
Appendix A below.
.NH 2
Standards
.LP
Much of the review discussion for this case and the superseded
"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.
.NH 2
Documentation
.LP
An ARC member noted that the documentation for this library is very
important if the library is to be usable by application developers.
The project team is advised to put every effort into making certain
that the documentation is clear and complete.
.NH
Minority Opinion(s)
.LP
None
.NH
Advisory Information
.LP
None
.NH
Appendices
.NH 2
Appendix A: Technical Changes Required
.LP
.RS
.IP 1.
The sip_stack_init() function must fail if called more than once
within a single process.
.RE
.NH 2
Appendix B: Technical Changes Advised
.LP
None
.NH 2
Appendix C: Reference Material
.LP
Unless stated otherwise, path names are relative to the case
directory \*(aR/\*(cA.
.IP 1.
SIP API
.br
File:
commitment.materials/sipapi.pdf
