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
changes/07/14707/2
Joshua C. Colp 5 years ago committed by Kevin Harwell
parent 7d96b3e437
commit 921b1a02c4

@ -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