I have a bit of an odd situation here. Using Cisco 79x0 phones, I am able to call to other extensions, other sites on the far side of a tunnel, accept incoming calls, and make outgoing calls. I never have codec problems, as the PBX transcodes as needed.
However, if I am on one call and use the phone’s built-in “Conference” or “Confrn” button to try and join two calls together, I found that it only works if my extension has ulaw enabled. Otherwise, it ends with a reorder and the following error:
chan_sip.c: No compatible codecs, not accepting this offer!
Digging a little deeper, I found that the Asterisk SIP Settings > General page only had g729 (for which we have licenses) and ulaw enabled. My extension only had g729 and gsm enabled (
allow=g729&gsm ). Either adding ulaw to my extension or adding gsm to the General settings made it work.
Why is this? Is it something I have misconfigured? an obscure Cisco setting I missed? I would assume that, if my extension were only allowed to use, say, gsm, that the PBX should handle transcoding the audio in this situation, but for some reason the second leg seems to use the codec specified in the general settings instead of the settings specified in the extension config - and oddly won’t work with g729 when we have plenty of available licenses.
PS: I should reiterate that I am not trying to use a conference room here, I am just trying to use the phones built-in conference capability.