I assume you are refering to an entry in the SIP Peers section, and not an entry in the SIP Registry section of the info screen. I'm not sure what else you could do on the Asterisk side of the equation. The line in SIP Info,
Code:
701/701 192.168.1.100 D N A 5060 OK (6 ms)
is produced by a function in chan_sip.c that iterates through the linked list of peers and prints the OK message if there is a ping time associated with the peer. This ping time is set in the function
Code:
static void handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_request *req)
That is to say, only as a result of a reply to a SIP OPTIONS packet (a qualify). So this means that if the SIP Info screen is showing OK for that device, then the device is replying to Asterisk's SIP OPTIONS packet. There is a caveat, however: even if a device is not registered, it will reply to a SIP OPTIONS, but in this case likely with a SIP 403 Forbidden or SIP 401 Not authorized response. Asterisk's broken SIP OPTIONS handling code does not actually check this return code - it simply sees the response from the device, updates the ping time, and thus marks the host as reachable.
So if the device sends any type of response to a qualify (SIP OPTIONS) while holding an active registration, Asterisk will think everything is ok with it and show it as online. From Asterisk's point of view, everything IS ok with the device. Asterisk does not even do a check if the device is registered when printing out this status message.
Asterisk also still thinks the registration is valid because it's actually showing the device as online. When Asterisk's registration timer expires, the expire_register() function in chan_sip.c zeroes the address in the peer data structure. The sip_show_peers() function that is displaying the info on the SIP Info page checks if the address is zero and will show the peer as offline in the output of the SIP Info page (sip show peers in the CLI) if it is zero, ie., does not have an active registration.
So you have SIP connectivity because of the responses to the qualifies and the fact that Asterisk shows the device as still being online and Asterisk still holds a valid registration (because it shows the device as still online). There's little that you can do here other than track down why the device thinks it is not registered, because unless it stops responding to the OPTIONS, Asterisk will always think it's ok until such time as the registration timer expires. At worst case this will be 3600 seconds