mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 03:50:31 +00:00
Revert "core & res_pjsip: Improve topology change handling."
This reverts commit 315eb551db
.
Over the past year, we've had several reports of "topology storms"
occurring where 2 external facing channels connected by one or more
local channels and bridges will get themselves in a state where
they continually send each other topology change requests. This
usually manifests itself in no-audio calls and a flood of
"Exceptionally long queue length" messages. It appears that this
commit is the cause so we're reverting it for now until we can
determine a more appropriate solution.
Resolves: #530
This commit is contained in:
@@ -11164,6 +11164,15 @@ int ast_channel_request_stream_topology_change(struct ast_channel *chan,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (ast_stream_topology_equal(ast_channel_get_stream_topology(chan), topology)) {
|
||||
ast_debug(2, "%s: Topologies already match. Current: %s Requested: %s\n",
|
||||
ast_channel_name(chan),
|
||||
ast_str_tmp(256, ast_stream_topology_to_str(ast_channel_get_stream_topology(chan), &STR_TMP)),
|
||||
ast_str_tmp(256, ast_stream_topology_to_str(topology, &STR_TMP)));
|
||||
ast_channel_unlock(chan);
|
||||
return 0;
|
||||
}
|
||||
|
||||
ast_channel_internal_set_stream_topology_change_source(chan, change_source);
|
||||
|
||||
res = ast_channel_tech(chan)->indicate(chan, AST_CONTROL_STREAM_TOPOLOGY_REQUEST_CHANGE, topology, sizeof(topology));
|
||||
|
Reference in New Issue
Block a user