presentity: don't update terminated presentity entries in the database
- This fix is pull requested based on the stuff in pull request #724. That is because the
stuff done here builds on that earlier work. #724 probably wants to be merged before this
one.
- Fixes a race condition caused by, for example, the call being answered at almost exactly
the same time as the caller cancels. This causes a terminated state to change back to
completed. The dialog is then removed from the database and the presentity entry stays in
place until it expires.
- This fix explicitly prevents terminated entries being updated as the state machine in
RFC 4235 prohibits this behaviour.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/726
-- Commit Summary --
* presence: Always check if a record exists for this dialog before inserting
* presence: fix memory leak introduced by last commit
* presence: log when presentity is deleted due to already existing
* presentity: don't update terminated presentity entries in the database
-- File Changes --
M modules/presence/presentity.c (297)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/726.patch
https://github.com/kamailio/kamailio/pull/726.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/726