[go: up one dir, main page]

CN102833436A - 实现voip代理的方法以及系统 - Google Patents

实现voip代理的方法以及系统 Download PDF

Info

Publication number
CN102833436A
CN102833436A CN2012103194315A CN201210319431A CN102833436A CN 102833436 A CN102833436 A CN 102833436A CN 2012103194315 A CN2012103194315 A CN 2012103194315A CN 201210319431 A CN201210319431 A CN 201210319431A CN 102833436 A CN102833436 A CN 102833436A
Authority
CN
China
Prior art keywords
voice
voice data
data
call
rtp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012103194315A
Other languages
English (en)
Inventor
程建
汪桃林
肖忠
毛泽杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN2012103194315A priority Critical patent/CN102833436A/zh
Publication of CN102833436A publication Critical patent/CN102833436A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供一种实现VOIP代理的方法,其特征在于,包括如下步骤:S1:开始S2:服务器判断是否有客户端呼入请求,若是,所述服务器进行SIP请求处理,并发送SIP响应,转S5;若否,则转步骤S3:S3:服务器判断是否需要主动呼出,若是,则输入客户端号码,并对该号码发送SIP请求,执行S4;若否,则转S2;S4:判断所述号码是否响应,若是,则转S5;若否,则判断呼叫失败,转S2;S5:服务器与客户端间建立通话连接,执行语音数据处理与播放S6:通话结束。该方法,采用SIP协议来建立通话连接,利用SDP协议使用RTP协议来传输实时语音数据,并结合RTCP协议来反馈实时语音传输的质量,从而达到在局域网内机顶盒用户之间通话的目的。

Description

实现VOIP代理的方法以及系统
技术领域
本发明涉及VOIP领域,属于工程应用领域,尤其涉及在机顶盒上实现VOIP的方法以及系统。
背景技术
VOIP(Voice over Internet Protocol)简而言之就是将模拟声音讯号(Voice)数字化,以数据封包(Data Packet)的形式在 IP数据网络 (IP Network)上做实时传递。VoIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。VoIP可以在IP网络上便宜的传送语音、传真、视频、和数据等业务,如统一消息、虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电视会议、电子商务、传真存储转发和各种信息的存储转发等。VoIP(Voice over Internet Protocol)是一种以IP电话为主,并推出相应的增值业务的技术。VoIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。VoIP相对比较便宜,为什么? VoIP电话不过是互联网上的一种应用,网络电话不受管制。因此,从本质上说,VoIP电话与电子邮件,即时讯息或者网页没有什么不同,它们均能在经过了互联网连接的机器间进行传输。这些机器可以是电脑,或者无线设备,比如手机或者掌上设备等等。为什么VoIP服务有些要收钱,有些却免费? VoIP服务不仅能够沟通VoIP用户,而且也可以和电话用户通话,比如使用传统固话网络以及无线手机网络的用户。对这部分通话,VoIP服务商必须要给固话网络运营商以及无线通讯运营商支付通话费用。这部分的收费就会转到VoIP用户头上。网上的VoIP用户之间的通话可以是免费的。使用VoIP,你需要做些什么?你需要有互联网连接。这可以是最基本的拨号上网服务,或者更理想的宽带服务,你的网络连接速度越快,VoIP的通话质量就越好。例如,高速宽带连接能够令你一面打电话,一面上网冲浪。用户可以选择一种VoIP软件安装至台式电脑或笔记本电脑上。然后,电脑就可以进行网上通话了。如果用户想要将自己的家庭电话转化为VoIP拨号系统,他需要适配器的帮助。VoIP软件可以单独预装在一种名为“模拟电话适配器”(analog telephone adapter)的硬件设备中,模拟电话适配器主要安装于家庭电话与宽带调制解调器之间。
随着电视技术的不断发展,数字电视信号已逐渐取代传统的模拟信号进入人们的生活。以机顶盒为数字电视接收终端的产品得到了广泛的应用,但传统的机顶盒只能实现单向的数字电视广播业务,已远远不能满足人们的需求。在国内,大部分用户都用上了有线电视机顶盒,有很大的用户基础。
随着三网融合的开展和双向网络的改造,给VOIP这种双向业务提供了广阔的市场。基于网络的语音业务是时代发展的潮流,在机顶盒上应用VOIP成为一种趋势,是三网融合的必然产物。双向网络的改造,为数字电视机顶盒提供了广阔的市场和发展空间。数字电视机顶盒正朝着高清互动、智能开放以及多功能的方向发展。随着三网融合的不断推进,综合业务的跨网络传输将成为可能,使得移动设备、PC机、电视机等多种设备间能够进行通信。人们随时随地都可以通过不同的终端来呼叫对方,生活也将变得更加便捷。VOIP作为网络上的一种重要应用,基于网络的语音业务是时代发展的潮流,VOIP在机顶盒上的应用成为一种趋势,是三网融合的必然产物。
目前,主流的信令协议有ITU-T提出的H.323标准和IETF提出的SIP协议。H.323标准是一个协议的集合体,规定了在无服务质量保证的分组网络上传输语音、视频和数据,适用于任何的分组交换网络。而SIP协议是一个单独的协议,与SDP协议协同使用,可以设置通话的属性,实现通话连接。
发明内容
本发明是为了实现一个机顶盒上的VOIP用户代理,能够实时监测用户的状态。
为了解决上述技术问题,本发明采用的技术方案是提供一种实现VOIP代理的方法,包括如下步骤:
S1:开始
S2:服务器判断是否有客户端呼入请求,
若是,所述服务器进行SIP请求处理,并发送SIP响应,转S5;
若否,则转步骤S3:
 S3:服务器判断是否需要主动呼出,
