# README
Pion SDP
A Go implementation of the SDP
Roadmap
The library is used as a part of our WebRTC implementation. Please refer to that roadmap to track our major milestones.
Community
Pion has an active community on the Slack.
Follow the Pion Twitter for project updates and important WebRTC news.
We are always looking to support your projects. Please reach out if you have something to build! If you need commercial support or don't want to use public methods you can contact us at [email protected]
Contributing
Check out the contributing wiki to join the group of amazing people making this project possible
License
MIT License - see LICENSE for full text
# Functions
NewAttribute constructs a new attribute.
NewDirection defines a procedure for creating a new direction from a raw string.
NewJSEPMediaDescription creates a new MediaName with some settings that are required by the JSEP spec.
NewJSEPSessionDescription creates a new SessionDescription with some settings that are required by the JSEP spec.
NewPropertyAttribute constructs a new attribute.
# Constants
Default ext values.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Constants for SDP attributes used in JSEP.
Default ext values.
ConnectionRoleActive indicates the endpoint will initiate an outgoing connection.
ConnectionRoleActpass indicates the endpoint is willing to accept an incoming connection or to initiate an outgoing connection.
ConnectionRoleHoldconn indicates the endpoint does not want the connection to be established for the time being.
ConnectionRolePassive indicates the endpoint will accept an incoming connection.
Default ext values.
Default ext values.
Default ext values.
Default ext values.
DirectionInactive is for no communication.
DirectionRecvOnly is for incoming communication.
DirectionSendOnly is for outgoing communication.
DirectionSendRecv is for bidirectional communication.
Constants for extmap key.
Default ext values.
Default ext values.
Default ext values.
Constants for semantic tokens used in JSEP.
Constants for semantic tokens used in JSEP.
Constants for semantic tokens used in JSEP.
Constants for semantic tokens used in JSEP.
Default ext values.
# Structs
Address desribes a structured address token from within the "c=" field.
Attribute describes the "a=" field which represents the primary means for extending SDP.
Bandwidth describes an optional field which denotes the proposed bandwidth to be used by the session or media.
Codec represents a codec.
ConnectionInformation defines the representation for the "c=" field containing connection data.
ExtMap represents the activation of a single RTP header extension.
MediaDescription represents a media type.
MediaName describes the "m=" field storage structure.
Origin defines the structure for the "o=" field which provides the originator of the session plus a session identifier and version number.
RangedPort supports special format for the media field "m=" port value.
RepeatTime describes the "r=" fields of the session description which represents the intervals and durations for repeated scheduled sessions.
SessionDescription is a a well-defined format for conveying sufficient information to discover and participate in a multimedia session.
TimeDescription describes "t=", "r=" fields of the session description which are used to specify the start and stop times for a session as well as repeat intervals and durations for the scheduled session.
TimeZone defines the structured object for "z=" line which describes repeated sessions scheduling.
Timing defines the "t=" field's structured representation for the start and stop times.
# Type aliases
ConnectionRole indicates which of the end points should initiate the connection establishment.
Direction is a marker for transmission directon of an endpoint.
EmailAddress describes a structured representations for the "e=" line which specifies email contact information for the person responsible for the conference.
EncryptionKey describes the "k=" which conveys encryption key information.
Information describes the "i=" field which provides textual information about the session.
PhoneNumber describes a structured representations for the "p=" line specify phone contact information for the person responsible for the conference.
SessionName describes a structured representations for the "s=" field and is the textual session name.
Version describes the value provided by the "v=" field which gives the version of the Session Description Protocol.