for encryption data packets, one should use GCM, CCM or EAX mode of operation to have confidentiality and integrity. What to do in case of voice packets? is it enough that audio signal gets compressed and then just encrypted instead, and hoping that if someone changes the bits of encrypted voice, the compression function will not decode the voice properly? thus there is no need to have integrity check in case of audio?
[H]oping that if someone changes the bits [...], the compression function will not decode the voice properly?
This is called poor man's authentication and is heavily used in full-disk encryption due to size and latency issues. The obvious downside is that you can at most hope that the application layer (ie the decoder) will notice manipulation. Depending on the actual data / audio being handled here, an attacker may very well tamper with the data and try (successfully) to manipulate it so that it decrypts to different valid audio.
What to do in case of voice packets?
Voice isn't different from data (on the most basic level) and as such you want to apply the same mechanisms at the very least.
So what you want is to use authenticated encryption like GCM, CCM or EAX, so that you can detect manipulation of the data with extremely high probability based on the return value of the decryption routine.