一种实现多方会话的系统及方法 【技术领域】
本发明涉及通信领域,具体涉及一种实现多方会话的系统及方法。
背景技术
随着科技的发展,人们拥有了越来越多的个人设备,例如手机、笔记本电脑、PDA(Personal Digital Assistant,个人数码助理)、MP3、MP4等等,而且这些设备的能力也越来越强,大多具有了短距离通信的能力,因此人们越来越希望能够将身边的这些设备连接到一起,组成一个PAN(PersonalArea Network,个域网络),共享彼此的资源与能力。
【发明内容】
本发明要解决的技术问题是提供一种实现多方会话的系统及方法,可以在没有会议电话终端的情况下实现多方会话。
为了解决上述问题,本发明提供了一种实现多方会话的方法,包括:终端A与终端B之间建立会话,之后所述终端B与终端C通过短距离通信建立会话,终端A与终端C通过终端B的转发实现会话。
进一步地,当终端C不是终端B所在个域网络内的设备时,终端C首先向终端B所在个域网络的控制点请求加入所述个域网络,当终端C加入所述个域网络后与终端B建立短距离通信。
进一步地,当所述终端C与终端B是同一个域网络内的不同设备或终端C加入终端B所在个域网络后,终端B直接向终端C请求建立短距离通信,或通过所述个域网络的控制点向终端C请求建立短距离通信。
进一步地,当建立所述短距离通信后,终端B与终端C直接通过短距离通信进行会话,或终端B与终端C通过所述控制点的转发进行会话;
终端A与终端C之间的会话通过终端B进行转发,或通过终端B与所述控制点进行转发。
进一步地,所述终端A与终端B之间建立的会话为短距离通信或需要运营商的通信;
所述短距离通信为蓝牙通信、红外通信、ZigBee通信或超宽带通信。
本发明还提供一种实现多方会话的系统,包括:终端A、终端B及终端C,所述终端A用于与终端B建立会话;
所述终端B用于与终端C建立短距离通信,以及向终端A及终端C转发会话。
进一步地,所述系统还包括终端B所在个域网络的控制点;
终端C用于当其不是终端B所在个域网络内的设备时,向所述控制点发送加入所述个域网络的请求;
所述控制点用于接收所述请求,并向终端C返回同意加入的消息。
进一步地,当所述终端C与终端B是同一个域网络内的不同设备或终端C加入终端B所在个域网络后,终端B用于向终端C发送加入会话的请求,或向控制点发送请求终端C加入会话的请求;
所述控制点还用于将所述请求转发至终端C,以及将终端C返回的同意加入的响应转发至终端B;
所述终端C还用于收到所述请求后向终端B或控制点返回同意加入的响应。
进一步地,所述终端B还用于将终端A发来的会话信息转发至终端C或控制点,以及将收到的终端C发来的会话信息转发至终端A;
所述控制点还用于将终端B发来的会话信息转发至终端C,以及将终端C发来的会话信息转发至终端B。
进一步地,所述终端A与终端B之间建立的会话为短距离通信或需要运营商的通信;
所述短距离通信为蓝牙通信、红外通信、ZigBee通信或超宽带通信。
综上所述,本发明提供一种实现多方会话的系统及方法,可通过短距离通信实现没有会议电话终端情况下的多方会话,且实现方式简单。
【附图说明】
图1是本发明实施例一中实现多方会话的流程图;
图2是本发明实施例二中实现多方会话的流程图;
图3是本发明终端B与终端C建立短距离通信的流程图;
图4是本发明终端C发现PAN控制点并与其建立连接的流程图;
图5是本发明终端C发现Piconet控制点并与其建立连接的流程图。
【具体实施方式】
本发明提供一种实现多方会话的系统及方法,终端A与终端B之间建立会话,之后终端B与终端C通过短距离通信建立会话,终端A与终端C通过终端B的转发实现会话。
本实施例提供一种实现多方会话的系统,包括终端A、终端B、终端C及终端B所在个域网络的控制点;
终端A用于同终端B建立会话;
终端B用于与终端C建立短距离通信,具体是指,当终端C加入终端B所在的个域网络后,或终端C与终端B属于同一个域网络时,终端B向终端C发送加入会话的请求,或向控制点发送请求终端C加入会话的请求;
终端B还用于当其与终端C之间的短距离通信建立后,将终端A发来的会话信息转发至终端C或控制点,以及将收到的终端C发来的会话信息转发至终端A;
终端C用于当其不是终端B所在个域网络内的设备时,向控制点发送加入所述个域网络的请求;以及收到上述加入会话的请求后向终端B或控制点返回同意加入的响应。
控制点用于接收上述加入个域网络的请求,并向终端C返回同意加入的消息;以及将上述加入会话的请求转发至终端C,并将终端C返回的同意加入的响应转发至终端B;
控制点还用于当终端B与终端C之间的短距离通信建立后,将终端B发来的会话信息转发至终端C,以及将终端C发来的会话信息转发至终端B。
上述终端A与终端B之间建立的会话为可以是短距离通信,也可以是需要运营商的非短距离通信。
本发明提供一种实现多方会话的方法,以下通过两个实施例进行阐述;
实施例一:
如图1所示,终端A与终端B首先建立会话,终端B与终端C属于同一个域网络内的不同设备,终端B与终端C通过短距离通信建立会话;
步骤101:终端A与终端B之间建立会话;
可以是终端A向终端B发起呼叫,也可以是终端B向终端A发起呼叫;
步骤102:终端B请求终端C加入会话;
终端B可以是直接向终端C发送加入会话的请求,也可以向所在个域网络的控制点发送加入会话的请求,然后由控制点向终端C转发该请求。
步骤103:终端C向终端B返回响应,同意加入会话;
终端C还可以是通过所在个域网络的控制点向终端B转发上述响应。
步骤104:终端B与终端C之间开始会话;
步骤105:终端C与终端A之间开始通过终端B的转发进行会话,即终端B将接收的终端A发来的会话信息转发至终端C,以及将接收的终端C发来的会话信息转发至终端A;
或者,终端C与终端A通过终端B与控制点一起转发进行会话,即终端B将接收的终端A发来的会话信息转发至控制点,控制点再将该会话信息转发至终端C,另外,控制点将终端C发来的会话信息转发至终端B,终端B再将该会话信息转发至终端A。
步骤102至步骤104中,也可以是终端C向终端B发起加入会话的请求。
步骤102至步骤105的具体步骤根据不同的短距离通信技术可能会有不同。
本实施例中,可以是一个或多个终端C按照上述方法与终端B建立短距离通信,进而与终端A实现通信。
实施例二:
如图2所示,终端A与终端B首先建立会话,终端B与终端C不属于同一个域网络内的设备,终端B与终端C通过短距离通信建立会话;
步骤201:终端A与终端B之间建立会话;
可以是终端A向终端B发起呼叫,也可以是终端B向终端A发起呼叫;
步骤202:终端C向终端B所在个域网络的控制点发起加入该个域网络的请求;
步骤203:终端B所在个域网络的控制点向终端C返回响应,同意其加入该个域网络;
步骤204:终端B向所在个域网络的控制点请求终端C加入会话;
步骤205:该个域网络的控制点转发该加入会话的请求给终端C;
步骤206:终端C向该个域网络的控制点返回响应,同意加入会话;
步骤207:该个域网络的控制点转发该响应给终端B;
步骤208:终端B与终端C之间开始会话,可以是通过该个域网络的控制点转发,也可以是终端B与终端C直接进行会话;
步骤209:终端C与终端A之间开始会话,可以是通过终端B转发,也可以是通过终端B和该个域网络的控制点一起转发。
步骤202中,也可以是终端B所在个域网络的控制点请求终端C加入该个域网络。步骤204中,终端B还可以是直接向终端C发送加入会话的请求(如终端B本身为控制点时),此时终端C直接向终端B返回同意加入会话的响应。
本实施例中,可以是一个或多个终端C按照上述方法与终端B建立短距离通信,进而与终端A实现通信。
下面通过应用实例进一步说明本发明:
应用实例一,本实施例中使用蓝牙作为短距离通信技术,终端B与属于同一个域网络的终端C直接建立蓝牙通信;
步骤301:终端A与终端B之间建立会话,设终端B为手机;
步骤302:终端B通过蓝牙技术请求终端C加入会话,终端C为MP3;
步骤303:终端C向终端B返回响应,同意加入会话;
步骤304:终端B与终端C开始会话,且终端A与终端C开始通过终端B的转发实现会话。
根据蓝牙的A2DP profile,手机与MP3之间的音频流是分别建立的,而且都是单向的,也就是说手机向MP3发起建立一个手机向MP3发送音频流的连接,其中手机只发送,MP3只接收;同样的,MP3也向手机发起建立一个MP3向手机发送音频流的连接,其中MP3只发送,手机只接收。
如图3为终端B向终端C发起建立连接的过程,终端C向终端B发起建立连接的过程与其类似,此处不再敷述。
步骤401:终端B向终端C发起SEP发现流程(如果之前没有获取过SEP信息,或者是想刷新该信息);
步骤402:终端C向终端B返回其服务能力,包括其SEID、支持的音频格式及媒体类型等;
步骤403:终端B根据获取的终端C的各种信息,配置出终端B与终端C共同支持的音频流参数,并将配置的参数反馈给终端C;
步骤404:终端C按照收到的参数完成相同的配置,完成L2CAP通道的建立,终端B与终端C均处于“OPEN”状态;
步骤405:终端B通知终端C开始进行流传输,两个设备的状态都会变为“STREAMING”并开始传输音频流。
该实例适用于以下场景:终端A与终端B建立会话后,终端B发现需要身边的终端C同时参与该会话(终端C与终端B属于同一个域网络);终端B将会话转接一路到终端C上,同时保持终端B的会话状态,终端A、B、C之间实现多方会议电话。
应用实例二,本实施例中使用蓝牙作为短距离通信技术,终端B与终端C不属于同一个域网络,当终端C加入终端B所在个域网络后,终端B通过控制点与终端C建立蓝牙通信:
步骤501:终端A与终端B之间建立会话,设终端B为手机;
步骤502:终端C向终端B所在个域网络的控制点发起加入该个域网络的请求,终端C为PDA;终端B所在个域网络的控制点可以是PAN控制点,也可以是Piconet(微微网)控制点;
步骤503:终端B所在个域网络的控制点向终端C返回响应,同意其加入终端B所在个域网络;
步骤504:终端B请求终端C加入与终端A的会话;
步骤505:终端C向终端B返回响应,同意加入该会话;
步骤506:终端B与终端C开始会话,且终端A与终端C开始通过终端B及控制点的转发实现会话。
当终端B所在个域网络的控制点是PAN控制点时,终端C加入终端B所在个域网络的步骤如图4所示:
步骤601:终端C通过BB inquiries(基带查询)和SDP(Service DiscoveryProtocol业务发现协议)确定PAN控制点;
步骤602:终端C请求与PAN控制点之间建立蓝牙连接;
步骤603:终端C与PAN控制点间建立L2CAP通道;
步骤604:终端C与PAN控制点之间通过BNEP Control Command初始化BNEP(蓝牙网络封装协议)连接。
终端B和PAN控制点之间也需要建立BNEP连接,建立BNEP连接后,终端B与终端C之间的通信通过PAN控制点转发,或终端B与终端C直接通过蓝牙进行会话,不需要控制点的转发。
当终端B所在个域网络的控制点是Piconet控制点时,终端C加入终端B所在个域网络的步骤如图5所示:
步骤701:终端C通过BB inquiries和SDP确定Piconet控制点;
步骤702:终端C请求和Piconet控制点间建立蓝牙连接;
步骤703:终端C和Piconet控制点间建立L2CAP通道;
步骤704:终端C和Piconet控制点之间建立TCS-BIN(电话控制协议层)连接,用于传输控制信令;
步骤705:终端C和Piconet控制点之间建立SCO(SynchronousConnection-oriented link,面向连接的同步链接)连接,用于传输数据。
建立上述连接后,终端B与终端C之间的通信通过Piconet控制点转发。
上述实例适用于以下场景:终端A与终端B建立会话后,发现需要身边的终端C同时参与该会话;终端C将自己的PDA接入到终端B的PAN中;终端B将会话转接一路到终端C即PDA上,同时保持手机的会话状态;终端A、B、C之间实现多方会议电话。
以上实施例是以蓝牙技术为例进行说明的,但其他短距离通信均适用于本发明,如红外通信、ZigBee通信、UWB(超宽带)通信等。