一种IP电话终端通信方法与流程

文档序号:11236722阅读:999来源:国知局

本发明涉及计算机网络技术领域,特别涉及一种ip电话终端通信方法。



背景技术:

在互联网应用日益普及,接入带宽日益提高的大背景下,各种各样基于互联网的实时通讯方式层出不穷。在这些方式当中,与呼叫中心结合最紧密的一种方式是ip电话。

ip电话使用sip协议传输信令,使用rtp协议进行媒体流传输。

现有技术中ip电话终端的发送方和接收方在完成sip信令交互后,双方开始进行媒体流传输,以固定的码率发送媒体流,如果丢包率较大时,采用手动的方式进行码率的更改。这种方式得到的媒体流质量不高。



技术实现要素:

本发明的目的在于提供一种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)反馈进行动态码率调整机制,进一步提高了媒体流质量。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1