若是,则输入客户端号码,并对该号码发送SIP请求,执行S4;
若否,则转S2;
 S4:判断所述号码是否响应,
若是,则转S5;
若否,则判断呼叫失败,转S2;
S5:服务器与客户端间建立通话连接,执行语音数据处理与播放;
S6:通话结束。
步骤S5中具体的包括:语音数据的采集、语音编码、RTP封装、实时传输、RTP解包、语音解码以及语音播放;所述语音数据采集包括:函数初始化,打开指定文件,通过解析文件头来获取音频的属性,再设置读取音频数据的状态,启动回调函数读取数据,输出到对立中等待进一步处理,每20ms取一次,读取完后设置读取数据的状态。最后,当读取的字节数少于规定的字节数,说明语音数据采集完毕。每次读取语音字节数的计算公式为:Byte=2×(Δt×f×count)/1000                     所述语音数据编码通过G.711进行编码,执行语音数据的分析,包括语音数据的语音质量、语音编码速率、算法复杂度、编码延时以及兼容性;所述语音播放通过机顶盒的RCA音频接口连接电视机进行播放。
所述实时传输,具体的包括语音数据的发送以及语音数据的接收;
语音数据的发送的过程:
S611:判断RTP发送是不是首次启动,如果是就设置RTP发送的第一个时间戳;
S612:设置RTP当前发送的时间戳,更新RTP的序列号和数据的大小;
S613:判断是否发送RTP包,若是,则调用发送接口发送语音数据的数据包;
步骤S6中,语音数据的接收过程:
S621:更新接收时间,调用接收接口;
S622:判断数据包的类型,添加到接收队列;
S623:延时抖动处理,更新数据包的RTP当前发送的时间戳;
S624:对接收到的数据包进行处理。
步骤S1通过SIP与SDP协议完成如下操作:
S11:系统初始化;
S12:参数配置及注册;
S13:创建检测线程。
为了解决上述技术问题,本发明采用的一个技术方案是提供一种实现VOIP代理的系统,包括:第一判断单元、第二判断单元、第三判断单元以及处理单元;第一判断单元,用于判断是否有客户端呼入请求,若是,则进行SIP请求处理,并发送SIP响应;若否,则发出无呼入请求信息;第二判断单元,用于判断是否需要主动呼出,若是,则输入客户端号码,并向所述号码发送SIP请求;第三判断单元,用于判断客户端是否响应,若是,则向所述处理单元发送信息;若否,则判断呼叫失败,并使第一判断单元工作;处理单元,用于使服务器与客户端间建立通话连接,执行语音数据处理与播放。
所述处理单元包括:语音数据采集模块、语音编码模块、RTP封装模块、实时传输模块、RTP解包模块、语音解码模块以及语音播放模块;所述语音数据采集模块用于函数初始化,打开指定文件,通过解析文件头来获取音频的属性,再设置读取音频数据的状态,启动回调函数读取数据,输出到对立中等待进一步处理,每20ms取一次,读取完后设置读取数据的状态。最后,当读取的字节数少于规定的字节数,说明语音数据采集完毕。每次读取语音字节数的计算公式为:Byte=2×(Δt×f×count)/1000所述语音数据编码模块用于通过G.711进行编码,执行语音数据的分析,包括语音数据的语音质量、语音编码速率、算法复杂度、编码延时以及兼容性;所述语音播放模块用于通过机顶盒的RCA音频接口连接电视机进行播放
所述实时传输模块包括语音数据发送模块语音数据接收模块;所述语音数据发送模块用于判断RTP发送是不是首次启动,如果是就设置RTP发送的第一个时间戳;并且设置RTP当前发送的时间戳,更新RTP的序列号和数据的大小;判断是否发送RTP包,若是,则调用发送接口发送语音数据的数据包;所述语音数据接收模块用于更新接收时间,调用接收接口;判断数据包的类型,添加到接收队列;对接收到的数据包进行延时抖动处理,更新数据包的时间戳;对接收到的数据包进行处理。
所述系统还包括信令处理与控制单元,所述信令处理与控制单元用于通过SIP与SDP协议完成系统初始化,参数配置及注册以及检测线程的创建。
本发明还提供一种实现VOIP代理的系统,所述系统包括用作服务器的PC设备以及用作客户端的机顶盒,所述PC设备通过SIP协议、SDP协议与机顶盒实现通话连接,所述PC设备与机顶盒应用权利要求1至4任意一项所述的方法进行通讯。
本发明的有益效果是:
通过PC设备与机顶盒,应用SIP协议、SDP协议建立通话连接,采用所述的实现VOIP代理的方法,在进入到VOIP应用界面时,就会创建一个线程来实时监测,通过解析接收到的消息来判断消息类型,同时执行相应的处理,当通话双方通过建立端到端的通话连接后,则进行语音数据的采集、语音实时传输、语音处理以及语音播放,本发明的技术方案应用SIP协议来建立通话连接,利用SDP协议来协商语音通话的属性,选取G.711编解码算法对语音数据进行编码压缩,使用RTP协议来传输实时语音数据,并结合RTCP协议来反馈实时语音传输的质量。它可以实现机顶盒用户的注册、呼叫控制、语音通话等功能,从而达到在局域网内机顶盒用户之间通话的目的。
附图说明
图1是本发明的实现VOIP代理方法的流程图;
图2是本发明提供的通话连接建立的某种具体实施方式流程图;
图3是本发明提供的实现VOIP代理系统的结构框图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明提供的实现VOIP代理的方法,该方法应用于实现VOIP代理的系统上,所述系统包括用作服务器的PC设备以及用作客户端的机顶盒,所述PC设备通过SIP协议、SDP协议与机顶盒实现通话连接。具体的,参阅图1,实现VOIP代理的方法包括如下步骤:
S1:开始,在VOIP代理系统开启之时, VOIP代理系统在VOIP软件的框架结构上,通过信令处理与控制单元,应用SIP、SDP协议,在服务器与客户端之间完成系统初始化、参数配置及注册以及检测线程的创建;所述检测线程的创建是为了能够实现检测后续是否有SIP消息产生,所述SIP消息包括请求消息和响应消息两种,主要有REGISTER、INVITE、ACK、OPTION、BYE、CANCEL六种,而SIP响应消息有1XX-6XX;参数配置及注册的过程中,具体的需要判断是否注册以及注册时间是否超时等,注册的目的主要是为了保证用户能在服务器上进行记录,保证其他用户能够找到该用户,二注册超时的检测是为了防止用户的异常退出,导致用户无法注销等情况的发生。
S2:服务器判断是否有客户端呼入请求,若是,所述服务器进行SIP请求处理,并发送SIP响应,转S5;若否,则转步骤S3;在该过程中,通过第一判断单元,判断是否有客户端呼入请求,在第一判断单元判断无客户端呼入请求时,则向第二判断单元发出无呼入请求信息。
 S3:服务器判断是否需要主动呼出,若是,则输入客户端号码,并对该号码发送SIP请求,执行S4;若否,则转S2;第二判断单元接收到第一判断单元的无呼入请求消息后,则判断所述服务器是否需要主动呼出,若是,则输入客户端号码,并向所述号码发送SIP请求。
 S4:判断所述号码是否响应,若是,则转S5;若否,则判断呼叫失败,转S2;第三判断单元通过判断被呼叫的号码是否相应,若判断被呼叫的号码响应,则执行步骤S5,若判断被叫号码无应答,则返回步骤S2,并使所述服务器的第一判断单元重新开始判断是否有客户端呼入请求。
