Asterisk 16.3.0: slin -> h264 codec translation


Working on a customer issue where a call fails to connect because Asterisk is unable to find a codec translation between slin and h264 which is expected as slin is audio and h264 is video. Both the outgoing and incoming trunks have

Debug shows:
Accepting AUTHENTICATED call from [xxxxx]
requested format = h264
requested prefs = (h264|slin)
actual format = unknown
host prefs = slin|h264

WARNING: Unable to find a codec translation path: (slin) -> (h264)
WARNING: Unable to forward frametype: 2

Any idea why Asterisk thinks it needs to convert an audio codec to a video codec?

Thanks, Wray

Asterisk didn’t have a concept of streams, and even now chan_iax2 doesn’t really, so lots of data pertaining to streams was combined into being stored in the same area - causing issues like this. There may be code which is not properly handling it, resulting in this problem.

So a bit confused. Are you saying this is a configuration issue or do I need to make a code change in the Asterisk codebase? Or if a code issue is it resolved in a later release of Asterisk?

Thanks, Wray

I’m saying it is likely an issue in code, and may be specific to chan_iax2. The chan_iax2 module is not used that often anymore, and I doubt many try to do video over it as well. It’s just not something that is done, so that could exercise different areas and find bugs such as this.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.