How to Originate Call using Java ESL and Playback

package com.freeswitch.service;
import org.freeswitch.esl.client.inbound.Client;
import org.freeswitch.esl.client.inbound.InboundConnectionFailure;

import org.freeswitch.esl.client.transport.message.EslMessage;

I am new to freeswitch and trying to use ESL Client Java to interact with FreeSwitch but When I run this application, the call is initiated to user 1000 and when I answer it says 2023-10-27 10:38:12.701915 99.30% [ERR] switch_core_state_machine.c:270 Dialplan [playback(/usr/local/freeswitch/sounds/en/us/callie/ivr/16000/ivr-phone_is_configured_properly.wav)] not found, skipping

public class FreeSwitchService
{

public static void main(String[] args)
{
    Client client = new Client();
    try {

        client.connect("x.x.x.x", 8021, "ClueCon", 10);
        EslMessage reloadResponse = client.sendSyncApiCommand("show application", "");
        System.out.println("*********EslMessage******* " + reloadResponse.getBodyLines());

// client.addEventListener(new IEslEventListener() {
// @Override
// public void eventReceived(EslEvent event) {
//
// String eventName = event.getEventName();
//
// //Here are only a few common events starting with CHANNEL_ demonstrated here
//
// if (eventName.startsWith(“CHANNEL_”)) {
// String calleeNumber = event.getEventHeaders().get(“Caller-Callee-ID-Number”);
// String callerNumber = event.getEventHeaders().get(“Caller-Caller-ID-Number”);
// switch (eventName) {
// case “CHANNEL_CREATE”:
// System.out.println("Initiate a call, caller: " + callerNumber + " , calledee: " + calleeNumber);
// break;
// case “CHANNEL_BRIDGE”:
// System.out.println("User transfer, calling: " + callerNumber + " , called: " + calleeNumber);
// break;
// case “CHANNEL_ANSWER”:
// System.out.println("User responded, caller: " + callerNumber + " , calledee: " + calleeNumber);
// break;
// case “CHANNEL_HANGUP”:
// String response = event.getEventHeaders().get(“variable_current_application_response”);
// String hangupCause = event.getEventHeaders().get(“Hangup-Cause”);
// System.out.println("User hung up, caller: " + callerNumber + " , calledee: " + calleeNumber + " , response: " + response + " ,hangup cause: " + hangupCause);
// break;
// default:
// break;
// }
// }
// }
//
//
// @Override
// public void backgroundJobResultReceived(EslEvent event) {
// String jobUuid = event.getEventHeaders().get(“Job-UUID”);
// System.out.println(“Asynchronous callback:” + jobUuid);
// }
// });

        client.setEventSubscriptions("plain", "all");

        //This must be checked to prevent the connection from being disconnected when the network jitters
        if (client.canSend()) {
            System.out.println("Connection successful, ready to initiate a call...");
            //(Asynchronous) Initiate a call to 1000 users. After the user is connected, play music /tmp/demo1.wav
            String callResult = client.sendAsyncApiCommand("originate", "user/1000 & playback(/usr/local/freeswitch/sounds/en/us/callie/ivr/16000/ivr-phone_is_configured_properly.wav)");
            System.out.println("api uuid:" + callResult);
        }

    } catch (InboundConnectionFailure inboundConnectionFailure) {
        System.out.println("Connection failed!");
        inboundConnectionFailure.printStackTrace();
    }

}

}

I am also looking for other things that we can do with ESL JAVA. but I am unable to do as did not found any proper docs. If it can be done with any other language then that’s also ok. but not putting code inside scripts directory. I am connecting it remotely.