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?
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?
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.