S5:服务器与客户端间建立通话连接,执行语音数据处理与播放;所述的语音数据处理与播放具体的包括:语音数据的采集、语音编码、RTP封装、实时传输、RTP解包、语音解码以及语音播放;
所述语音数据采集包括:函数初始化,打开指定文件,通过解析文件头来获取音频的属性,再设置读取音频数据的状态,启动回调函数读取数据,输出到队列中等待进一步处理,每20ms取一次,读取完后设置读取数据的状态。最后,当读取的字节数少于规定的字节数,说明语音数据采集完毕。每次读取语音字节数的计算公式为:Byte=2×(Δt×f×count)/1000。语音数据的采集通过语音数据采集模块完成。
语音数据编码模块完成语音数据编码,具体的是通过G.711进行编码,执行语音数据的分析,包括语音数据的语音质量、语音编码速率、算法复杂度、编码延时以及兼容性;
所述语音播放通过机顶盒的RCA音频接口连接电视机进行播放。
在步骤S5中,在服务器与客户端之间建立好通话连接,进行语音数据处理与播放过程中,首先要进行语音数据的采集,语音数据的采集通过语音数据采集模块完成,受机顶盒外部接口限制,语音数据的采集是采用从U盘中的一个音频文件中读取,详细过程是,函数初始化,代开指定文件,通过解析文件头来获取音频的属性,音频的属性主要包括了声道数、采样率等信息,从而可以获取总数据量,读取音频属性后设置读取音频数据的状态,包括音频数据的停止、开始以及结束等信息,在获取好音频数据的相关信息后,启动回调函数读取数据,输出到队列中等待进一步处理,每20ms取一次,读取完后设置读取数据的状态。最后,当读取的字节数少于规定的字节数,说明语音数据读取完毕。每次读取语音字节数的计算公式为:
Byte=2×(Δt×f×count)/1000
Byte为读取的字节数,Δt为读取数据的间隔,f为采样率,count为声道数。
语音信息采集完毕后,进行语音数据编码,语音编码是语音处理的重要组成部分,是网络语音传输的关键技术之一,是语音终端必备的功能,编解码的算法选择需要考虑很多方面的因素,它直接决定了语音编解码的性能。本发明使用的是G711编解码算法,主要是因为G711编解码算法实现比较简单,属于波形编码,忠实于原始语音数据,语音质量比较好,并且此次使用的机顶盒芯片的处理能力有限,虽然使用G711编解码算法占用的网络带宽比较高,但是在局域网内的实现,带宽足以满足语音输出的需要。
进行语音数据传输具体的包括语音数据的发送以及语音数据的接收,
语音数据的发送过程包括如下步骤:
S611:判断RTP发送是不是首次启动,如果是就设置RTP发送的第一个时间戳;
S612:设置RTP当前发送的时间戳,更新RTP的序列号和数据的大小;
S613:判断是否发送RTP包,若是,则调用发送接口发送语音数据的数据包。
发送的过程中,首先要判断RTP发送是不是首次启动,如果是酒设置发送的第一个时间戳,设置发送时间的起始值,相当于在该时刻进行系统的初始化,再设置RTP时间戳和当前发送的时间戳,RTP的时间戳是为了RTP解包时,数据的连续和同步,当前发送的时间戳是为了更新时间戳,并更新序列号和数据的大小,其中RTP的序列号是为了看是否有数据丢包的现象,数据的大小是为了计算发送数据的总长度。通过专门的RTP包发送函数,判断是否有RTP包发送,若发送函数的返回值是true,则代表需要进行RTP的发送,并调用发送接口进行RTP包的发送。
语音数据的接收过程包括如下步骤:
S621:更新接收时间,调用接收接口;
S622:判断数据包的类型,添加到接收队列;
S623:延时抖动处理,更新数据包的RTP当前发送的时间戳;
S624:对接收到的数据包进行处理。
RTP接收语音数据的过程是通过发送时的RTP时间戳和序列号来解包语音数据的,首先更新接收时间,调用接收接口,然后判断数据包的类型,所述的数据包包括事件包以及语音数据包,将所述的数据包添加到相对应的接收队列中,接着进行延时抖动处理,更新数据包的时间戳,由于网络的原因,收到的数据可能顺序不一致,通过延时抖动处理,使得数据能按发送的顺序进行解包,这里的时间戳是流的时间戳,为数据重排所用。最后进行RTP包的接收处理,并发给上层进行处理,上层进行RTP解包以及语音解码。上述的RTP发送与接收处理是通过ORTP开源代码进行实现的。
最后将语音数据进行播放,语音数据的播放是通过机顶盒的RCA音频接口连接电视机进行播放的,具体的播放参数包括了采样的位宽、数据的大小端存储、PCM采样率和声道数。一般的机顶盒都会支持纯PCM数据的播放,会提供一个播放PCM数据的接口函数。语音播放的过程是通过两个线程进行实现的。一个是接收语音数据的线程,将语音数据从缓冲区放到播放区。一个是播放线程,将播放区中的数据进行播放。两个线程之间的同步与互斥是通过一个信号量来是实现的。
S6:通话结束。
参阅图2,图中表示了本发明的PC设备与机顶盒之间建立通话连接的具体实施方式的流程图。其中,所述的PC设备具有VOIP服务的功能,机顶盒通过连接电视机实现最终的网络与电视机的会话过程,其中用户A欲与用户B进行通话,用户A应用电视机等设备,用户B应用PC设备,所述PC设备具备支持VOIP的功能,作为VOIP服务器端。用户A的电视机与机顶盒连接,从而最终是通过机顶盒与服务器端进行通信连接。
机顶盒呼叫用户B之后,VOIP代理服务器响应机顶盒的呼叫请求,通过VOIP代理服务器定位、查询用户B的地址,并响应用户B的地址,代理服务器代理所述机顶盒呼叫用户B,用户B响应代理服务器的消息,并最终把相应信号发送至机顶盒,完成通话连接的建立。用户A与用户B通过SIP协议、SDP协议实现通话连接,所述PC设备与机顶盒应用以上所述的方法进行通讯,完成服务器与客户端的连接。
参阅图3,本发明还提供一种实现VOIP代理的系统,包括:第一判断单元、第二判断单元、第三判断单元以及处理单元;
第一判断单元,用于判断是否有客户端呼入请求,若是,则进行SIP请求处理,并发送SIP响应;若否,则发出无呼入请求信息;
第二判断单元,用于判断是否需要主动呼出,若是,则输入客户端号码,并向所述号码发送SIP请求;
第三判断单元,用于判断客户端是否响应,若是,则向所述处理单元发送信息;若否,则判断呼叫失败,并使第一判断单元工作;
处理单元,用于使服务器与客户端间建立通话连接,执行语音数据处理与播放。
所述处理单元包括:语音数据采集模块、语音编码模块、RTP封装模块、实时传输模块、RTP解包模块、语音解码模块以及语音播放模块;
所述语音数据采集模块用于函数初始化,打开指定文件,通过解析文件头来获取音频的属性,再设置读取音频数据的状态,启动回调函数读取数据,输出到对立中等待进一步处理,每20ms取一次,读取完后设置读取数据的状态。最后,当读取的字节数少于规定的字节数,说明语音数据采集完毕。每次读取语音字节数的计算公式为:Byte=2×(Δt×f×count)/1000
所述语音数据编码模块用于通过G.711进行编码,执行语音数据的分析,包括语音数据的语音质量、语音编码速率、算法复杂度、编码延时以及兼容性;
所述语音播放模块用于通过机顶盒的RCA音频接口连接电视机进行播放
所述实时传输模块包括语音数据发送模块语音数据接收模块;
所述语音数据发送模块用于判断RTP发送是不是首次启动,如果是就设置RTP发送的第一个时间戳;并且设置RTP当前发送的时间戳,更新RTP的序列号和数据的大小;判断是否发送RTP包,若是,则调用发送接口发送语音数据的数据包;
所述语音数据接收模块用于更新接收时间,调用接收接口;判断数据包的类型,添加到接收队列;对接收到的数据包进行延时抖动处理,更新数据包的时间戳;对接收到的数据包进行处理。
所述系统还包括信令处理与控制单元,所述信令处理与控制单元用于通过SIP与SDP协议完成系统初始化,参数配置及注册以及检测线程的创建。
所述系统还包括人机交互模块,人机交互模块的一输出端与信令处理与控制单元连接,另一端与处理单元连接,所述的人机交互模块包括语音接收设备(麦克风)、语音接收设备(扩音器)、PC机键盘等,用户A通过在PC机键盘上输入呼叫用户B之后,通过以上所述的各个单元开启整个系统,进而所述的处理单元处理用户A、用户B的通话连接信号,从而达到用户A与用户B通过电视机与PC端用户相互通话的目的。
一种实现VOIP代理的系统,所述系统包括用作服务器的PC设备以及用作客户端的机顶盒,所述PC设备通过SIP协议、SDP协议与机顶盒实现通话连接,所述PC设备与机顶盒应用以上所述的方法进行通讯,完成服务器与客户端的连接。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种实现VOIP代理的方法,其特征在于,包括如下步骤:
S1:开始
S2:服务器判断是否有客户端呼入请求,
若是,所述服务器进行SIP请求处理,并发送SIP响应,转S5;
若否,则转步骤S3:
 S3:服务器判断是否需要主动呼出,
