Interface Call

  • All Superinterfaces:
    Issue, OptionalCategoryProvider, OptionalTenantProvider, StorageProvider

    public interface Call
    extends Issue
    A Call represents an object that is existing in the iAGENT-System and therefore has an Id, Storage, ... . The difference to an ActiveCall is that an ActiveCall represents an call in the PBX. A call can provide some information of the ActiveCall that triggered the instantiation of the call. A QueuedCall is basically an ActiveCall that is queued in the iAGENT-System and ready to be distributed.
    Since:
    11.14
    • Method Detail

      • getCallId

        java.lang.String getCallId()
        The unique id of the call, that has been assigned to the call by the PBX when the call has been received.
        Returns:
        the unique call id of the call assigned by the PBX
        Since:
        11.14
      • getDateEnqueued

        java.util.Optional<java.util.Date> getDateEnqueued()
        The enqueued date of this call. The optional will be empty if the call has not been enqueued yet or has been finished before being enqueued. After a call has been received and has passed the IVR the call is enqueued. From this moment the call may be routed to an agent.
        Returns:
        the optional enqueued date of this call.
        Since:
        11.14
      • getDateFirstRouted

        java.util.Optional<java.util.Date> getDateFirstRouted()
        The date of the first successful routing of this call to an agent. The optional will be empty if the call has not been routed yet or has been finished before being routed.
        Returns:
        the optional first routed date of this call.
        Since:
        11.14
      • getDateFinished

        java.util.Optional<java.util.Date> getDateFinished()
        The finished date is when the call has ended. Any additional working after call time configured for the agent does not affect the finished date of the call. The optional will be empty if the call has not been finished yet.
        Returns:
        the optional finished date of this call.
        Since:
        11.14
      • getSourceId

        java.util.Optional<java.lang.String> getSourceId()
        The optional sourceId is the caller identification or caller number of the call.
        Returns:
        the optional sourceId of this call.
        Since:
        11.4
      • getTargetId

        java.lang.String getTargetId()
        The targetId is the call destination, e.g. called number of the call.
        Returns:
        the targetId of the call.
        Since:
        11.4
      • getTransactionCode

        java.util.Optional<TransactionCode> getTransactionCode()
        The transaction code assigned to the call when finished. The optional will be empty if the call has not been finished yet or if no transaction code has been assigned to the finished call.
        Returns:
        the optional transaction code of the call.
        Since:
        11.4
      • hasRecording

        boolean hasRecording()
        The method returns true if the call has been recorded, otherwise false.
        Returns:
        true if the call has been recorded, otherwise false
        Since:
        12.4
      • getDuration

        default java.time.Duration getDuration()
        The duration of a finished call is the elapsed time between the received date and the finished date. If the call has not been finished yet, the duration of the call is the elapsed time between the received date and the current time now.
        Returns:
        the duration of this call as a duration object.
        Since:
        11.14
      • getRoutingDuration

        default java.util.Optional<java.time.Duration> getRoutingDuration()
        The routing duration is the elapsed time between the enqueued date and first routed date. The optional will be empty if the call has not been routed yet.
        Returns:
        the routing duration of this call as a duration object.
        Since:
        11.14