The noises while you are in call can depend from the network, environment where the call is made, the used codecs on the server and many others. As for the receiving calls the best way for receiving incoming calls while Zoiper is in background is to use TCP or TLS instead of UDP. This could be set from the Network settings menu in the account configuration. Please also be advised that TCP and TLS must be supported by your VoIP provider as well, otherwise your account will not register.
If for some reason, you are not able to use anything else than UDP, you may enable both options in the Incoming calls section from Zoiper's Settings menu.
In addition, please also check whether all notifications are enabled for Zoiper in the iOS Settings menu -> Notifications.