Asterisk 16.3.0: slin -> h264 codec translation

Hi,

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
disallow=all
allow=slin
allow=h264

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

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.