I forgot to precise that I allow only one contact per AOR.
modparam("registrar", "max_contacts", 1)
save("location", "0x04")
From: Mickael Marrache [mailto:mickaelmarrache@gmail.com]
Sent: Friday, January 30, 2015 10:51 AM
To: sr-users@lists.sip-router.org
Subject: Wrong location entries when using usrloc with Mongo
Hi,
I start with no location nor in Mongo, nor in memory. My UA registers successfully and I can see the location entry in Mongo. Then, I close my UA which unregisters (by setting Expires header to 0). Then, I open the app again and a new registration is made.
The entry after first registration. Looks okay.
{ "_id" : ObjectId("54cb38f684e58133783f2b42"), "username" : "A", "contact" : "sip:A@192.168.1.3:54217;rinstance=DFAEBBC7;transport=tcp", "expires" : ISODate("2015-01-30T08:55:34Z"), "q" : -1, "callid" : "297EC55073A07BF78F0C05822A6CCDFB47E48705", "cseq" : 8809, "flags" : 0, "cflags" : 0, "user_agent" : "Acrobits Softphone Business/3.1", "received" : "sip:XXXXXXXXXXX:54217;transport=tcp", "path" : "<sip:XXXXXXXXXX;lr;received=sip:XXXXXXXXXXX:54217%3Btransport%3Dtcp>", "socket" : "udp:XXXXXXXXX:5060", "methods" : 4751, "last_modified" : ISODate("2015-01-30T07:55:34Z"), "ruid" : "uloc-54cb38df-3378-2", "instance" : null, "reg_id" : 0 }
The same entry after un register (Expires 0). Note that the username field is missing. In any case, I expected the entry to be deleted.
{ "_id" : ObjectId("54cb38f684e58133783f2b42"), "expires" : ISODate("2015-01-30T08:56:51Z"), "q" : -1, "cseq" : 8811, "flags" : 0, "cflags" : 0, "user_agent" : "Acrobits Softphone Business/3.1", "received" : "sip: XXXXXXXXX:54217;transport=tcp", "path" : "<sip: XXXXXXXXX;lr;received=sip: XXXXXXXXX:54217%3Btransport%3Dtcp>", "socket" : "udp: XXXXXXXXX:5060", "methods" : 4751, "last_modified" : ISODate("2015-01-30T07:56:51Z"), "callid" : "297EC55073A07BF78F0C05822A6CCDFB47E48705", "instance" : null, "reg_id" : 0, "contact" : "sip:A@192.168.1.3:54217;rinstance=DFAEBBC7;transport=tcp" }
The entries after second registration. The new entry looks okay. But, the old entry is still here.
{ "_id" : ObjectId("54cb38f684e58133783f2b42"), "expires" : ISODate("2015-01-30T08:56:51Z"), "q" : -1, "cseq" : 8811, "flags" : 0, "cflags" : 0, "user_agent" : "Acrobits Softphone Business/3.1", "received" : "sip: XXXXXXXXX:54217;transport=tcp", "path" : "<sip: XXXXXXXXX;lr;received=sip: XXXXXXXXX:54217%3Btransport%3Dtcp>", "socket" : "udp: XXXXXXXXX:5060", "methods" : 4751, "last_modified" : ISODate("2015-01-30T07:56:51Z"), "callid" : "297EC55073A07BF78F0C05822A6CCDFB47E48705", "instance" : null, "reg_id" : 0, "contact" : "sip:A@192.168.1.3:54217;rinstance=DFAEBBC7;transport=tcp" }
{ "_id" : ObjectId("54cb3a7884e581337a25b895"), "username" : "A", "contact" : "sip:A@192.168.1.3:54217;rinstance=DFAEBBC7;transport=tcp", "expires" : ISODate("2015-01-30T09:02:00Z"), "q" : -1, "callid" : "297EC55073A07BF78F0C05822A6CCDFB47E48705", "cseq" : 8813, "flags" : 0, "cflags" : 0, "user_agent" : "Acrobits Softphone Business/3.1", "received" : "sip: XXXXXXXXX:54217;transport=tcp", "path" : "<sip: XXXXXXXXX;lr;received=sip: XXXXXXXXX:54217%3Btransport%3Dtcp>", "socket" : "udp: XXXXXXXXX:5060", "methods" : 4751, "last_modified" : ISODate("2015-01-30T08:02:00Z"), "ruid" : "uloc-54cb38df-337a-1", "instance" : null, "reg_id" : 0 }
The issue is the entry is not deleted after un registering.
I precise that registrations are dispatched over multiple registrars with all accesses the same Mongo cluster.
Thanks,
Mickael