传真机和电话怎么分开(传真机与电话连接方法)

传真机和电话怎么分开(传真机与电话连接方法)

首页办公设备传真机更新时间:2021-12-11 03:43:50


导读

随着互联网技术的发展的网络的普及,线上告警已经由早期的短信/邮件通知发展为微信/电话语音等方式,由于短信/邮件等告警方式存在延时问题,不能及时告知被通知对象,业内开始流行将服务器接收到的告警内容通过TTS(语音合成)合成语音后告知用户,用户按键选择主动处理或移交给其他负责人。

背景

智能语音机器人基于TTS和SIP实现了语音播报功能与按键识别功能的结合,应用于58运维告警以更及时、更便捷、更多元的方式通知开发维护人员,并将此功能应用于校招邀约等场景,代替或辅助人工完成一些流程固定的工作,可以有效地节省成本提高人效,如图1。

整体流程

智能语音机器人基于SIP线路实现的呼出场景下,用户电话按键信号捕获需要借助SIP线路实现,整体流程如图2,在代理终端A(用户)与代理终端B(机器人)持续通话的过程中,用户会持续向机器人发送媒体流,机器人在接收媒体流时会判断当前流属于语音流还是按键信号,如果当前流属于语音流则经过语音解码器,如果是按键信号则经过按键信号识别模块,最终产生语音数据/按键信息再做下一步处理。

如何传输

1、按键信号如何传输

目前所有的电话和传真机按键都采用DTMF信号进行编码和传输,DTMF信号是利用模拟信号对数字符号进行编码,该编码方案共使用8个模拟频率对16个符号进行编码,分为高音群和低音群,所以称为双音多频(Dual-Tone Multiple-Frequency)编码,每个符号由一个高音频率和一个低音频率唯一确定(0~9*#ABCD),如图3。

2、SIP如何检测DTMF信号

目前传输DTMF信号主要有三个方式:通过通信协议传输(SIPINFO)、遵循RFC2833规范传输、通过RTP的数据内容传输(INBAND)。

通过SIP信令INFO包中的signal字段携带DTMF信号传输,这种方式的好处是不影响RTP数据包的传输,但SIP信令和媒体传输是分开的,很容易造成DTMF信号和媒体包不同步。

通信前使用SDP协议协商telephone-event参数,通过RTP包传输,由RTP包包头的PT(payload type)来标识RFC2833的数据包(如图4)。

将DTMF信号不经任何处理直接打成RTP包与普通的RTP语音包混在一起传输,要获得DTMF信号则必须提取RTP数据包进行频谱分析,得到高频和低频的频率,然后查表得到对应的按键。

如何识别

综合考虑,遵循RFC2833规范实现基于SIP的电话按键信号识别成本最低,下面将详细介绍下SIP会话如何建立,媒体如何协商、基于会话和媒体协商结果如何实现电话按键信号的解析。

1、会话建立

SIP(Session Initiation Protocol)是一种信令协议,用于初始化、管理和终止网络语音和视频会话,如图5,终端代理A为主叫代理,终端代理B为被叫代理,A与B的会话建立流程如下:

2、媒体协商

SDP( Session Description Protocol)协议主要用于两个会话实体的媒体协商,描述会话所使用的流媒体细节,协议格式如图6,以<type>=<value>形式存储,其中:

主被叫通过SDP协议协商媒体信息流程如下:

3、按键信号解析

遵循RFC2833规范,按键DTMF信号使用RTP包发送,通过RTP包头PT(payload type)来标示RFC2833数据包,基于以上信息并参考图6中SDP协议约定信息(a=rtpmap:126 telephone-event/8000)可将按键解析步骤总结如下:

总结

目前业内关于SIP语音通话场景下的用户按键信号捕获的技术资料相对较少,本文介绍的RFC2833技术文档主要用于规范DTMF数字信号的RTP负载格式,58同城TEG AI Lab自研的智能语音机器人的按键信号捕获功能遵循该技术文档实现,希望为读者实现类似功能提供思路。

作者简介:

李鸿勋,58同城TEG技术工程平台群AI Lab资深后端工程师

参考文献:

RFC2833:https://www.ietf.org/rfc/rfc2833.txt

,

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.