1. Create iax trunk. Add
to trunk PEER details. Set registration string.
2. Under Setup->IAX Settings -> Codec Settings, enable ulaw and alaw codecs
3. Create iax extension but do not specify codec
3. Apply Config
iax_registrations.conf contains register= as expected. It also contains most of the properties from the trunk and extension, including the 'disallow=all'.
iax_general_additional.conf contains the properties from #2 as expected
When iax.conf is read by asterisk, the 'disallow=all' in iax_registrations.conf appears in the [general] section where it disables all codecs which are injected first by iax_general_additional.conf. This leaves iax extensions with no codecs defined, so unusable.
The last time I looked (a very long time ago), iax_registrations.conf only had the 'register=' property.
There are at least 2 workarounds so not critical.