若是,则输入客户端号码,并对该号码发送SIP请求,执行S4;
若否,则转S2;
 S4:判断所述号码是否响应,
若是,则转S5;
若否,则判断呼叫失败,转S2;
S5:服务器与客户端间建立通话连接,执行语音数据处理与播放;
S6:通话结束。
2.根据权利要求1所述的实现VOIP代理的方法,其特征在于,步骤S5中具体的包括:语音数据的采集、语音编码、RTP封装、实时传输、RTP解包、语音解码以及语音播放;
所述语音数据采集包括:函数初始化,打开指定文件,通过解析文件头来获取音频的属性,再设置读取音频数据的状态,启动回调函数读取数据,输出到对立中等待进一步处理,每20ms取一次,读取完后设置读取数据的状态。最后,当读取的字节数少于规定的字节数,说明语音数据采集完毕。每次读取语音字节数的计算公式为:Byte=2×(Δ t×f×count)/1000
所述语音数据编码通过G.711进行编码,执行语音数据的分析,包括语音数据的语音质量、语音编码速率、算法复杂度、编码延时以及兼容性;
所述语音播放通过机顶盒的RCA音频接口连接电视机进行播放。 
3.根据权利要求2所述的实现VOIP代理的方法,其特征在于,所述实时传输,具体的包括语音数据的发送以及语音数据的接收;
语音数据的发送的过程:
S611:判断RTP发送是不是首次启动,如果是就设置RTP发送的第一个时间戳;
S612:设置RTP当前发送的时间戳,更新RTP的序列号和数据的大小;
S613:判断是否发送RTP包,若是,则调用发送接口发送语音数据的数据包;
步骤S6中,语音数据的接收过程:
S621:更新接收时间,调用接收接口;
S622:判断数据包的类型,添加到接收队列;
S623:延时抖动处理,更新数据包的RTP当前发送的时间戳;
S624:对接收到的数据包进行处理。
4.根据权利要求1所述的实现VOIP代理的方法,其特征在于,步骤S1通过SIP与SDP协议完成如下操作:
S11:系统初始化;
S12:参数配置及注册;
S13:创建检测线程。
5.一种实现VOIP代理的系统,其特征在于,包括:第一判断单元、第二判断单元、第三判断单元以及处理单元;
第一判断单元,用于判断是否有客户端呼入请求,若是,则进行SIP请求处理,并发送SIP响应;若否,则发出无呼入请求信息;
第二判断单元,用于判断是否需要主动呼出,若是,则输入客户端号码, 并向所述号码发送SIP请求;
第三判断单元,用于判断客户端是否响应,若是,则向所述处理单元发送信息;若否,则判断呼叫失败,并使第一判断单元工作;
处理单元,用于使服务器与客户端间建立通话连接,执行语音数据处理与播放。
6.根据权利要求5所述的实现VOIP代理的系统,其特征在于,所述处理单元包括:语音数据采集模块、语音编码模块、RTP封装模块、实时传输模块、RTP解包模块、语音解码模块以及语音播放模块;
所述语音数据采集模块用于函数初始化,打开指定文件,通过解析文件头来获取音频的属性,再设置读取音频数据的状态,启动回调函数读取数据,输出到对立中等待进一步处理,每20ms取一次,读取完后设置读取数据的状态。最后,当读取的字节数少于规定的字节数,说明语音数据采集完毕。每次读取语音字节数的计算公式为:Byte=2×(Δt×f×count)/1000
所述语音数据编码模块用于通过G.711进行编码,执行语音数据的分析,包括语音数据的语音质量、语音编码速率、算法复杂度、编码延时以及兼容性;
所述语音播放模块用于通过机顶盒的RCA音频接口连接电视机进行播放。
7.根据权利要求6所述的实现VOIP代理的系统,其特征在于,所述实时传输模块包括语音数据发送模块以及语音数据接收模块;
所述语音数据发送模块用于判断RTP发送是不是首次启动,如果是就设置RTP发送的第一个时间戳;并且设置RTP当前发送的时间戳,更新RTP的序列号和数据的大小;判断是否发送RTP包,若是,则调用发送接口发送语音数据的数据包;
所述语音数据接收模块用于更新接收时间,调用接收接口;判断数据包的 类型,添加到接收队列;对接收到的数据包进行延时抖动处理,更新数据包的时间戳;对接收到的数据包进行处理。
8.根据权利要求5所述的实现VOIP代理的系统,其特征在于:所述系统还包括信令处理与控制单元,所述信令处理与控制单元用于通过SIP与SDP协议完成系统初始化,参数配置及注册以及检测线程的创建。
9.一种实现VOIP代理的系统,其特征在于,所述系统包括用作服务器的PC设备以及用作客户端的机顶盒,所述PC设备通过SIP协议、SDP协议与机顶盒实现通话连接,所述PC设备与机顶盒应用权利要求1至4任意一项所述的方法进行通讯。 
CN2012103194315A 2012-08-31 2012-08-31 实现voip代理的方法以及系统 Pending CN102833436A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012103194315A CN102833436A (zh) 2012-08-31 2012-08-31 实现voip代理的方法以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012103194315A CN102833436A (zh) 2012-08-31 2012-08-31 实现voip代理的方法以及系统

