This is how i load ilbc codec unsigned count = 1; pj_str_t str_codec_id = pj_str("ilbc"); pjmedia_codec_mgr *codec_mgr = pjmedia_endpt_get_codec_mgr(med_endpt); const pjmedia_codec_info *codec_info; pjmedia_codec_param codec_param; status = pjmedia_codec_mgr_find_codecs_by_id( codec_mgr, &str_codec_id, &count, &codec_info, NULL); if (status != PJ_SUCCESS) { printf("Error: unable to find codec %s\n", "ilbc"); return 1; } and there were not error reported while loading. I use this same codec info to initialize incoming RTP pstreams, with a ilbc encoded payload. Issue is despite of initialization. I get this error, 13:02:50.624 strm0x15653c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0 13:02:50.624 strm0x15653c8 Bad RTP pt 117 (expecting 0) Lets keep aside the payload number issue, why is that it is reporting it is expecting Audio payload 0 , which i have initialized it pstream media to decode with ilbc ?