|
|
|
@ -1821,6 +1821,8 @@ char *call_delete_udp(const char **out, struct callmaster *m) { |
|
|
|
if (out[RE_UDP_DQ_FROMTAG] && *out[RE_UDP_DQ_FROMTAG]) { |
|
|
|
for (l = c->callstreams->head; l; l = l->next) { |
|
|
|
cs = l->data; |
|
|
|
mutex_lock(&cs->lock); |
|
|
|
|
|
|
|
for (i = 0; i < 2; i++) { |
|
|
|
p = &cs->peers[i]; |
|
|
|
if (!p->tag) |
|
|
|
@ -1838,6 +1840,8 @@ char *call_delete_udp(const char **out, struct callmaster *m) { |
|
|
|
|
|
|
|
goto tag_match; |
|
|
|
} |
|
|
|
|
|
|
|
mutex_unlock(&cs->lock); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1845,6 +1849,8 @@ char *call_delete_udp(const char **out, struct callmaster *m) { |
|
|
|
goto err; |
|
|
|
|
|
|
|
tag_match: |
|
|
|
mutex_unlock(&cs->lock); |
|
|
|
|
|
|
|
if (out[RE_UDP_DQ_VIABRANCH] && *out[RE_UDP_DQ_VIABRANCH]) { |
|
|
|
if (!g_hash_table_remove(c->branches, out[RE_UDP_DQ_VIABRANCH])) { |
|
|
|
mylog(LOG_INFO, LOG_PREFIX_CI "Branch to delete doesn't exist", c->callid, out[RE_UDP_DQ_VIABRANCH]); |
|
|
|
@ -1907,14 +1913,7 @@ char *call_query_udp(const char **out, struct callmaster *m) { |
|
|
|
|
|
|
|
for (l = c->callstreams->head; l; l = l->next) { |
|
|
|
cs = l->data; |
|
|
|
|
|
|
|
if (!out[RE_UDP_DQ_FROMTAG] || !*out[RE_UDP_DQ_FROMTAG]) { |
|
|
|
pcs[0] += cs->peers[0].rtps[0].stats.packets; |
|
|
|
pcs[1] += cs->peers[1].rtps[0].stats.packets; |
|
|
|
pcs[2] += cs->peers[0].rtps[1].stats.packets; |
|
|
|
pcs[3] += cs->peers[1].rtps[1].stats.packets; |
|
|
|
continue; |
|
|
|
} |
|
|
|
mutex_lock(&cs->lock); |
|
|
|
|
|
|
|
for (i = 0; i < 2; i++) { |
|
|
|
p = &cs->peers[i]; |
|
|
|
@ -1946,6 +1945,8 @@ tag_match: |
|
|
|
pcs[2] += p->rtps[1].stats.packets; |
|
|
|
pcs[3] += px->rtps[1].stats.packets; |
|
|
|
} |
|
|
|
|
|
|
|
mutex_unlock(&cs->lock); |
|
|
|
} |
|
|
|
|
|
|
|
mutex_unlock(&c->lock); |
|
|
|
|