Publications (1)

Publication Number Publication Date
CN102833436A true CN102833436A (zh) 2012-12-19

Family

ID=47336400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103194315A Pending CN102833436A (zh) 2012-08-31 2012-08-31 实现voip代理的方法以及系统

Country Status (1)

Country Link
CN (1) CN102833436A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104754278A (zh) * 2013-12-30 2015-07-01 比亚迪股份有限公司 一种基于sip协议的互动方法、装置及系统
CN107147613A (zh) * 2017-03-14 2017-09-08 浙江工业大学 一种制造物联实时数据传输方法
CN109600563A (zh) * 2018-08-01 2019-04-09 北京微播视界科技有限公司 用于确定时间戳的方法和装置
CN110366160A (zh) * 2019-06-27 2019-10-22 深圳市奥克多普科技有限公司 一种基于云服务器的多sim卡集群读卡通话方法及系统
CN112311726A (zh) * 2019-07-26 2021-02-02 深圳市中兴微电子技术有限公司 网络电话voip的通话业务处理方法及装置
CN114448954A (zh) * 2021-12-30 2022-05-06 普强时代(珠海横琴)信息技术有限公司 一种静音处理方法以及装置、存储介质、电子装置
CN115334050A (zh) * 2022-08-11 2022-11-11 迈普通信技术股份有限公司 呼叫处理方法、装置、会话初始协议服务器及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101053244A (zh) * 2004-10-05 2007-10-10 松下电器产业株式会社 Sip终端控制系统
CN101316177A (zh) * 2007-05-29 2008-12-03 康佳集团股份有限公司 一种集电脑和电视功能于一体的ip可视电话
CN201174744Y (zh) * 2008-01-18 2008-12-31 深圳清华大学研究院 具有网络电话功能的无线数字电视接收终端
US20100322232A1 (en) * 2009-06-18 2010-12-23 Ambit Microsystems (Shanghai) Ltd. Modem and calling packet processing method thereof
CN102098558A (zh) * 2011-01-29 2011-06-15 广州杰赛科技股份有限公司 三网融合数字电视机顶盒及其实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101053244A (zh) * 2004-10-05 2007-10-10 松下电器产业株式会社 Sip终端控制系统
CN101316177A (zh) * 2007-05-29 2008-12-03 康佳集团股份有限公司 一种集电脑和电视功能于一体的ip可视电话
CN201174744Y (zh) * 2008-01-18 2008-12-31 深圳清华大学研究院 具有网络电话功能的无线数字电视接收终端
US20100322232A1 (en) * 2009-06-18 2010-12-23 Ambit Microsystems (Shanghai) Ltd. Modem and calling packet processing method thereof
CN102098558A (zh) * 2011-01-29 2011-06-15 广州杰赛科技股份有限公司 三网融合数字电视机顶盒及其实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
毛泽杰,程建,肖忠: "基于机顶盒的VoIP设计与实现", 《电声技术》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104754278A (zh) * 2013-12-30 2015-07-01 比亚迪股份有限公司 一种基于sip协议的互动方法、装置及系统
CN104754278B (zh) * 2013-12-30 2018-03-13 比亚迪股份有限公司 一种基于sip协议的互动方法、装置及系统
CN107147613A (zh) * 2017-03-14 2017-09-08 浙江工业大学 一种制造物联实时数据传输方法
CN109600563A (zh) * 2018-08-01 2019-04-09 北京微播视界科技有限公司 用于确定时间戳的方法和装置
CN110366160A (zh) * 2019-06-27 2019-10-22 深圳市奥克多普科技有限公司 一种基于云服务器的多sim卡集群读卡通话方法及系统
CN110366160B (zh) * 2019-06-27 2021-12-17 深圳市奥克多普科技有限公司 一种基于云服务器的多sim卡集群读卡通话方法及系统
CN112311726A (zh) * 2019-07-26 2021-02-02 深圳市中兴微电子技术有限公司 网络电话voip的通话业务处理方法及装置
CN112311726B (zh) * 2019-07-26 2023-09-08 深圳市中兴微电子技术有限公司 网络电话voip的通话业务处理方法及装置
CN114448954A (zh) * 2021-12-30 2022-05-06 普强时代(珠海横琴)信息技术有限公司 一种静音处理方法以及装置、存储介质、电子装置
CN115334050A (zh) * 2022-08-11 2022-11-11 迈普通信技术股份有限公司 呼叫处理方法、装置、会话初始协议服务器及存储介质
CN115334050B (zh) * 2022-08-11 2023-09-15 迈普通信技术股份有限公司 呼叫处理方法、装置、会话初始协议服务器及存储介质

