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

[WIP] Lots of changes towards more SIP compliance #81

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

gaaf
Copy link
Collaborator

@gaaf gaaf commented Feb 18, 2022

Still not finished.

Please comment if this is the correct direction.

Some API's have changed. Examples have not been adjusted to the changes.

Next would be to eliminate StoreResponse/StoreRequest. These are getting in the way.

RFC3261 says it is optional, but almost none of the implementations add it.
So leaving it out is better for compatibility.
Introduce a new status: TimedOut
Don't error out on already terminated session. No harm is done.
SetState() is also called in handleInviteState() called directly below
handleInviteState does it again
The handleInviteState with status = EarlyMedia is only called directly after
the same call with the same response, only with status = Provisional. As
the respons is identical, no need to store again.
As RFC3261 says the route-set can't change during a dialog, the route-set is
only stored for initial INVITE and its responses.

The route-set is added as Route header to all in-dialog requests.
Tracking and checking the remote CSeq beyond the initial INVITE is not yet
implemented.
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

Successfully merging this pull request may close these issues.

None yet

1 participant