From ddaa9755e36feedfb49b38a9b2c278be2fcb28c3 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 20 Sep 2011 14:41:24 +0000 Subject: [PATCH] Return a dummy/error reply over UDP when a call doesn't exist, so kamailio doesn't think we're dead --- daemon/call.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/daemon/call.c b/daemon/call.c index 42d06f019..109cf4186 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -1057,7 +1057,8 @@ char *call_update_udp(const char **o, struct callmaster *m) { fail: mylog(LOG_WARNING, "Failed to parse a media stream: %s:%s", o[5], o[6]); - return NULL; + asprintf(&ret, "%s E8\n", o[1]); + return ret; } char *call_lookup_udp(const char **o, struct callmaster *m) { @@ -1070,7 +1071,8 @@ char *call_lookup_udp(const char **o, struct callmaster *m) { c = g_hash_table_lookup(m->callhash, o[4]); if (!c) { mylog(LOG_WARNING, "[%s] Got UDP LOOKUP for unknown call-id", o[4]); - return NULL; + asprintf(&ret, "%s 0 " IPF "\n", o[1], IPP(m->ip)); + return ret; } strdupfree(&c->called_agent, "UNKNOWN(udp)"); @@ -1099,7 +1101,8 @@ char *call_lookup_udp(const char **o, struct callmaster *m) { fail: mylog(LOG_WARNING, "Failed to parse a media stream: %s:%s", o[5], o[6]); - return NULL; + asprintf(&ret, "%s E8\n", o[1]); + return ret; } char *call_request(const char **o, struct callmaster *m) {