Implement 3PTY bridge of two 'join's.
[lcr.git] / lcradmin.c
index c7691ee..59553fd 100644 (file)
@@ -387,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=");
@@ -621,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
@@ -740,18 +750,6 @@ const char *admin_state(int sock, char *argv[])
                                                                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 */
@@ -1301,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
@@ -1579,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: