some ideas:
A-Law and U-Law are already compress algos for the communication sector like GSM6.1 or GSM6.6. Have a look at them.
I still do not know, what source you are recording and how important is the quality of the signal. You could try to reduce sampling rate to 8000Hz. This will cost some high frequencies, but still good for communication. Perhaps this will shrink the rate to 9kbps.
Check also the quality if you use MP3 with the minimum feature "8kbps".
What is your app doing when the speaker says nothing for a moment? You could add a SILENCE recognition
are you interested in reducing the peak amout of kbps or the average amout of kbps? How important is real time performance for you? You could add a "bootleneck" in your stream and delay transportation. This will reduce bandwidth and the end the listener will hear all perfect, but with a delay of some seconds.