--- main/rtp.c.orig 2009-10-28 06:41:24.000000000 -0400 +++ main/rtp.c 2009-10-29 06:42:00.000000000 -0400 @@ -1875,6 +1875,8 @@ rtp->f.samples = ast_codec_get_samples(&rtp->f); if (rtp->f.subclass == AST_FORMAT_SLINEAR) ast_frame_byteswap_be(&rtp->f); + if (rtp->f.subclass == AST_FORMAT_SLINEAR16) + ast_frame_byteswap_be(&rtp->f); calc_rxstamp(&rtp->f.delivery, rtp, timestamp, mark); /* Add timing data to let ast_generic_bridge() put the frame into a jitterbuf */ ast_set_flag(&rtp->f, AST_FRFLAG_HAS_TIMING_INFO); @@ -1925,6 +1927,7 @@ {{1, AST_FORMAT_G726}, "audio", "G726-32", 8000}, {{1, AST_FORMAT_ADPCM}, "audio", "DVI4", 8000}, {{1, AST_FORMAT_SLINEAR}, "audio", "L16", 8000}, + {{1, AST_FORMAT_SLINEAR16}, "audio", "L16", 16000}, {{1, AST_FORMAT_LPC10}, "audio", "LPC", 8000}, {{1, AST_FORMAT_G729A}, "audio", "G729", 8000}, {{1, AST_FORMAT_G729A}, "audio", "G729A", 8000}, --- main/frame.c.orig 2009-10-28 06:36:13.000000000 -0400 +++ main/frame.c 2009-10-28 04:53:15.000000000 -0400 @@ -689,7 +689,7 @@ ast_cli(a->fd, "--------------------------------------------------------------------------------\n"); if ((a->argc == 3) || (!strcasecmp(a->argv[3],"audio"))) { found = 1; - for (i=0;i<13;i++) { + for (i=0;i<16;i++) { snprintf(hex,25,"(0x%x)",1<fd, "%11u (1 << %2d) %10s audio %8s (%s)\n",1 << i,i,hex,ast_getformatname(1<flags[0], SIP_G726_NONSTANDARD) ? AST_RTP_OPT_G726_NONSTANDARD : 0, sample_rate) != -1) { if (debug) - ast_verbose("Found audio description format %s for ID %d\n", mimeSubtype, codec); + ast_verbose("Found audio description format %s rate %d for ID %d \n", mimeSubtype, sample_rate, codec); found_rtpmap_codecs[last_rtpmap_codec] = codec; last_rtpmap_codec++; } else { ast_rtp_unset_m_type(newaudiortp, codec); if (debug) - ast_verbose("Found unknown media description format %s for ID %d\n", mimeSubtype, codec); + ast_verbose("Found unknown media description format %s rate %d for ID %d \n", mimeSubtype, sample_rate, codec); } } } else {