--- asterisk-orig/channels/chan_sip.c 2008-01-20 15:00:51.331338513 +0100 +++ asterisk/channels/chan_sip.c 2008-01-20 22:56:45.881264500 +0100 @@ -11717,8 +11717,8 @@ int havepattern = FALSE; /* the last argument is left-aligned, so we don't need a size anyways */ -#define FORMAT2 "%-25.25s %-15.15s %-3.3s %-3.3s %-3.3s %-8s %-10s %s\n" -#define FORMAT "%-25.25s %-15.15s %-3.3s %-3.3s %-3.3s %-8d %-10s %s\n" +#define FORMAT2 "%-25.25s %-15.15s %-3.3s %-3.3s %-3.3s %-8s %-13s %-4s %-10s\n" +#define FORMAT "%-25.25s %-15.15s %-3.3s %-3.3s %-3.3s %-8d %-13s %-4s %-10s\n" char name[256]; int total_peers = 0; @@ -11728,6 +11728,7 @@ int peers_unmon_online = 0; const char *id; char idtext[256] = ""; + char cbuf[256]; int realtimepeers; realtimepeers = ast_check_realtime("sippeers"); @@ -11753,7 +11754,7 @@ } if (!s) /* Normal list */ - ast_cli(fd, FORMAT2, "Name/username", "Host", "Dyn", "Nat", "ACL", "Port", "Status", (realtimepeers ? "Realtime" : "")); + ast_cli(fd, FORMAT2, "Name/username", "Host", "Dyn", "Nat", "ACL", "Port", "Status", (realtimepeers ? "Realtime" : ""), "Callerid"); ASTOBJ_CONTAINER_TRAVERSE(&peerl, 1, do { char status[20] = ""; @@ -11790,7 +11791,7 @@ ast_test_flag(&iterator->flags[0], SIP_NAT_ROUTE) ? " N " : " ", /* NAT=yes? */ iterator->ha ? " A " : " ", /* permit/deny */ ntohs(iterator->addr.sin_port), status, - realtimepeers ? (iterator->is_realtime ? "Cached RT":"") : ""); + realtimepeers ? (iterator->is_realtime ? "Cached RT":"") : "", strcmp(iterator->cid_name,"") ? ast_callerid_merge(cbuf, sizeof(cbuf), iterator->cid_name, iterator->cid_num, "") : ""); if (!s) {/* Normal CLI list */ ast_cli(fd, FORMAT, name, @@ -11800,7 +11801,7 @@ iterator->ha ? " A " : " ", /* permit/deny */ ntohs(iterator->addr.sin_port), status, - realtimepeers ? (iterator->is_realtime ? "Cached RT":"") : ""); + realtimepeers ? (iterator->is_realtime ? "Cached RT":"") : "", strcmp(iterator->cid_name,"") ? ast_callerid_merge(cbuf, sizeof(cbuf), iterator->cid_name, iterator->cid_num, "") : ""); } else { /* Manager format */ /* The names here need to be the same as other channels */ astman_append(s, @@ -12295,7 +12296,7 @@ if (peer->busy_level) ast_cli(fd, " Busy level : %d\n", peer->busy_level); ast_cli(fd, " Dynamic : %s\n", cli_yesno(peer->host_dynamic)); - ast_cli(fd, " Callerid : %s\n", ast_callerid_merge(cbuf, sizeof(cbuf), peer->cid_name, peer->cid_num, "")); + ast_cli(fd, " Callerid : %s\n", strcmp(peer->cid_name,"") ? ast_callerid_merge(cbuf, sizeof(cbuf), peer->cid_name, peer->cid_num, "") : "" ); ast_cli(fd, " MaxCallBR : %d kbps\n", peer->maxcallbitrate); ast_cli(fd, " Expire : %ld\n", ast_sched_when(sched, peer->expire)); ast_cli(fd, " Insecure : %s\n", insecure2str(ast_test_flag(&peer->flags[0], SIP_INSECURE))); @@ -12401,7 +12402,7 @@ astman_append(s, "Busy-level: %d\r\n", peer->busy_level); astman_append(s, "MaxCallBR: %d kbps\r\n", peer->maxcallbitrate); astman_append(s, "Dynamic: %s\r\n", peer->host_dynamic?"Y":"N"); - astman_append(s, "Callerid: %s\r\n", ast_callerid_merge(cbuf, sizeof(cbuf), peer->cid_name, peer->cid_num, "")); + astman_append(s, "Callerid: %s\r\n", strcmp(peer->cid_name,"") ? ast_callerid_merge(cbuf, sizeof(cbuf), peer->cid_name, peer->cid_num, "") : ""); astman_append(s, "RegExpire: %ld seconds\r\n", ast_sched_when(sched,peer->expire)); astman_append(s, "SIP-AuthInsecure: %s\r\n", insecure2str(ast_test_flag(&peer->flags[0], SIP_INSECURE))); astman_append(s, "SIP-NatSupport: %s\r\n", nat2str(ast_test_flag(&peer->flags[0], SIP_NAT))); @@ -12507,7 +12508,7 @@ print_group(a->fd, user->callgroup, 0); ast_cli(a->fd, " Pickupgroup : "); print_group(a->fd, user->pickupgroup, 0); - ast_cli(a->fd, " Callerid : %s\n", ast_callerid_merge(cbuf, sizeof(cbuf), user->cid_name, user->cid_num, "")); + ast_cli(a->fd, " Callerid : %s\n", strcmp(user->cid_name,"") ? ast_callerid_merge(cbuf, sizeof(cbuf), user->cid_name, user->cid_num, "") : ""); ast_cli(a->fd, " ACL : %s\n", cli_yesno(user->ha != NULL)); ast_cli(a->fd, " Sess-Timers : %s\n", stmode2str(user->stimer.st_mode_oper)); ast_cli(a->fd, " Sess-Refresh : %s\n", strefresher2str(user->stimer.st_ref));