On the call application list page, you can view the details of your call applications and configure features, such as audio and video calls.
View call applications
On the call application list page, you can view the name, bizName, automatic recording status, creation time, and key for each application.
Call application name: The name that you entered when you created the application. This name can be edited.
bizName: The scenario code for audio and video calls. It is automatically generated after the application is created. Terminals that use the same bizName can make audio and video calls to each other.
Automatic recording status: Indicates whether automatic recording is enabled. To configure this feature, click Feature Configuration in the Actions column.
Creation time: The time when the call application was created.
Key: Automatically generated after the application is created. It is used to generate a signature on the server-side. Click View Document for instructions on how to use the key.
Feature configuration
On the call application list page, click Feature Configuration in the Actions column for an application. This opens the feature configuration page, where you can configure automatic cloud recording and set a proxy server address for media streams.
To make changes, click the Edit button to enter edit mode. When you are finished, click the Save button to save your configuration.
Configure automatic cloud recording and the recording webhook address
Automatic cloud recording is a feature that automatically records call content on the server-side. You can enable or disable this feature and set a recording webhook address as needed.
Automatic cloud recording: If this feature is enabled, the server-side automatically records the content of an audio or video call from start to finish. A recording file is generated when the call ends. If this feature is disabled, the server-side does not automatically record calls.
NoteAutomatic cloud recording is Disabled by default and must be enabled manually.
Set recording webhook address: This is a URL that uses the HTTP or HTTPS protocol. After you set this address, the server-side sends status information to this URL when a recording starts, pauses, or ends, or when a recording file fault occurs.
The server-side sends callbacks using the
POST (application/json)method. The fields in the callback request are described below.Field
Data Type
Required
Description
bizRequestId
String
Yes
Request ID.
bizName
String
Yes
Business identity.
appId
String
Yes
The ID of the mPaaS application.
workspaceId
String
Yes
Workspace ID.
roomId
String
Yes
Channel ID.
recordId
String
Yes
Recording ID.
eventCode
Int
Yes
0: A stream was recorded successfully.
10: Initialization succeeded.
11: Recording ended.
50: Recording warning.
99: Recording result.
500301: Stream disconnection warning.
500302: Low frame rate warning.
1000xx: Recording failed to start.
100001: A connection to the room could not be established.
100002: Failed to join the channel.
100003: Failed to subscribe to the stream.
100004: Missing subscribed ingest endpoints.
100005: Failed to connect to the MCU.
100006: Abnormal video aspect ratio.
100007: The actual number of custom mixed streams is greater than the set number.
1001xx: Recording failed during the process.
100101: Failed to create the recording file.
100102: Failed to convert the recording file format.
100103: Failed to save the file.
100104: Failed to separate audio and video.
100105: Recording child process crashed.
100106: Disk is full or failed to write the file.
1002xx: Recording failed during the end phase.
100201: Failed to upload the file.
recordResult
JSON
No
Required when eventCode is 99. The JSON body is as follows: status: int, recording status, required.
2: The recording was successful and the file was saved.
3: The recording failed.
fileType: int, file type, sent when status is 2.
1: local
2: OSS
3: AFTS
4: HDFS
filePath: String, file path, sent when status is 2.
recordStartTime: long, the absolute time (server time, in ms) of the first recorded frame, sent when status is 2.
mediaType: int, the type of the recording file, sent when status is 2.
0: Audio and video
1: Audio-only
2: Video-only
The data fields that the business server must return are as follows:
Field
Type
Required
Description
bizRequestId
String
Yes
The
bizRequestIdfrom the callback request.code
int
Yes
Status code.
0indicates success.The following example shows the request data:
{ "bizRequestId":"123456789", "bizName":"bizName", "appId":"appId", "workspaceId":"workspaceId", "roomId":"xxxxxx", "recordId":"record_xxx", "eventCode":0, "recordResult": { "status":2, "fileType":2, "filePath":"https://xxxxxx", "recordStartTime":1592817186122, "mediaType":0 } }Sample response data:
{ "bizRequestId":"123456789", "code":0 }
Configure the channel status webhook address
The channel status webhook address is a URL that uses the HTTP or HTTPS protocol. After you set this address, the server-side sends status information to this URL when a channel is created, joined, left, or destroyed.
The server-side sends callbacks using the POST (application/json) method. The fields in the callback request are described below.
Field | Data Type | Required | Description |
bizRequestId | String | Yes | Request ID. |
uid | String | Yes | User ID. |
bizName | String | Yes | Business identity. |
appId | String | Yes | The ID of the mPaaS application. |
workspaceId | String | Yes | Workspace ID. |
roomId | String | Yes | Channel ID. |
eventCode | Int | Yes | 1: Create channel. 2: Join channel. 3: Leave channel. 4: Destroy channel. |
The data fields that the business server must return are as follows:
Field | Type | Required | Description |
bizRequestId | String | Yes | The |
code | int | Yes | Status code. |
Sample request data:
{
"eventCode":3,
"uid":"uid",
"bizName":"bizName",
"appId":"appId",
"bizRequestId":918479352902861,
"time":1669184793529,
"roomId":"roomId",
"workspaceId":"workspaceId"
} Configure the proxy server address
If your network has an isolated security zone and cannot directly access Alibaba Cloud servers, you can set up a proxy server to forward media stream data. Audio and video stream data is then forwarded through that proxy server.
An incorrect proxy server address will cause audio and video calls to fail. Do not configure this field unless it is required.
When configuring the proxy server, enter the server address and its corresponding outbound IP address. Ensure that the addresses are correct.
The media stream proxy server address format is:
example.aliyundoc.com.If there are multiple outbound IP addresses, separate them with a semicolon (;).