--- asterisk-1.8.1/main/callerid.c 2010-07-14 11:48:36.000000000 -0400 +++ asterisk-1.8.1p1/main/callerid.c 2010-12-14 16:47:09.000000000 -0500 @@ -569,8 +569,11 @@ } if (res == 1) { /* Ignore invalid bytes */ - if (b > 0xff) + if ((b > 0xff) && (cid->sawflag != 5) { continue; + } else { + b = b & 0xff; + } switch (cid->sawflag) { case 0: /* Look for flag */ if (b == 'U')