Browse Source

RTC SDK Auto Released By renrang.yl,Version:1.20.5

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 years ago
parent
commit
7971dd76b0
50 changed files with 2957 additions and 0 deletions
  1. 4 0
      ChangeLog.txt
  2. 81 0
      services/rtc/client.go
  3. 108 0
      services/rtc/create_channel.go
  4. 111 0
      services/rtc/create_conference.go
  5. 105 0
      services/rtc/delete_channel.go
  6. 106 0
      services/rtc/delete_conference.go
  7. 111 0
      services/rtc/describe_apps.go
  8. 107 0
      services/rtc/describe_conference_auth_info.go
  9. 107 0
      services/rtc/describe_real_time_record_detail.go
  10. 106 0
      services/rtc/describe_real_time_record_list.go
  11. 110 0
      services/rtc/describe_record_detail.go
  12. 116 0
      services/rtc/describe_record_list.go
  13. 111 0
      services/rtc/describe_statis.go
  14. 105 0
      services/rtc/modify_app.go
  15. 110 0
      services/rtc/modify_conference.go
  16. 108 0
      services/rtc/mute_audio.go
  17. 108 0
      services/rtc/mute_audio_all.go
  18. 108 0
      services/rtc/remove_participants.go
  19. 104 0
      services/rtc/start_app.go
  20. 104 0
      services/rtc/stop_app.go
  21. 27 0
      services/rtc/struct_app.go
  22. 21 0
      services/rtc/struct_app_list.go
  23. 23 0
      services/rtc/struct_auth_info.go
  24. 21 0
      services/rtc/struct_call_areas_in_describe_real_time_record_list.go
  25. 21 0
      services/rtc/struct_call_areas_in_describe_record_list.go
  26. 21 0
      services/rtc/struct_channel_statis.go
  27. 23 0
      services/rtc/struct_channel_statis_item.go
  28. 28 0
      services/rtc/struct_communication_record_info.go
  29. 21 0
      services/rtc/struct_communication_record_infos_in_describe_real_time_record_list.go
  30. 21 0
      services/rtc/struct_communication_record_infos_in_describe_record_list.go
  31. 25 0
      services/rtc/struct_duration.go
  32. 21 0
      services/rtc/struct_duration_in_describe_statis.go
  33. 25 0
      services/rtc/struct_duration_item.go
  34. 23 0
      services/rtc/struct_participant.go
  35. 21 0
      services/rtc/struct_participants_in_mute_audio.go
  36. 21 0
      services/rtc/struct_participants_in_mute_audio_all.go
  37. 21 0
      services/rtc/struct_participants_in_remove_participants.go
  38. 21 0
      services/rtc/struct_participants_in_unmute_audio.go
  39. 21 0
      services/rtc/struct_participants_in_unmute_audio_all.go
  40. 25 0
      services/rtc/struct_record_detail_info.go
  41. 21 0
      services/rtc/struct_record_detail_infos_in_describe_real_time_record_detail.go
  42. 21 0
      services/rtc/struct_record_detail_infos_in_describe_record_detail.go
  43. 21 0
      services/rtc/struct_service_areas.go
  44. 24 0
      services/rtc/struct_statis_info.go
  45. 21 0
      services/rtc/struct_statis_infos.go
  46. 21 0
      services/rtc/struct_user_statis.go
  47. 23 0
      services/rtc/struct_user_statis_item.go
  48. 108 0
      services/rtc/unmute_audio.go
  49. 108 0
      services/rtc/unmute_audio_all.go
  50. 108 0
      services/rtc/update_channel.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2018-06-22 Version: 1.20.5
+1, rtc openapi
+
+
 2018-06-22 Version: 1.20.4
 2018-06-22 Version: 1.20.4
 1, Add new API: DeleteGroupDynamicRule,ListGroupDynamicRule,ApplyTemplate,PutGroupDynamicRule.
 1, Add new API: DeleteGroupDynamicRule,ListGroupDynamicRule,ApplyTemplate,PutGroupDynamicRule.
 2, Add parameter(AlertIds) for CreateTask and ModifyTask.
 2, Add parameter(AlertIds) for CreateTask and ModifyTask.

+ 81 - 0
services/rtc/client.go

@@ -0,0 +1,81 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 108 - 0
services/rtc/create_channel.go

