Hi Aymeric,
What it happens is correct and fully complaint to RFC 3261.
A client may register several contacts for the same users, and each
distinct contact forms a separate location registration.
Registering a new contact has no effect on the already existing
(registered) contacts - it is like 2 phones registered for the same account.
If you want to replace a contact, the device needs to specifically
un-register the previous contact.
Regards,
Bogdan
Aymeric Moizard wrote:
Hi all,
I'm using openser13 and met an issue when saving contact into
my sql database upon registration refresh.
After doing several registrations, sometimes my NAT loose the
connection and change the port number (rport) that was used in previous
signalling exchange.
old REGISTER:
contact: with port 6010
answer:
contact: with port 6010
new REGISTER refresh:
contact: with port 1223
answer
contact: with port 6010 (old one) + contact with port 1223 (new one)
In the above case, this result in a new contact added in the database
while I'm expecting the server to replace the previous address with the
new one.
I know that the rfc is not specifying such behavior: the expected
processing in the specification is the one done by ser, but by
experience, if a contact was changed within a refresh, it's because
of a NAT reboot/issue or because of roaming.
That said, I wish to:
1: remove the old binding with call-id of the new REGISTER refresh
2: add my new binding.
I've written a proxy before and that was my default behavior ;)
I'm not even finding a use case where this could break any compliant app.
Any way to do this?
tks,
Aymeric MOIZARD / ANTISIP
amsip -
http://www.antisip.com
osip2 -
http://www.osip.org
eXosip2 -
http://savannah.nongnu.org/projects/exosip/
_______________________________________________
Users mailing list
Users(a)lists.openser.org
http://lists.openser.org/cgi-bin/mailman/listinfo/users