Call: Lifecycle
A Call
represents a full call session, starting when a caller A
dials a number B, and until A is no longer talking on the phone.
That means that a single Call
can contain several actual phone calls.
As an example, we can imagine a reception Reception that is configured to
play a welcome message and then forward the call to employee Eric:
- Alice dials the reception Reception.
- A welcome message is played to Alice.
- A call is made to employee Eric.
- Eric talks with Alice.
- Eric decides to forward the call to employee Frank.
- Frank answers the call and talks with Alice.
- Alice hangs up and the call ends.
This includes the following call legs:
- Incoming call leg from Alice
- Outgoing call leg to Eric
- Outgoing call leg to Frank
All of these are contained within a single Call
. The individual call
legs are represented as CallNode
s.
Lifecycle
A call goes through a number of states, represented in the status
property.
The states a call can go through are dependent on the type of call. There
are three different types:
- Incoming call directly to a mobile phone/employee.
- Outgoing call from a mobile phone/employee.
- Incoming call to a reception.
Incoming call directly to a mobile phone/employee:
Name | Description |
new | The incoming call has been received, and it is being routed. |
ringing | Ringing to the mobile phone. |
answered |
The call has been answered. If ended_at is set, the call has ended, otherwise it is still going on.
|
missed | The mobile phone was not answered/could not be reached/hung up. |
voicemail | The mobile phone was not answered, could not be reached or hung up, and the caller has left a voicemail. |
Outgoing call from a mobile phone/employee:
Name | Description |
new | The outgoing call has been received, and it is being routed. |
ringing | Ringing to the called number. |
answered |
The called number has answered the call. If ended_at is set, the call has ended, otherwise it is still going on.
|
missed | The called number did not answer. |
Incoming call to a reception:
Name | Description |
new | The incoming call has been received, and it is being routed. |
ringing | Ringing to one or more employees. |
answered |
The call has been answered. If ended_at is set, the call has ended, otherwise it is still going on.
|
missed | No employees answered the call. |
voicemail | No employees answered the call, and the caller has left a voicemail. |
orphaned | The caller hung up before we tried to call any employees. E.g. the caller hung up before the welcome message finished playing. |