I’d like to use Asterisk to handle calls with a proprietary “m=application” media type (as described in RFC 4566, section 5.14. Media Descriptions (“m=”)), I’d like to use a raw UDP socket between the two user agents.
I built Aterisk 18 from source, configured it myself (took me a week), and use MicroSIP and PJSUA UAs for testing as well as my proprietary UAs. Everything I tested works (meaning registering, voice calls and short messages), except our “data channel” as described in the first paragraph. Asterisk responds to an INVITE containing only “m=application PORT udp …” in the SDP section with a 488 error code and ends the call attempt. I can’t find any traces in the logs, but that might just be a lack of experience.
This subject is hard to google because of generic terms like “application”, finally I found a hint in this forum from 2006:
Is it still the case that Asterisk “does not parse unknown application types”?
Do I understand correctly that this is a final decision in the Asterisk architecture to not support custom application media? Or is it just that nobody bothered to implement it, and it would be welcome?
Due to the underlying architecture it would be difficult to do it in a sane fashion, since the core isn’t SIP. The media architecture these days is flexible such that things could be dynamically configured ahead of time when Asterisk loads to make stuff aware, but noone has done that and it’s not really written to extend to arbitrary data payloads.