@@ -0,0 +1,108 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateChannel invokes the rtc.CreateChannel API synchronously
+// api document: https://help.aliyun.com/api/rtc/createchannel.html
+func (client *Client) CreateChannel(request *CreateChannelRequest) (response *CreateChannelResponse, err error) {
+	response = CreateCreateChannelResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateChannelWithChan invokes the rtc.CreateChannel API asynchronously
+// api document: https://help.aliyun.com/api/rtc/createchannel.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateChannelWithChan(request *CreateChannelRequest) (<-chan *CreateChannelResponse, <-chan error) {
+	responseChan := make(chan *CreateChannelResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateChannel(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateChannelWithCallback invokes the rtc.CreateChannel API asynchronously
+// api document: https://help.aliyun.com/api/rtc/createchannel.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateChannelWithCallback(request *CreateChannelRequest, callback func(response *CreateChannelResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateChannelResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateChannel(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateChannelRequest is the request struct for api CreateChannel
+type CreateChannelRequest struct {
+	*requests.RpcRequest
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+}
+
+// CreateChannelResponse is the response struct for api CreateChannel
+type CreateChannelResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	ChannelKey string `json:"ChannelKey" xml:"ChannelKey"`
+	Nonce      string `json:"Nonce" xml:"Nonce"`
+	Timestamp  int    `json:"Timestamp" xml:"Timestamp"`
+}
+
+// CreateCreateChannelRequest creates a request to invoke CreateChannel API
+func CreateCreateChannelRequest() (request *CreateChannelRequest) {
+	request = &CreateChannelRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "CreateChannel", "rtc", "openAPI")
+	return
+}
+
+// CreateCreateChannelResponse creates a response to parse from CreateChannel response
+func CreateCreateChannelResponse() (response *CreateChannelResponse) {
+	response = &CreateChannelResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/rtc/create_conference.go

@@ -0,0 +1,111 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateConference invokes the rtc.CreateConference API synchronously
+// api document: https://help.aliyun.com/api/rtc/createconference.html
+func (client *Client) CreateConference(request *CreateConferenceRequest) (response *CreateConferenceResponse, err error) {
+	response = CreateCreateConferenceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateConferenceWithChan invokes the rtc.CreateConference API asynchronously
+// api document: https://help.aliyun.com/api/rtc/createconference.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateConferenceWithChan(request *CreateConferenceRequest) (<-chan *CreateConferenceResponse, <-chan error) {
+	responseChan := make(chan *CreateConferenceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateConference(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateConferenceWithCallback invokes the rtc.CreateConference API asynchronously
+// api document: https://help.aliyun.com/api/rtc/createconference.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateConferenceWithCallback(request *CreateConferenceRequest, callback func(response *CreateConferenceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateConferenceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateConference(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateConferenceRequest is the request struct for api CreateConference
+type CreateConferenceRequest struct {
+	*requests.RpcRequest
+	ClientToken    string           `position:"Query" name:"ClientToken"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	Type           string           `position:"Query" name:"Type"`
+	ConferenceName string           `position:"Query" name:"ConferenceName"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	AppId          string           `position:"Query" name:"AppId"`
+	RemindNotice   requests.Integer `position:"Query" name:"RemindNotice"`
+}
+
+// CreateConferenceResponse is the response struct for api CreateConference
+type CreateConferenceResponse struct {
+	*responses.BaseResponse
+	RequestId    string   `json:"RequestId" xml:"RequestId"`
+	ConferenceId string   `json:"ConferenceId" xml:"ConferenceId"`
+	AuthInfo     AuthInfo `json:"AuthInfo" xml:"AuthInfo"`
+}
+
+// CreateCreateConferenceRequest creates a request to invoke CreateConference API
+func CreateCreateConferenceRequest() (request *CreateConferenceRequest) {
+	request = &CreateConferenceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "CreateConference", "rtc", "openAPI")
+	return
+}
+
+// CreateCreateConferenceResponse creates a response to parse from CreateConference response
+func CreateCreateConferenceResponse() (response *CreateConferenceResponse) {
+	response = &CreateConferenceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/rtc/delete_channel.go

@@ -0,0 +1,105 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteChannel invokes the rtc.DeleteChannel API synchronously
+// api document: https://help.aliyun.com/api/rtc/deletechannel.html
+func (client *Client) DeleteChannel(request *DeleteChannelRequest) (response *DeleteChannelResponse, err error) {
+	response = CreateDeleteChannelResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteChannelWithChan invokes the rtc.DeleteChannel API asynchronously
+// api document: https://help.aliyun.com/api/rtc/deletechannel.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChannelWithChan(request *DeleteChannelRequest) (<-chan *DeleteChannelResponse, <-chan error) {
+	responseChan := make(chan *DeleteChannelResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteChannel(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteChannelWithCallback invokes the rtc.DeleteChannel API asynchronously
+// api document: https://help.aliyun.com/api/rtc/deletechannel.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChannelWithCallback(request *DeleteChannelRequest, callback func(response *DeleteChannelResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteChannelResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteChannel(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteChannelRequest is the request struct for api DeleteChannel
+type DeleteChannelRequest struct {
+	*requests.RpcRequest
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+}
+
+// DeleteChannelResponse is the response struct for api DeleteChannel
+type DeleteChannelResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteChannelRequest creates a request to invoke DeleteChannel API
+func CreateDeleteChannelRequest() (request *DeleteChannelRequest) {
+	request = &DeleteChannelRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DeleteChannel", "rtc", "openAPI")
+	return
+}
+
+// CreateDeleteChannelResponse creates a response to parse from DeleteChannel response
+func CreateDeleteChannelResponse() (response *DeleteChannelResponse) {
+	response = &DeleteChannelResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/rtc/delete_conference.go

@@ -0,0 +1,106 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteConference invokes the rtc.DeleteConference API synchronously
+// api document: https://help.aliyun.com/api/rtc/deleteconference.html
+func (client *Client) DeleteConference(request *DeleteConferenceRequest) (response *DeleteConferenceResponse, err error) {
+	response = CreateDeleteConferenceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteConferenceWithChan invokes the rtc.DeleteConference API asynchronously
+// api document: https://help.aliyun.com/api/rtc/deleteconference.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteConferenceWithChan(request *DeleteConferenceRequest) (<-chan *DeleteConferenceResponse, <-chan error) {
+	responseChan := make(chan *DeleteConferenceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteConference(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteConferenceWithCallback invokes the rtc.DeleteConference API asynchronously
+// api document: https://help.aliyun.com/api/rtc/deleteconference.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteConferenceWithCallback(request *DeleteConferenceRequest, callback func(response *DeleteConferenceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteConferenceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteConference(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteConferenceRequest is the request struct for api DeleteConference
+type DeleteConferenceRequest struct {
+	*requests.RpcRequest
+	OwnerId      requests.Integer `position:"Query" name:"OwnerId"`
+	ConferenceId string           `position:"Query" name:"ConferenceId"`
+	AppId        string           `position:"Query" name:"AppId"`
+}
+
+// DeleteConferenceResponse is the response struct for api DeleteConference
+type DeleteConferenceResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	ConferenceId string `json:"ConferenceId" xml:"ConferenceId"`
+}
+
+// CreateDeleteConferenceRequest creates a request to invoke DeleteConference API
+func CreateDeleteConferenceRequest() (request *DeleteConferenceRequest) {
+	request = &DeleteConferenceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DeleteConference", "rtc", "openAPI")
+	return
+}
+
+// CreateDeleteConferenceResponse creates a response to parse from DeleteConference response
+func CreateDeleteConferenceResponse() (response *DeleteConferenceResponse) {
+	response = &DeleteConferenceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/rtc/describe_apps.go

@@ -0,0 +1,111 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeApps invokes the rtc.DescribeApps API synchronously
+// api document: https://help.aliyun.com/api/rtc/describeapps.html
+func (client *Client) DescribeApps(request *DescribeAppsRequest) (response *DescribeAppsResponse, err error) {
+	response = CreateDescribeAppsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAppsWithChan invokes the rtc.DescribeApps API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describeapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAppsWithChan(request *DescribeAppsRequest) (<-chan *DescribeAppsResponse, <-chan error) {
+	responseChan := make(chan *DescribeAppsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeApps(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAppsWithCallback invokes the rtc.DescribeApps API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describeapps.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAppsWithCallback(request *DescribeAppsRequest, callback func(response *DescribeAppsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAppsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeApps(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAppsRequest is the request struct for api DescribeApps
+type DescribeAppsRequest struct {
+	*requests.RpcRequest
+	PageNum  requests.Integer `position:"Query" name:"PageNum"`
+	PageSize requests.Integer `position:"Query" name:"PageSize"`
+	Order    string           `position:"Query" name:"Order"`
+	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
+	AppId    string           `position:"Query" name:"AppId"`
+	Status   string           `position:"Query" name:"Status"`
+}
+
+// DescribeAppsResponse is the response struct for api DescribeApps
+type DescribeAppsResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	TotalNum  int     `json:"TotalNum" xml:"TotalNum"`
+	TotalPage int     `json:"TotalPage" xml:"TotalPage"`
+	AppList   AppList `json:"AppList" xml:"AppList"`
+}
+
+// CreateDescribeAppsRequest creates a request to invoke DescribeApps API
+func CreateDescribeAppsRequest() (request *DescribeAppsRequest) {
+	request = &DescribeAppsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeApps", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeAppsResponse creates a response to parse from DescribeApps response
+func CreateDescribeAppsResponse() (response *DescribeAppsResponse) {
+	response = &DescribeAppsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/rtc/describe_conference_auth_info.go

@@ -0,0 +1,107 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeConferenceAuthInfo invokes the rtc.DescribeConferenceAuthInfo API synchronously
+// api document: https://help.aliyun.com/api/rtc/describeconferenceauthinfo.html
+func (client *Client) DescribeConferenceAuthInfo(request *DescribeConferenceAuthInfoRequest) (response *DescribeConferenceAuthInfoResponse, err error) {
+	response = CreateDescribeConferenceAuthInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeConferenceAuthInfoWithChan invokes the rtc.DescribeConferenceAuthInfo API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describeconferenceauthinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeConferenceAuthInfoWithChan(request *DescribeConferenceAuthInfoRequest) (<-chan *DescribeConferenceAuthInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeConferenceAuthInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeConferenceAuthInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeConferenceAuthInfoWithCallback invokes the rtc.DescribeConferenceAuthInfo API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describeconferenceauthinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeConferenceAuthInfoWithCallback(request *DescribeConferenceAuthInfoRequest, callback func(response *DescribeConferenceAuthInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeConferenceAuthInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeConferenceAuthInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeConferenceAuthInfoRequest is the request struct for api DescribeConferenceAuthInfo
+type DescribeConferenceAuthInfoRequest struct {
+	*requests.RpcRequest
+	OwnerId      requests.Integer `position:"Query" name:"OwnerId"`
+	ConferenceId string           `position:"Query" name:"ConferenceId"`
+	AppId        string           `position:"Query" name:"AppId"`
+}
+
+// DescribeConferenceAuthInfoResponse is the response struct for api DescribeConferenceAuthInfo
+type DescribeConferenceAuthInfoResponse struct {
+	*responses.BaseResponse
+	RequestId    string   `json:"RequestId" xml:"RequestId"`
+	ConferenceId string   `json:"ConferenceId" xml:"ConferenceId"`
+	AuthInfo     AuthInfo `json:"AuthInfo" xml:"AuthInfo"`
+}
+
+// CreateDescribeConferenceAuthInfoRequest creates a request to invoke DescribeConferenceAuthInfo API
+func CreateDescribeConferenceAuthInfoRequest() (request *DescribeConferenceAuthInfoRequest) {
+	request = &DescribeConferenceAuthInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeConferenceAuthInfo", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeConferenceAuthInfoResponse creates a response to parse from DescribeConferenceAuthInfo response
+func CreateDescribeConferenceAuthInfoResponse() (response *DescribeConferenceAuthInfoResponse) {
+	response = &DescribeConferenceAuthInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/rtc/describe_real_time_record_detail.go

@@ -0,0 +1,107 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRealTimeRecordDetail invokes the rtc.DescribeRealTimeRecordDetail API synchronously
+// api document: https://help.aliyun.com/api/rtc/describerealtimerecorddetail.html
+func (client *Client) DescribeRealTimeRecordDetail(request *DescribeRealTimeRecordDetailRequest) (response *DescribeRealTimeRecordDetailResponse, err error) {
+	response = CreateDescribeRealTimeRecordDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRealTimeRecordDetailWithChan invokes the rtc.DescribeRealTimeRecordDetail API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describerealtimerecorddetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRealTimeRecordDetailWithChan(request *DescribeRealTimeRecordDetailRequest) (<-chan *DescribeRealTimeRecordDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeRealTimeRecordDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRealTimeRecordDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRealTimeRecordDetailWithCallback invokes the rtc.DescribeRealTimeRecordDetail API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describerealtimerecorddetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRealTimeRecordDetailWithCallback(request *DescribeRealTimeRecordDetailRequest, callback func(response *DescribeRealTimeRecordDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRealTimeRecordDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRealTimeRecordDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRealTimeRecordDetailRequest is the request struct for api DescribeRealTimeRecordDetail
+type DescribeRealTimeRecordDetailRequest struct {
+	*requests.RpcRequest
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	RecordId  string           `position:"Query" name:"RecordId"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+}
+
+// DescribeRealTimeRecordDetailResponse is the response struct for api DescribeRealTimeRecordDetail
+type DescribeRealTimeRecordDetailResponse struct {
+	*responses.BaseResponse
+	RequestId         string                                          `json:"RequestId" xml:"RequestId"`
+	RecordDetailInfos RecordDetailInfosInDescribeRealTimeRecordDetail `json:"RecordDetailInfos" xml:"RecordDetailInfos"`
+}
+
+// CreateDescribeRealTimeRecordDetailRequest creates a request to invoke DescribeRealTimeRecordDetail API
+func CreateDescribeRealTimeRecordDetailRequest() (request *DescribeRealTimeRecordDetailRequest) {
+	request = &DescribeRealTimeRecordDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRealTimeRecordDetail", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeRealTimeRecordDetailResponse creates a response to parse from DescribeRealTimeRecordDetail response
+func CreateDescribeRealTimeRecordDetailResponse() (response *DescribeRealTimeRecordDetailResponse) {
+	response = &DescribeRealTimeRecordDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/rtc/describe_real_time_record_list.go

@@ -0,0 +1,106 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRealTimeRecordList invokes the rtc.DescribeRealTimeRecordList API synchronously
+// api document: https://help.aliyun.com/api/rtc/describerealtimerecordlist.html
+func (client *Client) DescribeRealTimeRecordList(request *DescribeRealTimeRecordListRequest) (response *DescribeRealTimeRecordListResponse, err error) {
+	response = CreateDescribeRealTimeRecordListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRealTimeRecordListWithChan invokes the rtc.DescribeRealTimeRecordList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describerealtimerecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRealTimeRecordListWithChan(request *DescribeRealTimeRecordListRequest) (<-chan *DescribeRealTimeRecordListResponse, <-chan error) {
+	responseChan := make(chan *DescribeRealTimeRecordListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRealTimeRecordList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRealTimeRecordListWithCallback invokes the rtc.DescribeRealTimeRecordList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describerealtimerecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRealTimeRecordListWithCallback(request *DescribeRealTimeRecordListRequest, callback func(response *DescribeRealTimeRecordListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRealTimeRecordListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRealTimeRecordList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRealTimeRecordListRequest is the request struct for api DescribeRealTimeRecordList
+type DescribeRealTimeRecordListRequest struct {
+	*requests.RpcRequest
+	EndTime   string           `position:"Query" name:"EndTime"`
+	StartTime string           `position:"Query" name:"StartTime"`
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeRealTimeRecordListResponse is the response struct for api DescribeRealTimeRecordList
+type DescribeRealTimeRecordListResponse struct {
+	*responses.BaseResponse
+	RequestId                string                                               `json:"RequestId" xml:"RequestId"`
+	CommunicationRecordInfos CommunicationRecordInfosInDescribeRealTimeRecordList `json:"CommunicationRecordInfos" xml:"CommunicationRecordInfos"`
+}
+
+// CreateDescribeRealTimeRecordListRequest creates a request to invoke DescribeRealTimeRecordList API
+func CreateDescribeRealTimeRecordListRequest() (request *DescribeRealTimeRecordListRequest) {
+	request = &DescribeRealTimeRecordListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRealTimeRecordList", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeRealTimeRecordListResponse creates a response to parse from DescribeRealTimeRecordList response
+func CreateDescribeRealTimeRecordListResponse() (response *DescribeRealTimeRecordListResponse) {
+	response = &DescribeRealTimeRecordListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/rtc/describe_record_detail.go

@@ -0,0 +1,110 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRecordDetail invokes the rtc.DescribeRecordDetail API synchronously
+// api document: https://help.aliyun.com/api/rtc/describerecorddetail.html
+func (client *Client) DescribeRecordDetail(request *DescribeRecordDetailRequest) (response *DescribeRecordDetailResponse, err error) {
+	response = CreateDescribeRecordDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRecordDetailWithChan invokes the rtc.DescribeRecordDetail API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describerecorddetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordDetailWithChan(request *DescribeRecordDetailRequest) (<-chan *DescribeRecordDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeRecordDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRecordDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRecordDetailWithCallback invokes the rtc.DescribeRecordDetail API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describerecorddetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordDetailWithCallback(request *DescribeRecordDetailRequest, callback func(response *DescribeRecordDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRecordDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRecordDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRecordDetailRequest is the request struct for api DescribeRecordDetail
+type DescribeRecordDetailRequest struct {
+	*requests.RpcRequest
+	StartTime string           `position:"Query" name:"StartTime"`
+	EndTime   string           `position:"Query" name:"EndTime"`
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	RecordId  string           `position:"Query" name:"RecordId"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+}
+
+// DescribeRecordDetailResponse is the response struct for api DescribeRecordDetail
+type DescribeRecordDetailResponse struct {
+	*responses.BaseResponse
+	RequestId         string                                  `json:"RequestId" xml:"RequestId"`
+	Duration          Duration                                `json:"Duration" xml:"Duration"`
+	RecordDetailInfos RecordDetailInfosInDescribeRecordDetail `json:"RecordDetailInfos" xml:"RecordDetailInfos"`
+}
+
+// CreateDescribeRecordDetailRequest creates a request to invoke DescribeRecordDetail API
+func CreateDescribeRecordDetailRequest() (request *DescribeRecordDetailRequest) {
+	request = &DescribeRecordDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRecordDetail", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeRecordDetailResponse creates a response to parse from DescribeRecordDetail response
+func CreateDescribeRecordDetailResponse() (response *DescribeRecordDetailResponse) {
+	response = &DescribeRecordDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/rtc/describe_record_list.go

@@ -0,0 +1,116 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRecordList invokes the rtc.DescribeRecordList API synchronously
+// api document: https://help.aliyun.com/api/rtc/describerecordlist.html
+func (client *Client) DescribeRecordList(request *DescribeRecordListRequest) (response *DescribeRecordListResponse, err error) {
+	response = CreateDescribeRecordListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRecordListWithChan invokes the rtc.DescribeRecordList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describerecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordListWithChan(request *DescribeRecordListRequest) (<-chan *DescribeRecordListResponse, <-chan error) {
+	responseChan := make(chan *DescribeRecordListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRecordList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRecordListWithCallback invokes the rtc.DescribeRecordList API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describerecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordListWithCallback(request *DescribeRecordListRequest, callback func(response *DescribeRecordListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRecordListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRecordList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRecordListRequest is the request struct for api DescribeRecordList
+type DescribeRecordListRequest struct {
+	*requests.RpcRequest
+	SortType    string           `position:"Query" name:"SortType"`
+	StartTime   string           `position:"Query" name:"StartTime"`
+	ServiceArea string           `position:"Query" name:"ServiceArea"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	Id          string           `position:"Query" name:"Id"`
+	EndTime     string           `position:"Query" name:"EndTime"`
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+	IdType      string           `position:"Query" name:"IdType"`
+	PageNo      requests.Integer `position:"Query" name:"PageNo"`
+	AppId       string           `position:"Query" name:"AppId"`
+}
+
+// DescribeRecordListResponse is the response struct for api DescribeRecordList
+type DescribeRecordListResponse struct {
+	*responses.BaseResponse
+	RequestId                string                                       `json:"RequestId" xml:"RequestId"`
+	PageSize                 int                                          `json:"PageSize" xml:"PageSize"`
+	PageNo                   int                                          `json:"PageNo" xml:"PageNo"`
+	TotalCnt                 int                                          `json:"TotalCnt" xml:"TotalCnt"`
+	CommunicationRecordInfos CommunicationRecordInfosInDescribeRecordList `json:"CommunicationRecordInfos" xml:"CommunicationRecordInfos"`
+}
+
+// CreateDescribeRecordListRequest creates a request to invoke DescribeRecordList API
+func CreateDescribeRecordListRequest() (request *DescribeRecordListRequest) {
+	request = &DescribeRecordListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeRecordList", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeRecordListResponse creates a response to parse from DescribeRecordList response
+func CreateDescribeRecordListResponse() (response *DescribeRecordListResponse) {
+	response = &DescribeRecordListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/rtc/describe_statis.go

@@ -0,0 +1,111 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeStatis invokes the rtc.DescribeStatis API synchronously
+// api document: https://help.aliyun.com/api/rtc/describestatis.html
+func (client *Client) DescribeStatis(request *DescribeStatisRequest) (response *DescribeStatisResponse, err error) {
+	response = CreateDescribeStatisResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeStatisWithChan invokes the rtc.DescribeStatis API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describestatis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStatisWithChan(request *DescribeStatisRequest) (<-chan *DescribeStatisResponse, <-chan error) {
+	responseChan := make(chan *DescribeStatisResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStatis(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeStatisWithCallback invokes the rtc.DescribeStatis API asynchronously
+// api document: https://help.aliyun.com/api/rtc/describestatis.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStatisWithCallback(request *DescribeStatisRequest, callback func(response *DescribeStatisResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStatisResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStatis(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeStatisRequest is the request struct for api DescribeStatis
+type DescribeStatisRequest struct {
+	*requests.RpcRequest
+	SortType    string           `position:"Query" name:"SortType"`
+	StartTime   string           `position:"Query" name:"StartTime"`
+	DataType    string           `position:"Query" name:"DataType"`
+	ServiceArea string           `position:"Query" name:"ServiceArea"`
+	EndTime     string           `position:"Query" name:"EndTime"`
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+	AppId       string           `position:"Query" name:"AppId"`
+	Interval    string           `position:"Query" name:"Interval"`
+}
+
+// DescribeStatisResponse is the response struct for api DescribeStatis
+type DescribeStatisResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	StatisInfos StatisInfos `json:"StatisInfos" xml:"StatisInfos"`
+}
+
+// CreateDescribeStatisRequest creates a request to invoke DescribeStatis API
+func CreateDescribeStatisRequest() (request *DescribeStatisRequest) {
+	request = &DescribeStatisRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "DescribeStatis", "rtc", "openAPI")
+	return
+}
+
+// CreateDescribeStatisResponse creates a response to parse from DescribeStatis response
+func CreateDescribeStatisResponse() (response *DescribeStatisResponse) {
+	response = &DescribeStatisResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/rtc/modify_app.go

@@ -0,0 +1,105 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyApp invokes the rtc.ModifyApp API synchronously
+// api document: https://help.aliyun.com/api/rtc/modifyapp.html
+func (client *Client) ModifyApp(request *ModifyAppRequest) (response *ModifyAppResponse, err error) {
+	response = CreateModifyAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAppWithChan invokes the rtc.ModifyApp API asynchronously
+// api document: https://help.aliyun.com/api/rtc/modifyapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAppWithChan(request *ModifyAppRequest) (<-chan *ModifyAppResponse, <-chan error) {
+	responseChan := make(chan *ModifyAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyAppWithCallback invokes the rtc.ModifyApp API asynchronously
+// api document: https://help.aliyun.com/api/rtc/modifyapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAppWithCallback(request *ModifyAppRequest, callback func(response *ModifyAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyAppResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyAppRequest is the request struct for api ModifyApp
+type ModifyAppRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	AppName string           `position:"Query" name:"AppName"`
+	AppId   string           `position:"Query" name:"AppId"`
+}
+
+// ModifyAppResponse is the response struct for api ModifyApp
+type ModifyAppResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyAppRequest creates a request to invoke ModifyApp API
+func CreateModifyAppRequest() (request *ModifyAppRequest) {
+	request = &ModifyAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "ModifyApp", "rtc", "openAPI")
+	return
+}
+
+// CreateModifyAppResponse creates a response to parse from ModifyApp response
+func CreateModifyAppResponse() (response *ModifyAppResponse) {
+	response = &ModifyAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/rtc/modify_conference.go

@@ -0,0 +1,110 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyConference invokes the rtc.ModifyConference API synchronously
+// api document: https://help.aliyun.com/api/rtc/modifyconference.html
+func (client *Client) ModifyConference(request *ModifyConferenceRequest) (response *ModifyConferenceResponse, err error) {
+	response = CreateModifyConferenceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyConferenceWithChan invokes the rtc.ModifyConference API asynchronously
+// api document: https://help.aliyun.com/api/rtc/modifyconference.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyConferenceWithChan(request *ModifyConferenceRequest) (<-chan *ModifyConferenceResponse, <-chan error) {
+	responseChan := make(chan *ModifyConferenceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyConference(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyConferenceWithCallback invokes the rtc.ModifyConference API asynchronously
+// api document: https://help.aliyun.com/api/rtc/modifyconference.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyConferenceWithCallback(request *ModifyConferenceRequest, callback func(response *ModifyConferenceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyConferenceResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyConference(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyConferenceRequest is the request struct for api ModifyConference
+type ModifyConferenceRequest struct {
+	*requests.RpcRequest
+	StartTime      string           `position:"Query" name:"StartTime"`
+	Type           string           `position:"Query" name:"Type"`
+	ConferenceId   string           `position:"Query" name:"ConferenceId"`
+	ConferenceName string           `position:"Query" name:"ConferenceName"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	AppId          string           `position:"Query" name:"AppId"`
+	RemindNotice   requests.Integer `position:"Query" name:"RemindNotice"`
+}
+
+// ModifyConferenceResponse is the response struct for api ModifyConference
+type ModifyConferenceResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	ConferenceId string `json:"ConferenceId" xml:"ConferenceId"`
+}
+
+// CreateModifyConferenceRequest creates a request to invoke ModifyConference API
+func CreateModifyConferenceRequest() (request *ModifyConferenceRequest) {
+	request = &ModifyConferenceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "ModifyConference", "rtc", "openAPI")
+	return
+}
+
+// CreateModifyConferenceResponse creates a response to parse from ModifyConference response
+func CreateModifyConferenceResponse() (response *ModifyConferenceResponse) {
+	response = &ModifyConferenceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/rtc/mute_audio.go

@@ -0,0 +1,108 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// MuteAudio invokes the rtc.MuteAudio API synchronously
+// api document: https://help.aliyun.com/api/rtc/muteaudio.html
+func (client *Client) MuteAudio(request *MuteAudioRequest) (response *MuteAudioResponse, err error) {
+	response = CreateMuteAudioResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// MuteAudioWithChan invokes the rtc.MuteAudio API asynchronously
+// api document: https://help.aliyun.com/api/rtc/muteaudio.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MuteAudioWithChan(request *MuteAudioRequest) (<-chan *MuteAudioResponse, <-chan error) {
+	responseChan := make(chan *MuteAudioResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.MuteAudio(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// MuteAudioWithCallback invokes the rtc.MuteAudio API asynchronously
+// api document: https://help.aliyun.com/api/rtc/muteaudio.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MuteAudioWithCallback(request *MuteAudioRequest, callback func(response *MuteAudioResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *MuteAudioResponse
+		var err error
+		defer close(result)
+		response, err = client.MuteAudio(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// MuteAudioRequest is the request struct for api MuteAudio
+type MuteAudioRequest struct {
+	*requests.RpcRequest
+	ParticipantIds *[]string        `position:"Query" name:"ParticipantIds"  type:"Repeated"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	ConferenceId   string           `position:"Query" name:"ConferenceId"`
+	AppId          string           `position:"Query" name:"AppId"`
+}
+
+// MuteAudioResponse is the response struct for api MuteAudio
+type MuteAudioResponse struct {
+	*responses.BaseResponse
+	RequestId    string                  `json:"RequestId" xml:"RequestId"`
+	ConferenceId string                  `json:"ConferenceId" xml:"ConferenceId"`
+	Participants ParticipantsInMuteAudio `json:"Participants" xml:"Participants"`
+}
+
+// CreateMuteAudioRequest creates a request to invoke MuteAudio API
+func CreateMuteAudioRequest() (request *MuteAudioRequest) {
+	request = &MuteAudioRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "MuteAudio", "rtc", "openAPI")
+	return
+}
+
+// CreateMuteAudioResponse creates a response to parse from MuteAudio response
+func CreateMuteAudioResponse() (response *MuteAudioResponse) {
+	response = &MuteAudioResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/rtc/mute_audio_all.go

@@ -0,0 +1,108 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// MuteAudioAll invokes the rtc.MuteAudioAll API synchronously
+// api document: https://help.aliyun.com/api/rtc/muteaudioall.html
+func (client *Client) MuteAudioAll(request *MuteAudioAllRequest) (response *MuteAudioAllResponse, err error) {
+	response = CreateMuteAudioAllResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// MuteAudioAllWithChan invokes the rtc.MuteAudioAll API asynchronously
+// api document: https://help.aliyun.com/api/rtc/muteaudioall.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MuteAudioAllWithChan(request *MuteAudioAllRequest) (<-chan *MuteAudioAllResponse, <-chan error) {
+	responseChan := make(chan *MuteAudioAllResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.MuteAudioAll(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// MuteAudioAllWithCallback invokes the rtc.MuteAudioAll API asynchronously
+// api document: https://help.aliyun.com/api/rtc/muteaudioall.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MuteAudioAllWithCallback(request *MuteAudioAllRequest, callback func(response *MuteAudioAllResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *MuteAudioAllResponse
+		var err error
+		defer close(result)
+		response, err = client.MuteAudioAll(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// MuteAudioAllRequest is the request struct for api MuteAudioAll
+type MuteAudioAllRequest struct {
+	*requests.RpcRequest
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	ParticipantId string           `position:"Query" name:"ParticipantId"`
+	ConferenceId  string           `position:"Query" name:"ConferenceId"`
+	AppId         string           `position:"Query" name:"AppId"`
+}
+
+// MuteAudioAllResponse is the response struct for api MuteAudioAll
+type MuteAudioAllResponse struct {
+	*responses.BaseResponse
+	RequestId    string                     `json:"RequestId" xml:"RequestId"`
+	ConferenceId string                     `json:"ConferenceId" xml:"ConferenceId"`
+	Participants ParticipantsInMuteAudioAll `json:"Participants" xml:"Participants"`
+}
+
+// CreateMuteAudioAllRequest creates a request to invoke MuteAudioAll API
+func CreateMuteAudioAllRequest() (request *MuteAudioAllRequest) {
+	request = &MuteAudioAllRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "MuteAudioAll", "rtc", "openAPI")
+	return
+}
+
+// CreateMuteAudioAllResponse creates a response to parse from MuteAudioAll response
+func CreateMuteAudioAllResponse() (response *MuteAudioAllResponse) {
+	response = &MuteAudioAllResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/rtc/remove_participants.go

@@ -0,0 +1,108 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RemoveParticipants invokes the rtc.RemoveParticipants API synchronously
+// api document: https://help.aliyun.com/api/rtc/removeparticipants.html
+func (client *Client) RemoveParticipants(request *RemoveParticipantsRequest) (response *RemoveParticipantsResponse, err error) {
+	response = CreateRemoveParticipantsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveParticipantsWithChan invokes the rtc.RemoveParticipants API asynchronously
+// api document: https://help.aliyun.com/api/rtc/removeparticipants.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveParticipantsWithChan(request *RemoveParticipantsRequest) (<-chan *RemoveParticipantsResponse, <-chan error) {
+	responseChan := make(chan *RemoveParticipantsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveParticipants(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveParticipantsWithCallback invokes the rtc.RemoveParticipants API asynchronously
+// api document: https://help.aliyun.com/api/rtc/removeparticipants.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveParticipantsWithCallback(request *RemoveParticipantsRequest, callback func(response *RemoveParticipantsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveParticipantsResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveParticipants(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveParticipantsRequest is the request struct for api RemoveParticipants
+type RemoveParticipantsRequest struct {
+	*requests.RpcRequest
+	ParticipantIds *[]string        `position:"Query" name:"ParticipantIds"  type:"Repeated"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	ConferenceId   string           `position:"Query" name:"ConferenceId"`
+	AppId          string           `position:"Query" name:"AppId"`
+}
+
+// RemoveParticipantsResponse is the response struct for api RemoveParticipants
+type RemoveParticipantsResponse struct {
+	*responses.BaseResponse
+	RequestId    string                           `json:"RequestId" xml:"RequestId"`
+	ConferenceId string                           `json:"ConferenceId" xml:"ConferenceId"`
+	Participants ParticipantsInRemoveParticipants `json:"Participants" xml:"Participants"`
+}
+
+// CreateRemoveParticipantsRequest creates a request to invoke RemoveParticipants API
+func CreateRemoveParticipantsRequest() (request *RemoveParticipantsRequest) {
+	request = &RemoveParticipantsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "RemoveParticipants", "rtc", "openAPI")
+	return
+}
+
+// CreateRemoveParticipantsResponse creates a response to parse from RemoveParticipants response
+func CreateRemoveParticipantsResponse() (response *RemoveParticipantsResponse) {
+	response = &RemoveParticipantsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/rtc/start_app.go

@@ -0,0 +1,104 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// StartApp invokes the rtc.StartApp API synchronously
+// api document: https://help.aliyun.com/api/rtc/startapp.html
+func (client *Client) StartApp(request *StartAppRequest) (response *StartAppResponse, err error) {
+	response = CreateStartAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartAppWithChan invokes the rtc.StartApp API asynchronously
+// api document: https://help.aliyun.com/api/rtc/startapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartAppWithChan(request *StartAppRequest) (<-chan *StartAppResponse, <-chan error) {
+	responseChan := make(chan *StartAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartAppWithCallback invokes the rtc.StartApp API asynchronously
+// api document: https://help.aliyun.com/api/rtc/startapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartAppWithCallback(request *StartAppRequest, callback func(response *StartAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartAppResponse
+		var err error
+		defer close(result)
+		response, err = client.StartApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartAppRequest is the request struct for api StartApp
+type StartAppRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	AppId   string           `position:"Query" name:"AppId"`
+}
+
+// StartAppResponse is the response struct for api StartApp
+type StartAppResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStartAppRequest creates a request to invoke StartApp API
+func CreateStartAppRequest() (request *StartAppRequest) {
+	request = &StartAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "StartApp", "rtc", "openAPI")
+	return
+}
+
+// CreateStartAppResponse creates a response to parse from StartApp response
+func CreateStartAppResponse() (response *StartAppResponse) {
+	response = &StartAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/rtc/stop_app.go

@@ -0,0 +1,104 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// StopApp invokes the rtc.StopApp API synchronously
+// api document: https://help.aliyun.com/api/rtc/stopapp.html
+func (client *Client) StopApp(request *StopAppRequest) (response *StopAppResponse, err error) {
+	response = CreateStopAppResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopAppWithChan invokes the rtc.StopApp API asynchronously
+// api document: https://help.aliyun.com/api/rtc/stopapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopAppWithChan(request *StopAppRequest) (<-chan *StopAppResponse, <-chan error) {
+	responseChan := make(chan *StopAppResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StopApp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StopAppWithCallback invokes the rtc.StopApp API asynchronously
+// api document: https://help.aliyun.com/api/rtc/stopapp.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopAppWithCallback(request *StopAppRequest, callback func(response *StopAppResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StopAppResponse
+		var err error
+		defer close(result)
+		response, err = client.StopApp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StopAppRequest is the request struct for api StopApp
+type StopAppRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+	AppId   string           `position:"Query" name:"AppId"`
+}
+
+// StopAppResponse is the response struct for api StopApp
+type StopAppResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStopAppRequest creates a request to invoke StopApp API
+func CreateStopAppRequest() (request *StopAppRequest) {
+	request = &StopAppRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "StopApp", "rtc", "openAPI")
+	return
+}
+
+// CreateStopAppResponse creates a response to parse from StopApp response
+func CreateStopAppResponse() (response *StopAppResponse) {
+	response = &StopAppResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 27 - 0
services/rtc/struct_app.go

@@ -0,0 +1,27 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// App is a nested struct in rtc response
+type App struct {
+	Status       int          `json:"Status" xml:"Status"`
+	AppId        string       `json:"AppId" xml:"AppId"`
+	AppName      string       `json:"AppName" xml:"AppName"`
+	CreateTime   string       `json:"CreateTime" xml:"CreateTime"`
+	AppType      string       `json:"AppType" xml:"AppType"`
+	BillType     string       `json:"BillType" xml:"BillType"`
+	ServiceAreas ServiceAreas `json:"ServiceAreas" xml:"ServiceAreas"`
+}

+ 21 - 0
services/rtc/struct_app_list.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// AppList is a nested struct in rtc response
+type AppList struct {
+	App []App `json:"App" xml:"App"`
+}

+ 23 - 0
services/rtc/struct_auth_info.go

@@ -0,0 +1,23 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// AuthInfo is a nested struct in rtc response
+type AuthInfo struct {
+	Key       string `json:"Key" xml:"Key"`
+	Nonce     string `json:"Nonce" xml:"Nonce"`
+	Timestamp int    `json:"Timestamp" xml:"Timestamp"`
+}

+ 21 - 0
services/rtc/struct_call_areas_in_describe_real_time_record_list.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// CallAreasInDescribeRealTimeRecordList is a nested struct in rtc response
+type CallAreasInDescribeRealTimeRecordList struct {
+	CallArea []string `json:"CallArea" xml:"CallArea"`
+}

+ 21 - 0
services/rtc/struct_call_areas_in_describe_record_list.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// CallAreasInDescribeRecordList is a nested struct in rtc response
+type CallAreasInDescribeRecordList struct {
+	CallArea []string `json:"CallArea" xml:"CallArea"`
+}

+ 21 - 0
services/rtc/struct_channel_statis.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ChannelStatis is a nested struct in rtc response
+type ChannelStatis struct {
+	ChannelStatisItem []ChannelStatisItem `json:"ChannelStatisItem" xml:"ChannelStatisItem"`
+}

+ 23 - 0
services/rtc/struct_channel_statis_item.go

@@ -0,0 +1,23 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ChannelStatisItem is a nested struct in rtc response
+type ChannelStatisItem struct {
+	AccChannelCnt      int    `json:"AccChannelCnt" xml:"AccChannelCnt"`
+	ConChannelPeak     int    `json:"ConChannelPeak" xml:"ConChannelPeak"`
+	ConChannelPeakTime string `json:"ConChannelPeakTime" xml:"ConChannelPeakTime"`
+}

+ 28 - 0
services/rtc/struct_communication_record_info.go

@@ -0,0 +1,28 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// CommunicationRecordInfo is a nested struct in rtc response
+type CommunicationRecordInfo struct {
+	Status        bool                          `json:"Status" xml:"Status"`
+	StartTime     string                        `json:"StartTime" xml:"StartTime"`
+	EndTime       string                        `json:"EndTime" xml:"EndTime"`
+	ChannelId     string                        `json:"ChannelId" xml:"ChannelId"`
+	TotalUserCnt  int                           `json:"TotalUserCnt" xml:"TotalUserCnt"`
+	RecordId      string                        `json:"RecordId" xml:"RecordId"`
+	OnlineUserCnt int                           `json:"OnlineUserCnt" xml:"OnlineUserCnt"`
+	CallAreas     CallAreasInDescribeRecordList `json:"CallAreas" xml:"CallAreas"`
+}

+ 21 - 0
services/rtc/struct_communication_record_infos_in_describe_real_time_record_list.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// CommunicationRecordInfosInDescribeRealTimeRecordList is a nested struct in rtc response
+type CommunicationRecordInfosInDescribeRealTimeRecordList struct {
+	CommunicationRecordInfo []CommunicationRecordInfo `json:"CommunicationRecordInfo" xml:"CommunicationRecordInfo"`
+}

+ 21 - 0
services/rtc/struct_communication_record_infos_in_describe_record_list.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// CommunicationRecordInfosInDescribeRecordList is a nested struct in rtc response
+type CommunicationRecordInfosInDescribeRecordList struct {
+	CommunicationRecordInfo []CommunicationRecordInfo `json:"CommunicationRecordInfo" xml:"CommunicationRecordInfo"`
+}

+ 25 - 0
services/rtc/struct_duration.go

@@ -0,0 +1,25 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Duration is a nested struct in rtc response
+type Duration struct {
+	Sd    float64 `json:"Sd" xml:"Sd"`
+	All   float64 `json:"All" xml:"All"`
+	Fhd   float64 `json:"Fhd" xml:"Fhd"`
+	Audio float64 `json:"Audio" xml:"Audio"`
+	Hd    float64 `json:"Hd" xml:"Hd"`
+}

+ 21 - 0
services/rtc/struct_duration_in_describe_statis.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// DurationInDescribeStatis is a nested struct in rtc response
+type DurationInDescribeStatis struct {
+	DurationItem []DurationItem `json:"DurationItem" xml:"DurationItem"`
+}

+ 25 - 0
services/rtc/struct_duration_item.go

@@ -0,0 +1,25 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// DurationItem is a nested struct in rtc response
+type DurationItem struct {
+	TotalDuration float64 `json:"TotalDuration" xml:"TotalDuration"`
+	AudioDuration float64 `json:"AudioDuration" xml:"AudioDuration"`
+	SdDuration    float64 `json:"SdDuration" xml:"SdDuration"`
+	HdDuration    float64 `json:"HdDuration" xml:"HdDuration"`
+	FhdDuration   float64 `json:"FhdDuration" xml:"FhdDuration"`
+}

+ 23 - 0
services/rtc/struct_participant.go

@@ -0,0 +1,23 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Participant is a nested struct in rtc response
+type Participant struct {
+	Message string `json:"Message" xml:"Message"`
+	Code    string `json:"Code" xml:"Code"`
+	Id      string `json:"Id" xml:"Id"`
+}

+ 21 - 0
services/rtc/struct_participants_in_mute_audio.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ParticipantsInMuteAudio is a nested struct in rtc response
+type ParticipantsInMuteAudio struct {
+	Participant []Participant `json:"Participant" xml:"Participant"`
+}

+ 21 - 0
services/rtc/struct_participants_in_mute_audio_all.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ParticipantsInMuteAudioAll is a nested struct in rtc response
+type ParticipantsInMuteAudioAll struct {
+	Participant []Participant `json:"Participant" xml:"Participant"`
+}

+ 21 - 0
services/rtc/struct_participants_in_remove_participants.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ParticipantsInRemoveParticipants is a nested struct in rtc response
+type ParticipantsInRemoveParticipants struct {
+	Participant []Participant `json:"Participant" xml:"Participant"`
+}

+ 21 - 0
services/rtc/struct_participants_in_unmute_audio.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ParticipantsInUnmuteAudio is a nested struct in rtc response
+type ParticipantsInUnmuteAudio struct {
+	Participant []Participant `json:"Participant" xml:"Participant"`
+}

+ 21 - 0
services/rtc/struct_participants_in_unmute_audio_all.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ParticipantsInUnmuteAudioAll is a nested struct in rtc response
+type ParticipantsInUnmuteAudioAll struct {
+	Participant []Participant `json:"Participant" xml:"Participant"`
+}

+ 25 - 0
services/rtc/struct_record_detail_info.go

@@ -0,0 +1,25 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// RecordDetailInfo is a nested struct in rtc response
+type RecordDetailInfo struct {
+	Uid        string `json:"Uid" xml:"Uid"`
+	StartTime  string `json:"StartTime" xml:"StartTime"`
+	EndTime    string `json:"EndTime" xml:"EndTime"`
+	DeviceType string `json:"DeviceType" xml:"DeviceType"`
+	SDKVersion string `json:"SDKVersion" xml:"SDKVersion"`
+}

+ 21 - 0
services/rtc/struct_record_detail_infos_in_describe_real_time_record_detail.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// RecordDetailInfosInDescribeRealTimeRecordDetail is a nested struct in rtc response
+type RecordDetailInfosInDescribeRealTimeRecordDetail struct {
+	RecordDetailInfo []RecordDetailInfo `json:"RecordDetailInfo" xml:"RecordDetailInfo"`
+}

+ 21 - 0
services/rtc/struct_record_detail_infos_in_describe_record_detail.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// RecordDetailInfosInDescribeRecordDetail is a nested struct in rtc response
+type RecordDetailInfosInDescribeRecordDetail struct {
+	RecordDetailInfo []RecordDetailInfo `json:"RecordDetailInfo" xml:"RecordDetailInfo"`
+}

+ 21 - 0
services/rtc/struct_service_areas.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ServiceAreas is a nested struct in rtc response
+type ServiceAreas struct {
+	ServiceArea []string `json:"ServiceArea" xml:"ServiceArea"`
+}

+ 24 - 0
services/rtc/struct_statis_info.go

@@ -0,0 +1,24 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// StatisInfo is a nested struct in rtc response
+type StatisInfo struct {
+	Time          string                   `json:"Time" xml:"Time"`
+	Duration      DurationInDescribeStatis `json:"Duration" xml:"Duration"`
+	UserStatis    UserStatis               `json:"UserStatis" xml:"UserStatis"`
+	ChannelStatis ChannelStatis            `json:"ChannelStatis" xml:"ChannelStatis"`
+}

+ 21 - 0
services/rtc/struct_statis_infos.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// StatisInfos is a nested struct in rtc response
+type StatisInfos struct {
+	StatisInfo []StatisInfo `json:"StatisInfo" xml:"StatisInfo"`
+}

+ 21 - 0
services/rtc/struct_user_statis.go

@@ -0,0 +1,21 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// UserStatis is a nested struct in rtc response
+type UserStatis struct {
+	UserStatisItem []UserStatisItem `json:"UserStatisItem" xml:"UserStatisItem"`
+}

+ 23 - 0
services/rtc/struct_user_statis_item.go

@@ -0,0 +1,23 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// UserStatisItem is a nested struct in rtc response
+type UserStatisItem struct {
+	ActiveUserCnt      int    `json:"ActiveUserCnt" xml:"ActiveUserCnt"`
+	ConSessionPeak     int    `json:"ConSessionPeak" xml:"ConSessionPeak"`
+	ConSessionPeakTime string `json:"ConSessionPeakTime" xml:"ConSessionPeakTime"`
+}

+ 108 - 0
services/rtc/unmute_audio.go

@@ -0,0 +1,108 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UnmuteAudio invokes the rtc.UnmuteAudio API synchronously
+// api document: https://help.aliyun.com/api/rtc/unmuteaudio.html
+func (client *Client) UnmuteAudio(request *UnmuteAudioRequest) (response *UnmuteAudioResponse, err error) {
+	response = CreateUnmuteAudioResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UnmuteAudioWithChan invokes the rtc.UnmuteAudio API asynchronously
+// api document: https://help.aliyun.com/api/rtc/unmuteaudio.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnmuteAudioWithChan(request *UnmuteAudioRequest) (<-chan *UnmuteAudioResponse, <-chan error) {
+	responseChan := make(chan *UnmuteAudioResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UnmuteAudio(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UnmuteAudioWithCallback invokes the rtc.UnmuteAudio API asynchronously
+// api document: https://help.aliyun.com/api/rtc/unmuteaudio.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnmuteAudioWithCallback(request *UnmuteAudioRequest, callback func(response *UnmuteAudioResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UnmuteAudioResponse
+		var err error
+		defer close(result)
+		response, err = client.UnmuteAudio(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UnmuteAudioRequest is the request struct for api UnmuteAudio
+type UnmuteAudioRequest struct {
+	*requests.RpcRequest
+	ParticipantIds *[]string        `position:"Query" name:"ParticipantIds"  type:"Repeated"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+	ConferenceId   string           `position:"Query" name:"ConferenceId"`
+	AppId          string           `position:"Query" name:"AppId"`
+}
+
+// UnmuteAudioResponse is the response struct for api UnmuteAudio
+type UnmuteAudioResponse struct {
+	*responses.BaseResponse
+	RequestId    string                    `json:"RequestId" xml:"RequestId"`
+	ConferenceId string                    `json:"ConferenceId" xml:"ConferenceId"`
+	Participants ParticipantsInUnmuteAudio `json:"Participants" xml:"Participants"`
+}
+
+// CreateUnmuteAudioRequest creates a request to invoke UnmuteAudio API
+func CreateUnmuteAudioRequest() (request *UnmuteAudioRequest) {
+	request = &UnmuteAudioRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "UnmuteAudio", "rtc", "openAPI")
+	return
+}
+
+// CreateUnmuteAudioResponse creates a response to parse from UnmuteAudio response
+func CreateUnmuteAudioResponse() (response *UnmuteAudioResponse) {
+	response = &UnmuteAudioResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/rtc/unmute_audio_all.go

@@ -0,0 +1,108 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UnmuteAudioAll invokes the rtc.UnmuteAudioAll API synchronously
+// api document: https://help.aliyun.com/api/rtc/unmuteaudioall.html
+func (client *Client) UnmuteAudioAll(request *UnmuteAudioAllRequest) (response *UnmuteAudioAllResponse, err error) {
+	response = CreateUnmuteAudioAllResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UnmuteAudioAllWithChan invokes the rtc.UnmuteAudioAll API asynchronously
+// api document: https://help.aliyun.com/api/rtc/unmuteaudioall.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnmuteAudioAllWithChan(request *UnmuteAudioAllRequest) (<-chan *UnmuteAudioAllResponse, <-chan error) {
+	responseChan := make(chan *UnmuteAudioAllResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UnmuteAudioAll(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UnmuteAudioAllWithCallback invokes the rtc.UnmuteAudioAll API asynchronously
+// api document: https://help.aliyun.com/api/rtc/unmuteaudioall.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnmuteAudioAllWithCallback(request *UnmuteAudioAllRequest, callback func(response *UnmuteAudioAllResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UnmuteAudioAllResponse
+		var err error
+		defer close(result)
+		response, err = client.UnmuteAudioAll(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UnmuteAudioAllRequest is the request struct for api UnmuteAudioAll
+type UnmuteAudioAllRequest struct {
+	*requests.RpcRequest
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	ParticipantId string           `position:"Query" name:"ParticipantId"`
+	ConferenceId  string           `position:"Query" name:"ConferenceId"`
+	AppId         string           `position:"Query" name:"AppId"`
+}
+
+// UnmuteAudioAllResponse is the response struct for api UnmuteAudioAll
+type UnmuteAudioAllResponse struct {
+	*responses.BaseResponse
+	RequestId    string                       `json:"RequestId" xml:"RequestId"`
+	ConferenceId string                       `json:"ConferenceId" xml:"ConferenceId"`
+	Participants ParticipantsInUnmuteAudioAll `json:"Participants" xml:"Participants"`
+}
+
+// CreateUnmuteAudioAllRequest creates a request to invoke UnmuteAudioAll API
+func CreateUnmuteAudioAllRequest() (request *UnmuteAudioAllRequest) {
+	request = &UnmuteAudioAllRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "UnmuteAudioAll", "rtc", "openAPI")
+	return
+}
+
+// CreateUnmuteAudioAllResponse creates a response to parse from UnmuteAudioAll response
+func CreateUnmuteAudioAllResponse() (response *UnmuteAudioAllResponse) {
+	response = &UnmuteAudioAllResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/rtc/update_channel.go

@@ -0,0 +1,108 @@
+package rtc
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateChannel invokes the rtc.UpdateChannel API synchronously
+// api document: https://help.aliyun.com/api/rtc/updatechannel.html
+func (client *Client) UpdateChannel(request *UpdateChannelRequest) (response *UpdateChannelResponse, err error) {
+	response = CreateUpdateChannelResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateChannelWithChan invokes the rtc.UpdateChannel API asynchronously
+// api document: https://help.aliyun.com/api/rtc/updatechannel.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateChannelWithChan(request *UpdateChannelRequest) (<-chan *UpdateChannelResponse, <-chan error) {
+	responseChan := make(chan *UpdateChannelResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateChannel(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateChannelWithCallback invokes the rtc.UpdateChannel API asynchronously
+// api document: https://help.aliyun.com/api/rtc/updatechannel.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateChannelWithCallback(request *UpdateChannelRequest, callback func(response *UpdateChannelResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateChannelResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateChannel(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateChannelRequest is the request struct for api UpdateChannel
+type UpdateChannelRequest struct {
+	*requests.RpcRequest
+	OwnerId   requests.Integer `position:"Query" name:"OwnerId"`
+	Nonce     string           `position:"Query" name:"Nonce"`
+	AppId     string           `position:"Query" name:"AppId"`
+	ChannelId string           `position:"Query" name:"ChannelId"`
+}
+
+// UpdateChannelResponse is the response struct for api UpdateChannel
+type UpdateChannelResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Nonce     string `json:"Nonce" xml:"Nonce"`
+	Timestamp int    `json:"Timestamp" xml:"Timestamp"`
+}
+
+// CreateUpdateChannelRequest creates a request to invoke UpdateChannel API
+func CreateUpdateChannelRequest() (request *UpdateChannelRequest) {
+	request = &UpdateChannelRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("rtc", "2018-01-11", "UpdateChannel", "rtc", "openAPI")
+	return
+}
+
+// CreateUpdateChannelResponse creates a response to parse from UpdateChannel response
+func CreateUpdateChannelResponse() (response *UpdateChannelResponse) {
+	response = &UpdateChannelResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}