diff --git a/net/webrtc/src/janusvr_signaller/imp.rs b/net/webrtc/src/janusvr_signaller/imp.rs index 174a1798..9cdd30ac 100644 --- a/net/webrtc/src/janusvr_signaller/imp.rs +++ b/net/webrtc/src/janusvr_signaller/imp.rs @@ -175,6 +175,13 @@ struct InnerError { reason: String, } +#[derive(Serialize, Deserialize, Debug)] +struct InnerHangup { + session_id: JanusId, + sender: JanusId, + reason: String, +} + #[derive(Serialize, Deserialize, Debug)] struct RoomJoined { room: JanusId, @@ -240,20 +247,15 @@ struct EventMsg { // IncomingMessage #[derive(Serialize, Deserialize, Debug)] -#[serde(tag = "janus")] +#[serde(tag = "janus", rename_all = "lowercase")] enum JsonReply { - #[serde(rename = "ack")] Ack, - #[serde(rename = "success")] Success(SuccessMsg), - #[serde(rename = "event")] Event(EventMsg), - #[serde(rename = "webrtcup")] WebRTCUp, - #[serde(rename = "media")] Media, - #[serde(rename = "error")] Error(InnerError), + HangUp(InnerHangup), } #[derive(Default)] @@ -519,6 +521,7 @@ impl Signaller { JsonReply::Error(error) => { self.raise_error(format!("code: {}, reason: {}", error.code, error.reason)) } + JsonReply::HangUp(hangup) => self.raise_error(format!("hangup: {}", hangup.reason)), // ignore for now JsonReply::Ack | JsonReply::Media => {} }