X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=lcradmin.c;h=59553fd16d9eb0192f1f4f6a49b07b97bb3d31aa;hp=0138de93d8f84402700896c02e11221a530523f4;hb=5566f74eb29be75da44e29ba72ee6f015249ce61;hpb=e9bfe48fc5254e79e59c6ffc1698912175edf4e3 diff --git a/lcradmin.c b/lcradmin.c index 0138de9..59553fd 100644 --- a/lcradmin.c +++ b/lcradmin.c @@ -25,6 +25,7 @@ #include "macro.h" #include "options.h" #include "join.h" +#include "select.h" #include "joinpbx.h" #include "extension.h" #include "message.h" @@ -179,6 +180,10 @@ int debug_port(struct admin_message *msg, struct admin_message *m, int line, int color(blue); addstr("'out >> disc'"); break; + case ADMIN_STATE_RELEASE: + color(blue); + addstr("'release'"); + break; default: color(blue); addstr("'--NONE--'"); @@ -382,6 +387,13 @@ int debug_join(struct admin_message *msg, struct admin_message *m, int line, int color(white); SPRINT(buffer,"JOIN(%d)", join); addstr(buffer); + if (m[i].u.j.threepty) { + color(cyan); + addstr(" 3PTY->"); + color(white); + SPRINT(buffer, "%d\n", m[i].u.j.threepty); + addstr(buffer); + } if (m[i].u.j.partyline) { color(cyan); addstr(" partyline="); @@ -616,7 +628,10 @@ const char *admin_state(int sock, char *argv[]) /* show interface summary */ move(++line>1?line:1, 0); color(white); - if (m[i].u.i.block >= 2) { + if (m[i].u.i.portnum == -100) { + SPRINT(buffer, "%s %s", m[i].u.i.interface_name, (m[i].u.i.extension)?" exten":""); + addstr(buffer); + } else if (m[i].u.i.block >= 2) { if (m[i].u.i.portnum < 0) SPRINT(buffer, "%s (port ?: %s)%s", m[i].u.i.interface_name, m[i].u.i.portname, (m[i].u.i.extension)?" exten":""); else @@ -729,24 +744,12 @@ const char *admin_state(int sock, char *argv[]) break; case B_STATE_ACTIVE: color(green); - addstr("busy "); + addstr("active "); break; case B_STATE_DEACTIVATING: color(yellow); addstr("dact'ing"); break; - case B_STATE_EXPORTING: - color(yellow); - addstr("exp'ing "); - break; - case B_STATE_REMOTE: - color(green); - addstr("remote "); - break; - case B_STATE_IMPORTING: - color(yellow); - addstr("imp'ing "); - break; } if (m[i].u.i.port[j]) { /* search for port */ @@ -1296,6 +1299,8 @@ const char *admin_portinfo(int sock, int argc, char *argv[]) else printf("\t status = unblocked\n"); printf("\t mode = %s %s%s%s\n", (m[i].u.i.ntmode)?"NT-mode":"TE-mode", (m[i].u.i.ptp)?"ptp":"ptmp", (m[i].u.i.l1hold)?" l1hold":"", (m[i].u.i.l2hold)?" l2hold":""); + printf("\t out-channel = %s\n", m[i].u.i.out_channel); + printf("\t in-channel = %s\n", m[i].u.i.in_channel); if (m[i].u.i.l1link < 0) printf("\t l1 link = unknown\n"); else @@ -1574,7 +1579,11 @@ next: goto next; case ADMIN_CALL_NOTIFY: - printf("NOTIFY\n notify=%d\n number=%s\n", msg.u.call.notify, msg.u.call.callerid); fflush(stdout); + printf("NOTIFY\n notify=%d\n number=%s\n", msg.u.call.notify_progress, msg.u.call.callerid); fflush(stdout); + goto next; + + case ADMIN_CALL_PROGRESS: + printf("PROGRESS\n progress=%d\n location=%d\n", msg.u.call.notify_progress, msg.u.call.location); fflush(stdout); goto next; case ADMIN_CALL_DISCONNECT: @@ -1675,7 +1684,7 @@ int main(int argc, char *argv[]) int sock, conn; struct sockaddr_un sock_address; const char *ret = "invalid mode"; - + char options_error[256]; /* show options */ if (argc <= 1) { @@ -1751,7 +1760,7 @@ int main(int argc, char *argv[]) goto usage; } - if (read_options() == 0) { + if (read_options(options_error) == 0) { exit(EXIT_FAILURE); }