code: public void setAgentReady(KeyValueCollection reasons, KeyValueCollection extensions) throws WorkspaceApiException {
          try {
              VoicereadyData readyData = new VoicereadyData();
              readyData.setReasons(Util.toKVList(reasons));
              readyData.setExtensions(Util.toKVList(extensions));
              ReadyData data = new ReadyData();
              data.data(readyData);
  
              ApiSuccessResponse response = this.voiceApi.setAgentStateReady(data);
              throwIfNotOk("setAgentReady", response);
          } catch (ApiException e) {
              throw new WorkspaceApiException("setAgentReady failed.", e);
          }
      }
docs: Set the current agent's state to Ready on the voice channel.
  @param reasons Information on causes for, and results of, actions taken by the user of the current DN. For details about reasons, refer to the [*Genesys Events and Models Reference Manual*](https://docs.genesys.com/Documentation/System/Current/GenEM/Reasons).
  @param extensions Media device/hardware reason codes and similar information. For details about extensions, refer to the [*Genesys Events and Models Reference Manual*](https://docs.genesys.com/Documentation/System/Current/GenEM/Extensions). (optional)