Dear Kamailio Developers,
I am using Kamailio as a SIP server to facilitate a phone call, but I am encountering an issue where the call cannot be established due to Kamailio sending a 408 Request Timeout to the caller.
Supported
header:Supported: timer,100rel,replaces,precondition,from-change,histinfo,tdialog
I suspect the precondition
option may be relevant to the issue.
Require: 100rel,preconditionKamailio correctly forwards this response to A.
Require: sec-agree
Supported: timer
Notably,precondition
is absent from both theRequire
andSupported
headers.
Supported: 100rel,from-change,tdialog
According to 3GPP TS 24.229, Subclause 5.1.3.1,
If the received response with an SDP body includes a Require header with the "precondition" option-tag, the originating UE shall include a Require header with the "precondition" option-tag in responses with an SDP body to subsequent requests that include an SDP body and include the "precondition" option-tag in either the Supported or Require header field received in-dialog.
Require: precondition
.precondition
in either Require
or Supported
.Could this mismatch be the reason Kamailio keeps retransmitting PRACK and ignoring B's 200 OK? Or could there be another factor causing Kamailio to behave this way?
If additional details are needed, please let me know.
Best regards,
Ping Kuan Kao