chan_pjsip: Require inband_progress and negotiated SDP before mapping RINGING to 183#1835
chan_pjsip: Require inband_progress and negotiated SDP before mapping RINGING to 183#1835qnic11 wants to merge 1 commit intoasterisk:masterfrom
inband_progress and negotiated SDP before mapping RINGING to 183#1835Conversation
|
Don't we already have an option to alter this behavior? Specifically "allow_sending_180_after_183"? |
|
Dear jcolp, thank you for your feedback, we appreciate it. You are correct that In the case of this patch, the intention is to evaluate a stricter condition where We hope this makes sense to you and look forward to your feedback. Regards, |
|
We do not change default/existing behavior unless absolutely necessary. As it is, this change will not be accepted. |
|
You also haven't explained why this change is needed. |
|
Dear jcolp, the reason for this change is based on observed behavior in early-offer call flows, where In early-offer INVITE scenarios (INVITE with SDP), SDP negotiation typically reaches The proposed change ensures that We hope this makes sense to you. Regards, |
|
That's not really a reason or explanation sufficient enough to warrant changing this behavior that has existed for 20+ years. The behavior was written based on the behavior of chan_sip, as some endpoints do not handle 180 after SDP negotiation/183 well. This is why the 180 after 183 option was added as someone wanted to change that behavior, and so it was made optional and defaults to off so as to preserve the existing. This change will not be accepted. |
|
Dear jcolp, thank you for your feedback and clarification. We are trying to determine the most appropriate approach for handling a scenario observed in our deployment, where different endpoints within the same system have differing expectations for provisional signaling behavior. In particular, some endpoints require From reviewing the current implementation, We would appreciate your guidance on the recommended approach for this use case. If the current behavior is considered correct by design, would an endpoint-level option to control this decision be an acceptable direction? We would be happy to iterate on the proposal accordingly. Thank you. |
|
Okay, so now you're starting to provide an actual explanation over why you've done this in the first place. How do the existing options not suffice? Provide actual examples of the SIP messages when using the options, and show what you actually need. It is still unclear what exactly is insufficient or what you are actually wanting that is not possible with the existing options. |
|
Dear jcolp, thank you again for your support and patience. We have observed this behavior in production environments and the relevant SIP traces involve customer and ISP traffic, so sharing them publicly requires additional authorization on our side that might slow down or even block this case. Would it be acceptable to share the traces with you privately (e.g., via email) to help illustrate the scenario? In parallel, we can work on preparing a minimal reproducible example that can be shared publicly if needed. Regards, |
|
Sharing privately does not provide public history or allow others to participate or provide input with the same information. SIPp scenario files for example that are written to demonstrate are perfectly fine as well. You will also need to provide accompanying endpoint configuration, and confirm that the existing options do not suffice. |
Dear maintainers, we are proposing a change to narrow the conditions under which
AST_CONTROL_RINGINGis mapped to183 Session Progress.Previously, the 183 path was selected when either
inband_progresswas enabled or SDP negotiation had already reachedPJMEDIA_SDP_NEG_STATE_DONE. This could result in183being sent for early-offer calls where SDP was negotiated, even if the endpoint was not configured for in-band progress.With this change,
183is only selected when both conditions are met:inband_progressis enabledPJMEDIA_SDP_NEG_STATE_DONEIn all other cases,
AST_CONTROL_RINGINGmaps to180 Ringing.This avoids using SDP negotiation state alone as a trigger for
183, and instead ties the behavior to explicit endpoint configuration combined with confirmed media readiness.