Dialogflow CX Phone Gateway supports languages that support both STT and TTS.
To check Dialogflow CX Phone Gateway’s supported languages, you may refer to the Language Reference documentation and select both STT and TTS in the filter to see the complete list of supported languages.

Regarding changing the language, if you wish to switch between multiple agent's languages in the console, you can use the Language dropdown in the top part of the menu next to the Agent selection dropdown. See screenshot for reference:

Moreover, if you want to change the language in CX Phone Gateway, please see the following options.
For an existing phone number previously created in the agentNumber has been created
Select the phone number to update the language.
Click Show more settings.
Choose the desired language.
Save the changes.
For creating a new phone number
Click the Create button.
Fill out the Request phone number fields.
Click the REQUEST button.
Select the phone number and add Conversation profile settings.
Then, click Show more settings.
Choose the desired language.
Save the changes.
Note that the languages that will be visible in the CX Phone Gateway are the languages added in the agent’s settings.
Note that the Google Cloud Storage URI feature only records and saves the Dialogflow response audio. For reference, you may check the Speech and IVR settings documentation. Moreover, note that audio queries from Telephony integrations are converted to text before it is sent to Dialogflow. You should be able to check the conversation logs from Stackdriver if you enable Stackdriver logging in your agent’s General settings.
To achieve your desired use case, you can check if the other built-in Telephony integrations have a feature that will allow you to record the user queries sent by the end-user. You may consider checking their respective documentations (Avaya, AudioCodes, Voximplant) or reaching out to their support team.
Another possible solution would be to create your own implementation. You can try recording the end-user’s audio queries and saving it to your database on your backend, then send the query to Dialogflow using Detect intent with audio input stream or detect intent by sending an audio input file in the detecIntent.queryInput.audio field.