I am seeing a strange problem here.
I have cross-compiled Linphone for an embedded board. ALSA is used for sound. While testing basic functionality with linphonec (just making an audio-only call to a PC running linphone), I found the following:
- When a codec other than PCMU or PCMA is used (specifically I tested speex), then the call can be established, and there is audio in both directions
- However when using PCMU or PCMA, I found that there is audio in the PC -> target board direction, but not in the target board -> PC direction
I was puzzled by this behaviour and after some testing I discovered that the problem is fixed if I use the following asound.conf (there was no asound.conf in the initial tests):
My question is: Why does this fix the problem? And why does the problem manifest only when PCMU/PCMA are used, and not with other codecs?