sip.js
Version:
A SIP library for JavaScript
59 lines (58 loc) • 2.14 kB
TypeScript
/**
* Delegate to handle PeerConnection state changes.
* @public
*/
export interface PeerConnectionDelegate {
/**
* This happens whenever the aggregate state of the connection changes.
* The aggregate state is a combination of the states of all of the
* individual network transports being used by the connection.
* @param event - Event.
*/
onconnectionstatechange?(event: Event): void;
/**
* Triggered when an RTCDataChannel is added to the connection by the
* remote peer calling createDataChannel().
* @param event - RTCDataChannelEvent.
*/
ondatachannel?(event: RTCDataChannelEvent): void;
/**
* Triggered when a new ICE candidate has been found.
* @param event - RTCPeerConnectionIceEvent.
*/
onicecandidate?(event: RTCPeerConnectionIceEvent): void;
/**
* Triggered when an error occurred during ICE candidate gathering.
* @param event - RTCPeerConnectionIceErrorEvent.
*/
onicecandidateerror?(event: RTCPeerConnectionIceErrorEvent): void;
/**
* This happens whenever the local ICE agent needs to deliver a message to
* the other peer through the signaling server. This lets the ICE agent
* perform negotiation with the remote peer without the browser itself
* needing to know any specifics about the technology being used for
* signalingTriggered when the IceConnectionState changes.
* @param event - Event.
*/
oniceconnectionstatechange?(event: Event): void;
/**
* Triggered when the ICE gathering state changes.
* @param event - Event.
*/
onicegatheringstatechange?(event: Event): void;
/**
* Triggered when renegotiation is necessary.
* @param event - Event.
*/
onnegotiationneeded?(event: Event): void;
/**
* Triggered when the SignalingState changes.
* @param event - Event.
*/
onsignalingstatechange?(event: Event): void;
/**
* Triggered when a new track is signaled by the remote peer, as a result of setRemoteDescription.
* @param event - Event.
*/
ontrack?(event: Event): void;
}