SIP设备端对接说明
1. 整体架构
2. 业务流程
3. 可视对讲物模型说明
进行SIP物模型开发前,需要优先对接人脸和二维码门禁服务,具体对接手册请查看https://help.aliyun.com/document_detail/178726.html, 通过这份对接手册,您将明确怎么使用LinkKitSDK中物模型的开发。
可视对讲门禁物模型
字段 | 类型 | 输入参数 | 输出参数 | 参数类型 | 参数说明 |
querySipNumber 查询SipNumber | service | sipNumber | String | SIP编号 | |
SyncSipNumber 颁发SipNumber | service | sipNumber | enum | SIP变化 | |
password | String | 密码 | |||
sipServerPort | String | SIP Server端口号 | |||
sipServerAddr | String | SIP Server地址 | |||
SyncGroupIdAndRoomId 同步组号和房间号 | service | groupRoomMappingFileUrl | String | 映射关系文件URL详细格式如下: | |
doorOpenEvent 开门事件 | event | sourceType | enum | 源类型0-云对讲1-电话开门-1-普通开门在云对讲过程中开门为0,其他为-1 | |
number | String | 呼叫的SIP账号,普通开门时为空 | |||
extInfo | String | 扩展信息{ "roomId": "xx", "captureImg":"XXX",//开门抓图Filekey, 由下文OSS文件上传链路获得} | |||
OssStsTokenRequest StsToken请求上报 | event | RequestType | enum | 0:图片文件上传1:文本文件上传2:其他类型文件上传 | |
SendOssStsToken 下发OssStsToken | service | Credentials | String | 加密的访问凭证加密方式详见开门事件传图一章节 | |
BucketName | String | OSSbucket名称 | |||
EndPoint | String | OSS的EndPoint名称 | |||
ObjectName | String | OSS存储空间名称 | |||
ExtInfo 扩展属性 | 属性 | String | {"intercomDeviceMode":0 //0 单元门口机,1围墙机,默认为单元门口机} |
映射关系文件格式示例
{"syncGroupRoomList": [{"groupId": "Group-1","roomId": "Room-1"},{"groupId": "Group-2","roomId": "Room-2"},{"groupId": "Group-3","roomId": "Room-3"},{"groupId": "Group-4","roomId": "Room-4"}]}
房号下发规则
门禁机存在两种按照模式:一种是安装在单元楼下, 称为单元门口机,服务的范围为本单元的房屋。另外一种是安装在小区大门口,称为围墙机,服务的范围是全小区,或者小区中的一片区域(多个楼栋)。这两种模式却别由其服务的范围引入:单元门口机服务的是本单元房屋,所以在可视对讲中,输入房号即可定位到目标房屋。围墙机服务的是小区,或者多个楼栋,那么需要输入具体的楼栋-单元-房号,才能定位到房屋。这将引入门禁机上交互的差异,以及在上文中提到下发组号和房间号的差异。
单元门口机下发的是房号,如上文中映射关系文件格式中提到的:groupId->roomId的规则下文重点对围墙机模式进行解释。
围墙机RoomId字段规则定义如下:
${楼幢}-${单元}-${房号}
例如示下:
1-3-1202
10-3A-1709
最长位数:
3位-3位-5位,规则数字+字母
门禁机交互界面:
1.支持输入 ${楼幢}-${单元}-${房号} 的规则。
2.设备端需要有“围墙机模式”和“单元门口机模式”。
在围墙机模式下,用户输入楼幢、单元、房号的信息。
在单元门口机模式下,用户只需要输入房号。
围墙机模式由物模型中ExtInfo字段进行下发或者设备端上报,具体的格式定义为:
ExtInfo:
{"intercomDeviceMode":0 //0 单元门口机,1围墙机,默认为单元门口机}
在ExtInfo中增加一个intercomDeviceMode的属性。
属性定义如下:
字段名称 | 类型 | 说明 |
intercomDeviceMode | Integer | 门禁机工作模式0 单元门口机,1围墙机,默认为单元门口机 |
主动查看视频及视频预览
当门禁机发起视频时,室内设备,如猫精,app等需要先行查看门禁视频的内容,再决定是否接听,避免用户与一些无关人员,或者不想会见的人员进行通话。
门禁发起视频门禁
在SIP标准协议中,支持earlymedia(信令:183)模式,在接通前投递音频及视频流。
整体流程如下:
门禁设备端需要支持呼叫时总是发起EarlyMedia呼叫。
配置EarlyMedia启用
在发起后启动摄像头采集
主动查看门禁视频
用户可以通过猫精端/App主动查看当前楼下门禁机的视频流,应对外卖/快递通过电话呼入的情况,进行二次确认。主动查看门禁视频通过自动接听的方式完成,整体流程如下:
门禁设备端需要支持的点
配置自动接听
静默接听,不会发出响铃提示
通话时间60S【支持可配置】
使用限制
当门禁设备在呼叫中,无法查看。
同时只允许一个猫精进行查看。
开门事件图片上传
当远程开门时,需要进行开门事件图片留档,方便门禁管理方进行回溯,如下是一个典型的开门事件上报以及传图流程:
ststoken使用OssStsTokenRequest来进行请求,请求时指定需要获取的目标类型。
当前支持的目标类型有:
0:图片文件上传
1:文本文件上传
2:其他类型文件上传
下发的SendOssStsToken中Credentials字段是加密后的ststoken。
加密方式为 AES加密,使用的密钥为设备证书(ProductKey、DeviceName、DeviceSecret)中的DS前16位,加密模式为:AES/ECB/PKCS5Padding。
加密前的源文格式:
{"securityToken":"XXXX","accessKeySecret":"xxxx","accessKeyId":"xxxxx","expiration":"XXXXX"}
4. 对接注意事项
服务端口定义
功能 | 端口 | 备注 |
SIP | 6050 | SIP协议端口 |
RTP | 10000-20000 | 多媒体流端口 |
多媒体格式
多媒体流 | 格式 | 备注 |
音频 | PCM | 采样率16K 双通道 |
视频 | H.264 | 480P |
设备的远程开门服务请遵循人脸+二维码门禁对接中的remoteopen服务进行开门。
5.使用时长
建议设备端侧控制单次使用时长,1~5分钟,最好UI可配置。