Index: channels/chan_sip.c =================================================================== RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v retrieving revision 1.535 diff -u -r1.535 chan_sip.c --- channels/chan_sip.c 13 Oct 2004 01:05:31 -0000 1.535 +++ channels/chan_sip.c 14 Oct 2004 22:27:57 -0000 @@ -5608,27 +5608,34 @@ } strncpy(status, "UNKNOWN", sizeof(status) - 1); } - } else + } else { strncpy(status, "Unmonitored", sizeof(status) - 1); - snprintf(srch, sizeof(srch), FORMAT, name, - peer->addr.sin_addr.s_addr ? ast_inet_ntoa(iabuf, sizeof(iabuf), peer->addr.sin_addr) : "(Unspecified)", - peer->dynamic ? " D " : " ", /* Dynamic or not? */ - (peer->nat & SIP_NAT_ROUTE) ? " N " : " ", /* NAT=yes? */ - peer->ha ? " A " : " ", /* permit/deny */ - nm, - ntohs(peer->addr.sin_port), status); + /* Checking if port is 0 */ + if ( ntohs(peer->addr.sin_port) == 0 ) { + peers_offline++; + } else { + peers_online++; + } + } + + snprintf(srch, sizeof(srch), FORMAT, name, + peer->addr.sin_addr.s_addr ? ast_inet_ntoa(iabuf, sizeof(iabuf), peer->addr.sin_addr) : "(Unspecified)", + peer->dynamic ? " D " : " ", /* Dynamic or not? */ + (peer->nat & SIP_NAT_ROUTE) ? " N " : " ", /* NAT=yes? */ + peer->ha ? " A " : " ", /* permit/deny */ + nm, ntohs(peer->addr.sin_port), status); - if (argc == 5) { - if (!strcasecmp(argv[3],"include") && strstr(srch,argv[4])) { - print_line = -1; - } else if (!strcasecmp(argv[3],"exclude") && !strstr(srch,argv[4])) { - print_line = 1; - } else if (!strcasecmp(argv[3],"begin") && !strncasecmp(srch,argv[4],strlen(argv[4]))) { - print_line = -1; - } else { - print_line = 0; - } + if (argc == 5) { + if (!strcasecmp(argv[3],"include") && strstr(srch,argv[4])) { + print_line = -1; + } else if (!strcasecmp(argv[3],"exclude") && !strstr(srch,argv[4])) { + print_line = 1; + } else if (!strcasecmp(argv[3],"begin") && !strncasecmp(srch,argv[4],strlen(argv[4]))) { + print_line = -1; + } else { + print_line = 0; } + } if (print_line) { ast_cli(fd, FORMAT, name,