summaryrefslogtreecommitdiffstats
path: root/admin_server.c
diff options
context:
space:
mode:
authorSuper User2007-07-08 11:24:26 +0200
committerSuper User2007-07-08 11:24:26 +0200
commit2746009aca7e00678ad6f5f64da8b208ab635d60 (patch)
tree5b06ed6e60d8c77ac52d23484b4ba28d4a55d05b /admin_server.c
parentbackup (diff)
downloadlcr-2746009aca7e00678ad6f5f64da8b208ab635d60.tar.gz
lcr-2746009aca7e00678ad6f5f64da8b208ab635d60.tar.xz
lcr-2746009aca7e00678ad6f5f64da8b208ab635d60.zip
backup
still debugging...
Diffstat (limited to 'admin_server.c')
-rw-r--r--admin_server.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/admin_server.c b/admin_server.c
index ad40516..1bb07af 100644
--- a/admin_server.c
+++ b/admin_server.c
@@ -262,6 +262,7 @@ int admin_route(struct admin_queue **responsep)
CATEGORY_EP,
apppbx->ea_endpoint->ep_serial,
"KICK (reload routing)");
+ end_trace();
}
apppbx->e_action_timeout = NULL;
@@ -340,6 +341,16 @@ int admin_dial(struct admin_queue **responsep, char *message)
/*
+ * do tracing
+ */
+int admin_trace(struct admin_list *admin, struct admin_trace_req *trace)
+{
+ memcpy(&admin->trace, trace, sizeof(struct admin_trace_req));
+ return(0);
+}
+
+
+/*
* do blocking
*
* 0 = make port available
@@ -1043,6 +1054,14 @@ int admin_handle(void)
}
break;
+ case ADMIN_TRACE_REQUEST:
+ if (admin_trace(admin, &msg.u.trace_req) < 0)
+ {
+ PERROR("Failed to create trace response for socket %d.\n", admin->sock);
+ goto response_error;
+ }
+ break;
+
case ADMIN_REQUEST_CMD_BLOCK:
if (admin_block(&admin->response, msg.u.x.portnum, msg.u.x.block) < 0)
{
@@ -1077,7 +1096,7 @@ int admin_handle(void)
break;
case ADMIN_CALL_SETUP:
- if (admin_call(admin, &msg))
+ if (admin_call(admin, &msg) < 0)
{
PERROR("Failed to create call for socket %d.\n", admin->sock);
response_error: