001package com.plivo.api.models.call;
002
003import com.plivo.api.models.base.BaseResource;
004import com.plivo.api.models.call.actions.*;
005import java.util.List;
006
007// TODO Date
008public class Call extends BaseResource {
009
010  private String answerTime;
011  private Long billDuration;
012  private Long billedDuration;
013  private CallDirection callDirection;
014  private Long callDuration;
015  private String callState;
016  private String callUuid;
017  private String endTime;
018  private String fromNumber;
019  private String initiationTime;
020  private String parentCallUuid;
021  private String resourceUri;
022  private String toNumber;
023  private String totalAmount;
024  private String totalRate;
025  private String hangupSource;
026  private String hangupCauseName;
027  private Integer hangupCauseCode;
028  private String voiceNetworkGroup;
029  private String sourceIp;
030  private String cnamLookup;
031
032  public static CallCreator creator(String from, List<String> to, String answerUrl) {
033    return new CallCreator(from, to, answerUrl);
034  }
035
036  public static CallDeleter deleter(String id) {
037    return new CallDeleter(id);
038  }
039
040  public static CallUpdater updater(String id) {
041    return new CallUpdater(id);
042  }
043
044  public static CallUpdater transferrer(String id) {
045    return new CallUpdater(id);
046  }
047
048  public static CallLister lister() {
049    return new CallLister();
050  }
051
052  public static CallRecordCreator recorder(String callUuid) {
053    return new CallRecordCreator(callUuid);
054  }
055
056  public static CallRecordDeleter recordStopper(String callUuid) {
057    return new CallRecordDeleter(callUuid);
058  }
059
060  public static CallStreamCreator streamer(String callUuid, String serviceUrl) {
061    return new CallStreamCreator(callUuid, serviceUrl);
062  }
063
064  public static CallStreamDeleter streamStopper(String callUuid) {
065    return new CallStreamDeleter(callUuid);
066  }
067
068  public static CallStreamDeleteSpecific streamStopSpecific(String callUuid, String streamId) {
069    return new CallStreamDeleteSpecific(callUuid, streamId);
070  }
071
072  public static CallStreamGetter streamGetter(String callUuid) {
073    return new CallStreamGetter(callUuid);
074  }
075
076  public static CallStreamGetSpecific streamGetSpecific(String callUuid, String streamId) {
077    return new CallStreamGetSpecific(callUuid, streamId);
078  }
079
080  public static CallPlayCreator player(String callUuid, List<String> urls) {
081    return new CallPlayCreator(callUuid, urls);
082  }
083
084  public static CallPlayDeleter playStopper(String callUuid) {
085    return new CallPlayDeleter(callUuid);
086  }
087
088  public static CallSpeakCreator speaker(String callUuid, String text) {
089    return new CallSpeakCreator(callUuid, text);
090  }
091
092  public static CallSpeakCreator speaker(String callUuid, String text, String type) {
093    return new CallSpeakCreator(callUuid, text, type);
094  }
095
096  public static CallSpeakDeleter speakStopper(String callUuid) {
097    return new CallSpeakDeleter(callUuid);
098  }
099
100  public static CallDtmfCreator digitSender(String callUuid, String digits) {
101    return new CallDtmfCreator(callUuid, digits);
102  }
103
104  public static CallGetter getter(String id) {
105    return new CallGetter(id);
106  }
107
108  public String getAnswerTime() {
109    return answerTime;
110  }
111
112  public Long getBillDuration() {
113    return billDuration;
114  }
115
116  public Long getBilledDuration() {
117    return billedDuration;
118  }
119
120  public CallDirection getCallDirection() {
121    return callDirection;
122  }
123
124  public Long getCallDuration() {
125    return callDuration;
126  }
127
128  public String getcallState() {
129    return callState;
130  }
131
132  public String getCallUuid() {
133    return callUuid;
134  }
135
136  public String getEndTime() {
137    return endTime;
138  }
139
140  public String getFromNumber() {
141    return fromNumber;
142  }
143
144  public String getInitiationTime() {
145    return initiationTime;
146  }
147
148  public String getParentCallUuid() {
149    return parentCallUuid;
150  }
151
152  public String getResourceUri() {
153    return resourceUri;
154  }
155
156  public String getToNumber() {
157    return toNumber;
158  }
159
160  public String getTotalAmount() {
161    return totalAmount;
162  }
163
164  public String getTotalRate() {
165    return totalRate;
166  }
167
168  public String getHangupCauseName(){
169    return hangupCauseName;
170  }
171
172  public String getHangupSource(){
173    return hangupSource;
174  }
175
176  public Integer getHangupCauseCode(){
177    return hangupCauseCode;
178  }
179
180  public String getVoiceNetworkGroup(){
181    return voiceNetworkGroup;
182  }
183  public String getSourceIp () {
184    return sourceIp;
185  }
186
187  public String getCnamLookup() {
188    return cnamLookup;
189  }
190
191  public CallDeleter deleter() {
192    return Call.deleter(callUuid);
193  }
194
195  public CallUpdater updater() {
196    return Call.updater(callUuid);
197  }
198
199  public CallUpdater transferrer() {
200    return Call.updater(callUuid);
201  }
202
203  public CallRecordCreator recorder() {
204    return new CallRecordCreator(callUuid);
205  }
206
207  public CallRecordDeleter recordStopper() {
208    return new CallRecordDeleter(callUuid);
209  }
210
211  public CallPlayCreator player(List<String> urls) {
212    return new CallPlayCreator(callUuid, urls);
213  }
214
215  public CallPlayDeleter playStopper() {
216    return new CallPlayDeleter(callUuid);
217  }
218
219  public CallSpeakCreator speaker(String text) {
220    return new CallSpeakCreator(callUuid, text);
221  }
222
223  public RequestDeleter canceller() {
224    return Call.canceller(callUuid);
225  }
226
227  public static RequestDeleter canceller(String callUuid) {
228    return new RequestDeleter(callUuid);
229  }
230
231  public CallSpeakDeleter speakStopper() {
232    return new CallSpeakDeleter(callUuid);
233  }
234
235  public CallDtmfCreator digitSender(String digits) {
236    return new CallDtmfCreator(callUuid, digits);
237  }
238
239  @Override
240  public String getId() {
241    return getCallUuid();
242  }
243}