[asterisk-bugs] [JIRA] (ASTERISK-23707) PJSIP realtime contacts: Apparent mismatch between database state and Asterisk state

Mark Michelson (JIRA) noreply at issues.asterisk.org
Thu May 1 18:29:43 CDT 2014


Mark Michelson created ASTERISK-23707:
-----------------------------------------

             Summary: PJSIP realtime contacts: Apparent mismatch between database state and Asterisk state
                 Key: ASTERISK-23707
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-23707
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
            Reporter: Mark Michelson


I was investigating a reported issue that phones appeared as UNAVAILABLE instead of NOT_INUSE when they were idle. After experimenting a bit, I can semi-reliably make this happen.

I'm using realtime for my PJSIP contacts. The scenario is that the contacts database table has an entry for a contact that corresponds to a particular device. With this entry existing, Asterisk starts up. The device now attempts to REGISTER to Asterisk and things go poorly. Asterisk does not recognize that this inbound registration matches up with a contact that has already been registered by the device and as such treats the REGISTER as a new registration. When Asterisk tries to create a contact using sorcery, this fails since the database already has an entry with the given primary key.

The registrar responds with a 200 OK (I haven't checked to see if there are any Contact headers in the 200 OK), so the device thinks that has successfully registered.

If someone attempts to place a call to this device, Asterisk can successfully complete the call since there is a database entry for the contact.

When the device is in a call, its device state appears as INUSE. When the call finishes, the device becomes UNAVAILABLE since Asterisk thinks that it is not registered.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list