全部产品

可视对讲SIP领域服务API

更新时间:2020-10-22 15:22:29

1. SIP服务器管理

1.1 查询SIP服务器列表

接口定义

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": "1.1.1.1"
      },
      {
        "serverId": "xxx",
        "hostIp": "1.1.1.2"
      }
    ]
}

1.2 绑定SIP服务器

接口定义

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": "1.1.1.1"
      }    
  }
}

2. SIP服务

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

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.0

入参

字段

类型

是否必传

备注

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"}