基于WebRTC 的政务服务“视频办”研究与实现

2023-11-14 13:46史国强SHIGuoqiang朱铭果ZHUMingguo刘士爱LIUShiai赵军ZHAOJun
价值工程 2023年30期
关键词:信令音视频排队

史国强 SHI Guo-qiang;朱铭果 ZHU Ming-guo;刘士爱 LIU Shi-ai;赵军 ZHAO Jun

(①东营市大数据中心,东营 257091;②利津县大数据中心,东营 257400;③东营市农业农村局,东营 257091)

0 引言

政务服务是政府与市民、企业之间的重要交互方式,是衡量政府治理水平和公共服务能力的重要指标。近年来,与群众生活息息相关的社保、公积金、医保、房产证等服务都集中到了政务服务中心办理或网上办理,实现了“最多跑一次”及“一窗受理”。但是仍然存在部分无法网上办理,必须本人去政务服务中心办理的业务,而有些群众居住地离政务服务中心较远,交通成本、时间成本仍然过高,特别是对于那些户籍在本地,长期在外工作的人群来说,尤为不便。视频办理业务作为一种新兴的政务服务模式,可利用实时音视频技术打破时间和空间的限制,可解决上述难题,实现政府与市民、企业之间的远程的面对面沟通和协作,提高政务服务效率和质量,增强市民、企业的便利性和满意度。

视频办理业务的核心技术点是音视频通信技术,目前主流的音视频通信技术包括WebRTC、RTMP、SIP、H.323等,而因WebRTC(Web Real-Time Communication)开源免费、互操作性强,因此成为目前较为主流的音视频通话技术方案。该技术允许网页或移动应用通过简单的API 实现点对点的音视频通话或数据传输,无需安装插件或下载客户端,且具有跨平台、低延迟、高安全、易扩展等特点,适合于构建各种实时通信应用场景。

本方案基于WebRTC 技术,设计并实现了政务服务“视频办”系统,实现了市民通过手机APP 发起视频请求,政务服务大厅坐席接收市民请求,开启视频在线服务,并集成面部识别身份核验功能,在保证业务办理安全性和准确性的同时,将传统柜台延伸到云端,从而提高政务服务效率和质量,增强市民的便利性和满意度。

1 流程设计

政务服务在进行柜面办理的时候,通常是市民携带证件到附近的政务服务大厅办理,业务流程一般为:

①取号排队。在叫号机上选择办理业务,取号排队,等待办理业务。

②业务办理。柜面服务员按号给客户办理业务。办理过程中,需要通过身份证核对市民身份,查看市民携带的相关材料,然后在政务系统中为客户办理相关业务;如在办理过程中,涉及其他业务时,柜员可将市民分转到其他柜台办理。

③完成服务。为市民办理完成后,市民离开柜台,柜员开始服务下一位客户。

参照以上的柜面业务,通过视频办理业务时,主要的办理环节都要通过APP 实现,系统流程设计如图1 所示。

图1 业务流程图

①业务选择。市民在手机APP 端首先选择需要办理的业务和服务大厅。

②视频请求。市民发起业务办理的视频请求,因在同一时刻每个柜员只能服务一人,因此系统通过采用排队机制将该次请求编入队列。

③待柜员空闲时,接入请求服务的市民,开始提供一对一的视频服务,在视频服务过程中,同线下服务一致,需要核对市民身份、并通过文件上传的方式,核对市民提供的材料;核对完成后,柜员为市民办理业务;在业务办理过程中,如市民还有其他的业务服务请求,提供服务的柜员可将其他柜员拉入该视频队列中,形成多方视频通话。

④完成服务。在完成服务后,柜员或市民均可挂断视频,由系统进行服务结束的相关处理。

2 平台设计

本方案采用了基于WebRTC 技术的分布式架构,如图2 所示。

图2 系统架构图

该架构主要包括以下几个部分:

①(Stun/Turn)穿透/转发服务器:穿透/转发服务器主要负责处理视频两端点对点网络不通问题,包括STUN/TURN 两种服务器。

