map.put("date_updated", DaoUtils.writeDateTime(cdr.getDateUpdated())); map.put("account_sid", DaoUtils.writeSid(cdr.getAccountSid())); map.put("to", cdr.getTo()); map.put("from", cdr.getFrom()); map.put("phone_number_sid", DaoUtils.writeSid(cdr.getPhoneNumberSid()));
if (response.getContentType().equalsIgnoreCase("application/sdp") && patchForNat) { Registration registration = daoManager.getRegistrationsDao().getRegistration(callRecord.getTo(), organizationSid); String externalIp; if (registration != null) { externalIp = registration.getLocation().split(":")[1].split("@")[1]; } else { externalIp = callRecord.getTo().split(":")[1].split("@")[1];
@Override public String toString() { return "CDR SID: "+getSid()+" | InstanceId: "+getInstanceId()+" | ParentCallSid: "+getParentCallSid()+" | ConferenceSid: "+getConferenceSid()+" | DateCreated: "+getDateCreated()+" | DateUpdated: "+getDateUpdated()+" | AccountSid: "+getAccountSid()+" | To: "+getTo()+" | From: "+getFrom() +" | PhoneNumberSid: "+getPhoneNumberSid()+" | Status: "+getStatus()+" | StartTime: "+getStartTime()+" | EndTime: "+getEndTime()+" | Duration: "+getDuration()+" | Price: "+getPrice()+" | PriceUnit: "+getPriceUnit()+" | Direction: "+getDirection()+" | AnsweredBy: "+getAnsweredBy() +" | ApiVersion: "+getApiVersion()+" | ForwaredFrom: "+getForwardedFrom()+" | CallerName: "+getCallerName()+" | Uri: "+getUri()+" | CallPath: "+getCallPath()+" | RingDuration: "+getRingDuration()+" | Muted: "+isMuted()+" | StartConferenceOnEnter: "+isStartConferenceOnEnter() +" | isEndConferenceOnExit: "+ isEndConferenceOnExit()+" | isOnHold: "+isOnHold(); }
@Override public JsonElement serialize(final CallDetailRecord cdr, Type type, final JsonSerializationContext context) { final JsonObject object = new JsonObject(); writeSid(cdr.getSid(), object); writeInstanceId(cdr.getInstanceId(), object); writeDateCreated(cdr.getDateCreated(), object); writeDateUpdated(cdr.getDateUpdated(), object); writeParentCallSid(cdr.getParentCallSid(), object); writeAccountSid(cdr.getAccountSid(), object); writeTo(cdr.getTo(), object); writeFrom(cdr.getFrom(), object); writePhoneNumberSid(cdr.getPhoneNumberSid(), object); writeStatus(cdr.getStatus(), object); writeStartTime(cdr.getStartTime(), object); writeEndTime(cdr.getEndTime(), object); writeDuration(cdr.getDuration(), object); writePriceUnit(cdr.getPriceUnit(), object); writeDirection(cdr.getDirection(), object); writeAnsweredBy(cdr.getAnsweredBy(), object); writeApiVersion(cdr.getApiVersion(), object); writeForwardedFrom(cdr.getForwardedFrom(), object); writeCallerName(cdr.getCallerName(), object); writeUri(cdr.getUri(), object); writeRingDuration(cdr.getRingDuration(), object); writeSubResources(cdr, object); return object; }
@Override public void marshal(final Object object, final HierarchicalStreamWriter writer, final MarshallingContext context) { final CallDetailRecord cdr = (CallDetailRecord) object; writer.startNode("Call"); writeSid(cdr.getSid(), writer); writeInstanceId(cdr.getInstanceId(), writer); writeDateCreated(cdr.getDateCreated(), writer); writeDateUpdated(cdr.getDateUpdated(), writer); writeParentCallSid(cdr.getParentCallSid(), writer); writeAccountSid(cdr.getAccountSid(), writer); writeTo(cdr.getTo(), writer); writeFrom(cdr.getFrom(), writer); writePhoneNumberSid(cdr.getPhoneNumberSid(), writer); writeStatus(cdr.getStatus(), writer); writeStartTime(cdr.getStartTime(), writer); writeEndTime(cdr.getEndTime(), writer); writeDuration(cdr.getDuration(), writer); writePrice(cdr.getPrice(), writer); writePriceUnit(cdr.getPriceUnit(), writer); writeDirection(cdr.getDirection(), writer); writeAnsweredBy(cdr.getAnsweredBy(), writer); writeApiVersion(cdr.getApiVersion(), writer); writeForwardedFrom(cdr.getForwardedFrom(), writer); writeCallerName(cdr.getCallerName(), writer); writeUri(cdr.getUri(), writer); writeSubResources(cdr, writer); writeRingDuration(cdr.getRingDuration(), writer); writer.endNode(); }