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}