Skip to content
Snippets Groups Projects
Commit b4ab0dd4 authored by Michal Hajek's avatar Michal Hajek Committed by Joshua Colp
Browse files

res_stasis.c: Add compare function for bridges moh container


Sometimes not play MOH on bridge.

ASTERISK-29081
Reported-by: default avatarMichal Hajek <michal.hajek@daktela.com>

Change-Id: I760c73e0c9be1d340303b5d1c18a00c4759e8232
parent 923d95cc
No related branches found
No related tags found
3 merge requests!138Merge branch asterisk-20.3.0 into devel properly,!123Merge asterisk '20.3.0' into devel,!118Draft: manager: AOC-S support for AOCMessage
......@@ -425,6 +425,33 @@ struct stasis_app_bridge_channel_wrapper {
);
};
/*! AO2 comparison function for bridges moh container */
static int bridges_channel_compare(void *obj, void *arg, int flags)
{
const struct stasis_app_bridge_channel_wrapper *object_left = obj;
const struct stasis_app_bridge_channel_wrapper *object_right = arg;
const char *right_key = arg;
int cmp;
switch (flags & OBJ_SEARCH_MASK) {
case OBJ_SEARCH_OBJECT:
right_key = object_right->bridge_id;
case OBJ_SEARCH_KEY:
cmp = strcmp(object_left->bridge_id, right_key);
break;
case OBJ_SEARCH_PARTIAL_KEY:
cmp = strncmp(object_left->bridge_id, right_key, strlen(right_key));
break;
default:
cmp = 0;
break;
}
if (cmp) {
return 0;
}
return CMP_MATCH;
}
static void stasis_app_bridge_channel_wrapper_destructor(void *obj)
{
struct stasis_app_bridge_channel_wrapper *wrapper = obj;
......@@ -2323,7 +2350,7 @@ static int load_module(void)
BRIDGES_NUM_BUCKETS, bridges_hash, NULL, bridges_compare);
app_bridges_moh = ao2_container_alloc_hash(
AO2_ALLOC_OPT_LOCK_MUTEX, 0,
37, bridges_channel_hash_fn, NULL, NULL);
37, bridges_channel_hash_fn, NULL, bridges_channel_compare);
app_bridges_playback = ao2_container_alloc_hash(
AO2_ALLOC_OPT_LOCK_MUTEX, AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT,
37, bridges_channel_hash_fn, bridges_channel_sort_fn, NULL);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment