CN104917736A - 一种会话建立方法、终端及系统 - Google Patents
一种会话建立方法、终端及系统 Download PDFInfo
- Publication number
- CN104917736A CN104917736A CN201410096065.0A CN201410096065A CN104917736A CN 104917736 A CN104917736 A CN 104917736A CN 201410096065 A CN201410096065 A CN 201410096065A CN 104917736 A CN104917736 A CN 104917736A
- Authority
- CN
- China
- Prior art keywords
- terminal
- media description
- description information
- mates
- media
- 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.)
- Granted
Links
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/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种会话建立方法、终端及系统,其中所述会话建立方法包括:第二终端接收第一终端发送的呼叫请求信息,呼叫请求信息携带第一终端的媒体描述信息;第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息是否非对称匹配;若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,则向第一终端发送第二终端的媒体描述信息,以使第一终端根据第二终端的媒体描述信息与第二终端之间建立媒体流会话。采用本发明实施例,可实现两个终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种会话建立方法、终端及系统。
背景技术
终端支持的编解码技术依赖于硬件编解码模块和软件编解码模块,有些终端偏向于解码,例如播放器;有些终端偏向于编码,例如媒体捕获器,则不同终端之间的编解码能力会有差异。
例如第一终端支持H.264解码技术和VP8编码技术,则第一终端支持非对称编解码技术,第二终端支持H.264编解码技术和VP8解码能力,则第二终端可以支持非对称编解码技术或者对称编解码技术。第一终端与第二终端之间建立会话时,若第一终端支持非对称编解码技术,第二终端仅支持对称编解码技术,则第一终端无法向后兼容第二终端,导致第一终端和第二终端的编解码技术的匹配失败,进而会话建立失败;若第一终端和第二终端都支持非对称编解码技术,则第一终端和第二终端可以分别通过SDP(Session Description Protocol,会话描述协议)中的sendonly属性仅发送但不接收媒体流,recvonly属性仅接收但不发送媒体流,即第一终端通过发送通道sendonly属性发送VP8编码技术的媒体流,通过接收通道recvonly属性接收H.264解码技术的媒体流,第二终端通过接收通道recvonly属性接收VP8解码技术的媒体流,通过发送通道sendonly属性发送H.264编码技术的媒体流,实现非对称编解码技术的匹配,以成功建立第一终端和第二终端之间的会话,现有技术中第一终端和第二终端发送媒体流和接收媒体流的端口不相同,是单向通道,造成端口资源浪费。
发明内容
本发明实施例提供一种会话建立方法、终端及系统,可实现两个终端之间建立会话,提升资源利用率。
为了解决上述技术问题,本发明第一方面提供了一种会话建立方法,所述方法包括:
第二终端接收第一终端发送的呼叫请求信息,所述呼叫请求信息携带所述第一终端的媒体描述信息,所述第一终端的媒体描述信息用于描述所述第一终端支持的编码技术和解码技术;
所述第二终端判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息是否非对称匹配;
若所述第二终端判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息非对称匹配,则根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息,以使所述第一终端根据所述第二终端发送的所述第二终端的媒体描述信息与所述第二终端之间建立媒体流会话。
在第一种可能的实现方式中,所述媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
结合第一方面可能的实现方式,在第二种可能的实现方式中,所述第二终端判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息是否非对称匹配包括;
所述第二终端判断是否存在所述第一终端的媒体描述信息中的至少一种编码技术与所述第二终端的媒体描述信息中的至少一种解码技术匹配;
所述第二终端判断是否存在所述第一终端的媒体描述信息中的至少一种解码技术与所述第二终端的媒体描述信息中的至少一种编码技术匹配;
若所述第二终端判断所述第一终端的媒体描述信息中的至少一种编码技术与所述第二终端的媒体描述信息中的至少一种解码技术匹配,且所述第一终端的媒体描述信息中的至少一种解码技术与所述第二终端的媒体描述信息中的至少一种编码技术匹配,则判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息非对称匹配,其中与所述第一终端的媒体描述信息匹配的第二终端的至少一种编码技术和与所述第一终端的媒体描述信息匹配的第二终端的至少一种解码技术是非对称的。
结合第一方面可能的实现方式,在第三种可能的实现方式中,所述第二终端根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息包括;
所述第二终端向所述第一终端发送所述第二终端的所有媒体描述信息;或
所述第二终端向所述第一终端发送所述第二终端的第一媒体描述信息,所述第一媒体描述信息用于描述所述第二终端的所有媒体描述信息中与所述第一终端的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术。
结合第一方面可能的实现方式,在第四种可能的实现方式中,所述第二终端根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息包括;
若所述第二终端判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息非对称匹配,则根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息,以使所述第一终端判断所述第二终端发送的所述第二终端的媒体描述信息与所述第一终端的媒体描述信息是否非对称匹配,若所述第一终端判断所述第二终端发送的所述第二终端的媒体描述信息与所述第一终端的媒体描述信息非对称匹配,则与所述第二终端之间建立媒体流会话。
本发明第二方面提供了一种终端,所述终端包括:
呼叫请求接收单元,用于接收第一终端发送的呼叫请求信息,所述呼叫请求信息携带所述第一终端的媒体描述信息,所述第一终端的媒体描述信息用于描述所述第一终端支持的编码技术和解码技术;
判断单元,用于判断所述呼叫请求接收单元接收到的所述第一终端的媒体描述信息与自身的媒体描述信息是否非对称匹配;
媒体描述发送单元,用于当所述判断单元判断所述第一终端的媒体描述信息与所述自身的媒体描述信息非对称匹配时,根据所述第一终端的媒体描述信息与所述自身的媒体描述信息的匹配结果向所述第一终端发送所述自身的媒体描述信息,以使所述第一终端根据所述自身的媒体描述信息与自身之间建立媒体流会话。
在第一种可能的实现方式中,所述媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
结合第二方面可能的实现方式,在第二种可能的实现方式中,所述判断单元包括;
编码能力判断模块,用于判断是否存在所述第一终端的媒体描述信息中的至少一种编码技术与所述自身的媒体描述信息中的至少一种解码技术匹配;
解码能力判断模块,用于判断是否存在所述第一终端的媒体描述信息中的至少一种解码技术与所述自身的媒体描述信息中的至少一种编码技术匹配;
媒体描述判断模块,用于当所述编码能力判断模块判断所述第一终端的媒体描述信息中的至少一种编码技术与所述自身的媒体描述信息中的至少一种解码技术匹配,且所述解码能力判断模块判断所述第一终端的媒体描述信息中的至少一种解码技术与所述自身的媒体描述信息中的至少一种编码技术匹配时,判断所述第一终端的媒体描述信息与所述自身的媒体描述信息非对称匹配,其中与所述第一终端的媒体描述信息匹配的自身的至少一种编码技术和与所述第一终端的媒体描述信息匹配的自身的至少一种解码技术是非对称的。
结合第二方面可能的实现方式,在第三种可能的实现方式中,所述媒体描述发送单元用于:
向所述第一终端发送所述自身的所有媒体描述信息;或
所述媒体描述发送单元,用于向所述第一终端发送所述自身的第一媒体描述信息,所述第一媒体描述信息用于描述所述自身的所有媒体描述信息中与所述第一终端的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术。
结合第二方面可能的实现方式,在第四种可能的实现方式中,所述媒体描述发送单元,还用于当所述判断单元判断所述第一终端的媒体描述信息与所述自身的媒体描述信息非对称匹配时,根据所述第一终端的媒体描述信息与所述自身的媒体描述信息的匹配结果向所述第一终端发送所述自身的媒体描述信息,以使所述第一终端判断所述自身的媒体描述信息与所述第一终端的媒体描述信息是否非对称匹配,若所述第一终端判断所述自身的媒体描述信息与所述第一终端的媒体描述信息非对称匹配,则与自身之间建立媒体流会话。
本发明第三方面提供一种会话建立系统,所述系统包括第一终端和第二终端,其中:
所述第一终端,用于向所述第二终端发送呼叫请求信息,所述呼叫请求信息携带所述第一终端的媒体描述信息;接收所述第二终端返回的所述第二终端的媒体描述信息;根据所述接收到的所述第二终端的媒体描述信息与所述第二终端之间建立媒体流会话;
所述第二终端,用于接收所述第一终端发送的呼叫请求信息;判断所述接收到的所述第一终端的媒体描述信息与所述第二终端的媒体描述信息是否非对称匹配;若判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息非对称匹配,则根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息。
实施本发明实施例,第二终端接收第一终端发送的呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息,判断第一终端的媒体描述信息与第二终端的媒体描述信息是否非对称匹配,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,则向第一终端发送第二终端的媒体描述信息,以使第一终端根据第二终端的媒体描述信息与第二终端之间建立媒体流会话,可实现两个终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例中提供的一种会话建立方法的流程示意图;
图2是本发明第二实施例中提供的一种会话建立方法的流程示意图;
图3是本发明第三实施例中提供的一种会话建立方法的流程示意图;
图4是本发明第一实施例中提供的一种终端的结构示意图;
图5是本发明第一实施例中图4的判断单元的结构示意图;
图6是本发明第二实施例中提供的一种终端的结构示意图;
图7是本发明实施例中提供的一种会话建立系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的会话建立方法可以在第二终端中实现接收第一终端发送的呼叫请求信息,其中该呼叫请求信息携带第一终端的媒体描述信息,该媒体描述信息用于描述第一终端支持的编码技术和解码技术,判断第一终端的媒体描述信息和第二终端的媒体描述信息是否非对称匹配,若第一终端的媒体描述信息和第二终端的媒体描述信息非对称匹配,则向第一终端发送第二终端的媒体描述信息,以使第一终端与第二终端之间建立媒体流会话,可实现两个终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。本发明实施例中所提及的终端可以包括智能手机(如Android手机或iOS手机等)、平板电脑、掌上电脑、移动互联网设备(Mobile InternetDevices,MID)或穿戴式智能设备等,其中第一终端支持非对称编解码技术,第二终端可以支持对称编解码技术,也可以支持非对称编解码技术。
请参见图1,图1是本发明第一实施例中提供的一种会话建立方法的流程示意图,本实施例中的会话建立方法是从第二终端的角度进行描述的,其中第一终端支持非对称编解码技术,第二终端支持非对称编解码技术,如图所示,所述会话建立方法可以包括:
步骤S101,接收第一终端发送的呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息。
第二终端可以接收第一终端发送的呼叫请求信息,其中该呼叫请求信息携带第一终端的媒体描述信息,该媒体描述信息用于描述第一终端支持的编码技术和解码技术。
其中,媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
a=rtpmap:32VP8/90000[EDcode]
a=rtpmap:31H264/90000[Encode]
示例性的第一终端的媒体描述信息可以如上所示,是通过会话描述协议中的rtpmap属性进行描述的,“a=rtpmap:32VP8/90000[EDcode]”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpmap:31H264/90000[Encode]”用于描述第一终端支持H.264编码技术。
作为一种可选的实施方式,示例性的第一终端的媒体描述信息还可以如下所示:
a=rtpmap:32VP8/90000
a=rtpsend:31H264/90000
其中,所述第一终端的媒体描述信息是通过会话描述协议中的自定义媒体属性进行描述的,“a=rtpmap:32VP8/90000”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpsend:31H264/90000”用于描述第一终端支持H.264编码技术。
步骤S102,判断第一终端的媒体描述信息与第二终端的媒体描述信息是否非对称匹配。
第二终端接收到第一终端的媒体描述信息后,可以判断第一终端的媒体描述信息与第二终端的媒体描述信息是否非对称匹配,具体的,第二终端可以判断是否存在第一终端的媒体描述信息中的至少一种编码技术与第二终端的媒体描述信息中的至少一种解码技术匹配,并判断是否存在第一终端的媒体描述信息中的至少一种解码技术与第二终端的媒体描述信息中的至少一种编码技术匹配,若第二终端判断第一终端的媒体描述信息中的至少一种编码技术与第二终端的媒体描述信息中的至少一种解码技术匹配,且第一终端的媒体描述信息中的至少一种解码技术与第二终端的媒体描述信息中的至少一种编码技术匹配,则判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,其中与所述第一终端的媒体描述信息匹配的第二终端的至少一种编码技术和与所述第一终端的媒体描述信息匹配的第二终端的至少一种解码技术是非对称的。
例如,第二终端支持H.264编码、H.264解码技术以及VP8编码技术,第二终端根据第一终端的媒体描述信息知悉第一终端支持H.264编码技术和VP8解码技术,则第二终端可以判断是否存在第一终端支持的至少一种编码技术与第二终端支持的至少一种解码技术匹配,并判断是否存在第一终端支持的至少一种解码技术与第二终端支持的至少一种编码技术匹配,若第二终端判断第一终端支持的H.264编码技术与第二终端支持的H.264解码技术匹配,且第一终端支持的VP8解码技术与第二终端支持的VP8编码技术匹配,则判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配。
作为一种可选的实施方式,第二终端可以根据第一终端支持的编码技术和解码技术的优先级,判断是否存在第一终端的媒体描述信息中优先级最高的编码技术与第二终端的媒体描述信息中的一种解码技术匹配,并判断是否存在第一终端的媒体描述信息中优先级最高的解码技术与第二终端的媒体描述信息中的一种编码技术匹配,若第二终端判断第一终端的媒体描述信息中优先级最高的编码技术与第二终端的媒体描述信息中的一种解码技术匹配,并判断第一终端的媒体描述信息中优先级最高的解码技术与第二终端的媒体描述信息中的一种编码技术匹配,则第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配。
步骤S103,若判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,则向第一终端发送第二终端的媒体描述信息,以使第一终端根据第二终端的媒体描述信息与第二终端之间建立媒体流会话。
若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,则根据第一终端的媒体描述信息与第二终端的媒体描述信息的匹配结果向第一终端发送第二终端的媒体描述信息,以使第一终端根据第二终端发送的第二终端的媒体描述信息与第二终端之间建立媒体流会话。可选的,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息不匹配,则向第一终端发送匹配失败信息,该匹配失败信息用于指示第二终端与第一终端之间的媒体流会话建立失败。
具体实现中,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,则根据第一终端的媒体描述信息与第二终端的媒体描述信息的匹配结果向第一终端发送第二终端的媒体描述信息,以使第一终端判断第二终端发送的第二终端的媒体描述信息与第一终端的媒体描述信息是否非对称匹配,当第二终端发送的第二终端的媒体描述信息与第一终端的媒体描述信息非对称匹配时,第一终端与第二终端之间建立媒体流会话。
其中第二终端向第一终端发送的第二终端的媒体描述信息可以是第二终端的所有媒体描述信息,也可以是第二终端的第一媒体描述信息,该第一媒体描述信息用于描述第二终端的所有媒体描述信息中与第一终端的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术,例如第二终端判断第一终端支持的H.264编码技术与第二终端支持的H.264解码技术匹配,且第一终端支持的VP8解码技术与第二终端支持的VP8编码技术匹配,则第二终端发送的第二终端的媒体描述信息可以是H.264编码、H.264解码技术以及VP8编码技术,也可以是与第一终端的媒体描述信息非对称匹配的H.264解码技术和VP8编码技术。
在图1所示的会话建立方法中,第二终端接收第一终端发送的呼叫请求信息,呼叫请求信息携带第一终端的媒体描述信息,判断第一终端的媒体描述信息与第二终端的媒体描述信息是否非对称匹配,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,则向第一终端发送第二终端的媒体描述信息,以使第一终端根据第二终端的媒体描述信息与第二终端之间建立媒体流会话,可实现支持非对称编解码技术的第一终端和支持非对称编解码技术的第二终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。
请参见图2,图2是本发明第二实施例中提供的一种会话建立方法的流程示意图,本实施例中的会话建立方法是从第一终端的角度进行描述的,其中第一终端支持非对称编解码技术,如图所示,所述会话建立方法可以包括:
步骤S201,向第二终端发送呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息,以使第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息是否非对称匹配,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,则返回第二终端的媒体描述信息。
第一终端向第二终端发送呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息,该媒体描述信息用于描述第一终端支持的编码技术和解码技术,以使第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息是否非对称匹配,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,其中与所述第一终端的媒体描述信息匹配的第二终端的至少一种编码技术和与所述第一终端的媒体描述信息匹配的第二终端的至少一种解码技术是非对称的,则根据第一终端的媒体描述信息与第二终端的媒体描述信息的匹配结果返回第二终端的媒体描述信息。可选的,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息不匹配,则返回匹配失败信息,该匹配失败信息用于指示第二终端与第一终端之间的媒体流会话建立失败,进一步的第一终端接收第二终端返回的匹配失败信息。
其中,媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
a=rtpmap:32VP8/90000[EDcode]
a=rtpmap:31H264/90000[Encode]
示例性的第一终端的媒体描述信息可以如上所示,是通过会话描述协议中的rtpmap属性进行描述的,“a=rtpmap:32VP8/90000[EDcode]”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpmap:31H264/90000[Encode]”用于描述第一终端支持H.264编码技术。
作为一种可选的实施方式,示例性的第一终端的媒体描述信息还可以如下所示:
a=rtpmap:32VP8/90000
a=rtpsend:31H264/90000
其中,所述第一终端的媒体描述信息是通过会话描述协议中的自定义媒体属性进行描述的,“a=rtpmap:32VP8/90000”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpsend:31H264/90000”用于描述第一终端支持H.264编码技术。
当第二终端仅支持对称编解码技术时,第一终端向第二终端发送呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息,以使第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息是否对称匹配,其中,在会话建立过程中,支持非对称编解码技术的第一终端使用的系统协议与仅支持对称编解码技术的第二终端使用的系统协议不一致,则第二终端无法识别第一终端发送的第一终端的媒体描述信息中的编码技术标识和/或解码技术标识,例如第二终端无法识别“a=rtpmap:31H264/90000[Encode]”中的标识“Encode”,其中该标识“Encode”用于指示第一终端支持H.264编码技术,第二终端接收到第一终端的媒体描述信息后,可以将第一终端识别为支持H.264编码技术和H.264解码技术。若第二终端支持H.264编码技术、H.264解码技术以及VP8编码技术,则第二终端判断第一终端的媒体描述信息中的H.264编码技术与第二终端的媒体描述信息中的H.264编码技术和H.264解码技术匹配。
步骤S202,接收第二终端返回的第二终端的媒体描述信息。
第一终端接收第二终端根据第一终端的媒体描述信息与第二终端的媒体描述信息的匹配结果返回的第二终端的媒体描述信息。
其中第二终端支持非对称编解码技术时,第一终端可以接收第二终端返回的第二终端的所有媒体描述信息,或者接收第二终端返回的第二终端的第一媒体描述信息,该第一媒体描述信息用于描述所述第二终端的所有媒体描述信息中与所述第一终端的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术。可选的,第二终端仅支持对称编解码技术时,第一终端可以接收第二终端返回的第二终端的第一媒体描述信息。
第一终端接收到第二终端的媒体描述信息后,可以判断第二终端的媒体描述信息与第一终端的媒体描述信息是否非对称匹配,若第一终端判断第二终端的媒体描述信息与第一终端的媒体描述信息非对称匹配,则触发与第二终端之间建立媒体流会话。
具体实现中,第一终端可以判断是否存在第二终端的媒体描述信息中的至少一种编码技术与第一终端的媒体描述信息中的至少一种解码技术匹配,并判断是否存在第二终端的媒体描述信息中的至少一种解码技术与第一终端的媒体描述信息中的至少一种编码技术匹配,若第一终端判断存在第二终端的媒体描述信息中的至少一种编码技术与第一终端的媒体描述信息中的至少一种解码技术匹配,且存在第二终端的媒体描述信息中的至少一种解码技术与第一终端的媒体描述信息中的至少一种编码技术匹配,则判断接收到的所述第二终端的媒体描述信息与所述第一终端的媒体描述信息非对称匹配,其中与第一终端的媒体描述信息匹配的第二终端的至少一种编码技术和与第一终端的媒体描述信息匹配的第二终端的至少一种解码技术是非对称的。
可选的,当第二终端仅支持对称编解码技术时,若第一终端判断第二终端的媒体描述信息与第一终端的媒体描述信息不匹配,则向第二终端发送第一终端的所有媒体描述信息中与第二终端的第一媒体描述信息不匹配的第一终端的媒体描述信息以外的其他媒体描述信息,以使第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息是否对称匹配。若第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息对称匹配,则返回第二终端的第二媒体描述信息,该第二媒体描述信息用于描述第二终端的所有媒体描述信息中与第一终端的其他媒体描述信息对称匹配的至少一种编码技术和至少一种解码技术,第一终端接收第二终端返回的第二终端的第二媒体描述信息,并根据接收到的第二终端的第二媒体描述信息与第二终端之间建立媒体流会话。进一步可选的,若第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息不匹配,则返回所述匹配失败信息,第一终端接收第二终端返回的匹配失败信息,则第一终端与第二终端之间的媒体流会话建立失败。
例如,第一终端支持VP8编码技术、VP8解码技术以及H.264编码技术,第二终端支持H.264编码技术、H.264解码技术以及VP8编码技术,其中第二终端仅支持对称编解码技术,第一终端向第二终端发送第一终端的媒体描述信息,以使第二终端将第一终端识别为支持VP8编码技术和VP8解码技术以及H.264编码技术和H.264解码技术,则第二终端判断第一终端的媒体描述信息中的H.264编码技术和第二终端的媒体描述信息中的H.264编码技术和H.264解码技术匹配,返回第二终端的第一媒体描述信息,该第一媒体描述信息用于描述第二终端支持的H.264编码技术和H.264解码技术,第一终端接收到第二终端的第一媒体描述信息后,第一终端判断第二终端的第一媒体描述信息与第一终端的媒体描述信息中的H.264编码技术不匹配,则向第二终端发送其他媒体描述信息,所述其他媒体描述信息用于描述第一终端支持的VP8编码技术和VP8解码技术,以使第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息不匹配,并返回匹配失败信息,第一终端接收第二终端返回的匹配失败信息,本实施例中支持非对称编解码技术的第一终端可以向后兼容,实现与仅支持对称编解码技术的第二终端之间建立媒体流会话,提升资源利用率。
作为一种可选的实施方式,第一终端接收到的第二终端的第一媒体描述信息可以是第二终端判断与第一终端的媒体描述信息中的编码技术和解码技术分别非对称匹配的一种解码技术和一种编码技术,也可以是第二终端判断与第一终端的媒体描述信息中的所有编码技术和所有解码技术分别非对称匹配的多种解码技术和多种编码技术。若第一终端接收到的第二终端的第一媒体描述信息是第二终端判断与第一终端的媒体描述信息中的所有编码技术和所有解码技术分别非对称匹配的多种解码技术和多种编码技术,第一终端判断第二终端的第一媒体描述信息中的一种编码技术与第一终端的媒体描述信息中的一种解码技术匹配,且第二终端的第一媒体描述信息中的一种解码技术与第一终端的媒体描述信息中的一种编码技术匹配时,则第一终端判断第二终端的第一媒体描述信息与第一终端的媒体描述信息非对称匹配,触发与第二终端之间建立媒体流会话;第一终端判断第二终端的第一媒体描述信息中的所有编码技术与第一终端的媒体描述信息中的所有解码技术都不匹配,或第二终端的第一媒体描述信息中的所有解码技术与第一终端的媒体描述信息中的所有编码技术都不匹配时,则第一终端判断第二终端的第一媒体描述信息与第一终端的媒体描述信息不匹配,并向第二终端发送第一终端的所有媒体描述信息中与第二终端的第一媒体描述信息不匹配的第一终端的媒体描述信息以外的其他媒体描述信息,以使第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息不匹配,并返回匹配失败信息。进一步可选的,第一终端判断第二终端的第一媒体描述信息和第一终端的媒体描述信息不匹配,且不存在与第二终端的第一媒体描述信息不匹配的第一终端的媒体描述信息以外的其他媒体描述信息时,则向第二终端发送信息体为空的媒体描述信息,以使第二终端返回匹配失败信息。
步骤S203,根据接收到的第二终端的媒体描述信息与第二终端之间建立媒体流会话。
第一终端可以根据接收到的第二终端的媒体描述信息与第二终端之间建立媒体流会话,以便第一终端和第二终端通过所述媒体流会话通道传输媒体流。
在图2所示的会话建立方法中,第一终端向第二终端发送呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息,以使第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息是否非对称匹配,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配,则返回第二终端的媒体描述信息,第一终端接收第二终端返回的述第二终端的媒体描述信息,并与第二终端之间建立媒体流会话,可实现两个终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。
请参见图3,图3是本发明第三实施例中提供的一种会话建立方法的流程示意图,本实施例中的第一终端支持非对称编解码技术,第二终端仅支持对称编解码技术,如图所示本实施例中的会话建立方法可以包括:
步骤S301,第一终端向第二终端发送呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息。
第一终端可以向第二终端发送呼叫请求信息,其中该呼叫请求信息携带第一终端的媒体描述信息,该媒体描述信息用于描述第一终端支持的编码技术和解码技术。
其中,媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
a=rtpmap:32VP8/90000[EDcode]
a=rtpmap:31H264/90000[Encode]
示例性的第一终端的媒体描述信息可以如上所示,是通过会话描述协议中的rtpmap属性进行描述的,“a=rtpmap:32VP8/90000[EDcode]”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpmap:31H264/90000[Encode]”用于描述第一终端支持H.264编码技术。
作为一种可选的实施方式,示例性的第一终端的媒体描述信息还可以如下所示:
a=rtpmap:32VP8/90000
a=rtpsend:31H264/90000
其中,所述第一终端的媒体描述信息是通过会话描述协议中的自定义媒体属性进行描述的,“a=rtpmap:32VP8/90000”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpsend:31H264/90000”用于描述第一终端支持H.264编码技术。
步骤S302,第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息是否对称匹配。
第二终端接收到第一终端的媒体描述信息后,可以判断第一终端的媒体描述信息与第二终端的媒体描述信息是否对称匹配,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息对称匹配,则进一步执行步骤S303;若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息不匹配,则向第一终端发送匹配失败信息,该匹配失败信息用于指示第一终端与第二终端之间的媒体流会话建立失败。
具体实现中,第二终端可以判断是否存在第一终端的媒体描述信息中的至少一种编码技术与第二终端的媒体描述信息中的至少一种解码技术匹配,并判断是否存在第一终端的媒体描述信息中的至少一种解码技术与第二终端的媒体描述信息中的至少一种编码技术匹配,若第二终端判断第一终端的媒体描述信息中的至少一种编码技术与第二终端的媒体描述信息中的至少一种解码技术匹配,且第一终端的媒体描述信息中的至少一种解码技术与第二终端的媒体描述信息中的至少一种编码技术匹配,则判断第一终端的媒体描述信息与第二终端的媒体描述信息对称匹配,其中与第一终端的媒体描述信息匹配的第二终端的至少一种编码技术和与第一终端的媒体描述信息匹配的第二终端的至少一种解码技术是对称的。
例如,第一终端支持VP8编码技术、VP8解码技术以及H.264编码技术,第二终端支持VP8编码技术和VP8解码技术,也支持H.264编码技术和H.264解码技术,其中H.264编码技术和H.264解码技术的优先级高于VP8编码技术和VP8解码技术,第二终端接收到第一终端的媒体描述信息后,根据第一终端的媒体描述信息将第一终端识别为支持VP8编码技术和VP8解码技术以及H.264编码技术和H.264解码技术,第二终端判断第一终端的媒体描述信息中的H.264编码技术与第二终端的媒体描述信息中的H.264编码技术和H.264解码技术匹配,则判断第一终端的媒体描述信息与第二终端的媒体描述信息对称匹配。
步骤S303,若第一终端的媒体描述信息与第二终端的媒体描述信息对称匹配,则返回第二终端的第一媒体描述信息。
若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息对称匹配,则返回第二终端的第一媒体描述信息,该第一媒体描述信息用于描述第二终端的所有媒体描述信息中与第一终端的媒体描述信息对称匹配的至少一种编码技术和至少一种解码技术。
例如,第二终端支持的H.264编码技术和H.264解码技术的优先级高于VP8编码技术和VP8解码技术,第二终端判断第一终端的媒体描述信息中的H.264编码技术与第二终端的媒体描述信息中的H.264编码技术和H.264解码技术匹配时,则判断第一终端的媒体描述信息与第二终端的媒体描述信息对称匹配,并返回第二终端的第一媒体描述信息,该第一媒体描述信息用于描述第二终端支持的H.264编码技术和H.264解码技术。
步骤S304,判断第二终端的第一媒体描述信息与第一终端的媒体描述信息是否对称匹配。
第一终端接收到第二终端的第一媒体描述信息后,可以判断第二终端的第一媒体描述信息与第一终端的媒体描述信息是否对称匹配,若第一终端判断第二终端的第一媒体描述信息与第一终端的媒体描述信息对称匹配,则直接执行步骤S309;若第一终端判断第二终端的第一媒体描述信息与第一终端的媒体描述信息不匹配,则进一步执行步骤S305。
例如,第一终端支持VP8编码技术、VP8解码技术以及H.264编码技术,第一终端接收到第二终端的第一媒体描述信息后,判断第二终端的第一媒体描述信息中的H.264编码技术和H.264解码技术与第一终端的媒体描述信息中的H.264编码技术不匹配,则判断第二终端的第一媒体描述信息与第一终端的媒体描述信息不匹配。
步骤S305,若第二终端的第一媒体描述信息与第一终端的媒体描述信息不匹配,则向第二终端发送第一终端的其他媒体描述信息。
若第一终端判断第二终端的第一媒体描述信息与第一终端的媒体描述信息不匹配,则向第二终端发送第一终端的所有媒体描述信息中与第二终端的第一媒体描述信息不匹配的第一终端的媒体描述信息以外的其他媒体描述信息。
例如,第一终端判断第二终端的第一媒体描述信息中的H.264编码技术和H.264解码技术与第一终端的媒体描述信息中的H.264编码技术不匹配,则向第二终端发送其他媒体描述信息,该其他媒体描述信息用于描述第一终端支持的VP8编码技术和VP8解码技术。
步骤S306,判断第一终端的其他媒体描述信息与第二终端的媒体描述信息是否对称匹配。
第二终端接收到第一终端的其他媒体描述信息后,可以判断第一终端的其他媒体描述信息与第二终端的媒体描述信息是否对称匹配,若第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息对称匹配,则进一步执行步骤S307;若第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息不匹配,则返回匹配失败信息。
例如,第二终端接收到第一终端的其他媒体描述信息,可以判断第一终端的其他媒体描述信息中的VP8编码技术与第二终端的媒体描述信息中的VP8解码技术匹配,且第一终端的其他媒体描述信息中的VP8解码技术与第二终端的媒体描述信息中的VP8编码技术匹配,则判断第一终端的其他媒体描述信息与第二终端的媒体描述信息对称匹配。
步骤S307,若第一终端的其他媒体描述信息与第二终端的媒体描述信息对称匹配,则返回第二终端的第二媒体描述信息。
若第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息对称匹配,则返回第二终端的第二媒体描述信息,该第二媒体描述信息用于描述第二终端的所有媒体描述信息中与第一终端的其他媒体描述信息对称匹配的至少一种编码技术和至少一种解码技术。
例如,第二终端判断第一终端的其他媒体描述信息中的VP8编码技术与第二终端的媒体描述信息中的VP8解码技术匹配,且第一终端的其他媒体描述信息中的VP8解码技术与第二终端的媒体描述信息中的VP8编码技术匹配,则向第一终端发送第二终端的第二媒体描述信息,该第二媒体描述信息用于描述第二终端支持的VP8编码技术和VP8解码技术。
步骤S308,判断第二终端的第二媒体描述信息与第一终端的媒体描述信息是否对称匹配。
第一终端接收到第二终端的第二媒体描述信息后,可以判断第二终端的第二媒体描述信息与第一终端的媒体描述信息是否对称匹配,若第一终端判断第二终端的第二媒体描述信息与第一终端的媒体描述信息对称匹配,则进一步执行步骤S309;若第一终端判断第二终端的第二媒体描述信息与第一终端的媒体描述信息不匹配,则向第二终端发送第一终端的其他媒体描述信息中与第二终端的第二媒体描述信息不匹配的第一终端的媒体描述信息以外的指定媒体描述信息,以使第二终端判断第一终端的指定媒体描述信息与第二终端的媒体描述信息是否对称匹配。可选的,若第一终端判断第二终端的第二媒体描述信息与第一终端的媒体描述信息不匹配,且第一终端的其他媒体描述信息中不存在与第二终端的第二媒体描述信息不匹配的第一终端的媒体描述信息以外的指定媒体描述信息时,则向第二终端发送信息体为空的媒体描述信息,以使第二终端返回匹配失败信息。
例如,第一终端接收到第二终端的第二媒体描述信息后,判断第二终端的第二媒体描述信息中的VP8编码技术与第一终端的媒体描述信息中的VP8解码技术匹配,且第二终端的第二媒体描述信息中的VP8解码技术与第一终端的媒体描述信息中的VP8编码技术匹配,则第一终端判断第二终端的第二媒体描述信息与第一终端的媒体描述信息对称匹配。
步骤S309,与第二终端之间建立媒体流会话。
若第一终端判断第二终端的第二媒体描述信息与第一终端的媒体描述信息对称匹配,则与第二终端之间建立媒体流会话。
在图3所示的会话建立方法中,第一终端向第二终端发送呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息,若第二终端判断第一终端的媒体描述信息与第二终端的媒体描述信息对称匹配,则返回第二终端的第一媒体描述信息,若第一终端判断第二终端的第一媒体描述信息与第一终端的媒体描述信息对称匹配,则向第二终端发送第一终端的其他媒体描述信息,若第二终端判断第一终端的其他媒体描述信息与第二终端的媒体描述信息对称匹配,则返回第二终端的第二媒体描述信息,若第一终端判断第二终端的第二媒体描述信息与第一终端的媒体描述信息对称匹配,则与第二终端之间建立媒体流会话,可实现支持非对称编解码能力的第一终端和仅支持对称编解码能力的第二终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。
请参见图4,图4是本发明第一实施例中提供的一种终端的结构示意图,所述终端可以包括智能手机、平板电脑、掌上电脑、移动互联网设备或穿戴式智能设备等,如图所示本实施例中的终端至少可以包括呼叫请求接收单元401、判断单元402以及媒体描述发送单元403,其中:
呼叫请求接收单元401,用于接收第一终端发送的呼叫请求信息,该呼叫请求信息携带第一终端的媒体描述信息,第一终端的媒体描述信息用于描述所述第一终端支持的编码技术和解码技术。
判断单元402,用于判断呼叫请求接收单元401接收到的第一终端的媒体描述信息与自身的媒体描述信息是否非对称匹配。
媒体描述发送单元403,用于当判断单元402判断第一终端的媒体描述信息与自身的媒体描述信息非对称匹配时,根据第一终端的媒体描述信息与自身的媒体描述信息的匹配结果向第一终端发送自身的媒体描述信息,以使第一终端根据自身的媒体描述信息与自身之间建立媒体流会话。
其中,媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
a=rtpmap:32VP8/90000[EDcode]
a=rtpmap:31H264/90000[Encode]
示例性的第一终端的媒体描述信息可以如上所示,是通过会话描述协议中的rtpmap属性进行描述的,“a=rtpmap:32VP8/90000[EDcode]”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpmap:31H264/90000[Encode]”用于描述第一终端支持H.264编码技术。
作为一种可选的实施方式,示例性的第一终端的媒体描述信息还可以如下所示:
a=rtpmap:32VP8/90000
a=rtpsend:31H264/90000
其中,所述第一终端的媒体描述信息是通过会话描述协议中的自定义媒体属性进行描述的,“a=rtpmap:32VP8/90000”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpsend:31H264/90000”用于描述第一终端支持H.264编码技术。
作为一种可选的实施方式,本实施例中的判断单元402可以如图5所示,进一步包括:
编码能力判断模块501,用于判断是否存在第一终端的媒体描述信息中的至少一种编码技术与自身的媒体描述信息中的至少一种解码技术匹配。
解码能力判断模块502,用于判断是否存在第一终端的媒体描述信息中的至少一种解码技术与自身的媒体描述信息中的至少一种编码技术匹配。
媒体描述判断模块503,用于当编码能力判断模块501判断第一终端的媒体描述信息中的至少一种编码技术与自身的媒体描述信息中的至少一种解码技术匹配,且解码能力判断模块502判断第一终端的媒体描述信息中的至少一种解码技术与自身的媒体描述信息中的至少一种编码技术匹配时,判断第一终端的媒体描述信息与自身的媒体描述信息非对称匹配,其中与第一终端的媒体描述信息匹配的自身的至少一种编码技术和与第一终端的媒体描述信息匹配的自身的至少一种解码技术是非对称的。
例如,自身支持H.264编码、H.264解码技术以及VP8编码技术,呼叫请求接收单元401根据第一终端的媒体描述信息知悉第一终端支持H.264编码技术和VP8解码技术,则编码能力判断模块501可以判断是否存在第一终端支持的至少一种编码技术与自身支持的至少一种解码技术匹配,解码能力判断模块502判断是否存在第一终端支持的至少一种解码技术与自身支持的至少一种编码技术匹配,若编码能力判断模块501判断第一终端支持的H.264编码技术与自身支持的H.264解码技术匹配,且解码能力判断模块502判断第一终端支持的VP8解码技术与自身支持的VP8编码技术匹配,则媒体描述判断模块503判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配。
其中,媒体描述发送单元403,用于向第一终端发送自身的所有媒体描述信息,或者向第一终端发送自身的第一媒体描述信息,所述第一媒体描述信息用于描述自身的所有媒体描述信息中与第一终端的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术,例如判断单元402判断第一终端支持的H.264编码技术与自身支持的H.264解码技术匹配,且第一终端支持的VP8解码技术与自身支持的VP8编码技术匹配,媒体描述发送单元403发送的自身的媒体描述信息可以是H.264编码技术、H.264解码技术以及VP8编码技术,也可以是与第一终端的媒体描述信息非对称匹配的H.264解码技术和VP8编码技术。
具体的,媒体描述发送单元403,还用于当判断单元402判断第一终端的媒体描述信息与自身的媒体描述信息非对称匹配时,根据第一终端的媒体描述信息与自身的媒体描述信息的匹配结果向第一终端发送自身的媒体描述信息,以使第一终端判断自身的媒体描述信息与第一终端的媒体描述信息是否非对称匹配,若第一终端判断自身的媒体描述信息与第一终端的媒体描述信息非对称匹配,则与自身之间建立媒体流会话。
在图4和图5所示的终端中,判断单元402判断呼叫请求接收单元401接收到的第一终端的媒体描述信息与自身的媒体描述信息是否非对称匹配,当判断单元402判断第一终端的媒体描述信息与自身的媒体描述信息非对称匹配时,媒体描述发送单元403根据第一终端的媒体描述信息与自身的媒体描述信息的匹配结果向第一终端发送自身的媒体描述信息,以使第一终端根据自身的媒体描述信息与自身之间建立媒体流会话,可实现两个终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。
请参见图6,图6是本发明第二实施例中提供的一种终端的结构示意图,用于执行本发明第一实施例提供的会话建立方法。如图6所示,该终端包括:至少一个处理器601,例如CPU(Central Processing Unit,中央处理器),至少一个网络接口603,存储器604,至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。网络接口603可选的可以包括标准的有线接口或无线接口,例如Wi-Fi(Wireless Fidelity,无线保真,一种基于IEEE802.11标准的无线局域网技术)接口。存储器604可能包含高速RAM(Random Access Memory,随机存储器),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器604可选的可以包含至少一个位于远离前述处理器601的存储装置。如图6所示,存储器604中存储一组程序代码,且处理器601用于调用存储器604中存储的程序代码,用于执行以下操作:
通过网络接口603接收第一终端发送的呼叫请求信息,所述呼叫请求信息携带第一终端的媒体描述信息,第一终端的媒体描述信息用于描述第一终端支持的编码技术和解码技术;
判断第一终端的媒体描述信息与自身的媒体描述信息是否非对称匹配;
若判断第一终端的媒体描述信息与自身的媒体描述信息非对称匹配,则根据第一终端的媒体描述信息与自身的媒体描述信息的匹配结果通过网络接口603向第一终端发送第二终端的媒体描述信息,以使第一终端根据第二终端发送的第二终端的媒体描述信息与第二终端之间建立媒体流会话。
其中,媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
a=rtpmap:32VP8/90000[EDcode]
a=rtpmap:31H264/90000[Encode]
示例性的第一终端的媒体描述信息可以如上所示,是通过会话描述协议中的rtpmap属性进行描述的,“a=rtpmap:32VP8/90000[EDcode]”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpmap:31H264/90000[Encode]”用于描述第一终端支持H.264编码技术。
在一个实施例中,示例性的第一终端的媒体描述信息还可以如下所示:
a=rtpmap:32VP8/90000
a=rtpsend:31H264/90000
其中,所述第一终端的媒体描述信息是通过会话描述协议中的自定义媒体属性进行描述的,“a=rtpmap:32VP8/90000”用于描述第一终端支持VP8编码技术和VP8解码技术,“a=rtpsend:31H264/90000”用于描述第一终端支持H.264编码技术。
在一个实施例中,处理器601判断第一终端的媒体描述信息与自身的媒体描述信息是否非对称匹配,具体为:
判断是否存在第一终端的媒体描述信息中的至少一种编码技术与自身的媒体描述信息中的至少一种解码技术匹配;
判断是否存在第一终端的媒体描述信息中的至少一种解码技术与自身的媒体描述信息中的至少一种编码技术匹配;
若判断第一终端的媒体描述信息中的至少一种编码技术与自身的媒体描述信息中的至少一种解码技术匹配,且第一终端的媒体描述信息中的至少一种解码技术与自身的媒体描述信息中的至少一种编码技术匹配,则判断第一终端的媒体描述信息与自身的媒体描述信息非对称匹配,其中与第一终端的媒体描述信息匹配的自身的至少一种编码技术和与第一终端的媒体描述信息匹配的自身的至少一种解码技术是非对称的。
例如,自身支持H.264编码技术、H.264解码技术以及VP8编码技术,处理器601根据第一终端的媒体描述信息知悉第一终端支持H.264编码技术和VP8解码技术,则处理器601可以判断是否存在第一终端支持的至少一种编码技术与自身支持的至少一种解码技术匹配,并判断是否存在第一终端支持的至少一种解码技术与自身支持的至少一种编码技术匹配,若判断第一终端支持的H.264编码技术与自身支持的H.264解码技术匹配,且第一终端支持的VP8解码技术与自身支持的VP8编码技术匹配,则判断第一终端的媒体描述信息与第二终端的媒体描述信息非对称匹配。
在一个实施例中,处理器601根据第一终端的媒体描述信息与自身的媒体描述信息的匹配结果向第一终端发送自身的媒体描述信息,具体为:
通过网络接口603向第一终端发送自身的所有媒体描述信息;或
通过网络接口603向第一终端发送自身的第一媒体描述信息,所述第一媒体描述信息用于描述自身的所有媒体描述信息中与第一终端的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术。
例如处理器601判断第一终端支持的H.264编码技术与自身支持的H.264解码技术匹配,且第一终端支持的VP8解码技术与自身支持的VP8编码技术匹配,则通过网络接口603发送的自身的媒体描述信息可以是H.264编码、H.264解码技术以及VP8编码技术,也可以是与第一终端的媒体描述信息非对称匹配的H.264解码技术和VP8编码技术。
在一个实施例中,处理器601根据第一终端的媒体描述信息与自身的媒体描述信息的匹配结果向第一终端发送自身的媒体描述信息,具体为:
若判断第一终端的媒体描述信息与自身的媒体描述信息非对称匹配,则根据第一终端的媒体描述信息与自身的媒体描述信息的匹配结果向第一终端发送自身的媒体描述信息,以使第一终端判断通过网络接口603发送的自身的媒体描述信息与第一终端的媒体描述信息是否非对称匹配,若第一终端判断通过网络接口603发送的自身的媒体描述信息与第一终端的媒体描述信息非对称匹配,则与自身之间建立媒体流会话。
具体的,本实施例介绍的终端可实现两个终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。
请参见图7,图7是本发明实施例中提供的一种会话建立系统的结构示意图,如图所示本发明实施例中的会话建立系统至少可以包括第一终端701和第二终端702,第二终端702可以结合图4、图5以及图6所示的终端,其中:
第一终端701,用于向第二终端702发送呼叫请求信息,所述呼叫请求信息携带第一终端701的媒体描述信息,所述媒体描述信息用于描述第一终端701支持的编码技术和解码技术。
第二终端702,用于接收第一终端701发送的呼叫请求信息,并判断接收到的第一终端701的媒体描述信息与第二终端702的媒体描述信息是否非对称匹配,若判断第一终端701的媒体描述信息与第二终端702的媒体描述信息非对称匹配,则根据第一终端701的媒体描述信息与第二终端702的媒体描述信息的匹配结果向第一终端701发送第二终端702的媒体描述信息。
第一终端701,还用于接收第二终端702返回的第二终端702的媒体描述信息,并根据接收到的第二终端702的媒体描述信息与第二终端702之间建立媒体流会话。
作为一种可选的实施方式,第二终端702,还用于判断第一终端701的媒体描述信息与第二终端702的媒体描述信息不匹配时,向第一终端701发送匹配失败信息,所述匹配失败信息用于指示第二终端702与第一终端701之间的媒体流会话建立失败。
其中,媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
具体实现中,第二终端702,还用于判断是否存在第一终端701的媒体描述信息中的至少一种编码技术与第二终端702的媒体描述信息中的至少一种解码技术匹配,并判断是否存在第一终端701的媒体描述信息中的至少一种解码技术与第二终端702的媒体描述信息中的至少一种编码技术匹配,若判断第一终端701的媒体描述信息中的至少一种编码技术与第二终端702的媒体描述信息中的至少一种解码技术匹配,且第一终端701的媒体描述信息中的至少一种解码技术与第二终端702的媒体描述信息中的至少一种编码技术匹配,则判断第一终端701的媒体描述信息与第二终端702的媒体描述信息非对称匹配。
其中,第二终端702根据第一终端701的媒体描述信息与第二终端702的媒体描述信息的匹配结果向第一终端701发送的第二终端702的媒体描述信息可以包括第二终端702的所有媒体描述信息,或者第二终端702的第一媒体描述信息,所述第一媒体描述信息用于描述第二终端702的所有媒体描述信息中与第一终端701的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术。
具体实现中,第二终端702,用于当判断第一终端701的媒体描述信息与第二终端702的媒体描述信息非对称匹配,则根据第一终端701的媒体描述信息与第二终端702的媒体描述信息的匹配结果向第一终端701发送第二终端702的媒体描述信息;
第一终端701,还用于判断第二终端702发送的第二终端702的媒体描述信息与第一终端701的媒体描述信息是否非对称匹配,当第一终端701判断第二终端702发送的第二终端702的媒体描述信息与第一终端701的媒体描述信息非对称匹配时,第一终端701与第二终端702之间建立媒体流会话。
在图7所示的会话建立系统中,第一终端701向第二终端702发送呼叫请求信息,所述呼叫请求信息携带第一终端701的媒体描述信息,第二终端702判断接收到的第一终端701的媒体描述信息与第二终端702的媒体描述信息是否非对称匹配,若判断第一终端701的媒体描述信息与第二终端702的媒体描述信息非对称匹配,则向第一终端701发送第二终端702的媒体描述信息,第一终端701根据接收到的第二终端702的媒体描述信息与第二终端702之间建立媒体流会话,可实现两个终端之间建立会话,并通过同一个通道向对端发送媒体流和接收对端发送的媒体流,提升资源利用率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或非对称流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储器等。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的非对称,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
以上对本发明实施例所提供的会话建立方法、终端及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种会话建立方法,其特征在于,所述方法包括:
第二终端接收第一终端发送的呼叫请求信息,所述呼叫请求信息携带所述第一终端的媒体描述信息,所述第一终端的媒体描述信息用于描述所述第一终端支持的编码技术和解码技术;
所述第二终端判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息是否非对称匹配;
若所述第二终端判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息非对称匹配,则根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息,以使所述第一终端根据所述第二终端发送的所述第二终端的媒体描述信息与所述第二终端之间建立媒体流会话。
2.如权利要求1所述的方法,其特征在于,所述媒体描述信息是通过会话描述协议(Session Description Protocol,SDP)中的rtpmap属性或自定义媒体属性进行描述的。
3.如权利要求1所述的方法,其特征在于,所述第二终端判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息是否非对称匹配包括:
所述第二终端判断是否存在所述第一终端的媒体描述信息中的至少一种编码技术与所述第二终端的媒体描述信息中的至少一种解码技术匹配;
所述第二终端判断是否存在所述第一终端的媒体描述信息中的至少一种解码技术与所述第二终端的媒体描述信息中的至少一种编码技术匹配;
若所述第二终端判断所述第一终端的媒体描述信息中的至少一种编码技术与所述第二终端的媒体描述信息中的至少一种解码技术匹配,且所述第一终端的媒体描述信息中的至少一种解码技术与所述第二终端的媒体描述信息中的至少一种编码技术匹配,则判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息非对称匹配,其中与所述第一终端的媒体描述信息匹配的第二终端的至少一种编码技术和与所述第一终端的媒体描述信息匹配的第二终端的至少一种解码技术是非对称的。
4.如权利要求1所述的方法,其特征在于,所述第二终端根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息包括:
所述第二终端向所述第一终端发送所述第二终端的所有媒体描述信息;或
所述第二终端向所述第一终端发送所述第二终端的第一媒体描述信息,所述第一媒体描述信息用于描述所述第二终端的所有媒体描述信息中与所述第一终端的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术。
5.如权利要求1所述的方法,其特征在于,所述第二终端根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息包括:
若所述第二终端判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息非对称匹配,则根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息,以使所述第一终端判断所述第二终端发送的所述第二终端的媒体描述信息与所述第一终端的媒体描述信息是否非对称匹配,若所述第一终端判断所述第二终端发送的所述第二终端的媒体描述信息与所述第一终端的媒体描述信息非对称匹配,则与所述第二终端之间建立媒体流会话。
6.一种终端,其特征在于,所述终端包括:
呼叫请求接收单元,用于接收第一终端发送的呼叫请求信息,所述呼叫请求信息携带所述第一终端的媒体描述信息,所述第一终端的媒体描述信息用于描述所述第一终端支持的编码技术和解码技术;
判断单元,用于判断所述呼叫请求接收单元接收到的所述第一终端的媒体描述信息与自身的媒体描述信息是否非对称匹配;
媒体描述发送单元,用于当所述判断单元判断所述第一终端的媒体描述信息与所述自身的媒体描述信息非对称匹配时,根据所述第一终端的媒体描述信息与所述自身的媒体描述信息的匹配结果向所述第一终端发送所述自身的媒体描述信息,以使所述第一终端根据所述自身的媒体描述信息与自身之间建立媒体流会话。
7.如权利要求6所述的终端,其特征在于,所述媒体描述信息是通过会话描述协议中的rtpmap属性或自定义媒体属性进行描述的。
8.如权利要求6所述的终端,其特征在于,所述判断单元包括:
编码能力判断模块,用于判断是否存在所述第一终端的媒体描述信息中的至少一种编码技术与所述自身的媒体描述信息中的至少一种解码技术匹配;
解码能力判断模块,用于判断是否存在所述第一终端的媒体描述信息中的至少一种解码技术与所述自身的媒体描述信息中的至少一种编码技术匹配;
媒体描述判断模块,用于当所述编码能力判断模块判断所述第一终端的媒体描述信息中的至少一种编码技术与所述自身的媒体描述信息中的至少一种解码技术匹配,且所述解码能力判断模块判断所述第一终端的媒体描述信息中的至少一种解码技术与所述自身的媒体描述信息中的至少一种编码技术匹配时,判断所述第一终端的媒体描述信息与所述自身的媒体描述信息非对称匹配,其中与所述第一终端的媒体描述信息匹配的自身的至少一种编码技术和与所述第一终端的媒体描述信息匹配的自身的至少一种解码技术是非对称的。
9.如权利要求6所述的终端,其特征在于,
所述媒体描述发送单元,用于向所述第一终端发送所述自身的所有媒体描述信息;或
所述媒体描述发送单元,用于向所述第一终端发送所述自身的第一媒体描述信息,所述第一媒体描述信息用于描述所述自身的所有媒体描述信息中与所述第一终端的媒体描述信息非对称匹配的至少一种编码技术和至少一种解码技术。
10.如权利要求6所述的终端,其特征在于,
所述媒体描述发送单元,还用于当所述判断单元判断所述第一终端的媒体描述信息与所述自身的媒体描述信息非对称匹配时,根据所述第一终端的媒体描述信息与所述自身的媒体描述信息的匹配结果向所述第一终端发送所述自身的媒体描述信息,以使所述第一终端判断所述自身的媒体描述信息与所述第一终端的媒体描述信息是否非对称匹配,若所述第一终端判断所述自身的媒体描述信息与所述第一终端的媒体描述信息非对称匹配,则与自身之间建立媒体流会话。
11.一种会话建立系统,其特征在于,所述系统包括第一终端和第二终端,其中:
所述第一终端,用于向所述第二终端发送呼叫请求信息,所述呼叫请求信息携带所述第一终端的媒体描述信息;接收所述第二终端返回的所述第二终端的媒体描述信息;根据所述接收到的所述第二终端的媒体描述信息与所述第二终端之间建立媒体流会话;
所述第二终端如权利要求6~10任一项所述的终端,用于接收所述第一终端发送的呼叫请求信息;判断所述接收到的所述第一终端的媒体描述信息与所述第二终端的媒体描述信息是否非对称匹配;若判断所述第一终端的媒体描述信息与所述第二终端的媒体描述信息非对称匹配,则根据所述第一终端的媒体描述信息与所述第二终端的媒体描述信息的匹配结果向所述第一终端发送所述第二终端的媒体描述信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410096065.0A CN104917736B (zh) | 2014-03-14 | 2014-03-14 | 一种会话建立方法、终端及系统 |
PCT/CN2015/072832 WO2015135409A1 (zh) | 2014-03-14 | 2015-02-12 | 一种会话建立方法、终端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410096065.0A CN104917736B (zh) | 2014-03-14 | 2014-03-14 | 一种会话建立方法、终端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917736A true CN104917736A (zh) | 2015-09-16 |
CN104917736B CN104917736B (zh) | 2018-10-02 |
Family
ID=54070912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410096065.0A Active CN104917736B (zh) | 2014-03-14 | 2014-03-14 | 一种会话建立方法、终端及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104917736B (zh) |
WO (1) | WO2015135409A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254354A (zh) * | 2016-08-10 | 2016-12-21 | 东北大学 | 一种非对称媒体参数的sdp协商方法 |
WO2020098435A1 (zh) * | 2018-11-13 | 2020-05-22 | 杭州光启人工智能研究院 | 一种数据报文发送和接收方法、存储介质及处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101395882A (zh) * | 2006-03-02 | 2009-03-25 | 艾利森电话股份有限公司 | 宽带编解码器协商 |
CN102232287A (zh) * | 2010-09-14 | 2011-11-02 | 华为技术有限公司 | 媒体加速协商的实现方法及装置 |
US8279049B2 (en) * | 2007-03-30 | 2012-10-02 | Fm Marketing Gmbh | Multimedia device and process for data transmission in a multimedia device |
CN103650458A (zh) * | 2013-08-16 | 2014-03-19 | 华为技术有限公司 | 媒体流的传输方法、装置与系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282574A (zh) * | 2007-04-05 | 2008-10-08 | 华为技术有限公司 | 通信系统、设备以及多媒体呼叫方法 |
CN101562667B (zh) * | 2009-05-19 | 2012-09-05 | 中兴通讯股份有限公司 | 软交换架构下的编解码转换控制方法、媒体网关及系统 |
CN102045782A (zh) * | 2009-10-21 | 2011-05-04 | 中兴通讯股份有限公司 | 一种语音视频用户速率协商的方法及系统 |
-
2014
- 2014-03-14 CN CN201410096065.0A patent/CN104917736B/zh active Active
-
2015
- 2015-02-12 WO PCT/CN2015/072832 patent/WO2015135409A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101395882A (zh) * | 2006-03-02 | 2009-03-25 | 艾利森电话股份有限公司 | 宽带编解码器协商 |
US8279049B2 (en) * | 2007-03-30 | 2012-10-02 | Fm Marketing Gmbh | Multimedia device and process for data transmission in a multimedia device |
CN102232287A (zh) * | 2010-09-14 | 2011-11-02 | 华为技术有限公司 | 媒体加速协商的实现方法及装置 |
CN103650458A (zh) * | 2013-08-16 | 2014-03-19 | 华为技术有限公司 | 媒体流的传输方法、装置与系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254354A (zh) * | 2016-08-10 | 2016-12-21 | 东北大学 | 一种非对称媒体参数的sdp协商方法 |
CN106254354B (zh) * | 2016-08-10 | 2019-04-26 | 东北大学 | 一种非对称媒体参数的sdp协商方法 |
WO2020098435A1 (zh) * | 2018-11-13 | 2020-05-22 | 杭州光启人工智能研究院 | 一种数据报文发送和接收方法、存储介质及处理器 |
Also Published As
Publication number | Publication date |
---|---|
WO2015135409A1 (zh) | 2015-09-17 |
CN104917736B (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102308560B (zh) | 云计算系统中的媒体流数据的传输方法及装置 | |
WO2022227818A1 (zh) | 用于配网的方法、装置和智能家居设备 | |
CN104243010B (zh) | 一种中转台无线互联方法、系统和中转台 | |
CN104580097A (zh) | 一种数据处理方法、装置及系统 | |
CN104216761A (zh) | 一种在能够运行两种操作系统的装置中使用共享设备的方法 | |
CN103595978A (zh) | 用于在视频通信中协商编码分辨率的方法和系统 | |
WO2018014323A3 (zh) | 信息收发方法、装置及系统 | |
CN110312266B (zh) | 终端的多系统实现wifi通信的方法和装置 | |
CN101668315A (zh) | 对不同协议版本的网元进行操作的方法及装置 | |
CN104811747A (zh) | 一种视频转码方法及装置 | |
CN102546107A (zh) | 接触式卡片与读卡设备间的数据传输方法、系统和转接卡 | |
CN103516788A (zh) | 一种数据推送方法及其Flash客户端和服务器 | |
CN115023964A (zh) | Wlan感知测量建立终止方法及装置、电子设备及存储介质 | |
CN104917736A (zh) | 一种会话建立方法、终端及系统 | |
CN102915290B (zh) | 实现移动终端与人机接口设备连接的方法、适配器及系统 | |
CN105517111A (zh) | 一种设备连接网络的方法及装置 | |
CN103246557A (zh) | 一种跨进程调用应用信息的方法及装置 | |
CN105162553A (zh) | 一种传输块类型信令指示方法及系统 | |
CN103607421A (zh) | 一种数据交互的方法及智能终端 | |
CN102651777B (zh) | 链路建立方法和设备 | |
CN105451367A (zh) | 一种无线网络连接方法、设备及系统 | |
CN104703291A (zh) | 一种基于MiFi的通信方法及相关MiFi | |
CN113840038B (zh) | 一种语音数据传输方法、装置、电子设备及存储介质 | |
CN103347200A (zh) | 一种通信连接方法及相关设备、系统 | |
CN108809918B (zh) | 媒体流传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |