Megosztás a következőn keresztül:


Hívásrögzítés: Saját Azure Storage-gyorsútmutató

Ez a rövid útmutató a saját Azure Storage hívásrögzítéshez való használatának első lépéseit ismerteti. A Saját Azure Storage-funkciók használatának megkezdéséhez győződjön meg arról, hogy ismeri a hívásrögzítési API-kat.

Előfeltétel: Felügyelt identitás- és szerepköralapú hozzáférés-vezérlési (RBAC-) szerepkör-hozzárendelések beállítása

1. A rendszer által hozzárendelt felügyelt identitás engedélyezése az Azure Communication Serviceshez

A felügyelt identitással rendelkező kommunikációs szolgáltatási erőforrást bemutató ábra

  1. Nyissa meg az Azure Communication Services-erőforrást. Navigáljon a bal oldali identitáshoz .
  2. Engedélyezett rendszer által hozzárendelt felügyelt identitás, és kattintson a Mentés gombra.
  3. Miután elkészült, láthatja az újonnan létrehozott identitás objektumnév-azonosítóját.

A felügyelt identitással rendelkező kommunikációs szolgáltatási erőforrást bemutató ábra

  1. Az identitás sikeres létrehozása után kattintson az Azure-szerepkör-hozzárendelésekre a szerepkör-hozzárendelések hozzáadásának megkezdéséhez.

2. Szerepkör-hozzárendelés hozzáadása

  1. Kattintson a "Szerepkör-hozzárendelés hozzáadása" elemre

A kommunikációs szolgáltatás erőforrás által felügyelt identitásának szerepkör-hozzárendelést növelő ábrája

  1. A "Szerepkör-hozzárendelés hozzáadása" panelen válassza ki a következő értékeket
    1. Hatókör: Tároló
    2. Előfizetés: Válassza ki az előfizetését
    3. Erőforrás: A tárfiók kiválasztása
    4. Szerepkör: Az Azure Communication Servicesnek szüksége van a "Storage Blob Data Contributor" kifejezésre, hogy képes legyen írni a tárfiókba.

A kommunikációs szolgáltatás erőforrás által felügyelt identitását bemutató ábra a szerepkör-hozzárendelés részleteinek hozzáadásáról

  1. Kattintson a "Mentés" gombra.
  2. Miután elkészült, megjelenik az újonnan hozzáadott szerepkör-hozzárendelés az "Azure-szerepkör-hozzárendelés" ablakban.

A kommunikációs szolgáltatás erőforrás által felügyelt identitásszerepkör-hozzárendelés sikerességét bemutató ábra

Rögzítési munkamenet indítása megadott külső tárterülettel

Használja a hívás kezdeményezése során kapott kiszolgálói hívásazonosítót.

Az Azure Blob Storage használata külső tároláshoz

StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCallLocator("<serverCallId>"))
{
    //...
    ExternalStorage = new BlobStorage(new Uri("<Insert Container / Blob Uri>"))
};
               
Response<RecordingStateResult> startRecordingWithResponse = await callAutomationClient.GetCallRecording()
        .StartRecordingAsync(options: recordingOptions);

Az Azure Blob Storage használata külső tároláshoz

StartRecordingOptions recordingOptions = new StartRecordingOptions(new ServerCallLocator("<serverCallId>"))
                .setExternalStorage(new BlobStorage("<Insert Container / Blob Uri>"));

Response<StartCallRecordingResult> response = callAutomationClient.getCallRecording()
.startRecordingWithResponse(recordingOptions, null);

Értesítés a sikeres exportálásról

Az Azure Event Grid webes horoggal vagy más aktivált műveletekkel értesítheti a szolgáltatásokat, ha a rögzített adathordozó készen áll és exportálva van a külső tárolóhelyre.

Tekintse meg ezt a példát az eseménysémára.

{
    "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}
    "data": {
        "storageType": "string", // AzureBlob etc.
        "recordingId": "string", // unique id for recording
        "recordingStorageInfo": {
            "recordingChunks": [
                {
                    "documentId": "string", // Document id for the recording chunk
                    "contentLocation": "string", //Azure Communication Services URL where the content is located
                    "metadataLocation": "string", // Azure Communication Services URL where the metadata for this chunk is located
                    "deleteLocation": "string", // Azure Communication Services URL to use to delete all content, including recording and metadata.
                    "index": "int", // Index providing ordering for this chunk in the entire recording
                    "endReason": "string", // Reason for chunk ending: "SessionEnded", "ChunkMaximumSizeExceeded”, etc.
                }
            ]
        },
        "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
}

A hívásrögzítés mappastruktúrája

A felvételeket a diagramon látható módon a következő formátumban tárolja a rendszer.

  • /YYYYMMDD/callId/first_8_of_recordingId + '-' + egyedi guid/[chunk-id]-acsmetadata.documentId.json
  • /YYYYMMDD/callId/first_8_of_recordingId + '-' + unique guid/[chunk-id]-audiomp3.documentId.mp3

A hívásrögzítési mappa struktúráját bemutató diagram

Következő lépések

További információért tekintse át az alábbi cikkeket:

  • Java-hívásrögzítési mintaalkalmazás letöltése
  • További információ a hívásrögzítésről
  • További információ a Hívásautomatizálásról