files/en-us/web/api/rtcpeerconnection/signalingstatechange_event/index.md
{{APIRef("WebRTC")}}
A signalingstatechange event is sent to an {{domxref("RTCPeerConnection")}} to notify it that its signaling state, as indicated by the {{domxref("RTCPeerConnection.signalingState", "signalingState")}} property, has changed.
This event is not cancelable and does not bubble.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("signalingstatechange", (event) => { })
onsignalingstatechange = (event) => { }
A generic {{domxref("Event")}}.
Given an {{domxref("RTCPeerConnection")}}, pc, and an updateStatus() function that presents status information to the user, this code sets up an event handler to let the user know when the ICE negotiation process finishes up.
pc.addEventListener("signalingstatechange", (ev) => {
switch (pc.signalingState) {
case "stable":
updateStatus("ICE negotiation complete");
break;
}
});
Using onsignalingstatechange, it looks like this:
pc.onsignalingstatechange = (ev) => {
switch (pc.signalingState) {
case "stable":
updateStatus("ICE negotiation complete");
break;
}
};
{{Specifications}}
{{Compat}}