-
Notifications
You must be signed in to change notification settings - Fork 633
Added presence federation algorithm. #14
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
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
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.
This was resulting of a patch I applied twice. I also mention that commit: 94a1a91 fixes nothing and triggers the emission of two NOTIFY for each terminated dialog.
Sometimes, pua_usrloc generates several XML documents for the same presentity. It can happen if a refresh fails. We should ignore all of them when federating presence, and not only the last one.
It was not take into account when caching the federated presence state. When it happens, we should rely on the standard PIDF document to determine the global presence state as the RPIDF document gives no information.
Also improved the message content to know what the error/dbg message is about.
The "different body" hack check should not release the lock, nor reset the presentity pointer. The purpose is only to work around the snom PUBLISH bug.
This was referenced Sep 25, 2013
Closed
Closed
Closed
Closed
This was referenced Sep 21, 2018
|
Any updates here? No progress has been made in the last 15 days, marking as stale. Will close this issue if no further updates are made in the next 30 days. |
|
Marking as closed due to lack of progress for more than 30 days. If this issue is still relevant, please re-open it with additional details. |
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.
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.
The current short presence status is written in CacheDB. This allows presence-based routing.
If accepted, please credit Damien Sandras from Be IP s.a. @ http://www.beip.be