I've migrated my VoIP application to iOS7 recently, and there's an open bug still remaining which I can't understand.
When in VoIP call, in iOS6 you can push the physical volume button to lower the volume, down to Zero.
Now, in iOS7, I can lower the sound only down to the last step before zero, which means the volume cannot be muted.
I suspect this is something that's on iOS7 side, since I don't have the problem with the same IPA on an iOS6 device.
Anybody knows what's up?
Same problem with my VoIP app...
My Solution: After everything is set up, set the category to Playback,
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
Then set it back to PlayAndRecord,
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
This works for me, hope this helps someone who comes across the same problem.