Пример #1
0
static int qualify_and_schedule_aor_contact(void *obj)
{
	struct ast_sip_contact *contact = obj;
	struct ast_sip_aor *aor;

	if (!contact || ast_strlen_zero(contact->aor) ||
		!(aor = ast_sip_location_retrieve_aor(contact->aor))) {
		ao2_ref(contact, -1);
		return -1;
	}

	contact->qualify_frequency = aor->qualify_frequency;
	contact->qualify_timeout = aor->qualify_timeout;
	contact->authenticate_qualify = aor->authenticate_qualify;

	ao2_ref(aor, -1);

	qualify_and_schedule(contact);
	ao2_ref(contact, -1);

	return 0;
}
Пример #2
0
/*!
 * \internal
 * \brief A new contact has been created make sure it is available.
 */
static void contact_created(const void *obj)
{
	qualify_and_schedule((struct ast_sip_contact *) obj);
}