mirror of
				https://github.com/pion/webrtc.git
				synced 2025-11-01 03:04:06 +08:00 
			
		
		
		
	 7243561f2f
			
		
	
	7243561f2f
	
	
	
		
			
			The parser included in the ice package strictly adheres to RFC 7064,
however, this can be problematic when attempting to use ICE server URLs
that were automatically generated by a third party.
Twilio, for example, has been seen to send the following in its list of
ICE servers:
    stun:global.stun.twilio.com:3478?transport=udp
which would require user intervention to sanitise before passing to
Pion.
This patch side-steps this aspect of ice.ParseURL by pre-stripping any
queries that may be present so that we can allow URLs of this form.
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // +build js,wasm
 | |
| 
 | |
| package webrtc
 | |
| 
 | |
| // Configuration defines a set of parameters to configure how the
 | |
| // peer-to-peer communication via PeerConnection is established or
 | |
| // re-established.
 | |
| type Configuration struct {
 | |
| 	// ICEServers defines a slice describing servers available to be used by
 | |
| 	// ICE, such as STUN and TURN servers.
 | |
| 	ICEServers []ICEServer
 | |
| 
 | |
| 	// ICETransportPolicy indicates which candidates the ICEAgent is allowed
 | |
| 	// to use.
 | |
| 	ICETransportPolicy ICETransportPolicy
 | |
| 
 | |
| 	// BundlePolicy indicates which media-bundling policy to use when gathering
 | |
| 	// ICE candidates.
 | |
| 	BundlePolicy BundlePolicy
 | |
| 
 | |
| 	// RTCPMuxPolicy indicates which rtcp-mux policy to use when gathering ICE
 | |
| 	// candidates.
 | |
| 	RTCPMuxPolicy RTCPMuxPolicy
 | |
| 
 | |
| 	// PeerIdentity sets the target peer identity for the PeerConnection.
 | |
| 	// The PeerConnection will not establish a connection to a remote peer
 | |
| 	// unless it can be successfully authenticated with the provided name.
 | |
| 	PeerIdentity string
 | |
| 
 | |
| 	// Certificates are not supported in the JavaScript/Wasm bindings.
 | |
| 	// Certificates []Certificate
 | |
| 
 | |
| 	// ICECandidatePoolSize describes the size of the prefetched ICE pool.
 | |
| 	ICECandidatePoolSize uint8
 | |
| }
 |