可視對講服務
1. 服務器管理
1.1 查詢服務器列表
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipserver/query | 1.0.0 | 否 |
入參
無
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JSONArray | |
-> serverId | String | 服務器id |
-> hostIp | String | 服務器地址 |
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": {
[
{
"serverId": "xxx",
"hostIp": "192.0.2.0"
},
{
"serverId": "xxx",
"hostIp": "192.0.2.1"
}
]
}
1.2 綁定服務器
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipserver/bind | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
serverId | String | 是 | 服務器id |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"serverId": "xxx"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
1.3 查詢當前綁定SIP服務器
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipserver/getbind | 1.0.0 | 否 |
入參
無
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JSONObject | |
-> serverId | String | 服務器id |
-> hostIp | String | 服務器地址 |
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": {
{
"serverId": "xxx",
"hostIp": "192.0.2.0"
}
}
}
2. 對講服務
2.1 創建SIP賬號
需要指定type,1為?禁機類型,?于?禁機,當?路APP正在調看?禁機時,若發起第?路APP調看,則會加?會
話,可以實現多個APP同時調看同?臺?禁機;0為APP類型,?于APP,當SIP號在通話時,則?法加?。
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/sip/add | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
count | Integer | 是 | 創建數量,最?100 |
type | Integer | 是 | 類型,0 - APP, 1 - ?禁機 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JSONArray | 數據列表 |
->sipNumber | String | SIP號,?度不超過50個字符 |
->sipPassword | String | SIP密碼,?度不超過50個字符 |
->sipHost | String | SIP服務器地址 |
->sipPort | Integer | SIP服務器端? |
->type | Integer | 類型,0 - APP, 1 - ?禁機 |
->createTime | Long | 創建時間戳(單位毫秒) |
請求示例
{
"count": 2,
"type": 1
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": [
{
"sipNumber": "obog97v34g",
"sipPassword": "o3yira",
"sipHost": "sip.iot.aliyun.com",
"sipPort": 6050,
"type": 1,
"createTime":1577085030000
}
]
}
2.2 刪除SIP賬號
需要指定type,1為?禁機類型,?于?禁機,當?路APP正在調看?禁機時,若發起第?路APP調看,則會加?會
話,可以實現多個APP同時調看同?臺?禁機;0為APP類型,?于APP,當SIP號在通話時,則?法加?。
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/sip/delete | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
sipNumberList | JASONArray<String> | 是 | 待刪除SIP號列表 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"sipNumberList": [
"obog97v34g",
"vbog97v34g"
]
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
2.3 查詢SIP賬號詳情
若返回錯誤為SYS_0002,表示SIP號?效或不存在。
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/sip/detail/get | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
sipNumber | String | 是 | SIP號 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JSONObject | 數據信息 |
->sipNumber | String | SIP號,?度不超過50個字符 |
->sipPassword | String | SIP密碼,?度不超過50個字符 |
->sipHost | String | SIP服務器地址 |
->sipPort | Integer | SIP服務器端? |
->type | Integer | 類型,0 - APP, 1 - ?禁機 |
->createTime | Long | 創建時間戳(單位毫秒) |
請求示例
{
"sipNumber": "obog97v34g"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": {
"sipNumber": "obog97v34g",
"sipPassword": "o3yira",
"sipHost": "sip.iot.aliyun.com",
"sipPort": 6050,
"type": 1,
"createTime":1577085030000
}
}
2.4 更新SIP賬號密碼
?前?個SIP賬號同時只允許在?個客戶端登錄,因此針對可能在多端同時登錄的SIP賬號,請在登錄SIP賬號前,調?該接?更新密碼,并返回新密碼,則之前的舊密碼失效。
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/sip/password/update | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
sipNumber | String | 是 | SIP號 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JSONObject | 數據信息 |
->sipPassword | String | SIP密碼,?度不超過50個字符 |
請求示例
{
"sipNumber": "obog97v34g"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": {
"sipPassword": "12345678"
}
}
2.5 創建SIP組
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/group/add | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
count | Integer | 是 | 創建數量,最?100 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JSONArray | 數據信息 |
->groupID | String | SIP組ID,?度不超過50個字符 |
->createTime | Long | 創建時間戳(單位毫秒) |
請求示例
{
"count": 2
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": [
{
"groupID": "obog97v34g",
"createTime":1577085030000
},
{
"groupID": "abcg97v34g",
"createTime":1577085030000
}
]
}
2.6 刪除SIP組
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/group/delete | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
groupList | JASONArray<String> | 是 | 待刪除SIP組號列表 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"groupList": [
"obog97v34g",
"vbog97v34g"
]
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
2.7 SIP賬號分組
只有SIP賬號type為0,即APP端使?的SIP賬號,才能?持分組。
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/group/sip/add | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
groupID | String | 是 | SIP組ID |
sipNumberList | JASONArray<String> | 是 | SIP號列表 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"groupID": "11111",
"sipNumberList": [
"obog97v34g",
"tb2yz0ca17"
]
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
2.8 SIP賬號從組里刪除
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/group/sip/delete | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
groupID | String | 是 | SIP組ID |
sipNumberList | JASONArray<String> | 是 | SIP號列表 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"groupID": "11111",
"sipNumberList": [
"obog97v34g",
"tb2yz0ca17"
]
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
2.9 查看組下SIP賬號列表
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/sipservice/group/sip/list | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
groupID | String | 是 | SIP組ID |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JASONArray | SIP賬號列表 |
->sipNumber | String | SIP號,?度不超過50個字符 |
->sipPassword | String | SIP密碼,?度不超過50個字符 |
->sipHost | String | SIP服務器地址 |
->sipPort | Integer | SIP服務器端? |
->type | Integer | 類型,0 - APP, 1 - ?禁機 |
->createTime | Long | 創建時間戳(單位毫秒) |
請求示例
{
"groupID": "11111"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": [{
"sipNumber": "obog97v34g",
Introduction
10
"sipPassword": "o3yira",
"sipHost": "sip.iot.aliyun.com",
"serverPort": 6050,
"type": 0,
"createTime":1577085030000
},
{
"sipNumber": "tb2yz0ca17",
"sipPassword": "p14lvq",
"sipHost": "sip.iot.aliyun.com",
"serverPort": 6050,
"type": 0,
"createTime":1577085030000
}]
}
3. 設備與房間權限
3.1 頒發門禁機設備SIP Number
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/videointercom/sipnumber/sync | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
iotId | String | 是 | 門禁對講機iotId |
sipNumber | String | 是 | SIP Number |
password | String | 是 | password |
host | String | 是 | SIP 服務器地址 |
port | String | 是 | SIP 服務器端口 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"iotId": "xxx",
"sipNumber": "xxx",
"host": "x.x.x.x",
"port": "8080"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
3.2 查詢門禁機設備SIP Number
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/videointercom/sipnumber/get | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
iotId | String | 是 | 門禁對講機iotId |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | String | SIP Number |
->sipNumber | String | SIP Number |
->host | String | SIP 服務器地址 |
->port | String | SIP 服務器端口 |
請求示例
{
"iotId": "xxx"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": {
"sipNumber": "xxxx",
"host": "x.x.x.x",
"port": "8080"
}
}
3.3 添加SIP組與房間編號映射關系
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/videointercom/map/add | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
iotId | String | 是 | 門禁對講機iotId |
maps | JSONArray | 是 | 映射關系列表 |
-> roomId | String | 是 | 房間ID |
-> groupId | String | 是 | SIP組ID |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"iotId": "xxx",
"maps": [
{
"roomId": "room1",
"groupId": "group1"
},
{
"roomId": "room2",
"groupId": "group2"
}
]
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
3.4 刪除SIP組與房間編號映射關系
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/videointercom/map/delete | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
iotId | String | 是 | 門禁對講機iotId |
maps | JSONArray | 是 | 映射關系列表 |
-> roomId | String | 是 | 房間ID |
-> groupId | String | 是 | SIP組ID |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"iotId": "xxx",
"maps": [
{
"roomId": "room1",
"groupId": "group1"
},
{
"roomId": "room2",
"groupId": "group2"
}
]
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
3.5 查詢SIP組與房間編號映射關系
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/videointercom/map/query | 1.0.1 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
iotId | String | 是 | 門禁對講機iotId |
roomId | String | 否 | 房間ID |
groupId | String | 否 | SIP組ID |
pageNo | Integer | 是 | 請求的頁碼,詳細見“分頁參數”定義。 |
pageSize | Integer | 是 | 每頁的記錄數,詳細見“分頁參數”定義。 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JSONObject | |
-> total | Integer | 總數 |
-> pageNo | Integer | 頁碼 |
-> pageSize | Integer | 頁碼大小 |
-> data | JSONArray | 映射關系列表 |
--> roomId | String | 房間ID |
--> groupId | String | SIP組ID |
請求示例
{
"iotId": "xxx",
"pageNo":1,
"pageSize":20
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": {
"total": 2,
"pageNo": 1,
"pageSize": 20,
"data": [
{
"roomId": "room1",
"groupId": "group1"
},
{
"roomId": "room2",
"groupId": "group2"
}
]
}
}
3.6 SIP呼叫事件通知訂閱
呼叫事件topic
/broadcast/{aliyunUid}/vinotify
字段 | 類型 | 是否必傳 | 備注 |
eventCode | String | 是 | 事件編號,1:呼叫事件 |
eventTime | Long | 是 | 事件發?時間戳(單位毫秒) |
source | String | 是 | 事件發起?,如呼叫事件,則為?禁機SIP號 |
targetType | String | 是 | ?標類型,0 - SIP號;1 - SIP組 |
target | String | 是 | 事件?標?,如呼叫事件,則為組ID |
樣例:
{
"eventCode": "xxx",
"eventTime": 1577085030000,
"source": "22222",
"targetType": 1,
"target": "11111"
}
數據格式數據訂閱參考
https://gaic.alicdn.com/doc/homelink-aquarius2/yoqgpf.html
3.7 添加/更新房屋空間
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/videointercom/space/add | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
spaceId | String | 是 | 房屋空間 |
groupId | String | 是 | SIP組 |
roomId | String | 是 | 房間ID |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"spaceId": "xxx",
"groupId": "xxx",
"roomId": "xxx"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
3.8 刪除房屋空間
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/videointercom/space/delete | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
spaceId | String | 是 | 房屋空間 |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
請求示例
{
"spaceId": "xxx"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
}
3.9 查詢房屋空間
接口定義
path | 版本 | 是否需要登錄 |
/entrance/paas/videointercom/space/get | 1.0.0 | 否 |
入參
字段 | 類型 | 是否必傳 | 備注 |
spaceId | String | 否 | 房屋空間(與SIP組二選一) |
groupId | String | 否 | SIP組(與房屋空間二選一) |
出參
字段 | 類型 | 備注 |
code | Integer | 返回碼,200為成功 |
message | String | 返回信息 |
data | JSONObject | |
-spaceId | String | 房屋空間 |
-groupId | String | SIP組 |
-roomId | String | 房間ID |
請求示例
{
"spaceId": "xxx"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": {
"spaceId": "xxx",
"groupId": "xxx",
"roomid": "xxx"
}
}
4. 數據模型定義
模型ID:iot_entrance_videointercom_record_model
模型名稱:可視對講通行記錄
模型版本:1.1
屬性列表:
屬性名稱 | 屬性標識符 | 數據類型 | 數據描述 | 必須 |
租戶 | tenantId | String | 租戶 | 是 |
IoT設備標示 | iotId | String | 對講機IoT設備標示,如果為固話對講則為空 | 否 |
源類型 | sourceType | String | 0 - 云對講 | 是 |
事件信息 | eventInfo | String | 類型為云對講:{ "sipNumber": "xxx", "groupId": "xxx", "roomId": "xxx", "spaceId": "xxx"} | 是 |