You have detected a potential problem with nonce_reuse disabled. That's why I always allow nonce_reuse. There might be other problems with REGISTER retransmissions too, e.g. if the retransmission arives to late, it will be rejected with "wrong CSeq" error.
A first workaround would be to send 100 trying back to the client, this should prevent retransmissions. You could also handle the REGISTER statefull (t_newtran()), but I think sending back "100 trying" should be sufficient.
regards klaus
Am 12.02.2010 06:02, schrieb Hemanshu Patel:
Hello to all users,
I am very new to kamailio and just started using it. I have installed it and my phones are getting register successfully.
But sometimes i am seeing a scenario, which makes my phones unusable for sometime. please see the condition as below
| phone |--------------| Kamailio | | REGISTER-----------------> <----------------------401 | REGISTER-----------------> Tricky condition here
| timeout<--------------200 OK phone shows itself as unregistered | REGISTER----------------> <--------------------401
After several retries phone stops to retry till say next 20 seconds, during that time though there's an entry in location table in kamailio (i am using mysql) my phone shows itself as unregistered phone.
Due to load or any other conditions Server takes a bit time to send 200OK back to phone and During that time timer expires and phone sends REGISTER once again. now phone will keep sending REGISTER request with same nonse and other value, and kamailio is configured to not to entertained same credentials with nonce if it is authenticated once. So kamailio generates new 401 Message with new nonce value to which phone understands as the previous reply thet he send for previous 401 was rejected, and the most probable reason is wrong user credentials.....
Hope you guys have got my problem? i can not allow kamailio to let use the same credentials+ response with nonce if it has used it once for security reason. Then what could be the solution for this. I am very good in Programming, but just that i have just started to use kamailio and not very much aware about its architecture.