1)STUN 服务器:通过STUN 服务器,客户终端可以了解他们的公共地址、挡在他们前面的NAT 类型和通过NAT 与特定局部端口相连的因特网方端口。这些信息将被用于建立客户终端与VOIP 服务商之间的UDP 通信,以便实现通话。STUN 服务器使用了多个开源谷歌的服务器。

2)TURN 服务器:TURN 是STUN 协议的扩展,主要是添加了relay 的功能。如果两台主机处在不同的NAT 之后,它们之间想要互相通信,要么通过P2P 穿越,要么通过一台带公网IP 的机器来中转,TURN 服务器提供了中继(relay)的功能,帮助主机间进行通信。

②信令服务器:信令服务器主要负责协调客户端之间的音视频通话或数据传输,采用nodejs 技术搭建。包括以下几个子功能:

1)信令交换:信令服务器使用socket.io 组件基于WebSocket 协议,实现客户端之间的信令交换,如,用于建立和维护音视频通话或数据传输的连接。

2)房间管理:信令服务器通过nodejs 房间共享变量,实现客户端之间的房间管理,如创建房间、加入房间、离开房间等,用于组织和控制音视频通话或数据传输的会话。

3)排队管理:信令服务器通过nodejs 排队队列共享变量,实现文字和咨询排队管理,包括加入队列、离开队列等。

③WEB 应用服务器:应用服务器主要负责提供核心业务功能和服务,包括以下几个子功能:

1)业务逻辑:应用服务器通过java springboot 框架,实现系统的业务逻辑,如坐席状态管理(上线/下线)、咨询服务排队等功能的流程控制和数据处理。

2)服务接口:应用服务器通过RESTful API,提供系统的服务接口,如APP 平台的身份验证接口、政务服务接口、电子证照接口等,用于与客户端或其他系统进行数据交互和服务调用。

④客户端:客户端主要指市民和坐席使用的设备,如智能手机、PC、平板电脑等。客户端通过安装APP(本方案市民端APP 直接采用山东省通用政务服务手机端“爱山东”APP),可以实现视频请求发起、视频请求接收、视频在线服务、面部识别身份核验、视频咨询服务排队等功能,并通过WebRTC 实现点对点的音视频通话或数据传输。

3 功能实现

系统模块的主要实现功能如下:

①视频请求发起模块:该模块主要使用了APP 平台提供的政务服务接口和电子证照接口,实现了市民通过APP 发起视频请求的功能。具体步骤如下:

1)市民打开手机端APP,进入政务服务页面,选择需要办理的业务类型和具体事项,并填写相关信息。

2)市民点击视频请求按钮,向应用服务器发送视频请求,并携带业务类型等参数。

3)应用服务器接收到视频请求后,调用APP 平台的电子证照接口,获取市民的电子证照信息,并将其作为信令信息发送给信令服务器。

4)信令服务器接收到信令信息后,创建一个房间,并将房间号返回给应用服务器。

5)应用服务器将房间号返回给市民,并提示市民等待客服接收。

②视频请求接收模块:该模块主要使用了信令服务器提供的信令交换和房间管理功能,实现了政务服务大厅坐席通过APP 接收市民发来的视频请求的功能。具体步骤如下:

1)坐席打开APP,进入视频办理页面,查看当前有哪些市民发来的视频请求,并筛选自己能够处理的视频请求。

2)坐席点击视频请求按钮,向应用服务器发送视频请求,并携带业务类型等参数。

3)应用服务器接收到视频请求后,调用APP 平台的身份验证接口,获取坐席的身份信息,并将其作为信令信息发送给信令服务器。

4)信令服务器接收到信令信息后,根据业务类型和业务事项匹配一个合适的房间,并将房间号返回给应用服务器。

5)应用服务器将房间号返回给坐席,并提示坐席与市民建立视频在线服务连接。

③视频在线服务模块:该模块主要使用了WebRTC技术提供的音视频通话和数据传输功能,实现了市民和坐席之间通过APP 进行视频在线服务的功能。具体步骤如下:

1)市民和坐席根据房间号加入相同的房间,并通过getUserMedia API 获取本地设备的音频和视频流,并通过video 或audio 元素进行播放。

2)市民和坐席通过RTCPeerConnection API 建立两个或多个浏览器之间的点对点连接,并通过SDP 协议进行信令交换,使用ICE 框架进行NAT 穿越,使用DTLS 协议进行安全传输,使用SRTP 协议进行音视频编解码,实现音视频通话的功能。

3)市民和坐席通过RTCDataChannel API 建立双向的数据通道,并通过SCTP 协议进行数据通信,实现数据传输的功能。

4)市民和坐席通过APP 提供的业务办理接口,实现业务办理的功能,如填写表单、签署证件等。

④面部识别身份核验模块:该模块主要使用了媒体服务器提供的媒体处理功能和APP 平台提供的身份验证接口,实现了市民和坐席之间通过APP 进行面部识别身份核验的功能。具体步骤如下:

1)市民和坐席在开始或结束音视频通话时,可以点击面部识别按钮,向应用服务器发送面部识别请求,并携带房间号等参数。

2)应用服务器接收到面部识别请求后,向媒体服务器发送媒体处理请求,并携带房间号等参数。

3)媒体服务器接收到媒体处理请求后,从房间中获取市民和坐席的音视频流,并使用OpenCV 库进行人脸检测和人脸识别,将人脸信息返回给应用服务器。

4)应用服务器接收到人脸信息后,调用APP 平台的身份验证接口,将人脸信息与数据库中存储的人脸信息进行比对,并返回比对结果给市民和坐席。

5)市民和坐席可以通过APP 查看比对结果,并根据结果进行相应的操作,如继续业务办理或终止业务办理。

⑤视频咨询服务排队模块:该模块主要使用了信令服务器提供的房间管理功能和应用服务器提供的服务接口功能,实现了市民通过APP 查看当前的排队情况,并根据客服数量、服务时长、等待人数等参数进行合理的预估和选择的功能。具体步骤如下:

1)市民在发起视频请求前或后,可以点击排队信息按钮,向应用服务器发送排队信息请求,并携带业务类型、业务事项等参数。

2)应用服务器接收到排队信息请求后,向信令服务器发送房间信息请求,并携带业务类型、业务事项等参数。

3)信令服务器接收到房间信息请求后,从Redis 数据库中获取当前的房间信息,如客服数量、服务时长、等待人数等,并将其返回给应用服务器。

4)应用服务器接收到房间信息后,根据一定的算法进行排队时间的预估,并将排队信息和预估时间返回给市民。

5)市民可以通过APP 查看排队信息和预估时间,并根据自己的需求和情况选择不同的排队方式,如立即排队、取消排队等。

图3 选择办理业务

图4 坐席为群众通过视频办理业务

图5 人脸识别身份认证

4 应用效益

“视频办”政务服务的上线,实现了政务服务线上线下相融合,市、县(区)、镇(街道)、村(社区)四级共用、协同联办,将“实体窗口”升级为“云端窗口”,市民通过手机APP即可与政务服务大厅窗口工作人员“面对面”交流,进行远程咨询、查询和办理业务,无需到政务窗口现场排队等候,真正实现了“不见面”“非接触”在线政务服务,减少了群众办事跑动次数,解决了群众在业务办理中遇到的“本人不到无法办理”等难题,提高了办事效率,事项申报准确率、“一次审核”通过率大幅提升。自“视频办”系统试运行以来,已实现多个事项通过“视频办”进行办理。

5 总结

本方案采用WebRTC 技术,设计并实现政务服务“视频办”系统,实现了市民通过手机APP 发起视频请求,政务服务大厅坐席通过APP 接收市民请求,并开启视频在线服务的功能。本方案为政务服务提供了一种新的模式和思路,有助于提高政务服务效率和质量,增强市民、企业的便利性和满意度。作者希望通过本方案的研究和实践,为政务服务的创新和发展做出一些贡献。

猜你喜欢
信令音视频排队
怎样排队
SLS字段在七号信令中的运用
3KB深圳市一禾音视频科技有限公司
移动信令在交通大数据分析中的应用探索
巧排队列
WIFI音视频信号传输的关键问题探究
三角龙排队
基于信令分析的TD-LTE无线网络应用研究
高速公路整合移动音视频系统应用
LTE网络信令采集数据的分析及探讨