mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 03:50:31 +00:00
PJSIP_MEDIA_OFFER: override configuration on refresh
When using the PSJIP_MEDIA_OFFER dialplan function it was not overriding an endpoint's configured codecs on refresh unless they had a shared codec between the two. This patch makes it so whatever is set using PJSIP_MEDIA_OFFER is used when creating the SDP for a refresh no matter what. ASTERISK-28878 #close Change-Id: I0f7dc86fd0fb607c308e6f98ede303c54d1eacb6
This commit is contained in:
committed by
Joshua Colp
parent
ef78162780
commit
bdcaa275da
@@ -1363,6 +1363,7 @@ static int media_offer_write_av(void *obj)
|
|||||||
ast_format_cap_remove_by_type(caps, data->media_type);
|
ast_format_cap_remove_by_type(caps, data->media_type);
|
||||||
ast_format_cap_update_by_allow_disallow(caps, data->value, 1);
|
ast_format_cap_update_by_allow_disallow(caps, data->value, 1);
|
||||||
ast_stream_set_formats(stream, caps);
|
ast_stream_set_formats(stream, caps);
|
||||||
|
ast_stream_set_metadata(stream, "pjsip_session_refresh", "force");
|
||||||
ao2_ref(caps, -1);
|
ao2_ref(caps, -1);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -1730,7 +1730,8 @@ static int sip_session_refresh(struct ast_sip_session *session,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Enforce the configured allowed codecs on audio and video streams */
|
/* Enforce the configured allowed codecs on audio and video streams */
|
||||||
if (ast_stream_get_type(stream) == AST_MEDIA_TYPE_AUDIO || ast_stream_get_type(stream) == AST_MEDIA_TYPE_VIDEO) {
|
if ((ast_stream_get_type(stream) == AST_MEDIA_TYPE_AUDIO || ast_stream_get_type(stream) == AST_MEDIA_TYPE_VIDEO) &&
|
||||||
|
!ast_stream_get_metadata(stream, "pjsip_session_refresh")) {
|
||||||
struct ast_format_cap *joint_cap;
|
struct ast_format_cap *joint_cap;
|
||||||
|
|
||||||
joint_cap = ast_format_cap_alloc(AST_FORMAT_CAP_FLAG_DEFAULT);
|
joint_cap = ast_format_cap_alloc(AST_FORMAT_CAP_FLAG_DEFAULT);
|
||||||
|
Reference in New Issue
Block a user