I posted this on Reddit as well as here, I’ll be happy to post the fix back to Reddit too if someone can help! I have an issue with video calls outbound when using playback, I’m running asterisk 16.0.1 with pjsip
When placing an outbound call using the playback application ftmp data is not included in the invite. This seems to be a common theme with other users, and is the same when using h263 and h264.
I can get a call up, in this case to a Cisco Expressway, but it seems to be the same whatever I call, including direct to endpoints, and video is sent in both directions, verified by packet capture where I can see both my g722 audio and my h264 traffic. However, the traffic at the remote end is unable to be processed. The end application reports TAA_H264_INVALID_PPS_REFERENCED.
What I’m trying to figure out here is why Asterisk/pjsip doesn’t sent fmtp info at all, as I suspect that’s the reason the remote end can’t handle the media. Here, for example, is an invite or OK received’s SDP
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42E01F;packetization-mode=0;max-fs=3601;level-asymmetry-allowed=1
looks healthy, and this is a known worker for b2b calling against other platforms. Asterisk, however, both in invite’s and responses only shows
a=rtpmap:99 H264/90000
Protocol number is different at 99, which I don’t think is a problem, but the fmtp information is missing. Audio negotiates absolutely fine, and both sites in that case don’t include fmtp information.
I’ve been going round and round on this one for days now. I’ve been amending code of the vid_codec_util.c, which I can only figure out for h263, recompiling. I’ve loaded in the following modules
load = res_format_attr_h263.so
load = res_format_attr_h264.so
load = format_h263.so
load = format_h264.so
I can also place a video call in and record fine, validated by downloading the recorded files and playing them locally. And again, packet capture shows the media is being sent, it’s just not possible to properly decode it due to mismatched parameters.