-
Notifications
You must be signed in to change notification settings - Fork 633
1.8 #13
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
Closed
Closed
1.8 #13
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Fixed things when only one peer supports Session-Timers. - Fixed timer removal when both peers do not support Session-Timers and a timer was fired at some point. - Fixed Session-Timers usage in case of re-INVITES. - Allow the proxy to negotiate a lower Session-Expires value if configured to do so.
The rationale behind this is that many stacks do not implement NAPTR correctly and rely only on DNS SRV. With misconfigured DNS servers, it can lead to useless lookups generating potentially long delays. This can now be disabled if not needed.
A final PUBLISH with expires=0 is now generated when a publication has expired. This will trigger the transmission of a final state NOTIFY.
Several fixes here:
- Dialog callbacks are now correctly setup after a restart of
OpenSIPS. In other words, restarting OpenSIPS will not lead to ghost BLFs
anymore.
- Added an option allowing not to publish state change in case of reINVITE.
- Added an option allowing not to publish state change in trying state.
In other words, a PUBLISH will be sent only when OpenSIPS has received a
18x response type and not before.
There is no reason why we should not create new TCP Connections on notifications. Imagine an architecture with two redundant servers handling eachother part of the calls. Dialog notifications would only work when the call is going through the server which handled the subscription.
This patch relies on received_time being unchanged when a publish is refreshed. The aggregation merges the different presence states so that the last published one is considered as the correct presence status. A primary presence source can be defined. Call events are also considered as primary. PUA fake presence generation is considered as secondary. This is particularly useful with most hardware phones as they are not able to handle several aggregated presence states. SNOM phones being buggy, they send a body with a PUBLISH refresh despite the RFC states it MUST NOT happen. We added a workaround for that.
Without that patch, when OpenSIPS does not find any active dialog and needs to NOTIFY that state, it correctly sends a full state dialog information, but the XML document is wrong. This is the wrong format, the one that was used: <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="partial" entity="sip:752@ds.local.beip.be"><dialog id="752"><state>terminated</state></dialog></dialog-info> (info is not partiali but full, dialog id is wrong). This is the correct format: <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="6" state="full" entity="sip:753@ds.local.beip.be"/>
Without this patch, an expired presentity does not trigger the transmission of a final state NOTIFY.
'Calling' is disturbing especially when the given peer is _receiving_ a call.
Instead of setting the timer value to 0, resets its value to the default_timeout setting. Also update the timer when processing ACK in order for the new timeout to be taken into account
Member
|
Please, open a pull request for each semantic issue, most of the commits you added there have no relation between them and should be handled separately. |
This was referenced Sep 25, 2013
Closed
Closed
Closed
Closed
Closed
This was referenced Sep 21, 2018
Closed
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enjoy