Similar Documents

Publication Publication Date Title
US7715413B2 (en) Multi-network exchange system for telephony applications
CN102833436A (zh) 实现voip代理的方法以及系统
CN102422594B (zh) 用于交换呼叫数据的电话终端及方法
CN101909192B (zh) 电视终端的通信方法及其电视终端
CN102148775B (zh) 网页呼叫服务网关、呼叫服务系统和方法
JP2001257723A (ja) インターネット電話機
CN102123154B (zh) 一种sip终端及其会话处理方法
CN101288257A (zh) 向设备发送信令以不执行同步或在多媒体流上包括同步延迟的方法
CN101272383B (zh) 一种实时音频数据传输方法
CN105897687A (zh) 一种传输数据的方法和设备
WO2018076376A1 (zh) 一种语音数据传输方法、用户设备以及存储介质
CN103139202A (zh) 瘦客户机及其通信方法和装置
CN101951491B (zh) 一种播放视频业务的方法和系统
TWI435589B (zh) 網路電話通訊整合系統及方法
WO2008040186A1 (en) A method, system and gateway for negotiating about the ability of the data signal detector
JP2007507939A (ja) 回線交換およびパケット交換による通信システム間の交換
CN101547267B (zh) 网络电话通讯整合系统及方法
JP2000341387A (ja) コンピュータのユニバーシャルシリアルバスポートを利用したインターネット電話装置およびインターネット電話通話方法
CN116743715B (zh) 一种WebRTC音视频通话功能集成方法、终端设备及存储介质
CN101005402B (zh) Sip用户代理业务切换的信息上报方法
CN1838673B (zh) 用于在终端设备之间建立有用数据连接的方法
WO2011000291A1 (zh) 关联sip会话中rtp包的方法、装置及系统
CN1599353B (zh) 基于网间互联协议的话务台系统及其通话方法
CN101083695B (zh) 因特网协议传送语音系统以及相关的无线局域网络装置
WO2007143915A1 (en) A method and apparatus for transmitting the key information of a user device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20121219