diff --git a/src/dialog/server_dialog.rs b/src/dialog/server_dialog.rs index 09c71817..e3747d90 100644 --- a/src/dialog/server_dialog.rs +++ b/src/dialog/server_dialog.rs @@ -715,6 +715,9 @@ impl ServerInviteDialog { ))?; return Ok(()); } + // Accept BYE even in WaitAck state — remote may tear down call + // before ACK arrives (common with SIP proxies) + rsip::Method::Bye => return self.handle_bye(tx).await, _ => { // ignore other requests in non-confirmed state return Ok(());