The Call
object has the following properties
{
id, // the identifier of the call
state, // the current state
caller, // the identifier of the caller
callee, // the identifier of the callee
media, // the media used (audio or video)
active, // true if the call is active
muted, // true if the call is muted locally,
remoteIsMuted, // true if the call is muted at the remote side
inProgress, // true if the call is in progress (not yet active)
ended, // true if the call has ended
outgoing, // true if the call is an outgoing call
}
A Call
can have the following states:
State | Description | Reason |
---|---|---|
new |
Call has just been created | |
trying |
Call has been received by the server and is being routed to the remote recipient. Only for the issuer of the call |
|
ringing |
Call has been received by the remote peer and is being presented Only for the issuer |
|
proceeded |
Call has been accepted by the responder | |
offering |
Call has been accepted by the remote peer and is being negotiated | have-offer have-answer have-both |
active |
Call is active | is-active-local is-active-remote is-active-both-side |
releasing |
Call is releasing by a peer | |
ended |
Call is ended | retracted declined terminated unreachable |
On the caller side, the Call
has the following cycle:
new
-> trying
-> ringing
-> proceeded
-> offering
-> active
-> releasing
-> ended
Note: From any state, the Call
state can move to ended
.
On the callee side, the Call
has the following cycle:
ringing
-> proceeded
-> offering
-> active
-> releasing
-> ended
Note: From any state, the Call
state can move to ended
.