Skip to content

Conversation

@dsandras
Copy link
Contributor

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

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.
@ghost ghost assigned saghul Jul 16, 2013
dsandras added 4 commits July 25, 2013 18:10
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.
@mnunzi mnunzi mentioned this pull request Nov 7, 2013
@apsaras apsaras mentioned this pull request Mar 26, 2014
@ankogan ankogan mentioned this pull request Feb 6, 2016
@apsaras apsaras mentioned this pull request Mar 5, 2016
@stale
Copy link

stale bot commented Jun 18, 2019

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.

@stale stale bot added the stale label Jun 18, 2019
@stale
Copy link

stale bot commented Jul 18, 2019

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.

@stale stale bot closed this Jul 18, 2019
@caloveri caloveri mentioned this pull request Jul 24, 2020
@adigeo adigeo mentioned this pull request Apr 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants