mirror of
https://github.com/asterisk/asterisk.git
synced 2025-12-01 02:31:55 +00:00
chan_pjsip: Disable SSRC change for WebRTC endpoints.
Commit b333ee3b introduced a fix to chan_pjsip that addressed RTP issues with
blind transfers and some SBCs. Unfortunately, the fix broke some WebRTC
clients that are sensitive to SSRC changes and non-monotonic timestamps so
the fix is now disabled for endpoints with the "bundle" parameter set to true.
Resolves: #1535
This commit is contained in:
committed by
github-actions[bot]
parent
4da19a9459
commit
db7988e540
@@ -1820,6 +1820,7 @@ static int chan_pjsip_indicate(struct ast_channel *ast, int condition, const voi
|
||||
case AST_CONTROL_SRCUPDATE:
|
||||
break;
|
||||
case AST_CONTROL_SRCCHANGE:
|
||||
if (!channel->session->endpoint->media.bundle) {
|
||||
/* Generate a new SSRC due to media source change and RTP timestamp reset.
|
||||
Ensures RFC 3550 compliance and avoids SBC interoperability issues (Sonus/Ribbon)*/
|
||||
for (i = 0; i < AST_VECTOR_SIZE(&channel->session->active_media_state->sessions); ++i) {
|
||||
@@ -1828,6 +1829,7 @@ static int chan_pjsip_indicate(struct ast_channel *ast, int condition, const voi
|
||||
ast_rtp_instance_change_source(media->rtp);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case AST_CONTROL_REDIRECTING:
|
||||
if (ast_channel_state(ast) != AST_STATE_UP) {
|
||||
|
||||
Reference in New Issue
Block a user