I am seeing a strange error on registration.
My usrloc table looks/looked like this:
root@ser-1:~# serctl showdb Online Accounts: +-------------------+------------------------------+---------------------+ | username | contact | expires | +-------------------+------------------------------+---------------------+ | alex@adomain.net | sip:alex@222.11.222.111:5060 | 2004-03-29 00:48:57 | +-------------------+------------------------------+---------------------+
(note the entry has expired a long while ago, and is from the same address at which I'm now trying to register).
When I try and register, I get:
->REGISTER sip:adomain.net <-401 Unauthorized (fine, needs digest) ->REGISTER sip.adomain.net <-500 Internal server error
The interesting component is: "P-Registrar-Error: usrloc_contact_insert failed"
And in the logs I see:
Apr 3 18:31:26 ser-1 ser[1855]: submit_query(): Duplicate entry 'alex-adomain.net-sip:alex@222.11.222.111:5060' for key 1 Apr 3 18:31:26 ser-1 ser[1855]: insert_row(): Error while submitting query Apr 3 18:31:26 ser-1 ser[1855]: db_insert_ucontact(): Error while inserting contact Apr 3 18:31:26 ser-1 ser[1855]: insert_ucontact(): Error while inserting in database Apr 3 18:31:26 ser-1 ser[1855]: insert(): Error while inserting contact Apr 3 18:31:26 ser-1 ser[1855]: contacts(): Error while inserting record
Now I'd suspect a database problem, config problem, or similar, except if I use another user, it works straight away:
root@ser-1:~# serctl showdb Online Accounts: +-------------------+------------------------------+---------------------+ | username | contact | expires | +-------------------+------------------------------+---------------------+ | alex@adomain.net | sip:alex@222.11.222.111:5060 | 2004-03-29 00:48:57 | | joel@adomain.net | sip:joel@222.11.222.111:5060 | 2004-04-03 19:09:43 | +-------------------+------------------------------+---------------------+
It's almost as if ser is not overwriting expired usrloc table entries. I could wipe the entry out the table, but that's hardly the point. It's also as if ser is not cleaning the entry out the table even if it expires.
I am running: root@ser-1:~# ser -V version: ser 0.8.12-tcp_nonb (i386/linux) flags: STATS:Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
UA = X-Lite
Alex