diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index dedbbdf2c9b4f359169164d5930cdd3d68141c7c..c83cc236cd2ac2dce552e77d455545655847d25f 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");
 	}