001package com.plivo.api.models.multipartycall; 002 003import com.plivo.api.exceptions.PlivoValidationException; 004import com.plivo.api.models.base.BaseResponse; 005import com.plivo.api.models.base.VoiceUpdater; 006import retrofit2.Call; 007 008import java.util.Collections; 009 010public class MultiPartyCallStart extends VoiceUpdater<BaseResponse> { 011 012 public MultiPartyCallStart(String mpcId) { 013 super(mpcId); 014 } 015 016 @Override 017 protected Call<BaseResponse> obtainCall() throws PlivoValidationException { 018 MultiPartyCallUtils.validMultiPartyCallId(id); 019 return client().getVoiceApiService().mpcStart(client().getAuthId(), id, Collections.singletonMap("status", "active")); 020 } 021 022 @Override 023 protected Call<BaseResponse> obtainFallback1Call() throws PlivoValidationException { 024 MultiPartyCallUtils.validMultiPartyCallId(id); 025 return client().getVoiceFallback1Service().mpcStart(client().getAuthId(), id, Collections.singletonMap("status", "active")); 026 } 027 028 @Override 029 protected Call<BaseResponse> obtainFallback2Call() throws PlivoValidationException { 030 MultiPartyCallUtils.validMultiPartyCallId(id); 031 return client().getVoiceFallback2Service().mpcStart(client().getAuthId(), id, Collections.singletonMap("status", "active")); 032 } 033}