CN102196106B - 实现主被叫通话的方法和相关设备 - Google Patents
实现主被叫通话的方法和相关设备 Download PDFInfo
- Publication number
- CN102196106B CN102196106B CN2010101250877A CN201010125087A CN102196106B CN 102196106 B CN102196106 B CN 102196106B CN 2010101250877 A CN2010101250877 A CN 2010101250877A CN 201010125087 A CN201010125087 A CN 201010125087A CN 102196106 B CN102196106 B CN 102196106B
- Authority
- CN
- China
- Prior art keywords
- media code
- decode format
- terminal
- media
- called
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明实施例公开了一种实现主被叫通话的方法和相关设备。本发明实施例的技术方案中,服务器获取主被叫终端当前支持的媒体编解码格式集,并建立混音会场,即使在主被叫终端当前支持的媒体编解码格式集的交集为空集时,服务器通过建立混音会场亦可实现主被叫通话,有利于提高主被叫网际协议电话VoIP通话的灵活性,更好的满足实际需求。
Description
技术领域
本发明涉及通信技术领域,具体涉及实现主被叫通话的方法和服务器。
背景技术
随着语音交换机技术的发展,网际协议(IP,Internet Protocol)语音交换机(IP PBX,IP Private Branch Exchange)已经取得了广泛的应用,IP PBX系统不仅能够提供基本的IP电话(VoIP,Voice over IP)功能,还可以提供电话会议、统一消息等丰富的业务功能。
语音编码压缩技术是VoIP通信的基础,而会话发起协议(SIP,SessionInitiation Protocol)是当前VoIP的主流协议。SIP协议支持建立和终结VoIP呼叫等几方面功能,SIP作为VoIP的基础,与会话描述协议(SDP,Session DescriptionProtocol)、实时传输协议(RTP,Real-Time Transport Protocol)等其它协议一起构成VoIP通信协议体系的完整架构。
现有的VoIP呼叫建立机制中,服务器(IP PBX)主要根据主被叫终端支持的媒体编解码格式的协商结果来建立VoIP呼叫,如果主被叫终端当前支持的媒体编解码格式存在非空交集,则可以协商成功,并可建立呼叫;若主被叫终端当前支持的媒体编解码格式不存在非空交集,则协商失败,不能建立呼叫。举例来说,例如主叫终端当前支持的媒体编解码格式包括G.711和G.729,被叫终端当前支持的媒体编解码格式包括G.711和G.723,两者存在非空交集G.711,服务器(IP PBX)可基于G.711建立主被叫终端的呼叫。
在对现有技术的研究和实践过程中,发明人发现,现有的VoIP呼叫建立机制只有在主被叫终端支持的媒体编解码格式有非空交集时才能建立呼叫,可见该方式具有相当的局限性,灵活性较差,并不能较好的满足实际需求。
发明内容
本发明实施例提供实现主被叫通话的方法和相关设备,有利于提高主被叫VoIP通话的灵活性,更好的满足实际需求。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种实现主被叫通话的方法,包括:
服务器获取主叫终端当前支持的第一媒体编解码格式集信息,若所述第一媒体编解码格式集和服务器支持的第三媒体编解码格式集之间有第一三非空交集,则在第一三非空交集中选出第四媒体编解码格式,并将选出的第四媒体编解码格式通知所述主叫终端;
获取被叫终端当前支持的第二媒体编解码格式集信息,若所述第二媒体编解码格式集和第三媒体编解码格式集之间有第二三非空交集,则在第二三非空交集中选出第五媒体编解码格式,并将选出的第五媒体编解码格式通知所述被叫终端;
申请对应第四媒体编解码格式和第五媒体编解码格式的编解码资源,并创建混音会场,将主叫终端和被叫终端加入所述混音会场;
利用所述混音会场将来自主叫终端的第四媒体编解码格式的媒体流和来自被叫终端的第五媒体编解码格式的媒体流进行混音,并将混音后的媒体流编码成第五媒体编解码格式后发送给被叫终端,以及将混音后的媒体流编码成第四媒体编解码格式后发送给主叫终端。
一种服务器,包括:
第一获取通知模块,用于获取主叫终端当前支持的第一媒体编解码格式集信息,若所述第一媒体编解码格式集和服务器支持的第三媒体编解码格式集之间有第一三非空交集,则在第一三非空交集中选出第四媒体编解码格式,并将选出的第四媒体编解码格式通知所述主叫终端;
第二获取通知模块,用于获取被叫终端当前支持的第二媒体编解码格式集信息,若所述第二媒体编解码格式集和第三媒体编解码格式集之间有第二三非空交集,则在第二三非空交集中选出第五媒体编解码格式,并将选出的第五媒体编解码格式通知所述被叫终端;
混音会场控制模块,用于申请对应第四媒体编解码格式和第五媒体编解码格式的编解码资源,并创建混音会场,将主叫终端和被叫终端加入所述混音会场;
媒体流控制模块,用于利用所述混音会场将来自主叫终端的第四媒体编解码格式的媒体流和来自被叫终端的第五媒体编解码格式的媒体流进行混音,并将混音后的媒体流编码成第五媒体编解码格式后发送给被叫终端,以及将混音后的媒体流编码成第四媒体编解码格式后发送给主叫终端。
由上可见,本发明实施例中服务器获取主被叫终端当前支持的媒体编解码格式集,即使在主被叫终端当前支持的媒体编解码格式集的交集为空集时,服务器通过建立混音会场亦可实现主被叫通话,有利于提高主被叫VoIP通话的灵活性,更好的满足实际需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实现主被叫通话的方法流程示意图;
图2是本发明实施例提供的另一种实现主被叫通话的方法流程示意图;
图3-a是本发明实施例提供的一种实现主被叫网络连接拓扑示意图;
图3-b是本发明实施例提供的另一种实现主被叫通话的方法流程示意图;
图4是发明实施例提供的一种服务器示意图。
具体实施方式
本发明实施例提供实现主被叫通话的方法和相关设备,有利于提高主被叫VoIP通话的灵活性,更好的满足实际需求。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先简单介绍一下混音会场,服务器,如语音交换机(IP PBX)可提供的混音功能,利用服务器的混音功能创建混音会场,可以让每个SIP终端都能听到混音会场内的声音(即每个SIP终端都能听到所有加入到该混音会场的SIP终端的声音)。会议混音的前提条件是:每个SIP终端当前支持的媒体编解码格式集需要分别与会议服务器当前支持的媒体编解码格式有非空交集。服务器为每个SIP终端提供相应的编解码器,将各种格式的媒体流转换成统一的媒体格式(一般转成窄带采用脉冲编码调制(PCM,Pulse Code Modulation)格式),然后进行混音。并将混音的媒体流转换成每个SIP终端对应媒体编解码格式的媒体流发给对应的SIP终端,进而实现多方会议。
本发明实施例的方案正是利用混音会场,在主被叫终端(SIP终端)当前支持的媒体编解码格式集的交集为空集(即主被叫终端当前支持的媒体编解码格式集之间没有非空交集)时,实现主被叫SIP终端的通话。
下面以服务器的角度,描述本发明实施例一种实现主被叫通话的方法。参见图1,本发明实施例实现主被叫通话的方法的一个实施例,可以包括:
110、服务器获取主叫终端当前支持的第一媒体编解码格式集信息,若该第一媒体编解码格式集和服务器支持的第三媒体编解码格式集之间有第一三非空交集,则在第一三非空交集中选出第四媒体编解码格式,并将选出的第四媒体编解码格式通知该主叫终端;
在实际应用中,服务器可以在主被叫终端的VoIP呼叫建立过程中,获取主叫终端当前支持的第一媒体编解码格式集信息。例如服务器可以接收来自主叫终端的邀请(Invite)消息(该Invite消息中携带有主叫终端当前支持的第一媒体编解码格式集信息、以及主被叫终端号码等信息),从该Invite消息中获取到主叫终端当前支持的第一媒体编解码格式集信息。当然,服务器也可选择通过其它方式获取主叫终端当前支持的第一媒体编解码格式集信息。
此外,若服务器当前支持第三媒体编解码格式集,在获取到主叫终端当前支持的第一媒体编解码格式集信息后,服务器可以记录该第一媒体编解码格式集信息,并将第一媒体编解码格式集和第三媒体编解码格式集进行比较,若发现第一媒体编解码格式集和第三媒体编解码格式集之间有第一三非空交集(第一三非空交集中可以包括一个或多个媒体编解码格式),则可在第一三非空交集中选出第四媒体编解码格式(该第四媒体编解码格式可以是第一三非空交集中优先级最高的媒体编解码格式,也可以是其中任意的一个媒体编解码格式)。服务器可以根据第一三非空交集中各个媒体编解码格式的优先级顺序(该优先级顺序可以是主叫终端指定的,也可以是服务器指定的),选出优先级最高的媒体编解码格式(第四媒体编解码格式)作为其和主叫终端之间的媒体编解码格式;或者,服务器也可以在第一三非空交集中随机的选择其中一个媒体编解码格式(第四媒体编解码格式)作为其和主叫终端之间的媒体编解码格式。
服务器可向主叫终端发送携带选出的第四媒体编解码格式信息的消息,将选出的第四媒体编解码格式通知该主叫终端。例如服务器可向主叫终端发送携带选出的第四媒体编解码格式信息的响应消息,例如200OK响应。
120、服务器获取被叫终端当前支持的第二媒体编解码格式集信息,若该第二媒体编解码格式集和第三媒体编解码格式集之间有第二三非空交集,则在第二三非空交集中选出第五媒体编解码格式,并将选出的第五媒体编解码格式通知该被叫终端;
在实际应用中,服务器仍可在主被叫终端的VoIP呼叫建立过程中,获取被叫终端当前支持的第二媒体编解码格式集信息。例如服务器向被叫终端发送Invite消息(该Invite消息中携带有主叫终端当前支持的第一媒体编解码格式集信息、以及主被叫终端号码等信息),若被叫终端通过比较发现其当前支持的第二媒体编解码格式集和第一媒体编解码格式集之间没有非空交集,则可向服务器发送携带被叫终端当前支持的第二媒体编解码格式集信息的拒绝消息(例如488消息,或其它类似的能够指示编解码协商失败的消息);服务器则接收来自被叫终端的拒绝消息,从该拒绝消息中获取到被叫终端当前支持的第二媒体编解码格式集信息。当然,服务器也可选择通过其它方式获取被叫终端当前支持的第一媒体编解码格式集信息。
服务器在获取到被叫终端当前支持的第二媒体编解码格式集信息后,可以记录该第二媒体编解码格式集信息,并将第二媒体编解码格式集和第三媒体编解码格式集进行比较,若发现第二媒体编解码格式集和第三媒体编解码格式集之间有第二三非空交集(第二三非空交集中可以包括一个或多个媒体编解码格式),则可在第二三非空交集中选出第五媒体编解码格式(该第五媒体编解码格式可以是第二三非空交集中优先级最高的媒体编解码格式,也可以是其中任意的一个媒体编解码格式)。服务器可以根据第二三非空交集中各个媒体编解码格式的优先级顺序(该优先级顺序可以是被叫终端指定的,也可以是服务器指定的),选出优先级最高的媒体编解码格式(第五媒体编解码格式)作为其和被叫终端之间的媒体编解码格式;或者,服务器也可以在第二三非空交集中随机的选择其中一个媒体编解码格式(第五媒体编解码格式)作为其和被叫终端之间的媒体编解码格式。
服务器可向被叫终端发送携带选出的第五媒体编解码格式信息的消息,将选出的第五媒体编解码格式通知该被叫终端。
例如服务器可以再向被叫终端发送携带选出的第五媒体编解码格式信息的Invite消息,重新发起新的VoIP呼叫,由于第五媒体编解码格式是被叫终端当前能够支持的媒体编解码格式,因此本次编解码协商可以成功,该VoIP呼叫能够被被叫终端接受。
130、服务器申请对应第四媒体编解码格式和第五媒体编解码格式的编解码资源,并创建混音会场,将主叫终端和被叫终端加入该混音会场;
其中,服务器可以创建一个两方的混音会场,以节约会场资源,当然也可选择创建一个多方混音会场。
140、服务器利用上述混音会场将来自主叫终端的第四媒体编解码格式的媒体流和来自被叫终端的第五媒体编解码格式的媒体流进行混音,并将混音后的媒体流编码成第五媒体编解码格式后发送给被叫终端,以及将混音后的媒体流编码成第四媒体编解码格式后发送给主叫终端。
可以理解,本实施例的服务器可以是IP PBX,上述方案可以在IP PBX上具体实施,当然,上述方案也可以在其它类似设备上具体实施。
由上可见,本实施例中服务器获取主被叫终端当前支持的媒体编解码格式集,即使在主被叫终端当前支持的媒体编解码格式集的交集为空集时,服务器通过建立混音会场亦可实现主被叫通话,有利于提高主被叫VoIP通话的灵活性,更好的满足实际需求。
此外,服务器也可以选择不建立混音会场,而是选择将来自主叫终端的媒体流直接转换成被叫终端所支持的媒体编解码格式后转发给被叫终端,将来自被叫终端的媒体流直接转换成主叫终端所支持的媒体编解码格式后转发给主叫终端。
为便于更好的理解本发明实施例的技术方案,下面以IP PBX实现主叫终端A和被叫终端B基于SIP进行通话的过程为例,进行详细的描述。参见图2,本发明实施例的实现主被叫通话的方法的另一个实施例,可以包括:
201、当主叫终端A想要呼叫被叫终端B时,主叫终端A向IP PBX发送请求呼叫被叫终端B的邀请(Invite-1)消息即第一邀请消息。
其中,主叫终端A发送的Invite-1消息(SIP消息)可携带主叫终端的标识(例如主叫号码)、被叫终端B的标识(例如被叫号码)、以及主叫终端A当前支持的媒体编解码格式集S1等信息,其中,主叫终端A当前支持的媒体编解码格式集S1信息例如可携带在该Invite-1消息的SDP字段或其它信元中。主被叫终端的标识例如可携带在Invite-1消息的头域中。
下面首先简单的介绍SIP消息头域部分的格式,SIP消息头域也称SIP通用资源标识符(SIP URI,SIP Uniform Resource Identifier),SIP消息的头域部分包括From头域和To头域,其中,From头域指示主叫方信息,To头域指示被叫方信息。
From头域的具体格式通常为:用户名主机
To头域的具体格式通常为:用户名主机
其中,“用户名”部分通常指示主叫/被叫标识(例如主叫/被叫号码),“主机”部分指示本次多媒体会话的主叫/被叫所在的网域(主叫域/被叫域)、该网域指SIP网域。
其中,主被叫终端的标识例如可携带在Invite消息的头域中。
202、IP PBX接收来自主叫终端A的Invite-1消息,从该Invite-1消息中获取主叫终端A当前支持的媒体编解码格式集S1信息,IP PBX可以记录下S1。IPPBX可进一步将S1和IP PBX当前支持的媒体编解码格式集S3进行比较,若发现S1和S3有非空交集S13,IP PBX可从S13中选择出一个媒体编解码格式S13-1。
其中,若非空交集S13中包括多个媒体编解码格式,IP PBX选出的媒体编解码格式S13-1可以是非空交集S13中优先级(该优先级顺序可以是主叫终端A指定的,也可以是IP PBX指定的)最高的媒体编解码格式,或是非空交集S13中任意的一个媒体编解码格式。
IP PBX可将该选出的S13-1作为其和主叫终端A间使用的媒体编解码格式,进一步的,IP PBX向被叫终端B发送Invite-2消息即第二邀请消息,该Invite-2消息中携带主叫终端A的标识、被叫终端B的标识、以及主叫终端A当前支持的媒体编解码格式集S1等信息,其中,主叫终端A当前支持的媒体编解码格式集S1信息例如可携带在该Invite-2消息的SDP字段或其它信元中。此外,若IP PBX发现S1和S3没有非空交集,则可直接向被叫终端B发送Invite-2消息或结束流程。
203、被叫终端B接收来自IP PBX的该Invite-2消息,从该Invite-2消息中获取主叫终端A当前支持的媒体编解码格式集S1信息,并将S1和被叫终端B当前支持的媒体编解码格式集S2进行比较。
若被叫终端B比较发现S1和S2存在非空交集S12,则被叫终端B可以从该非空交集S12中选出一个媒体编解码格式,并基于将该选出媒体编解码格式作为编解码协商结果,和主叫终端建立呼叫。本实施例中主要针对S1和S2没有交集的情况,若被叫终端B比较发现S1和S2没有交集,被叫终端B则向IP PBX发送488消息,指示无法接受主叫终端A的该呼叫,该488消息中携带被叫终端B当前支持的媒体编解码格式集S2等信息。
204、IP PBX接收来自被叫终端B的488消息,向被叫终端B发送ACK消息。
此时,IP PBX不向主叫终端发送488消息,而是继续保持与主叫终端A之间的会话状态;
IP PBX从该488消息中获取被叫终端B当前支持的媒体编解码格式集S2等信息,并将S2和S3进行比较,若IP PBX比较发现S2和S3有非空交集S23,IP PBX可从S23中选择出一个媒体编解码格式S23-1。
IP PBX可以将该选出的S23-1作为其和被叫终端B间使用的媒体编解码格式,并执行步骤205。此外,若IP PBX发现S1和S3没有非空交集,则可向主叫终端发送488消息,并结束流程。
其中,若非空交集S23中包括多个媒体编解码格式,IP PBX选出的媒体编解码格式S23-1可以是非空交集S23中优先级(该优先级顺序可以是被叫终端B指定的,也可以是IP PBX指定的)最高的媒体编解码格式,或是非空交集S23中任意的一个媒体编解码格式。
205、IP PBX申请对应S13-1和S23-1的编解码资源,创建一个两方的混音会场,IP PBX向被叫终端B发送Invite-3消息即第三邀请消息,其中,该Invite-3消息携带有媒体编解码格式S23-1信息(或非空交集S23信息,可以理解,非空交集S23中也必然包含S23-1),主被叫终端标识,以便将被叫终端B呼入该混音会场。
IP PBX通过向被叫终端B发送Invite-3消息,将其和被叫终端B之间的编解码协商结果通知给被叫终端B。
206、被叫终端B接收来自IP PBX的该Invite-3消息,此时对于被叫终端B而言,这是一个新的呼叫,并且媒体编解码格式S23-1正是自身当前支持的一种媒体编解码格式,因此,IP PBX和被叫终端B之间的编解码协商成功,被叫终端B按照正常流程接受该呼叫。
被叫终端B向IP PBX发送100Trying消息(Invite消息的响应),IP PBX接收并向主叫终端A转发100Trying消息。
被叫终端B振铃,并向IP PBX发送180Ringing消息,IP PBX接收并向主叫终端A转发180Ringing消息,主叫终端A播放回铃音。
207、当被叫终端B摘机时,被叫终端B向IP PBX发送200OK-1响应即第一响应,该200OK-1响应消息携带媒体编解码格式S23-1信息(例如携带在SDP字段,或携带在其它信元中),以指示确认使用媒体编解码格式S23-1进行通话。
208、IP PBX接收来自被叫终端B的上述200OK-1响应,并向主叫终端A发送携带媒体编解码格式S13-1信息(例如携带在SDP字段或其它信元中)的200OK-2响应即第二响应,以指示确认使用媒体编解码格式S13-1进行通话。
IP PBX通过向主叫终端A发送200OK响应,将其和主叫终端A之间的编解码协商结果(媒体编解码格式S13-1)通知给主叫终端A。
至此,IP PBX分别与主叫终端A和被叫终端B建立好了通话,而对于主叫终端A和被叫终端B而言,相当于主被叫终端之间建立的通话。
IP PBX将主叫终端A和被叫终端B加入其建立的混音会场,被叫终端B可以向IP PBX指定的端口发送S23-1格式的媒体流,和/或从IP PBX指定的端口接收S23-1格式的媒体流。类似的,主叫终端A可以向IP PBX指定的端口发送S13-1格式的媒体流,和/或从IP PBX指定的端口接收S13-1格式的媒体流。
而IP PBX则利用上述混音会场将来自主叫终端A的S13-1的媒体流进行混音,并将混音后的媒体流编码成S23-1后发送给被叫终端,和/或,利用上述混音会场将来自被叫终端B的S23-1的媒体流进行混音,并将混音后的媒体流编码成S13-1后发送给主叫终端A,从而实现主被叫终端通话,并且,S23-1可以是被叫终端B当前通话最优选的媒体编解码格式,S13-1可以是主叫终端A当前通话最优选的媒体编解码格式。
可以发现,基于上述机制,可以实现在主被叫终端当前支持的媒体编解码格式集没有非空交集(交集为空集)时,仍分别可采用当前最优的媒体编解码格式进行通话,并且,对于主被叫终端而言,呼叫消息处理流程也无需改动。
为便于更好的理解本发明实施例的方案,下面通过一个具体的应用实例进行更进一步详细的描述。
参见图3-a,例如主叫终端A通过局域网连接到IP PBX,其短号为2000;被叫终端则通过广域网连接到IP PBX,其短号为2001;主叫终端A所属网域的IP地址例如为192.168.1.20、被叫终端B所属网域的IP地址例如为192.168.1.21、而IP PBX的IP地址例如为192.168.1.2。
例如主叫终端A当前支持的媒体编解码格式集S1包括G.711A,被叫终端B当前支持的媒体编解码格式集S2包括G.729,IP PBX当前支持的媒体编解码格式集S3包括G.711A,G.723、G.729。
参见图3-b,主被叫终端进行通话的过程可以包括:
301、主叫终端A向IP PBX发送请求呼叫被叫终端B的Invite-1消息,该Invite-1消息携带主叫终端的号码及主叫网域IP(2000192.168.1.20)、被叫终端B的号码以及被叫域IP(2001192.168.1.21),Invite消息的SDP字段携带媒体编解码格式集S1信息(G.711A)。
302、IP PBX接收来自主叫终端A的该Invite-1消息,从该Invite-1消息中获取主叫终端A当前支持的媒体编解码格式集S1信息G.711A。
IP PBX可以记录下G.711A,并进一步将S1和IP PBX当前支持的媒体编解码格式集S3进行比较,发现S1和S3有非空交集S13(G.711A),IP PBX将G.711A作为其和主叫终端A间使用的媒体编解码格式。
进一步的,IP PBX向被叫终端B发送Invite-2消息,该Invite-2消息携带主叫终端的号码及主叫网域IP(2000主机192.168.1.20)、被叫终端B的号码以及被叫域IP(2001主机192.168.1.21),Invite-2消息的SDP字段携带媒体编解码格式集S1信息(G.711A)。
303、被叫终端B接收来自IP PBX的该Invite-2消息,从该Invite-2消息中获取主叫终端A当前支持的媒体编解码格式集S1信息(G.711A),并将S1和被叫终端B当前支持的媒体编解码格式集S2进行比较。
被叫终端B比较发现S1和S2没有非空交集,被叫终端B向IP PBX发送488消息,指示无法接受主叫终端A的该呼叫,该488消息中携带被叫终端B当前支持的媒体编解码格式集S2信息(G.729)。
304、IP PBX接收来自被叫终端B的488消息,向被叫终端B发送ACK消息。
此时,IP PBX不向主叫终端发送488消息,而是继续保持与主叫终端A之间的会话状态;
IP PBX从该488消息中获取被叫终端B当前支持的媒体编解码格式集S2信息(G.729),并将S2和S3进行比较,IP PBX比较发现S2和S3有非空交集S23(S23包括G.729),IP PBX将G.729作为其和被叫终端B间使用的媒体编解码格式;
其中,若非空交集S23中包括多个媒体编解码格式,IP PBX选出的媒体编解码格式可以是非空交集S23中优先级(该优先级顺序可以是被叫终端B指定的,也可以是IP PBX指定的)最高的媒体编解码格式,或是非空交集S23中任意的一个媒体编解码格式。
305、IP PBX申请对应S13-1和S23-1的编解码资源,创建一个两方的混音会场,IP PBX向被叫终端B发送Invite-3消息,
其中,主叫终端的号码及主叫网域IP(2000192.168.1.20)、被叫终端B的号码以及被叫域IP(2001192.168.1.21)、该Invite-3消息的SDP字段携带有媒体编解码格式G.729信息,
306、被叫终端B接收来自IP PBX的该Invite-3消息,此时对于被叫终端B而言,这是一个新的呼叫,并且媒体编解码格式G.729正是自身当前支持的一种媒体编解码格式,因此,IP PBX和被叫终端B之间的编解码协商成功,被叫终端B按照正常流程接受该呼叫。
被叫终端B向IP PBX发送100Trying消息(Invite消息的响应),IP PBX接收并向主叫终端A转发100Trying消息。
被叫终端B振铃,并向IP PBX发送180Ringing消息,IP PBX接收并向主叫终端A转发180Ringing消息,主叫终端A回铃音。
307、当被叫终端B摘机时,被叫终端B向IP PBX发送200OK-1响应,该200OK-1响应消息的SDP字段携带媒体编解码格式G.729信息,以指示确认使用媒体编解码格式G.729进行通话。
308、IP PBX接收来自被叫终端B的上述200OK-1响应,并向主叫终端A发送携带媒体编解码格式G.711A信息的200OK-2响应,以指示确认使用媒体编解码格式G.711A进行通话。
IP PBX通过向主叫终端A发送200OK响应,将其和主叫终端A之间的编解码协商结果G.711A通知给主叫终端A。
至此,IP PBX分别与主叫终端A和被叫终端B建立好了通话,而对于主叫终端A和被叫终端B而言,相当于主被叫终端之间建立的通话。
IP PBX将主叫终端A和被叫终端B加入其建立的混音会场,被叫终端B可以向IP PBX指定的端口发送G.729格式的媒体流,和/或从IP PBX指定的端口接收G.729格式的媒体流。类似的,主叫终端A可以向IP PBX指定的端口发送G.711A格式的媒体流,和/或从IP PBX指定的端口接收G.711A格式的媒体流。
而IP PBX则利用上述混音会场将来自主叫终端A的G.711A的媒体流进行混音,并将混音后的媒体流编码成G.729后发送给被叫终端,和/或,利用上述混音会场将来自被叫终端B的G.729的媒体流进行混音,并将混音后的媒体流编码成G.711A后发送给主叫终端A,从而实现主被叫终端通话,并且,G.729是被叫终端B当前通话最优选的媒体编解码格式,G.711A是主叫终端A当前通话最优选的媒体编解码格式。
由上可见,本实施例中IP PBX在主被叫终端当前支持的媒体编解码格式集没有非空交集时,修改消息处理逻辑,通过建立混音会场实现主被叫通话,有利于提高主被叫VoIP通话的灵活性,更好的满足实际需求。
进一步的,可以实现主被叫终端采用当前最优的媒体编解码格式进行通话,并且,对于主被叫终端而言,呼叫消息处理流程也无需改动。
为便于更好的实施本发明实施例的上述技术方案,本发明实施例还提供一种服务器。参见图4、本发明实施例提供的一种服务器400,可以包括:
第一获取通知模块410,用于获取主叫终端当前支持的第一媒体编解码格式集信息,若所述第一媒体编解码格式集和服务器支持的第三媒体编解码格式集之间有第一三非空交集,则在第一三非空交集中选出第四媒体编解码格式,并将选出的第四媒体编解码格式通知上述主叫终端;
在实际应用中,第一获取通知模块410可以在主被叫终端的VoIP呼叫建立过程中,获取主叫终端当前支持的第一媒体编解码格式集信息。例如第一获取通知模块410可以接收来自主叫终端的邀请(Invite)消息(该Invite消息中携带有主叫终端当前支持的第一媒体编解码格式集信息、以及主被叫终端号码等信息),从该Invite消息中获取到主叫终端当前支持的第一媒体编解码格式集信息。当然,第一获取通知模块410也可选择通过其它方式获取主叫终端当前支持的第一媒体编解码格式集信息。
此外,若服务器400当前支持第三媒体编解码格式集,在获取到主叫终端当前支持的第一媒体编解码格式集信息后,第一获取通知模块410可以记录该第一媒体编解码格式集信息,并将第一媒体编解码格式集和第三媒体编解码格式集进行比较,若发现第一媒体编解码格式集和第三媒体编解码格式集之间有第一三非空交集(第一三非空交集中可以包括一个或多个媒体编解码格式),则可在第一三非空交集中选出第四媒体编解码格式(该第四媒体编解码格式可以是第一三非空交集中优先级最高的媒体编解码格式,也可以是其中任意的一个媒体编解码格式)。第一获取通知模块410可以根据第一三非空交集中各个媒体编解码格式的优先级顺序(该优先级顺序可以是主叫终端指定的,也可以是服务器400指定的),选出优先级最高的媒体编解码格式(第四媒体编解码格式)作为其和主叫终端之间的媒体编解码格式;或者,第一获取通知模块410也可以在第一三非空交集中随机的选择其中一个媒体编解码格式(第四媒体编解码格式)作为其和主叫终端之间的媒体编解码格式。
第一获取通知模块410可向主叫终端发送携带选出的第四媒体编解码格式信息的消息,将选出的第四媒体编解码格式通知该主叫终端。例如第一获取通知模块410可向主叫终端发送携带选出的第四媒体编解码格式信息的响应消息,例如200OK响应。
第二获取通知模块420,用于获取被叫终端当前支持的第二媒体编解码格式集信息,若所述第二媒体编解码格式集和第三媒体编解码格式集之间有第二三非空交集,则在第二三非空交集中选出第五媒体编解码格式,并将选出的第五媒体编解码格式通知上述被叫终端;
在实际应用中,第二获取通知模块420也可在主被叫终端的VoIP呼叫建立过程中,获取被叫终端当前支持的第二媒体编解码格式集信息。例如服务器400向被叫终端发送Invite消息(该Invite消息中携带有主叫终端当前支持的第一媒体编解码格式集信息、以及主被叫终端号码等信息),若被叫终端通过比较发现其当前支持的第二媒体编解码格式集和第一媒体编解码格式集之间没有非空交集,则可向服务器400发送携带被叫终端当前支持的第二媒体编解码格式集信息的拒绝消息(例如488消息,或其它类似的能够指示编解码协商失败的消息);第二获取通知模块420则接收来自被叫终端的拒绝消息,从该拒绝消息中获取到被叫终端当前支持的第二媒体编解码格式集信息。当然,第二获取通知模块420也可选择通过其它方式获取被叫终端当前支持的第一媒体编解码格式集信息。
第二获取通知模块420在获取到被叫终端当前支持的第二媒体编解码格式集信息后,可以记录该第二媒体编解码格式集信息,并将第二媒体编解码格式集和第三媒体编解码格式集进行比较,若发现第二媒体编解码格式集和第三媒体编解码格式集之间有第二三非空交集(第二三非空交集中可以包括一个或多个媒体编解码格式),则可在第二三非空交集中选出第五媒体编解码格式(该第五媒体编解码格式可以是第二三非空交集中优先级最高的媒体编解码格式,也可以是其中任意的一个媒体编解码格式)。第二获取通知模块420可以根据第二三非空交集中各个媒体编解码格式的优先级顺序(该优先级顺序可以是被叫终端指定的,也可以是服务器指定的),选出优先级最高的媒体编解码格式(第五媒体编解码格式)作为其和被叫终端之间的媒体编解码格式;或者,第二获取通知模块420也可以在第二三非空交集中随机的选择其中一个媒体编解码格式(第五媒体编解码格式)作为其和被叫终端之间的媒体编解码格式。
第二获取通知模块420可向被叫终端发送携带选出的第五媒体编解码格式信息的消息,将选出的第五媒体编解码格式通知该被叫终端。
例如第二获取通知模块420可以再向被叫终端发送携带选出的第五媒体编解码格式信息的Invite消息,重新发起新的VoIP呼叫,由于第五媒体编解码格式是被叫终端当前能够支持的媒体编解码格式,因此本次编解码协商可以成功,该VoIP呼叫能够被被叫终端接受。
混音会场控制模块430,用于申请对应第四媒体编解码格式和第五媒体编解码格式的编解码资源,并创建混音会场,将主叫终端和被叫终端加入所述混音会场;
其中,混音会场控制模块430可以创建一个两方的混音会场,以节约会场资源,当然也可选择创建一个多方混音会场。
媒体流控制模块440,用于利用混音会场控制模块430创建的混音会场将来自主叫终端的第四媒体编解码格式的媒体流和来自被叫终端的第五媒体编解码格式的媒体流进行混音,并将混音后的媒体流编码成第五媒体编解码格式后发送给被叫终端,以及将混音后的媒体流编码成第四媒体编解码格式后发送给主叫终端。
在一种应用场景下,第一获取通知模块410获取主叫终端当前支持的第一媒体编解码格式集信息,包括:
接收来自主叫终端的第三邀请消息,从所述第三邀请消息中获取主叫终端当前支持的第一媒体编解码格式集信息;
在一种应用场景下,第二获取通知模块420还用于,在获取被叫终端当前支持的第二媒体编解码格式集信息之前,向被叫终端发送携带有主叫终端当前支持的第一媒体编解码格式集信息的第一邀请消息;
相应的,第二获取通知模块420获取被叫终端当前支持的第二媒体编解码格式集信息,包括:
接收来自被叫终端的携带有被叫终端当前支持的第二媒体编解码格式集信息的拒绝消息(例如488消息),从该拒绝消息中获取被叫终端当前支持的第二媒体编解码格式集信息。
在一种应用场景下,第一获取通知模块410将选出的第五媒体编解码格式通知上述被叫终端,包括:
向被叫终端发送携带第五媒体编解码格式信息的第二邀请消息。
在一种应用场景下,第一获取通知模块410将选出的第四媒体编解码格式通知所述主叫终端,包括:
在接收到来自被叫终端的第一响应(例如200OK响应)后,向上述主叫终端发送第二响应(例如200OK响应),其中,第一响应携带第五媒体编解码格式信息,第二响应携带第四媒体编解码格式信息。
可以理解,本实施例服务器400可以是如上述方法实施例中的IP PBX,其可以用于实现方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
进一步的,本发明实施例还提供一种通信系统,可以包括服务器400。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
综上,本发明实施例中IP PBX在主被叫终端当前支持的媒体编解码格式集之间的交集为空集时,修改消息处理逻辑,通过建立混音会场实现主被叫通话,有利于提高主被叫VoIP通话的灵活性,更好的满足实际需求。
进一步的,可以实现主被叫终端采用当前最优的媒体编解码格式进行通话,并且,对于主被叫终端而言,呼叫消息处理流程也无需改动。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
以上对本发明实施例所提供的实现主被叫通话的方法和相关设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种实现主被叫通话的方法,其特征在于,包括:
服务器获取主叫终端当前支持的第一媒体编解码格式集信息,若所述第一媒体编解码格式集和服务器支持的第三媒体编解码格式集之间有第一三非空交集,则在第一三非空交集中选出第四媒体编解码格式,并将选出的第四媒体编解码格式通知所述主叫终端,其中,所述第一三非空交集中包括一个或多个媒体编解码格式;
获取被叫终端当前支持的第二媒体编解码格式集信息,若所述第二媒体编解码格式集和第三媒体编解码格式集之间有第二三非空交集,则在第二三非空交集中选出第五媒体编解码格式,并将选出的第五媒体编解码格式通知所述被叫终端,其中,所述第二三非空交集中包括一个或多个媒体编解码格式;
申请对应第四媒体编解码格式和第五媒体编解码格式的编解码资源,并创建混音会场,将主叫终端和被叫终端加入所述混音会场;
利用所述混音会场将来自主叫终端的第四媒体编解码格式的媒体流和来自被叫终端的第五媒体编解码格式的媒体流进行混音,并将混音后的媒体流编码成第五媒体编解码格式后发送给被叫终端,以及将混音后的媒体流编码成第四媒体编解码格式后发送给主叫终端;
其中,所述获取被叫终端当前支持的第二媒体编解码格式集信息之前还包括:向被叫终端发送携带有主叫终端当前支持的第一媒体编解码格式集信息的第一邀请消息;
所述获取被叫终端当前支持的第二媒体编解码格式集信息,包括:
接收来自被叫终端的携带有被叫终端当前支持的第二媒体编解码格式集信息的拒绝消息,从所述拒绝消息中获取被叫终端当前支持的第二媒体编解码格式集信息。
2.根据权利要求1所述的方法,其特征在于,
所述获取主叫终端当前支持的第一媒体编解码格式集信息,包括:
接收来自主叫终端的第三邀请消息,从所述第三邀请消息中获取主叫终端当前支持的第一媒体编解码格式集信息。
3.根据权利要求1所述的方法,其特征在于,
所述将选出的第五媒体编解码格式通知所述被叫终端,包括:
向被叫终端发送携带第五媒体编解码格式信息的第二邀请消息。
4.根据权利要求3所述的方法,其特征在于,
所述将选出的第四媒体编解码格式通知所述主叫终端,包括:
在接收到来自被叫终端的第一响应后,向所述主叫终端发送第二响应,其中,第一响应携带第五媒体编解码格式信息,第二响应携带第四媒体编解码格式信息。
5.一种服务器,其特征在于,包括:
第一获取通知模块,用于获取主叫终端当前支持的第一媒体编解码格式集信息,若所述第一媒体编解码格式集和服务器支持的第三媒体编解码格式集之间有第一三非空交集,则在第一三非空交集中选出第四媒体编解码格式,并将选出的第四媒体编解码格式通知所述主叫终端,其中,所述第一三非空交集中包括一个或多个媒体编解码格式;
第二获取通知模块,用于获取被叫终端当前支持的第二媒体编解码格式集信息,若所述第二媒体编解码格式集和第三媒体编解码格式集之间有第二三非空交集,则在第二三非空交集中选出第五媒体编解码格式,并将选出的第五媒体编解码格式通知所述被叫终端,其中,所述第二三非空交集中包括一个或多个媒体编解码格式;
混音会场控制模块,用于申请对应第四媒体编解码格式和第五媒体编解码格式的编解码资源,并创建混音会场,将主叫终端和被叫终端加入所述混音会场;
媒体流控制模块,用于利用所述混音会场将来自主叫终端的第四媒体编解码格式的媒体流和来自被叫终端的第五媒体编解码格式的媒体流进行混音,并将混音后的媒体流编码成第五媒体编解码格式后发送给被叫终端,以及将混音后的媒体流编码成第四媒体编解码格式后发送给主叫终端;
其中,所述第二获取通知模块还用于,在获取被叫终端当前支持的第二媒体编解码格式集信息之前,向被叫终端发送携带有主叫终端当前支持的第一媒体编解码格式集信息的第一邀请消息;
所述第二获取通知模块获取被叫终端当前支持的第二媒体编解码格式集信息,包括:接收来自被叫终端的携带有被叫终端当前支持的第二媒体编解码格式集信息的拒绝消息,从所述拒绝消息中获取被叫终端当前支持的第二媒体编解码格式集信息。
6.根据权利要求5所述的服务器,其特征在于,所述第一获取通知模块获取主叫终端当前支持的第一媒体编解码格式集信息,包括:
接收来自主叫终端的第三邀请消息,从所述第三邀请消息中获取主叫终端当前支持的第一媒体编解码格式集信息。
7.根据权利要求6所述的服务器,其特征在于,所述第一获取通知模块将选出的第五媒体编解码格式通知所述被叫终端,包括:
向被叫终端发送携带第五媒体编解码格式信息的第二邀请消息。
8.根据权利要求7所述的服务器,其特征在于,所述第一获取通知模块将选出的第四媒体编解码格式通知所述主叫终端,包括:
在接收到来自被叫终端的第一响应后,向所述主叫终端发送第二响应,其中,第一响应携带第五媒体编解码格式信息,第二响应携带第四媒体编解码格式信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101250877A CN102196106B (zh) | 2010-03-11 | 2010-03-11 | 实现主被叫通话的方法和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101250877A CN102196106B (zh) | 2010-03-11 | 2010-03-11 | 实现主被叫通话的方法和相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102196106A CN102196106A (zh) | 2011-09-21 |
CN102196106B true CN102196106B (zh) | 2013-12-04 |
Family
ID=44603459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101250877A Expired - Fee Related CN102196106B (zh) | 2010-03-11 | 2010-03-11 | 实现主被叫通话的方法和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102196106B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491579B (zh) * | 2013-09-25 | 2017-06-06 | 大唐移动通信设备有限公司 | Ims业务呼叫方法、ims业务实现方法及装置 |
CN110557593A (zh) * | 2018-06-01 | 2019-12-10 | 中兴通讯股份有限公司 | 一种媒体传输方法及h323-sip网关 |
CN110445929B (zh) | 2019-07-29 | 2022-05-20 | 腾讯科技(深圳)有限公司 | 通话连接建立方法、服务器、电子装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098244A (zh) * | 2006-06-26 | 2008-01-02 | 华为技术有限公司 | 一种多点会议中媒体处理的方法和系统 |
CN101227482A (zh) * | 2008-02-02 | 2008-07-23 | 中兴通讯股份有限公司 | 一种网络电话通话中媒体协商方法、装置及系统 |
CN101471804A (zh) * | 2007-12-28 | 2009-07-01 | 华为技术有限公司 | 一种音频处理方法、系统和控制服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594600B (zh) * | 2009-06-30 | 2013-08-07 | 中兴通讯股份有限公司 | 基于软交换的媒体转换方法、软交换及媒体转换网关 |
CN101668162B (zh) * | 2009-10-14 | 2011-10-26 | 中国电信股份有限公司 | 视频会议的实现方法和视频会议系统 |
-
2010
- 2010-03-11 CN CN2010101250877A patent/CN102196106B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098244A (zh) * | 2006-06-26 | 2008-01-02 | 华为技术有限公司 | 一种多点会议中媒体处理的方法和系统 |
CN101471804A (zh) * | 2007-12-28 | 2009-07-01 | 华为技术有限公司 | 一种音频处理方法、系统和控制服务器 |
WO2009089717A1 (fr) * | 2007-12-28 | 2009-07-23 | Huawei Technologies Co., Ltd. | Procédé, système et serveur de contrôle de traitement audio |
CN101227482A (zh) * | 2008-02-02 | 2008-07-23 | 中兴通讯股份有限公司 | 一种网络电话通话中媒体协商方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102196106A (zh) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1534972B (zh) | 优化网络资源根据最终用户请求的用于会议接续的快速网络sip/sdp过程 | |
JP6359128B2 (ja) | ビデオメディア再生方法、装置及びシステム、コンピュータ記憶メディア | |
CN101465919B (zh) | 视频会议的实现方法和系统 | |
RU2448434C2 (ru) | Способ и устройство для реализации услуг мультимедийного настраиваемого rbt и мультимедийного настраиваемого rt | |
CN101909192B (zh) | 电视终端的通信方法及其电视终端 | |
CN101278278A (zh) | 在基于信道的媒体远程通信协议的通信期间提供交互式媒体的方法和装置 | |
US10506000B2 (en) | Mesh conferencing | |
WO2012113193A1 (zh) | 一种多方通话业务的实现方法和系统 | |
CN107690054A (zh) | 一种视频通话的处理方法及装置 | |
WO2008095385A1 (fr) | Procédé, système et dispositif d'appel personnalisé | |
CN101764802B (zh) | 在通话期间播放多媒体铃音的方法、服务器及终端设备 | |
CN103702063B (zh) | 一种在视频会议系统中实现动态媒体协商的方法 | |
CN102196106B (zh) | 实现主被叫通话的方法和相关设备 | |
CN101815097A (zh) | 一种ctd呼叫业务中实现呼叫保持的方法和装置 | |
CN102394989A (zh) | 在通话期间播放多媒体铃音的方法、服务器及终端设备 | |
CN101854356A (zh) | 终端呼叫的视频录像方法、视频数据发送方法及可视终端 | |
CN102457772A (zh) | 信息显示方法及设备 | |
JP2003125448A (ja) | 情報端末装置及びそれに用いる通信方法並びにそのプログラム | |
CN101588562B (zh) | 基于承载无关呼叫控制协议的多媒体彩铃实现方法及系统 | |
CN102664863B (zh) | 终端实现呼叫等待的方法、装置和系统 | |
CN110445929A (zh) | 通话连接建立方法和第一终端、服务器及存储介质 | |
CN102137249A (zh) | 一种视频通信的处理方法、系统和视频互通设备 | |
CN101686138B (zh) | 一种实现三方会议的方法、设备和系统 | |
US20170289349A1 (en) | System and method for supporting managed call recording services | |
CN101202788A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131204 Termination date: 20170311 |