I'm working with pua_reginfo module, I thought everything was working fine. But FS#213, is not resolved yet.
@@ -118,9 +111,10 @@ str* build_reginfo_full(urecord_t * record, str uri, ucontact_t* c, int type) { xmlNewProp(contact_node, BAD_CAST "id", BAD_CAST buf); /* Check, if this is the modified contact: */ if (ptr == c) { - if ((type & UL_CONTACT_INSERT) || (type & UL_CONTACT_UPDATE)) + if ((type & UL_CONTACT_INSERT) || (type & UL_CONTACT_UPDATE)) { + reg_active = 1; xmlNewProp(contact_node, BAD_CAST "state", BAD_CAST "active"); - else + } else xmlNewProp(contact_node, BAD_CAST "state", BAD_CAST "terminated"); if (type & UL_CONTACT_INSERT) xmlNewProp(contact_node, BAD_CAST "event", BAD_CAST "created"); else if (type & UL_CONTACT_UPDATE) xmlNewProp(contact_node, BAD_CAST "event", BAD_CAST "refreshed"); from the above code in pua_reginfo_fix_registration_state.patch If(ptr == c) returns false and the server keeps the state to "active" and the reg_info is never set to refreshed/terminated.
I was wondering if I could use the following instead. If(strcmp(ptr->c, c->c)), which would compare the contact string, if equal the reg_info is update in the presentity.
Regards Gnaneshwar Gatla | InTouch Health | Software Developer 6330 Hollister Ave. Goleta CA, 93117 | P: 805.562.8686 ext: 199