res_pjsip_registrar: Don't specify an expiration for static contacts.

Statically configured contacts on an AOR don't have an expiration
time so when adding them to the resulting 200 OK if an endpoint
registers ensure they are marked as such.

ASTERISK-28995

Change-Id: I9f0e45eb2ccdedc9a0df5358634a19ccab0ad596
17.7
Joshua C. Colp 6 years ago committed by Friendly Automation
parent ade20df66b
commit 4ac3d4cdbd

@ -233,7 +233,11 @@ static int registrar_add_contact(void *obj, void *arg, int flags)
if (parsed && (PJSIP_URI_SCHEME_IS_SIP(parsed) || PJSIP_URI_SCHEME_IS_SIPS(parsed))) {
pjsip_contact_hdr *hdr = pjsip_contact_hdr_create(tdata->pool);
hdr->uri = parsed;
hdr->expires = ast_tvdiff_ms(contact->expiration_time, ast_tvnow()) / 1000;
if (!ast_tvzero(contact->expiration_time)) {
hdr->expires = ast_tvdiff_ms(contact->expiration_time, ast_tvnow()) / 1000;
} else {
hdr->expires = PJSIP_EXPIRES_NOT_SPECIFIED;
}
pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr *) hdr);
} else {
ast_log(LOG_WARNING, "Skipping invalid Contact URI \"%.*s\" for AOR %s\n",

Loading…
Cancel
Save