Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIP 180 with 100rel is not PRACK'ed if it arrives after a 183 #117

Closed
xadhoom opened this issue Apr 1, 2022 · 0 comments
Closed

SIP 180 with 100rel is not PRACK'ed if it arrives after a 183 #117

xadhoom opened this issue Apr 1, 2022 · 0 comments

Comments

@xadhoom
Copy link

xadhoom commented Apr 1, 2022

Scenario: freeswitch with 100rel enabled on sofia profile. A telco with some IMS on the back.

  • FreeSWITCH invites telco
  • Telco sends out 183/SDP which is PRACK'ed as expected
  • Telco sends out 180/SDP (in this scenario the SDP is the same as 183) and the message gets ignored, no PRACK
  • Telco continues sending 180 as expected
  • Telco aborts call because of PRACK timeout

Looking into the code a somewhat naive commit has been done in nua_session.c which is 0ebb555

This patch assumes that SIP status codes are sequential but they are not :)
The original problem https://freeswitch.org/jira/browse/FS-11452 was about a provisional response received after 200OK and was fixed with the above commit.

Since is ok to receive 180 after 183 (and even receiving a sequence of them!) I think that the above patch can be reworked to be more conservative in the original idea without breaking the above, lecit scenario.

Will submit a PR asap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant