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
Thanks!
Merged #726.