From cc44939a84c48fe094d340a1eb73b5f715abd35c Mon Sep 17 00:00:00 2001 From: Maximilian Fridrich Date: Mon, 27 Nov 2023 15:25:31 +0100 Subject: [PATCH] sipsess/connect: don't create a dialog for 100 responses (#1018) According to RFC 3261, 100 responses can not create a dialog, so we MUST NOT do that. This resulted in a bug because some proxies set a To tag in the 100 Trying response without sending a Contact header and we tried (and failed) to create a dialog from that. --- src/sipsess/connect.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sipsess/connect.c b/src/sipsess/connect.c index 1f56218ce..7a67d1e13 100644 --- a/src/sipsess/connect.c +++ b/src/sipsess/connect.c @@ -93,6 +93,9 @@ static void invite_resp_handler(int err, const struct sip_msg *msg, void *arg) sess->progrh(msg, sess->arg); sdp = mbuf_get_left(msg->mb) > 0; + if (msg->scode == 100) + return; + if (sdp && sess->sent_offer) { sess->awaiting_answer = false; err = sess->answerh(msg, sess->arg);