Azure Communication Service Call Automation APIs (preview:2024-11-15)

2024/12/05 • 2 updated methods

Connect (updated)
Description Create a connection to a CallLocator.
Reference Link ¶

⚶ Changes

{
  "#id": "Connect",
  "$parameters": {
    "connectRequest": {
      "$properties": {
        "callLocator": [
          {
            "#name": "kind",
            "Enum": {
              "new": [
                [
                  "groupCallLocator",
                  ""
                ],
                [
                  "serverCallLocator",
                  ""
                ],
                [
                  "roomCallLocator",
                  ""
                ]
              ],
              "old": [
                [
                  "unknown",
                  ""
                ],
                [
                  "groupCallLocator",
                  ""
                ],
                [
                  "serverCallLocator",
                  ""
                ],
                [
                  "roomCallLocator",
                  ""
                ]
              ]
            }
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /calling/callConnections:connect
{
connectRequest:
{
callLocator:
{
groupCallId: string ,
serverCallId: string ,
roomId: string ,
kind: enum ,
}
,
callbackUri: string ,
operationContext: string ,
callIntelligenceOptions:
{
cognitiveServicesEndpoint: string ,
}
,
mediaStreamingOptions:
{
transportUrl: string ,
transportType: enum ,
contentType: enum ,
audioChannelType: enum ,
startMediaStreaming: boolean ,
enableBidirectional: boolean ,
audioFormat: enum ,
}
,
transcriptionOptions:
{
transportUrl: string ,
transportType: enum ,
locale: string ,
speechRecognitionModelEndpointId: string ,
startTranscription: boolean ,
enableIntermediateResults: boolean ,
}
,
}
,
api-version: string ,
Repeatability-Request-ID: string ,
Repeatability-First-Sent: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
innererror: string ,
}
,
}

⚐ Response (200)

{
callConnectionId: string ,
serverCallId: string ,
targets:
[
{
kind: enum ,
rawId: string ,
communicationUser:
{
id: string ,
}
,
phoneNumber:
{
value: string ,
}
,
microsoftTeamsUser:
{
userId: string ,
isAnonymous: boolean ,
cloud: enum ,
}
,
microsoftTeamsApp:
{
appId: string ,
cloud: enum ,
}
,
}
,
]
,
callConnectionState: enum ,
callbackUri: string ,
sourceCallerIdNumber:
{
value: string ,
}
,
sourceDisplayName: string ,
source:
{
kind: enum ,
rawId: string ,
communicationUser:
{
id: string ,
}
,
phoneNumber:
{
value: string ,
}
,
microsoftTeamsUser:
{
userId: string ,
isAnonymous: boolean ,
cloud: enum ,
}
,
microsoftTeamsApp:
{
appId: string ,
cloud: enum ,
}
,
}
,
correlationId: string ,
answeredBy:
{
id: string ,
}
,
mediaStreamingSubscription:
{
id: string ,
state: enum ,
subscribedContentTypes:
[
string ,
]
,
}
,
transcriptionSubscription:
{
id: string ,
state: enum ,
subscribedResultTypes:
[
string ,
]
,
}
,
answeredFor:
{
value: string ,
}
,
}
CallRecording_StartRecording (updated)
Description Start recording the call.
Reference Link ¶

⚶ Changes

{
  "#id": "CallRecording_StartRecording",
  "$parameters": {
    "startCallRecording": {
      "$properties": {
        "callLocator": [
          {
            "#name": "kind",
            "Enum": {
              "new": [
                [
                  "groupCallLocator",
                  ""
                ],
                [
                  "serverCallLocator",
                  ""
                ],
                [
                  "roomCallLocator",
                  ""
                ]
              ],
              "old": [
                [
                  "unknown",
                  ""
                ],
                [
                  "groupCallLocator",
                  ""
                ],
                [
                  "serverCallLocator",
                  ""
                ],
                [
                  "roomCallLocator",
                  ""
                ]
              ]
            }
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /calling/recordings
{
startCallRecording:
{
callLocator:
{
groupCallId: string ,
serverCallId: string ,
roomId: string ,
kind: enum ,
}
,
recordingStateCallbackUri: string ,
recordingContentType: enum ,
recordingChannelType: enum ,
recordingFormatType: enum ,
audioChannelParticipantOrdering:
[
{
kind: enum ,
rawId: string ,
communicationUser:
{
id: string ,
}
,
phoneNumber:
{
value: string ,
}
,
microsoftTeamsUser:
{
userId: string ,
isAnonymous: boolean ,
cloud: enum ,
}
,
microsoftTeamsApp:
{
appId: string ,
cloud: enum ,
}
,
}
,
]
,
channelAffinity:
[
{
channel: integer ,
participant:
{
kind: enum ,
rawId: string ,
communicationUser:
{
id: string ,
}
,
phoneNumber:
{
value: string ,
}
,
microsoftTeamsUser:
{
userId: string ,
isAnonymous: boolean ,
cloud: enum ,
}
,
microsoftTeamsApp:
{
appId: string ,
cloud: enum ,
}
,
}
,
}
,
]
,
pauseOnStart: boolean ,
externalStorage:
{
recordingStorageKind: enum ,
recordingDestinationContainerUrl: string ,
}
,
}
,
api-version: string ,
Repeatability-Request-ID: string ,
Repeatability-First-Sent: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
innererror: string ,
}
,
}

⚐ Response (200)

{
recordingId: string ,
recordingState: enum ,
recordingKind: enum ,
}