Note that this IETF-defined standards-track protocol is called "Session Description Protocol." The abbreviation is SDP which unfortunately overlaps with the so-called "sockets direct protocol," a non-IETF protocol defined by the InfiniBand Trade Association. The "details.txt" file is in the case directory. The protocol currently exists as a Java API, but not C. Project Name SDP (Session Description Protocol) library - RFC 4566 Release Binding "patch/micro" Dependencies This library does not depend on any other library except for libc and libm. No other libraries depend on this library. Particularly, for now, libsip.so.1 does not use any of the interfaces exported by this library. To use the interfaces exported by this library, SIP application developers and other developers who need SDP will link to this library. Project Description ---------------------- Session Description Protocol (SDP), as the name suggests, is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. SDP conveys media details like type (audio, video, etc.) and encoding (MPEG video, DivX video, etc), transport protocol (RTP/UDP/IP, H.320, etc.), addresses and ports, session name, purpose and owner and other session description metadata to the participants. SDP is used to convey session information in Session Initiation Protocol (SIP), Streaming Media (Real Time Streaming Protocol, RTSP), Email and World Wide Web and Multicast Session Announcement. In this project we provide public interfaces that parse the SDP description and check for syntax conformance (as defined in Section 9 [SDP Grammar] of RFC 4566). Interfaces to generate SDP messages and convert it to byte-string will also be provided. SDP is used predominately by SIP. Solaris has a SIP stack but this stack lacks SDP functionality. With this library Solaris SIP developers can leverage these interfaces in developing SIP applications. This would also expedite the acceptance of our SIP stack in the community as other competing stack already provides such functionality, and has been requested by customers. An SDP session description consists of number of lines of text of the form, =, where MUST be exactly one case-significant character and is a structured text whose format depends on . An example SDP description is: v=0 o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5 s=SDP Seminar i=A Seminar on the session description protocol u=http://www.example.com/seminars/sdp.pdf e=j.doe@example.com (Jane Doe) c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 r=604800 3600 0 90000 a=recvonly m=audio 49170 RTP/AVP 0 m=video 51372 RTP/AVP 99 a=rtpmap:99 h263-1998/90000 Interfaces ------------- ---------------------------------------------------------------------------- Name Stability Comments ---------------------------------------------------------------------------- libcommputil Committed library [see note] sdp_origin_t Committed Refer "details.txt" sdp_conn_t Committed sdp_bandwidth_t Committed sdp_time_t Committed sdp_repeat_t Committed sdp_zone_t Committed sdp_key_t Committed sdp_attr_t Committed sdp_media_t Committed sdp_session_t Committed sdp_list_t Committed sdp_parse() Committed Refer "details.txt" sdp_find_media() Committed sdp_find_attribute() Committed sdp_find_media_rtpmap() Committed sdp_clone_session() Committed sdp_new_session() Committed sdp_add_origin() Committed sdp_add_name() Committed sdp_add_information() Committed sdp_add_uri() Committed sdp_add_email() Committed sdp_add_phone() Committed sdp_add_connection() Committed sdp_add_bandwidth() Committed sdp_add_repeat() Committed sdp_add_time() Committed sdp_add_zone() Committed sdp_add_key() Committed sdp_add_attribute() Committed sdp_add_media() Committed sdp_session_to_str() Committed sdp_delete_all_field() Committed sdp_delete_all_media_field() Committed sdp_delete_media() Committed sdp_delete_attribute() Committed sdp_free_session() Committed ------------------------------------------------------------------------ (*) note: libcommputil - communication protocol parser utilities. We foresee several other parsers that will fit into this library in the future. Reference Documents: -------------------- (1) details.txt (can be found in case materials) This file provides more information on (a) individual structures and their members. (b) intended contract of each function, arguments it takes and its return values. (c) "libcommputil" interface usage by application developers. (2) SDP Parser design document (non-normative) http://www.opensolaris.org/os/project/network-sip/files/SDP_Parser_Design.pdf