Omówienie nagrywania połączeń
Nagrywanie wywołań umożliwia rejestrowanie wielu scenariuszy połączeń dostępnych w usługach Azure Communication Services, zapewniając zestaw interfejsów API do uruchamiania, zatrzymywania, wstrzymywania i wznawiania nagrywania. Niezależnie od tego, czy jest to wywołanie PSTN, WebRTC, czy SIP, te interfejsy API mogą być dostępne z poziomu logiki biznesowej po stronie serwera. Ponadto nagrania mogą być wyzwalane przez akcję użytkownika, która nakazuje aplikacji serwera rozpoczęcie nagrywania.
W zależności od potrzeb biznesowych możesz użyć funkcji call recording dla różnych implementacji wywołujących usługi Azure Communication Services.
Można na przykład rejestrować połączenia audio i wideo 1:1 lub 1:N:
Za pomocą funkcji nagrywania połączeń można również rejestrować złożone przepływy pracy połączeń przychodzących i wychodzących PSTN lub VoIP zarządzanych przez usługę Call Automation.
Niezależnie od tego, jak nawiązaliśmy połączenie, funkcja Call Recording umożliwia tworzenie mieszanych lub niemiesianych plików multimedialnych przechowywanych przez 24 godziny w wbudowanym magazynie tymczasowym. Możesz pobrać pliki, przenieść je we własnym magazynie obiektów blob platformy Azure lub wybrać wybrane rozwiązanie magazynu. Funkcja Call Recording obsługuje wszystkie regiony danych usług Azure Communication Services.
Nagrywanie połączeń, które obsługuje potrzeby biznesowe
Funkcja Call Recording obsługuje wiele danych wyjściowych multimediów i typów zawartości w celu zaspokojenia potrzeb biznesowych i przypadków użycia. Możesz używać mieszanych formatów dla scenariuszy, takich jak przechowywanie rekordów, notatek spotkań, coaching i szkolenia, a nawet zgodność i zgodność. Możesz też użyć formatu dźwięku niemieszonego do obsługi przypadków użycia kontroli jakości, a nawet bardziej złożonych scenariuszy, takich jak zaawansowana analiza lub zaawansowane procesy po wywołaniu sztucznej inteligencji (sztuczna inteligencja).
Wideo
Typ kanału | Format zawartości | Rozwiązanie | Częstotliwość próbkowania | Szybkość transmisji bitów | Szybkość danych | Wyjście | opis |
---|---|---|---|---|---|---|---|
mieszane | mp4 | 1920x1080, 16 FPS (ramki na sekundę) | 16 kHz | 1 mb/s | 7,5 MB/min* | pojedynczy plik, pojedynczy kanał | mieszane wideo w domyślnym układzie kafelków 3x3 (najbardziej aktywnych głośników) z obsługą nazw wyświetlanych |
Audio
Typ kanału | Format zawartości | Częstotliwość próbkowania | Szybkość transmisji bitów | Szybkość danych | Wyjście | opis |
---|---|---|---|---|---|---|
mieszane | Mp3 | 16 kHz | 48 kb/s | 0,36 MB/min* | pojedynczy plik, pojedynczy kanał | mieszany dźwięk wszystkich uczestników |
mieszane | Wav | 16 kHz | 256 kb/s | 1,92 MB/min | pojedynczy plik, pojedynczy kanał | mieszany dźwięk wszystkich uczestników |
Niezmieszane | Wav | 16 kHz | 256 kb/s | 1,92 MB/min* na kanał | pojedynczy plik, maksymalnie 5 kanałów wav | unmixed audio, jeden uczestnik na kanał, maksymalnie pięć kanałów |
[*UWAGA] Formaty Mp3 i Mp4 używają kompresji stratowej, która powoduje zmienną szybkość transmisji bitów; w związku z tym wartości szybkości danych w poprzednich tabelach odzwierciedlają teoretyczną wartość maksymalną. Format WAV jest nieskompresowany, a szybkość transmisji bitów jest stała, więc obliczenia szybkości danych są dokładne.
Uzyskaj pełną kontrolę nad nagraniami za pomocą naszych interfejsów API nagrywania połączeń
Interfejsy API rejestrowania wywołań umożliwiają zarządzanie rejestrowaniem za pośrednictwem wewnętrznych wyzwalaczy logiki biznesowej, takich jak aplikacja tworząca wywołanie grupy i rejestrując konwersację. Ponadto nagrania mogą być wyzwalane przez akcję użytkownika, która nakazuje aplikacji serwera rozpoczęcie nagrywania. Interfejsy API rejestrowania wywołań używają wyłącznie elementu do inicjowania nagrywania serverCallId
. Aby dowiedzieć się, jak uzyskać plik , zapoznaj się z serverCallId
naszym przewodnikiem Szybki start dotyczący nagrywania połączeń.
Element A recordingId
jest zwracany podczas uruchamiania nagrywania, który może być następnie używany do wykonywania kolejnych operacji, takich jak wstrzymywanie i wznawianie.
Operacja | Działa na | Komentarze |
---|---|---|
Rozpocznij nagrywanie | serverCallId |
Zwraca recordingId |
Uzyskiwanie stanu rejestrowania | recordingId |
Zwraca RecordingStateResult |
Wstrzymywanie nagrywania | recordingId |
Wstrzymywanie i wznawianie nagrywania połączeń pozwala pominąć nagrywanie części rozmowy lub spotkania i wznowić nagrywanie do jednego pliku. |
Wznów nagrywanie | recordingId |
Wznawia operację wstrzymywania nagrywania. Zawartość znajduje się w tym samym pliku co zawartość z wcześniejszego wstrzymania. |
Zatrzymaj nagrywanie | recordingId |
Zatrzymuje nagrywanie i inicjuje końcowe przetwarzanie multimediów na potrzeby pobierania plików. |
Powiadomienia usługi Event Grid
Nagrywanie połączeń używa usługi Azure Event Grid do dostarczania powiadomień związanych z multimediami i metadanymi.
Uwaga
Usługi Azure Communication Services udostępniają krótkoterminowy magazyn multimediów na potrzeby nagrywania. Nagrania są dostępne do pobrania przez 24 godziny. Po 24 godzinach nagrania nie są już dostępne.
Powiadomienie Microsoft.Communication.RecordingFileStatusUpdated
usługi Event Grid jest publikowane, gdy nagranie jest gotowe do pobrania, zazwyczaj kilka minut po zakończeniu procesu nagrywania, takich jak zakończenie spotkania lub zatrzymanie nagrywania. Rejestrowanie powiadomień o zdarzeniach obejmuje i contentLocation
metadataLocation
, które są używane do pobierania zarówno zarejestrowanego nośnika, jak i pliku metadanych nagrywania.
Dokumentacja schematu powiadomień
{
"id": string, // Unique guid for event
"topic": string, // /subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}
"subject": string, // /recording/call/{call-id}/serverCallId/{serverCallId}/recordingId/{recordingId}
"data": {
"recordingStorageInfo": {
"recordingChunks": [
{
"documentId": string, // Document id for retrieving from storage
"index": int, // Index providing ordering for this chunk in the entire recording
"endReason": string, // Reason for chunk ending: "SessionEnded", "ChunkMaximumSizeExceeded”, etc.
"metadataLocation": <string>, // url of the metadata for this chunk
"contentLocation": <string>, // url of the mp4, mp3, or wav for this chunk
"deleteLocation": <string> // url of the mp4, mp3, or wav to delete this chunk
}
]
},
"recordingStartTime": string, // ISO 8601 date time for the start of the recording
"recordingDurationMs": int, // Duration of recording in milliseconds
"sessionEndReason": string // Reason for call ending: "CallEnded", "InitiatorLeft", etc.
},
"eventType": string, // "Microsoft.Communication.RecordingFileStatusUpdated"
"dataVersion": string, // "1.0"
"metadataVersion": string, // "1"
"eventTime": string // ISO 8601 date time for when the event was created
}
Dokumentacja schematu metadanych
{
"resourceId": <string>, // stable resource id of the Azure Communication Services resource recording
"callId": <string>, // id of the call
"chunkDocumentId": <string>, // object identifier for the chunk this metadata corresponds to
"chunkIndex": <number>, // index of this chunk with respect to all chunks in the recording
"chunkStartTime": <string>, // ISO 8601 datetime for the start time of the chunk this metadata corresponds to
"chunkDuration": <number>, // [Chunk duration has a maximum of 4 hours] duration of the chunk this metadata corresponds to in milliseconds
"pauseResumeIntervals": [
"startTime": <string>, // ISO 8601 datetime for the time at which the recording was paused
"duration": <number> // duration of the pause in the recording in milliseconds
],
"recordingInfo": {
"contentType": <string>, // content type of recording, e.g. audio/audioVideo
"channelType": <string>, // channel type of recording, e.g. mixed/unmixed
"format": <string>, // format of the recording, e.g. mp4/mp3/wav
"audioConfiguration": {
"sampleRate": <number>, // sample rate for audio recording
"bitRate": <number>, // bitrate for audio recording
"channels": <number> // number of audio channels in output recording
},
"videoConfiguration": {
"longerSideLength": <number>, // longerSideLength for video recording
"shorterSideLength": <number>, // shorterSideLength for video recording
"frameRate": <number>, // frameRate for video recording
"bitRate": <number> // bitrate for video recording
}
},
"participants": [
{
"participantId": <string>, // participant identifier of a participant captured in the recording
"channel": <number> // channel the participant was assigned to if the recording is unmixed
}
]
}
Kwestie związane z przepisami i prywatnością
Wiele krajów/regionów i państw ma przepisy prawne i przepisy, które mają zastosowanie do nagrywania połączeń. Połączenia PSTN, głosowe i wideo często wymagają, aby użytkownicy wyrazili zgodę na nagrywanie ich komunikacji. Na Użytkowniku spoczywa odpowiedzialność za korzystanie z funkcji rejestrowania rozmów zgodnie z prawem. Klient musi uzyskać zgodę od uczestników nagrywanej komunikacji w sposób zgodny z przepisami prawa mającymi zastosowanie do każdego z nich.
Przepisy dotyczące utrzymania danych osobowych wymagają możliwości eksportowania danych użytkownika. Aby spełnić te wymagania, rejestrowanie plików metadanych obejmuje participantId
element dla każdego uczestnika wywołania w tablicy participants
. Możesz odwoływać się krzyżowo do tożsamości użytkownika usług Azure Communication Services w participants
tablicy przy użyciu wewnętrznych tożsamości użytkowników, aby zidentyfikować uczestników wywołania.
Następne kroki
Wprowadzenie do nagrywania połączeń.
Oto kilka interesujących Cię artykułów:
- Dowiedz się więcej o rejestrowaniu połączeń Szczegółowe informacje i dziennikach
- Dowiedz się więcej o automatyzacji wywołań.
- Dowiedz się więcej na temat połączeń wideo.