Two ways of subscription are available to you:
RxJS is a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code. This project is a rewrite of Reactive-Extensions/RxJS with better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface.
You can subscribe to callEvents$ observable of type CallEvent.
window.ZIWO.calls.callEvents$.subscribe(
event => ...
);This way you can use all RX operators.
window.ZIWO.calls.callEvents$.pipe(
filter(event => event.type === 'active'),
tap(() => console.log('Got an active event'))
).subscribe(
event => {
...
}
)All window events for calls have the ziwo-call- prefix.
Then you can listen to all events or a specific one like active.
The event will be of type CustomEvent of CallEvent.
// All events
window.addEventListener('ziwo-call-all', (e) => console.log('Triggered by any call event', e.detail));
// Active events
window.addEventListener('ziwo-call-active', (e) => console.log('Triggered by an active call event', e.detail));| Name | Scope | Description |
|---|---|---|
| ready | ||
| ringing | Inbound | Incoming call ringing |
| requesting | Outbound | Requesting an outgoing call |
| trying | Outbound | Trying to reach the outgoing call did |
| early | Outbound | Connection established with outgoing call did |
| attach | Inbound / Outbound | [Call recovering] Event sent by the server after authentication to let us know we have a call to recover |
| answering | Inbound / Outbound | Answering the call |
| active | Inbound / Outbound | Call is active - participants are connected |
| recovering | Inbound / Outbound | [Call recovering] Call is recovering |
| hangup | Inbound / Outbound | Call has been hangup |
| destroy | Outbound | Call has been destroyed - Favor using hangup when possible |
| consent-in | Outbound | Call sent to consent workflow |
| consent-back | Outbound | Call back from consent workflow |
| mute | Inbound / Outbound | Call muted |
| unmute | Inbound / Outbound | Call unmuted |
| held | Inbound / Outbound | Call held |
| unheld | Inbound / Outbound | Call unheld |
For more technical details you can read the Calls Manager documentation.