Allow=all not working

I just lived through a bit of a problem, and although this is fixed now I am trying to understand what limitation there is in using allow=all for codecs.

I have a few Asterisk boxes that, as much as possible, talk among each other instead of going to the PSTN when the other users are internal (all very ordinary).

I switched from chan_sip to pjsip, and as a way to make things “simpler” for my starting point I created my endpoints with default values as much as possible, and when came time for codecs I figured the boxes all had the same sort of setup, I’d just put “all” in there and let them negociate what worked out for them. I figured I’d tighten up media quality later.

Turns out it didn’t work, as soon as media started being transferred (an Answer(), or a Playback()) the call hung up. And there were no meaningful errors given in the CLI or in the pjsip logger.

After scratching my head, I went with intuition and figured I’d try just allowing ulaw. And just like that everything worked right away.

While I’m satisfied with my setup as it is now, I wanted to understand why allow=all would be an issue.

Any explanation, to help with my Asterisk education?

It results in a ton of codecs, and there’s a finite number of payloads, and it also makes your SDP huge. I don’t know why it wouldn’t work for you, but it’s generally not a great idea for that reason.

1 Like

Thanks, I guess I don’t really need to know the reason in detail.