SetMicrophoneGain and SetSpeakerGain GME API methods are stubbed in GME for iOS platform, that's why they always return false. Currently Equinox application use MPVolumeView iOS system API directly to control the volume.
I compared the audio volume between Equinox and FaceTime using iPhone 6 and also observe significant difference: actual audio volume in Equinox is quite lower than in FaceTime (I set 100% volume on device in both cases). The cause of low volume in Equinox is audio processing(AEC, AGC etc.) which applied in GME by default.
Compared call volume on P2P call between Equinox clients(OSX and iOS(iPhone 6)) with completely disabled audio processing(AEC, AGC, NS turned off for TX and RX) and FaceTime clients(OSX and iOS(iPhone 6)). Now on iPhone 6 I observe the same loud volume on Equinox and FaceTime.
I suppose that AGC audio processing option affects volume most of all. Also I see that AGC is not enabled in FaceTime(the system microphone volume level is not changed during FaceTime call, but Equinox automatically reduce microphone volume level).
GME audio processing options can be disabled via CSVoIPConfigurationAudio configuration interface provided in GME API:
CSVoIPConfigurationAudio* audioConfig = [[CSVoIPConfigurationAudio alloc] init];
//Disable AGC
audioConfig.transmitAutomaticGainControlMode = CSAutomaticGainControlModeOff;
audioConfig.receiveAutomaticGainControlMode = CSAutomaticGainControlModeOff;
//Disable AEC
audioConfig.echoCancellationMode = CSEchoCancelationModeOff;
//Disable NS
audioConfig.transmitNoiseSuppressionMode = CSNoiseSuppressionModeOff;
audioConfig.receiveNoiseSuppressionMode = CSNoiseSuppressionModeOff;
I recommend to start with AGC(Automatic gain control) disable, because it affects volume level most of all.