Obtention de serverCallId comme condition requise pour les API du serveur d’enregistrement d’appel à partir d’une application JavaScript
Dans un scénario d’appel d’homologue à pair à l’aide du Kit de développement logiciel (SDK) client Appelant, afin d’utiliser l’enregistrement des appels à partir d’Azure Communications, vous devrez obtenir le serverCallId
.
L’exemple suivant vous montre comment obtenir le code serverCallId
à partir d’une application serveur JavaScript.
L’enregistrement des appels est une fonctionnalité étendue de l’API Appel principale. Vous devez d’abord importer les fonctionnalités d’appel à partir du SDK Calling.
import { Features} from "@azure/communication-calling";
Vous pouvez ensuite récupérer l’objet API de la fonctionnalité d’enregistrement à partir de l’instance Appel :
const callRecordingApi = call.feature(Features.Recording);
Abonnez-vous aux modifications d’enregistrement :
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);
Récupérez servercallId
qui peut être utilisé pour démarrer/arrêter/suspendre/reprendre des sessions d’enregistrement.
Une fois l’appel connecté, utilisez la méthode getServerCallId
pour obtenir l’ID d’appel serveur.
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);
});
}
});
});
});
Voir aussi
Pour plus d’informations, consultez les articles suivants :
- Apprenez-en davantage sur les fonctionnalités du SDK Calling
- Apprenez-en davantage sur le fonctionnement des appels