From a6abbc22aa2f1522c3199c89a99bb75a34650f32 Mon Sep 17 00:00:00 2001 From: Grzegorz Sluja <grzegorz.sluja@iopsys.eu> Date: Thu, 13 Jun 2024 11:44:28 +0200 Subject: [PATCH] Add '199' option-tag to INVITE's Supported header, REF 14595 According to RFC6228 Chapter 4, when UAC sends an initial dialog initiation request and is willing to receive 199 responses, it must insert '199' option-tag' in the Supported header field. --- res/res_pjsip_session.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index dedbbdf2c9..c83cc236cd 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -2918,6 +2918,7 @@ int ast_sip_session_create_invite(struct ast_sip_session *session, pjsip_tx_data pjsip_generic_string_hdr *content_header = NULL; char buffer[MAX_BUFFER_LEN] = {0}; static const pj_str_t headerName = { "Content-Disposition", 19 }; + static const pj_str_t str_199 = { "199", 3 }; SCOPE_ENTER(1, "%s\n", ast_sip_session_get_name(session)); if (!(offer = create_local_sdp(session->inv_session, session, NULL, 0))) { @@ -2939,6 +2940,8 @@ int ast_sip_session_create_invite(struct ast_sip_session *session, pjsip_tx_data */ set_from_header(session); + pjsip_endpt_add_capability(ast_sip_get_pjsip_endpoint(), NULL, PJSIP_H_SUPPORTED, NULL, 1, &str_199); + if (pjsip_inv_invite(session->inv_session, tdata) != PJ_SUCCESS) { SCOPE_EXIT_RTN_VALUE(-1, "pjsip_inv_invite failed\n"); } -- GitLab