|
|
|
@ -1433,13 +1433,13 @@ char *call_delete_udp(const char **out, struct callmaster *m) { |
|
|
|
struct call *c, *next; |
|
|
|
char *ret; |
|
|
|
|
|
|
|
DBG("got delete for callid '%s' and viabranch '%s'", |
|
|
|
out[RE_UDP_D_CALLID], out[RE_UDP_D_VIABRANCH] ? out[RE_UDP_D_VIABRANCH] : "<none>"); |
|
|
|
|
|
|
|
c = g_hash_table_lookup(m->callhash, out[RE_UDP_D_CALLID]); |
|
|
|
if (!c) |
|
|
|
goto err; |
|
|
|
|
|
|
|
DBG("got delete for callid '%s' and viabranch '%s'", |
|
|
|
out[RE_UDP_D_CALLID], out[RE_UDP_D_VIABRANCH] ? out[RE_UDP_D_VIABRANCH] : "<none>"); |
|
|
|
|
|
|
|
if(out[RE_UDP_D_VIABRANCH]) { |
|
|
|
/* only delete selective branch */ |
|
|
|
while(c) { |
|
|
|
@ -1471,6 +1471,8 @@ char *call_delete_udp(const char **out, struct callmaster *m) { |
|
|
|
goto out; |
|
|
|
|
|
|
|
err: |
|
|
|
DBG("callid '%s' marked for removal not found in hash-table", out[RE_UDP_D_CALLID]); |
|
|
|
|
|
|
|
asprintf(&ret, "%s E8\n", out[RE_UDP_COOKIE]); |
|
|
|
goto out; |
|
|
|
|
|
|
|
|