// Path: libs/voice/src/main/java/com/africastalking/voice/CallResponse.java
// public final class CallResponse {
//     public String status;
//     public String phoneNumber;
//     public String errorMessage;
// 
//     @Override
//     public String toString() {
//         return new Gson().toJson(this);
//     }
// }
// 
// Path: libs/voice/src/main/java/com/africastalking/voice/QueuedCallsResponse.java
// public final class QueuedCallsResponse {
//     public String phoneNumber;
//     public String queueName;
//     public int numCalls;
// 
//     @Override
//     public String toString() {
//         return new Gson().toJson(this);
//     }
// }


import com.africastalking.voice.CallResponse;
import com.africastalking.voice.QueuedCallsResponse;
import retrofit2.Call;
import retrofit2.Response;
import java.io.IOException;
    }


    /**
     * Initiate phone call
     * @param to Phone number to call
     * @param from Number from which to initiate the call
     * @param callback {@link com.africastalking.Callback Callback}
     */
    public void call(String to, String from, final Callback<CallResponse> callback) {
        try {
            checkPhoneNumber(to);
            Call<CallResponse> call = voice.call(mUsername, to, from);
            call.enqueue(makeCallback(callback));
        } catch (IOException ex){
            callback.onFailure(ex);
        }
    }

    public void call(String to, Callback<CallResponse> callback) {
        call(to, "", callback);
    }


    /**
     * Fetch queued calls
     * @param phoneNumber Your virtual phone number
     * @return {@link com.africastalking.voice.QueuedCallsResponse QueuedCallsResponse}
     * @throws IOException
     */
// Path: libs/voice/src/main/java/com/africastalking/voice/CallResponse.java
// public final class CallResponse {
//     public String status;
//     public String phoneNumber;
//     public String errorMessage;
// 
//     @Override
//     public String toString() {
//         return new Gson().toJson(this);
//     }
// }
// 
// Path: libs/voice/src/main/java/com/africastalking/voice/QueuedCallsResponse.java
// public final class QueuedCallsResponse {
//     public String phoneNumber;
//     public String queueName;
//     public int numCalls;
// 
//     @Override
//     public String toString() {
//         return new Gson().toJson(this);
//     }
// }


// Path: libs/voice/src/main/java/com/africastalking/VoiceService.java
import com.africastalking.voice.CallResponse;
import com.africastalking.voice.QueuedCallsResponse;
import retrofit2.Call;
import retrofit2.Response;
import java.io.IOException;

    }


    /**
     * Initiate phone call
     * @param to Phone number to call
     * @param from Number from which to initiate the call
     * @param callback {@link com.africastalking.Callback Callback}
     */
    public void call(String to, String from, final Callback<CallResponse> callback) {
        try {
            checkPhoneNumber(to);
            Call<CallResponse> call = voice.call(mUsername, to, from);
            call.enqueue(makeCallback(callback));
        } catch (IOException ex){
            callback.onFailure(ex);
        }
    }

    public void call(String to, Callback<CallResponse> callback) {
        call(to, "", callback);
    }


    /**
     * Fetch queued calls
     * @param phoneNumber Your virtual phone number
     * @return {@link com.africastalking.voice.QueuedCallsResponse QueuedCallsResponse}
     * @throws IOException
     */
    public QueuedCallsResponse fetchQueuedCalls(String phoneNumber) throws IOException {