Documentation
¶
Index ¶
- func Step01_StartSession(state *model.ConnectionState) error
- func Step02_Authenticate(state *model.ConnectionState) error
- func Step03_RestartStream(state *model.ConnectionState) error
- func Step04_BindResource(state *model.ConnectionState) error
- func Step05_CreateSession(state *model.ConnectionState) error
- func Step06_DiscoverServices(state *model.ConnectionState) error
- func Step07_CreateConference(state *model.ConnectionState) error
- func Step08_JoinRoom(state *model.ConnectionState) error
- func Step09_WaitForJingleOffer(state *model.ConnectionState) error
- func Step10_SendSessionAccept(state *model.ConnectionState) error
- func Step10_Sender_SendSessionAccept(state *model.ConnectionState) error
- func Step11_Sender_AnnounceCameraSource(state *model.ConnectionState) error
- type CodecListElem
- type DTLSFingerprint
- type DiscoFeature
- type DiscoIdentity
- type DiscoInfoQuery
- type ExtDiscoServices
- type ExtmapAllowMixed
- type FocusConference
- type FocusProperty
- type HostCandidate
- type ICECandidateElem
- type ICETransport
- type IQBind
- type IQConference
- type IQDiscoInfoResult
- type IQDiscoverServices
- type IQJingle
- type IQPing
- type IQSession
- type JingleContent
- type JingleElem
- type JingleGroup
- type JingleGroupContent
- type MUCPresence
- type MUCX
- type NickElem
- type PayloadType
- type RTCPFeedback
- type RTCPMuxElem
- type RTPDescription
- type RTPHeaderExt
- type RTPParameter
- type RTPSource
- type SASLAuth
- type SCTPMapElem
- type SSMAParameter
- type SourceInfoElem
- type XMPPBind
- type XMPPPing
- type XMPPSession
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Step01_StartSession ¶
func Step01_StartSession(state *model.ConnectionState) error
Step01_StartSession starts the BOSH session: sends the initial request, parses SID/AuthID.
func Step02_Authenticate ¶
func Step02_Authenticate(state *model.ConnectionState) error
Step02_Authenticate sends the SASL auth request (ANONYMOUS) and checks for success.
func Step03_RestartStream ¶
func Step03_RestartStream(state *model.ConnectionState) error
Step03_RestartStream sends the stream restart request after SASL success.
func Step04_BindResource ¶
func Step04_BindResource(state *model.ConnectionState) error
Step04_BindResource sends an <iq type='set'> to bind a resource and gets your JID.
func Step05_CreateSession ¶
func Step05_CreateSession(state *model.ConnectionState) error
Step05_CreateSession sends the IQ to create a session. Completes XMPP session negotiation after resource binding.
func Step06_DiscoverServices ¶
func Step06_DiscoverServices(state *model.ConnectionState) error
Step06_DiscoverServices queries the STUN/TURN servers via extdisco.
func Step07_CreateConference ¶
func Step07_CreateConference(state *model.ConnectionState) error
Step07_CreateConference sends the IQ to the focus component to create/join the conference.
func Step08_JoinRoom ¶
func Step08_JoinRoom(state *model.ConnectionState) error
Step08_JoinRoom sends the initial <presence/> stanza to the MUC room.
func Step09_WaitForJingleOffer ¶
func Step09_WaitForJingleOffer(state *model.ConnectionState) error
func Step10_SendSessionAccept ¶
func Step10_SendSessionAccept(state *model.ConnectionState) error
func Step10_Sender_SendSessionAccept ¶
func Step10_Sender_SendSessionAccept(state *model.ConnectionState) error
func Step11_Sender_AnnounceCameraSource ¶
func Step11_Sender_AnnounceCameraSource(state *model.ConnectionState) error
Types ¶
type CodecListElem ¶
type DTLSFingerprint ¶
type DiscoFeature ¶
type DiscoIdentity ¶
type DiscoInfoQuery ¶
type DiscoInfoQuery struct {
XMLName xml.Name `xml:"http://jabber.org/protocol/disco#info query"`
Identities []DiscoIdentity
Features []DiscoFeature
}
type ExtDiscoServices ¶
type ExtmapAllowMixed ¶
type FocusConference ¶
type FocusConference struct {
XMLName xml.Name `xml:"http://jitsi.org/protocol/focus conference"`
Room string `xml:"room,attr"`
MachineUID string `xml:"machine-uid,attr"`
Properties []FocusProperty
}
type FocusProperty ¶
type HostCandidate ¶
type ICECandidateElem ¶
type ICECandidateElem struct {
XMLName xml.Name `xml:"urn:xmpp:jingle:transports:ice-udp:1 candidate"`
Foundation string `xml:"foundation,attr"`
Component string `xml:"component,attr"`
Protocol string `xml:"protocol,attr"`
IP string `xml:"ip,attr"`
Port string `xml:"port,attr"`
Priority string `xml:"priority,attr"`
Type string `xml:"type,attr"`
}
type ICETransport ¶
type ICETransport struct {
XMLName xml.Name `xml:"urn:xmpp:jingle:transports:ice-udp:1 transport"`
Ufrag string `xml:"ufrag,attr,omitempty"`
Pwd string `xml:"pwd,attr,omitempty"`
SCTPMap *SCTPMapElem
Fingerprint *DTLSFingerprint
Candidate *ICECandidateElem
}
type IQConference ¶
type IQDiscoInfoResult ¶
type IQDiscoverServices ¶
type IQSession ¶
type IQSession struct {
XMLName xml.Name `xml:"jabber:client iq"`
ID string `xml:"id,attr"`
Type string `xml:"type,attr"`
Session XMPPSession
}
type JingleContent ¶
type JingleContent struct {
XMLName xml.Name `xml:"urn:xmpp:jingle:1 content"`
Creator string `xml:"creator,attr"`
Name string `xml:"name,attr"`
Senders string `xml:"senders,attr,omitempty"`
Description *RTPDescription
Transport ICETransport
}
type JingleElem ¶
type JingleElem struct {
XMLName xml.Name `xml:"urn:xmpp:jingle:1 jingle"`
Action string `xml:"action,attr"`
Initiator string `xml:"initiator,attr"`
Responder string `xml:"responder,attr"`
SID string `xml:"sid,attr"`
Group JingleGroup
Contents []JingleContent
}
type JingleGroup ¶
type JingleGroup struct {
XMLName xml.Name `xml:"urn:xmpp:jingle:apps:grouping:0 group"`
Semantics string `xml:"semantics,attr"`
Contents []JingleGroupContent
}
type JingleGroupContent ¶
type MUCPresence ¶
type MUCPresence struct {
XMLName xml.Name `xml:"jabber:client presence"`
To string `xml:"to,attr"`
MUC MUCX
SourceInfo SourceInfoElem
CodecList CodecListElem
Nick NickElem
}
type PayloadType ¶
type PayloadType struct {
XMLName xml.Name `xml:"urn:xmpp:jingle:apps:rtp:1 payload-type"`
ID string `xml:"id,attr"`
Name string `xml:"name,attr"`
Clockrate string `xml:"clockrate,attr"`
Channels string `xml:"channels,attr,omitempty"`
Parameters []RTPParameter
RTCPFBs []RTCPFeedback
}
type RTCPFeedback ¶
type RTCPMuxElem ¶
type RTPDescription ¶
type RTPDescription struct {
XMLName xml.Name `xml:"urn:xmpp:jingle:apps:rtp:1 description"`
Media string `xml:"media,attr"`
PayloadTypes []PayloadType
Sources []RTPSource
RTCPMux *RTCPMuxElem
HeaderExts []RTPHeaderExt
ExtmapAllowMixed *ExtmapAllowMixed
}
type RTPHeaderExt ¶
type RTPParameter ¶
type SCTPMapElem ¶
type SSMAParameter ¶
type SourceInfoElem ¶
type XMPPSession ¶
Source Files
¶
- step01_start_session.go
- step02_authenticate.go
- step03_restart_stream.go
- step04_bind_resource.go
- step05_create_session.go
- step06_request_conference.go
- step07_create_conference.go
- step08_join_room.go
- step09_jingle.go
- step10_send_session_accept.go
- step10_sender_send_session_accept.go
- step11_announce_camera_source.go
- xml_types.go