Obtención de serverCallId como requisito para las API de servidor de grabación de llamadas desde la aplicación de JavaScript
En un escenario de llamada de punto a punto mediante el SDK de cliente de llamada, para usar la grabación de llamadas desde Azure Communications, tendrá que obtener serverCallId
.
En el ejemplo siguiente se muestra cómo obtener serverCallId
desde una aplicación de servidor de JavaScript.
La grabación de llamadas es una característica extendida de la llamada a la API principal. En primer lugar, debe importar las características de llamada desde el SDK de llamada.
import { Features} from "@azure/communication-calling";
A continuación, puede obtener el objeto de API de característica de grabación de la instancia de llamada:
const callRecordingApi = call.feature(Features.Recording);
Suscríbase a los cambios de grabación:
const recordingStateChanged = () => {
let recordings = callRecordingApi.recordings;
let state = SDK.RecordingState.None;
if (recordings.length > 0) {
state = recordings.some(r => r.state == SDK.RecordingState.Started)
? SDK.RecordingState.Started
: SDK.RecordingState.Paused;
}
console.log(`RecordingState: ${state}`);
}
const recordingsChangedHandler = (args: { added: SDK.RecordingInfo[], removed: SDK.RecordingInfo[]}) => {
args.added?.forEach(a => {
a.on('recordingStateChanged', recordingStateChanged);
});
args.removed?.forEach(r => {
r.off('recordingStateChanged', recordingStateChanged);
});
recordingStateChanged();
};
callRecordingApi.on('recordingsUpdated', recordingsChangedHandler);
Obtenga servercallId
, que se puede usar para iniciar, detener, pausar y reanudar sesiones de grabación.
Una vez conectada la llamada, use el método getServerCallId
para obtener el id. de llamada del servidor.
callAgent.on('callsUpdated', (e: { added: Call[]; removed: Call[] }): void => {
e.added.forEach((addedCall) => {
addedCall.on('stateChanged', (): void => {
if (addedCall.state === 'Connected') {
addedCall.info.getServerCallId().then(result => {
dispatch(setServerCallId(result));
}).catch(err => {
console.log(err);
});
}
});
});
});
Vea también
Para más información, consulte los siguientes artículos.
- Más información sobre las Funcionalidades del SDK de llamadas
- Más información sobre cómo funciona la llamada