CN107154913B - 一种ip电话终端通信方法 - Google Patents
一种ip电话终端通信方法 Download PDFInfo
- Publication number
- CN107154913B CN107154913B CN201610118062.1A CN201610118062A CN107154913B CN 107154913 B CN107154913 B CN 107154913B CN 201610118062 A CN201610118062 A CN 201610118062A CN 107154913 B CN107154913 B CN 107154913B
- Authority
- CN
- China
- Prior art keywords
- telephone terminal
- code rate
- terminal
- rate
- packet loss
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IP电话终端通信方法,该方法包括:第一IP电话终端向第二IP电话终端发送携带有自身码率探测端口号以及自身所支持码率的呼叫请求消息;第二IP电话终端在接收到呼叫请求消息后,携带自身码率探测端口号以及自身所支持码率,向第一IP电话终端发送呼叫请求临时应答消息;第一IP电话终端和第二IP电话终端按照对端所支持的码率,分别向对端码率探测端口发送码流,探测对端实际可支持码率,并将对端实际可支持码率设置为本地码率;以使第一IP电话终端和第二IP电话终端分别以各自设置的本地码率发送编码帧。采用本发明能够得到高质量的媒体流。
Description
技术领域
本发明涉及计算机网络技术领域,特别涉及一种IP电话终端通信方法。
背景技术
在互联网应用日益普及,接入带宽日益提高的大背景下,各种各样基于互联网的实时通讯方式层出不穷。在这些方式当中,与呼叫中心结合最紧密的一种方式是IP电话。
IP电话使用SIP协议传输信令,使用RTP协议进行媒体流传输。
现有技术中IP电话终端的发送方和接收方在完成SIP信令交互后,双方开始进行媒体流传输,以固定的码率发送媒体流,如果丢包率较大时,采用手动的方式进行码率的更改。这种方式得到的媒体流质量不高。
发明内容
本发明的目的在于提供一种IP电话终端通信方法,能够得到高质量的媒体流。
为实现上述发明目的,本发明公开了一种IP电话终端通信方法,该方法包括:
第一IP电话终端向第二IP电话终端发送携带有自身码率探测端口号以及自身所支持码率的呼叫请求消息;
第二IP电话终端在接收到呼叫请求消息后,携带自身码率探测端口号以及自身所支持码率,向第一IP电话终端发送呼叫请求临时应答消息;
第一IP电话终端和第二IP电话终端按照对端所支持的码率,分别向对端码率探测端口发送码流,探测对端实际可支持码率,并将对端实际可支持码率设置为本地码率;以使第一IP电话终端和第二IP电话终端分别以各自设置的本地码率发送编码帧。
为实现上述发明目的,本发明还公开了一种IP电话终端通信方的装置,
其特征在于,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行上述任一项所述的方法。
为实现上述发明目的,本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一项所述的方法。
综上所述,本发明实施例在媒体流传输之前,IP电话终端自动进行码率探测,在确保丢包率较小,编码速率较高的基础上,探测到一个合适的编码速率,使得双方通讯时的媒体流质量大大提高。而且,与现有技术相比,可以更加快速、准确地探测到一个合适的编码速率。
附图说明
图1为本发明实施例IP电话终端通信方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明的核心思想是:建立媒体流之前的探测编码速率的机制,较之先前方法更加快速、准确。双方通讯时媒体流质量大大提高。
本发明实施例IP电话终端通信方法,包括以下步骤,其流程示意图如图1所示:
步骤11、第一IP电话终端向第二IP电话终端发送携带有自身码率探测端口号以及自身所支持码率的呼叫请求消息;
其中,呼叫请求消息可以是Invite消息,将自身码率探测端口号以及自身所支持码率携带在Invite消息中发送。
步骤12、第二IP电话终端在接收到呼叫请求消息后,携带自身码率探测端口号以及自身所支持码率,向第一IP电话终端发送呼叫请求临时应答消息;
步骤13、第一IP电话终端和第二IP电话终端按照对端所支持的码率,分别向对端码率探测端口发送码流,探测对端实际可支持码率,并将对端实际可支持码率设置为本地码率;以使第一IP电话终端和第二IP电话终端分别以各自设置的本地码率发送编码帧。
其中,第一IP电话终端按照对端所支持的码率,向对端码率探测端口发送码流,探测对端实际可支持码率,并将对端实际可支持码率设置为本地码率的方法包括:
S1、第一IP电话终端根据公式:第一IP电话终端的丢包率=(第一IP电话终端预定时间内实际发送的数据包-第二IP电话终端预定时间内实际接收的数据包)/第一IP电话终端预定时间内实际发送的数据包,实时计算得到第一IP电话终端的丢包率;
其中,所述第一IP电话终端预定时间内实际发送的数据包是第一IP电话终端根据第一IP电话终端向对端发送的码流计算得到;
所述第二IP电话终端预定时间内实际接收的数据包是第二IP电话终端根据第二IP电话终端接收对端发送的码流计算得到,并通过RTCP报告实时反馈给第一IP电话终端。
S2、第一IP电话终端根据自身预设的丢包率阈值,判断丢包率是否超过预设阈值,如果超过,则降低第一IP电话终端的发送码率,重新计算丢包率,直至第一IP电话终端的丢包率不高于预设阈值,将调整后的第一IP电话终端的发送码率设置为本地码率,同时作为探测到的对端实际可支持码率。
同理,第二IP电话终端按照对端所支持的码率,向对端码率探测端口发送码流,探测对端实际可支持码率,并将对端实际可支持码率设置为本地码率的方法包括:
SS1、第二IP电话终端根据公式:第二IP电话终端的丢包率=(第二IP电话终端预定时间内实际发送的数据包-第一IP电话终端预定时间内实际接收的数据包)/第二IP电话终端预定时间内实际发送的数据包,实时计算得到第二IP电话终端的丢包率;
其中,第二IP电话终端预定时间内实际发送的数据包是第二IP电话终端根据第二IP电话终端向对端发送的码流计算得到;
所述第一IP电话终端预定时间内实际接收的数据包是第一IP电话终端根据第一IP电话终端接收对端发送的码流计算得到,并通过RTCP报告实时反馈给第二IP电话终端。
SS2、第二IP电话终端根据自身预设的丢包率阈值,判断丢包率是否超过预设阈值,如果超过,则降低第二IP电话终端的发送码率,重新计算丢包率,直至第二IP电话终端的丢包率不高于预设阈值,将调整后的第二IP电话终端的发送码率设置为本地码率,同时作为探测到的对端实际可支持码率。
进一步地,第二IP电话终端在确定双方设置了本地码率后,向第一IP电话终端发送呼叫请求应答消息,双方开始进行媒体流传输,即双方开始发送编码帧。
需要说明的是,只是为清楚说明两个IP电话终端之间进行的交互,分别定义了第一IP电话终端和第二IP电话终端,后续第一IP电话终端和第二IP电话终端在媒体流传输过程中都可以作为发送方,也可以作为接收方。发送方和接收方是基于流量走向定义的。
优选地,本发明在双方开始进行媒体流传输时,进行初始化过程,即双方开始接收媒体流并解码,而不启动显示,只有在接收方接收到一个正确的关键帧并解码后才开始显示,在这之前接收到其他类型的编码帧时,都将取出相应解码帧后丢弃。具体包括以下步骤:
步骤21、接收方接收编码帧;
步骤22、接收方对编码帧进行解码后判断该编码帧是否为正确的关键帧,如果是,则执行步骤23;如果否,即该编码帧为其他类型的编码帧,例如双向参考帧,或者单向参考帧等,则执行步骤24;
步骤23、接收方将该正确的关键帧进行显示;
步骤24、接收方将该编码帧丢弃。
本实施例中,在解码显示之前一定要接收到一个正确的关键帧,达到了延迟显示的效果,而不是像现有技术那样,只要接收到一个编码帧就进行解码显示,本发明的延迟显示消除了显示之初开始可能的马赛克画面。
优选地,在初始化结束后,如果接收方确认关键帧丢失,则请求对方重新发送关键帧。具体包括以下步骤:
步骤30、接收方接收编码帧,对编码帧进行解码后确认关键帧是否丢失,如果是,则执行步骤31、请求发送方重新发送关键帧;
其中,可以查看解码器的解码结果,来确定关键帧是否丢失。
步骤32、发送方接收到重发请求后,判断两次重发间隔是否超过指定阈值,如果两次重发间隔大于指定阈值,则执行步骤33、启动重发,然后执行步骤35;如果两次重发间隔小于指定阈值,则执行步骤34、启动关键帧重发计时器,在关键帧重发定时器到时后触发一次关键帧重发,然后执行步骤35;
步骤35、发送方在重发完成后,更新最后一次重发时间。
现有技术中,接收方发现关键帧丢失后,就请求发送方重新发送关键帧,发送方在接收到该请求后,立即重新产生一个关键帧,发送给对方。因此,本发明关键帧重发延迟机制,降低了频繁重发带来的网络拥塞问题。
优选地,本发明在媒体流传输过程中,第一IP电话终端或者第二P电话终端都可以进行动态编码速率调整,进一步提高媒体流质量。
根据RTCP协议,通话双方都会定期向对方发送RTCP报告,例如,第一IP电话终端向第二IP电话终端发送的RTCP报告中包含了第一IP电话终端预定时间内实际接收的数据包数量,是根据第一IP电话终端接收对端发送的编码帧计算得到。第二IP电话终端向第一IP电话终端发送的RTCP报告中包含了第二IP电话终端预定时间内实际接收的数据包数量,是根据第二IP电话终端接收对端发送的编码帧计算得到。
因此,本发明动态编码速率调整的方法,包括以下步骤:
步骤41、在发送编码帧过程中,第一IP电话终端/第二P电话终端实时计算丢包率;
其中,第一IP电话终端计算丢包率的公式与前述步骤S1中第一IP电话终端的丢包率公式相同。第二IP电话终端计算丢包率的公式与前述步骤SS1中第二IP电话终端的丢包率公式相同。
步骤42、第一IP电话终端/第二P电话终端根据自身预设的丢包率阈值,判断所述丢包率是否超过预设阈值,如果超过,则启动编码速率调整过程。
其中,编码速率调整过程,与前述相同,同样是降低编码速率,直至丢包率不高于预设阈值。具体可以通过调整编码的量化参数的方式,调整编码速率。
本发明实施例IP电话终端通信方法,会带来如下好处:
一、本发明实施例在媒体流传输之前,IP电话终端自动进行码率探测,在确保丢包率较小,编码速率较高的基础上,探测到一个合适的编码速率,使得双方通讯时的媒体流质量大大提高。而且,与现有技术相比,可以更加快速、准确地探测到一个合适的编码速率。
二、在接收方接收到正确的关键帧后才开始解码显示,延迟显示消除了显示之初开始可能的马赛克画面。
三、关键帧重发延迟机制,降低了频繁重发带来的网络拥塞问题。
四、结合服务质量(QoS)反馈进行动态码率调整机制,进一步提高了媒体流质量。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种IP电话终端通信方法,该方法包括:
第一IP电话终端向第二IP电话终端发送携带有自身码率探测端口号以及自身所支持码率的呼叫请求消息;
第二IP电话终端在接收到呼叫请求消息后,携带自身码率探测端口号以及自身所支持码率,向第一IP电话终端发送呼叫请求临时应答消息;
第一IP电话终端和第二IP电话终端按照对端所支持的码率,分别向对端码率探测端口发送码流,探测对端实际可支持码率,并将对端实际可支持码率设置为本地码率;以使第一IP电话终端和第二IP电话终端分别以各自设置的本地码率发送编码帧;
其中,在发送编码帧过程中,该方法进一步包括:
第一IP电话终端/第二IP电话终端实时计算丢包率;
第一IP电话终端/第二IP电话终端根据自身预设的丢包率阈值,判断所述丢包率是否超过预设阈值,如果超过,则启动编码速率调整过程。
2.如权利要求1所述的方法,其特征在于,第一IP电话终端按照对端所支持的码率,向对端码率探测端口发送码流,探测对端实际可支持码率,并将对端实际可支持码率设置为本地码率的方法包括:
第一IP电话终端根据公式:第一IP电话终端的丢包率=(第一IP电话终端预定时间内实际发送的数据包-第二IP电话终端预定时间内实际接收的数据包)/第一IP电话终端预定时间内实际发送的数据包,实时计算得到第一IP电话终端的丢包率;
第一IP电话终端根据自身预设的丢包率阈值,判断丢包率是否超过预设阈值,如果超过,则降低第一IP电话终端的发送码率,重新计算丢包率,直至第一IP电话终端的丢包率不高于预设阈值,将调整后的第一IP电话终端的发送码率设置为本地码率,同时作为探测到的对端实际可支持码率。
3.如权利要求2所述的方法,其特征在于,
所述第一IP电话终端预定时间内实际发送的数据包是第一IP电话终端根据第一IP电话终端向对端发送的码流计算得到;
所述第二IP电话终端预定时间内实际接收的数据包是第二IP电话终端根据第二IP电话终端接收对端发送的码流计算得到,并通过RTCP报告实时反馈给第一IP电话终端。
4.如权利要求1所述的方法,其特征在于,第二IP电话终端按照对端所支持的码率,向对端码率探测端口发送码流,探测对端实际可支持码率,并将对端实际可支持码率设置为本地码率的方法包括:
第二IP电话终端根据公式:第二IP电话终端的丢包率=(第二IP电话终端预定时间内实际发送的数据包-第一IP电话终端预定时间内实际接收的数据包)/第二IP电话终端预定时间内实际发送的数据包,实时计算得到第二IP电话终端的丢包率;
第二IP电话终端根据自身预设的丢包率阈值,判断丢包率是否超过预设阈值,如果超过,则降低第二IP电话终端的发送码率,重新计算丢包率,直至第二IP电话终端的丢包率不高于预设阈值,将调整后的第二IP电话终端的发送码率设置为本地码率,同时作为探测到的对端实际可支持码率。
5.如权利要求4所述的方法,其特征在于,
所述第二IP电话终端预定时间内实际发送的数据包是第二IP电话终端根据第二IP电话终端向对端发送的码流计算得到;
所述第一IP电话终端预定时间内实际接收的数据包是第一IP电话终端根据第一IP电话终端接收对端发送的码流计算得到,并通过RTCP报告实时反馈给第二IP电话终端。
6.如权利要求1所述的方法,其特征在于,所述第一IP电话终端和第二IP电话终端互为发送方和接收方;该方法进一步包括:
接收方接收到编码帧时,对编码帧进行解码后判断该编码帧是否为正确的关键帧,如果是,则将该正确的关键帧进行显示;如果否,则将该编码帧丢弃。
7.如权利要求1所述的方法,其特征在于,所述第一IP电话终端和第二IP电话终端互为发送方和接收方;该方法进一步包括:
接收方接收到编码帧时,对编码帧进行解码后确认关键帧是否丢失,如果是,则请求发送方重新发送关键帧;
发送方接收到重发请求后,判断两次重发间隔是否超过指定阈值,如果两次重发间隔大于指定阈值,则启动重发,在重发完成后,更新最后一次重发时间;如果两次重发间隔小于指定阈值,则启动关键帧重发计时器,在关键帧重发定时器到时后触发一次关键帧重发,在重发完成后,更新最后一次重发时间。
8.如权利要求1所述的方法,其特征在于,通过调整编码的量化参数的方式,调整编码速率。
9.一种IP电话终端通信方的装置,其特征在于,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610118062.1A CN107154913B (zh) | 2016-03-02 | 2016-03-02 | 一种ip电话终端通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610118062.1A CN107154913B (zh) | 2016-03-02 | 2016-03-02 | 一种ip电话终端通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107154913A CN107154913A (zh) | 2017-09-12 |
CN107154913B true CN107154913B (zh) | 2021-01-26 |
Family
ID=59792046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610118062.1A Active CN107154913B (zh) | 2016-03-02 | 2016-03-02 | 一种ip电话终端通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107154913B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7773517B2 (en) * | 2004-11-19 | 2010-08-10 | Research In Motion Limited | Method and system for identifying degradation of a media service |
CN100588249C (zh) * | 2006-07-27 | 2010-02-03 | 腾讯科技(深圳)有限公司 | 调节视频质量的方法、系统及终端 |
CN100525504C (zh) * | 2007-04-03 | 2009-08-05 | 中国科学院计算技术研究所 | 多种无线网络融合环境中的多媒体会话服务质量管理方法 |
CN101119338B (zh) * | 2007-09-20 | 2010-07-07 | 腾讯科技(深圳)有限公司 | 网络语音通信方法、系统、装置和即时通信终端 |
CN100591124C (zh) * | 2007-12-26 | 2010-02-17 | 广东威创视讯科技股份有限公司 | 视频编码的码率控制方法及视频数据的发射设备 |
CN101227482B (zh) * | 2008-02-02 | 2011-11-30 | 中兴通讯股份有限公司 | 一种网络电话通话中媒体协商方法、装置及系统 |
US9609040B2 (en) * | 2014-02-21 | 2017-03-28 | Dialogic Corporation | Efficient bitrate adaptation in video communications over IP networks |
-
2016
- 2016-03-02 CN CN201610118062.1A patent/CN107154913B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107154913A (zh) | 2017-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10819766B2 (en) | Voice encoding and sending method and apparatus | |
CN107196746B (zh) | 实时通信中的抗丢包方法、装置和系统 | |
US10218761B2 (en) | Method and device for adjusting bit rate in video calling based on voice over long-term evolution and video over long-term evolution, and mobile terminal | |
KR100608821B1 (ko) | 휴대단말기의 왕복지연시간 측정장치 및 방법 | |
US8964115B2 (en) | Transmission capacity probing using adaptive redundancy adjustment | |
EP3335341B1 (en) | Sender side video telephony downgrade method | |
EP2312787A1 (en) | Method and device of data transmission | |
RU2009116472A (ru) | Динамическая модификация свойств видео | |
US9674737B2 (en) | Selective rate-adaptation in video telephony | |
CN110996103A (zh) | 一种根据网络情况对视频编码码率进行调节的方法 | |
US9398253B2 (en) | Video pause indication in video telephony | |
CN103632671A (zh) | 数据编解码方法、装置及数据通信系统 | |
US9398256B2 (en) | Telecommunication end-point device data transmission controller | |
CN101931799A (zh) | 一种视频码流的平滑方法及装置 | |
US9538132B2 (en) | Methods, devices, and systems for controlling audio and video transmission | |
CN107770473B (zh) | 一种音视频数据传输控制方法和装置 | |
CN106230553A (zh) | 数据传输方法及接收方法、数据发送终端及接收终端 | |
CN115378832B (zh) | 拥塞检测方法、装置及流媒体传输系统、电子设备和介质 | |
CN107154913B (zh) | 一种ip电话终端通信方法 | |
CN107404363B (zh) | 一种语音码率的调整方法、系统、终端和网络侧设备 | |
Ma et al. | Early packet loss feedback for webrtc-based mobile video telephony over Wi-Fi | |
CN115102927B (zh) | 一种保持视频清晰的sip对讲方法、系统、存储装置 | |
WO2012058913A1 (zh) | 一种实现可视电话的方法及装置 | |
WO2014087764A1 (ja) | 端末および通信システム | |
US20140195224A1 (en) | Method and device for identifying and obtaining ambe encoding and decoding rate information in sdp |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |