I did not enable the multiple_registation parameter in sip profile, but I am seeing multiple registrations of the same user in the sip_registration table through odbc. 

Here is how it happened, the client (pjsip) is registering through TCP, without un-registering, the client failed and got restarted again. Hence another registration was fired to the server; however, it did not replace the previous record, but instead created an additional one. 

Now, can someone explain to me how that is possible? How can I make sure the new registration overwrite the previous one. The only thing different is that every time when the client register again, it's using a different TCP port. Can that be the cause of multiple record? If so, what should I do?

Here is an example of the registered record from sip_registration table except the TCP port number is different every time. I have also masked the IP addresses and sip_user

         call_id: VV3Fz9nEPrGZaVHi-Na0xUMR43u5pe4E
        sip_user: ****999
        sip_host: sip.domain.com
  presence_hosts: sip.domain.com,10.10.10.10
         contact: "user" <sip:****999@123.123.123.123:49311;transport=TCP;ob;fs_nat=yes;fs_path=sip%3A71117x0%40124.124.124.124%3A5060>
          status: Registered(AUTO-NAT-2.0)
            rpid: unknown
         expires: 1408559112
      user_agent: unknown
     server_user: ****999
     server_host: 11.11.11.11
    profile_name: device_kamailio
        hostname: freeswitch01
      network_ip: 124.124.124.124
    network_port: 5060
    sip_username: ****999
       sip_realm: 124.124.124.124
        mwi_user: ****999
        mwi_host: sip.domain.com
orig_server_host: 12.12.12.12
   orig_hostname: freeswitch01
        sub_host: NULL


Thanks,

Henry