I think this is not easy to track as long as the MySQL made the insert but the client
reports an error for doing the insert. So mysql client says the insert didn't succeed,
but the mysql server actually did it.
There can be added some self healing approaches:
* 1)add a timer function to delete expired records from database, so this situation will
stay there only for the duration of one registration interval
* 2) if insert fails, try to figure out if the driver reports a duplicate key, if yes,
then do a query and load the record from db with same ruid and if other attributes matches
the structure in memory, then either remove it from db (maybe it has some too old details,
then next insert should succeed) or set the structure in memory to do update next time
* 3) if insert in db fails, try to do a remove from db at that time
What I wanted to figure out is whether the unique id generation used for ruid can result
in duplication, which should not happen by its algorithm and it is not the reason for the
reported issue here. In other words, you don't report here that Kamailio generates
same ruid value for different location records.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/30#issuecomment-160119895