Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 235564) +++ channels/chan_sip.c (working copy) @@ -15340,8 +15340,8 @@ struct ao2_iterator i; /* the last argument is left-aligned, so we don't need a size anyways */ -#define FORMAT2 "%-25.25s %-15.15s %-3.3s %-10.10s %-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 %-10.10s %-3.3s %-8s %-17s %s %s\n" +#define FORMAT "%-25.25s %-15.15s %-3.3s %-10.10s %-3.3s %-8d %-17s %s %s\n" char name[256]; int total_peers = 0; @@ -15381,7 +15381,7 @@ } if (!s) /* Normal list */ - ast_cli(fd, FORMAT2, "Name/username", "Host", "Dyn", "Forcerport", "ACL", "Port", "Status", (realtimepeers ? "Realtime" : "")); + ast_cli(fd, FORMAT2, "Name/username", "Host", "Dyn", "Forcerport", "ACL", "Port", "Status", (realtimepeers ? "Realtime" : ""), "Callerid"); i = ao2_iterator_init(peers, 0); @@ -15411,6 +15411,7 @@ for(k=0; k < total_peers; k++) { char status[20] = ""; char srch[2000]; + char cbuf[256]; char pstatus; peer = peerarray[k]; @@ -15444,7 +15445,8 @@ ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT) ? " N " : " ", /* NAT=yes? */ peer->ha ? " A " : " ", /* permit/deny */ ntohs(peer->addr.sin_port), status, - realtimepeers ? (peer->is_realtime ? "Cached RT":"") : ""); + realtimepeers ? (peer->is_realtime ? "Cached RT":"") : "", + ast_callerid_merge(cbuf, sizeof(cbuf), peer->cid_name, peer->cid_num, "")); if (!s) {/* Normal CLI list */ ast_cli(fd, FORMAT, name, @@ -15452,9 +15454,9 @@ peer->host_dynamic ? " D " : " ", /* Dynamic or not? */ ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT) ? " N " : " ", /* NAT=yes? */ peer->ha ? " A " : " ", /* permit/deny */ - ntohs(peer->addr.sin_port), status, - realtimepeers ? (peer->is_realtime ? "Cached RT":"") : ""); + realtimepeers ? (peer->is_realtime ? "Cached RT":"") : "", + ast_callerid_merge(cbuf, sizeof(cbuf), peer->cid_name, peer->cid_num, "")); } else { /* Manager format */ /* The names here need to be the same as other channels */ astman_append(s, @@ -15470,7 +15472,8 @@ "TextSupport: %s\r\n" "ACL: %s\r\n" "Status: %s\r\n" - "RealtimeDevice: %s\r\n\r\n", + "RealtimeDevice: %s\r\n" + "Callerid: %s\r\n\r\n", idtext, peer->name, peer->addr.sin_addr.s_addr ? ast_inet_ntoa(peer->addr.sin_addr) : "-none-", @@ -15481,7 +15484,8 @@ ast_test_flag(&peer->flags[1], SIP_PAGE2_TEXTSUPPORT) ? "yes" : "no", /* TEXTSUPPORT=yes? */ peer->ha ? "yes" : "no", /* permit/deny */ status, - realtimepeers ? (peer->is_realtime ? "yes":"no") : "no"); + realtimepeers ? (peer->is_realtime ? "yes":"no") : "no", + ast_callerid_merge(cbuf, sizeof(cbuf), peer->cid_name, peer->cid_num, "")); } ao2_unlock(peer); unref_peer(peer, "toss iterator peer ptr");