发明内容
本发明实施例提供网页实时通信方法、系统及服务器和客户端,实现了不同SP下的用户之间通过WebRTC客户端进行通信。
本发明实施例第一方面提供一种网页实时通信方法,应用于第一用户的第一网页实时通信WebRTC客户端中,所述第一用户为第一服务提供商SP下的用户,包括:
获取第二用户对应的WebRTC的统一标识,所述第二用户为第二SP下的用户,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;
根据所述第二WebRTC服务器的地址信息将跨SP的呼叫请求通过所述第一用户对应的第一WebRTC服务器发送给所述第二WebRTC服务器,所述跨SP的呼叫请求中包括所述统一标识,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述跨SP的呼叫请求转发给第二用户的第二WebRTC客户端;
接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,与第二WebRTC客户端之间进行通信。
本发明实施例第一方面的第一种可能实现方式中,所述获取第二用户对应的WebRTC的统一标识,具体包括:
向网页实时通信的注册服务器发送地址查询请求,以请求查询所述统一标识的存储地址信息;
接收所述注册服务器返回的所述统一标识的存储地址信息;
根据所述存储地址信息向储存所述统一标识的服务器发送标识查询请求,以请求查询所述第二SP对应的网页实时通信的统一标识;所述储存统一标识的服务器为所述第二用户对应的网页实时通信的地址服务器,或所述第二WebRTC服务器;
接收所述储存统一标识的服务器返回的所述第二用户的统一标识。
结合本发明实施例第一方面或第一方面的第一种可能实现方式,本发明实施例第一方面的第二种可能实现方式中,所述获取第二用户对应的WebRTC的统一标识,之后还包括:
根据所述第二WebRTC服务器的地址信息将添加好友请求通过所述第一WebRTC服务器发送给所述第二WebRTC服务器,所述添加好友请求中包括所述统一标识,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述添加好友请求转发给第二用户的第二WebRTC客户端;
接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应,将所述第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
本发明实施例第二方面提供一种网页实时通信方法,应用于第一用户的第一网页实时通信WebRTC服务器中,所述第一用户为第一服务提供商SP下的用户,包括:
接收所述第一WebRTC客户端发送的跨SP的呼叫请求;
如果所述跨SP的呼叫请求中包括第二用户对应的WebRTC的统一标识,所述第二用户为第二SP下的用户,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;
则根据所述第二WebRTC服务器的地址信息将所述携带统一标识的跨SP的呼叫请求转发给所述第二WebRTC服务器,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述跨SP的呼叫请求转发给第二用户的第二WebRTC客户端;
接收所述第二WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息并转发给所述第一WebRTC客户端,以便所述第一WebRTC客户端与第二WebRTC客户端之间进行通信。
本发明实施例第二方面的第一种可能实现方式中,所述方法还包括:
接收所述第一WebRTC客户端发送的添加好友请求;
如果所述添加好友请求中包括第二用户对应的WebRTC的统一标识,则根据所述第二WebRTC服务器的地址信息将所述携带统一标识的添加好友请求转发给所述第二WebRTC服务器,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述添加好友请求转发给第二用户的第二WebRTC客户端;
接收所述第二WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应并转发给所述第一WebRTC客户端,并将所述第二用户的统一标识与第一用户在第一SP下的用户标识对应地储存。
结合本发明实施例第二方面的第一种可能实现方式,本发明实施例第二方面的第二种可能实现方式中,所述根据所述第二WebRTC服务器的地址信息将携带所述统一标识的跨SP的呼叫请求或添加好友请求转发给所述第二WebRTC服务器,之前还包括:
如果所述跨SP的呼叫请求或添加好友请求中包括:所述第二SP的标识和所述第二用户在第二SP下的用户标识;
则根据所述第二SP的标识和所述第二用户在第二SP下的用户标识,获取所述第二用户对应的WebRTC的统一标识;
将所述获取的第二用户对应的WebRTC的统一标识添加到所述跨SP的呼叫请求或添加好友请求中。
结合本发明实施例第二方面的第二种可能实现方式,本发明实施例第二方面的第三种可能实现方式中,所述根据所述第二SP的标识和所述第二用户在第二SP下的用户标识,获取所述第二用户对应的WebRTC的统一标识,具体包括:
向网页实时通信的注册服务器发送地址查询请求,所述查询请求中包括所述第二SP的标识,以请求查询所述第二SP下统一标识的存储地址信息;
接收所述注册服务器返回的所述统一标识的存储地址信息;
根据所述存储地址信息向储存所述统一标识的服务器发送标识查询请求,所述标识查询请求中包括所述第二用户在第二SP下的用户标识,以请求查询所述第二用户对应的网页实时通信的统一标识;所述储存统一标识的服务器为所述第二用户对应的网页实时通信的地址服务器,或所述第二WebRTC服务器;
接收所述储存统一标识的服务器返回的所述第二用户的统一标识。
结合本发明实施例第二方面到第二方面的第三种可能实现方式中任一方面,本发明实施例第二方面的第四种可能实现方式中,所述方法还包括:
将所述第一WebRTC服务器中储存WebRTC的统一标识的存储地址信息注册到WebRTC的注册服务器中。
本发明实施例第三方面提供一种网页实时通信方法,应用于第一用户的第一网页实时通信WebRTC客户端中,所述第一用户为第一服务提供商SP下的用户,包括:
将跨SP的呼叫请求发送给第一WebRTC服务器,所述跨SP的呼叫请求中包括第二SP的标识和第二用户在第二SP下的用户标识;
以便所述第一WebRTC服务器根据所述第二SP的标识和第二用户在第二SP下的用户标识获取所述第二用户对应的WebRTC的统一标识,并将所述统一标识添加到所述跨SP的呼叫请求中发送给所述第二SP的第二WebRTC服务器,以指示第二WebRTC服务器根据所述第二用户的用户标识将接收的跨SP的呼叫请求发送给所述第二用户的第二WebRTC客户端;其中,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;
接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,与第二WebRTC客户端之间进行通信。
本发明实施例第三方面的第一种可能实现方式中,所述方法还包括:
将添加好友请求发送给第一WebRTC服务器,所述添加好友请求中包括第二SP的标识和第二用户在第二SP下的用户标识;
以便所述第一WebRTC服务器根据所述第二SP的标识和第二用户在第二SP下的用户标识获取所述第二用户对应的WebRTC的统一标识,并将所述统一标识添加到所添加好友请求中发送给所述第二SP的第二WebRTC服务器,以指示第二WebRTC服务器根据所述第二用户的用户标识将接收的添加好友请求发送给所述第二用户的第二WebRTC客户端;
接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应,将所述第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
本发明实施例第四方面提供一种网页实时通信方法,应用于第二用户的第二网页实时通信WebRTC服务器中,所述第二用户为第二服务提供商SP下的用户,所述方法包括:
接收第一SP下的第一WebRTC服务器发送的跨SP的呼叫请求,所述跨SP的呼叫请求中携带所述第二用户对应的WebRTC的统一标识,所述统一标识中包括所述第二用户在第二SP下的用户标识,及所述第二WebRTC服务器的地址信息;
根据所述第二用户在第二SP下的用户标识,查找到所述第二用户的第二WebRTC客户端,并将所述携带所述第二用户的统一标识的跨SP的呼叫请转发给所述第二WebRTC客户端;
接收所述第二WebRTC客户端返回的呼叫接受消息,并转发给所述第一WebRTC服务器。
本发明实施例第四方面的第一种可能实现方式中,所述方法还包括:
接收第一SP下的第一WebRTC服务器发送的添加好友请求,所述添加好友请求中携带所述第二用户对应的WebRTC的统一标识;
根据所述第二用户在第二SP下的用户标识,查找到所述第二用户的第二WebRTC客户端,并将所述携带所述第二用户的统一标识的添加好友请求转发给所述第二WebRTC客户端;
接收所述第二WebRTC客户端返回的添加好友成功响应,并转发给所述第一WebRTC服务器。
结合本发明实施例第四方面或第四方面的第一种可能实现方式,本发明实施例第四方面的第二种可能实现方式中,所述接收第一SP下的第一WebRTC服务器发送的跨SP的呼叫请求,之前还包括:
接收所述第一WebRTC服务器或第一WebRTC客户端发送的标识查询请求,以请求查询所述第二用户对应的WebRTC的统一标识;
将所述第二用户的统一标识返回给所述第一WebRTC服务器或第一WebRTC客户端。
本发明实施例第五方面提供一种网页实时通信WebRTC客户端,包括:
统一标识获取单元,用于获取第二用户对应的WebRTC的统一标识,所述第二用户为第二服务提供商SP下的用户,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;
呼叫请求单元,用于根据所述统一标识获取单元获取的统一标识中的第二WebRTC服务器的地址信息,将跨SP的呼叫请求通过第一SP下的第一用户对应的第一WebRTC服务器发送给所述第二WebRTC服务器,所述跨SP的呼叫请求中包括所述统一标识,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述跨SP的呼叫请求转发给第二用户的第二WebRTC客户端;
呼叫接受单元,用于接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,与第二WebRTC客户端之间进行通信。
本发明实施例第五方面的第一种可能实现方式中,所述统一标识获取单元具体包括:
地址请求单元,用于向网页实时通信的注册服务器发送地址查询请求,以请求查询所述统一标识的存储地址信息;
存储地址接收单元,用于接收所述注册服务器返回的所述统一标识的存储地址信息;
标识请求单元,用于根据所述存储地址接收单元接收的存储地址信息向储存所述统一标识的服务器发送标识查询请求,以请求查询所述第二SP对应的网页实时通信的统一标识;所述储存统一标识的服务器为所述第二用户对应的网页实时通信的地址服务器,或所述第二WebRTC服务器;
标识接收单元,用于接收所述储存统一标识的服务器返回的所述第二用户的统一标识。
结合本发明实施例第五方面或第五方面的第一种可能实现方式,本发明实施例第五方面的第二种可能实现方式中,还包括:
添加好友请求单元,用于根据所述统一标识获取单元获取的统一标识中的第二WebRTC服务器的地址信息,将添加好友请求通过所述第一WebRTC服务器发送给所述第二WebRTC服务器,所述添加好友请求中包括所述统一标识,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述添加好友请求转发给第二用户的第二WebRTC客户端;
响应处理单元,用于接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应,将所述第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
本发明实施例第六方面提供一种网页实时通信WebRTC服务器,包括:
呼叫接收单元,用于接收第一服务提供商SP下的第一用户的第一WebRTC客户端发送的跨SP的呼叫请求;
呼叫转发单元,用于如果所述呼叫接收单元接收的跨SP的呼叫请求中包括第二用户对应的WebRTC的统一标识,所述第二用户为第二SP下的用户,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;则根据所述第二WebRTC服务器的地址信息将所述携带统一标识的跨SP的呼叫请求转发给所述第二WebRTC服务器,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述跨SP的呼叫请求转发给第二用户的第二WebRTC客户端;
呼叫接受转发单元,用于接收所述第二WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息并转发给所述第一WebRTC客户端,以便所述第一WebRTC客户端与第二WebRTC客户端之间进行通信。
本发明实施例第六方面的第一种可能实现方式中,还包括:
添加请求接收单元,用于接收所述第一WebRTC客户端发送的添加好友请求;
添加请求转发单元,用于如果所述添加请求接收单元接收的添加好友请求中包括第二用户对应的WebRTC的统一标识,则根据所述第二WebRTC服务器的地址信息将所述携带统一标识的添加好友请求转发给所述第二WebRTC服务器,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述添加好友请求转发给第二用户的第二WebRTC客户端;
响应接收处理单元,用于接收所述第二WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应并转发给所述第一WebRTC客户端,并将所述第二用户的统一标识与第一用户在第一SP下的用户标识对应地储存。
结合本发明实施例第六方面或第六方面的第一种可能实现方式,本发明实施例第六方面的第二种可能实现方式中,还包括:
统一标识获取单元,用于如果所述跨SP的呼叫请求或添加好友请求中包括:所述第二SP的标识和所述第二用户在第二SP下的用户标识;则根据所述第二SP的标识和所述第二用户在第二SP下的用户标识,获取所述第二用户对应的WebRTC的统一标识;
标识添加单元,用于将所述统一标识获取单元获取的第二用户对应的WebRTC的统一标识添加到所述跨SP的呼叫请求或添加好友请求中。
结合本发明实施例第六方面的第二种可能实现方式,本发明实施例第六方面的第三种可能实现方式中,所述统一标识获取单元具体包括:
地址请求单元,用于向网页实时通信的注册服务器发送地址查询请求,所述查询请求中包括所述第二SP的标识,以请求查询所述第二SP下统一标识的存储地址信息;
存储地址接收单元,用于接收所述注册服务器返回的所述统一标识的存储地址信息;
标识请求单元,用于根据所述存储地址接收单元接收的存储地址信息向储存所述统一标识的服务器发送标识查询请求,所述标识查询请求中包括所述第二用户在第二SP下的用户标识,以请求查询所述第二用户对应的网页实时通信的统一标识;所述储存统一标识的服务器为所述第二用户对应的网页实时通信的地址服务器,或所述第二WebRTC服务器;
标识接收单元,用于接收所述储存统一标识的服务器返回的所述第二用户的统一标识。
结合本发明实施例第六方面到第六方面的第三种可能实现方式中所述的任一服务器,本发明实施例第六方面的第四种可能实现方式中,还包括:
注册单元,用于将所述WebRTC服务器中储存WebRTC的统一标识的存储地址信息注册到WebRTC的注册服务器中。
本发明实施例第七方面提供一种网页实时通信WebRTC客户端,包括:
呼叫发送单元,用于将跨SP的呼叫请求发送给第一WebRTC服务器,所述跨SP的呼叫请求中包括第二SP的标识和第二用户在第二服务提供商SP下的用户标识;
以便所述第一WebRTC服务器根据所述第二SP的标识和第二用户在第二SP下的用户标识获取所述第二用户对应的WebRTC的统一标识,并将所述统一标识添加到所述跨SP的呼叫请求中发送给所述第二SP的第二WebRTC服务器,以指示第二WebRTC服务器根据所述第二用户的用户标识将接收的跨SP的呼叫请求发送给所述第二用户的第二WebRTC客户端;其中,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;
呼叫接受单元,用于接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,与第二WebRTC客户端之间进行通信。
本发明实施例第七方面的第一种可能实现方式中,还包括:
添加请求发送单元,用于将添加好友请求发送给第一WebRTC服务器,所述添加好友请求中包括第二SP的标识和第二用户在第二SP下的用户标识;
以便所述第一WebRTC服务器根据所述第二SP的标识和第二用户在第二SP下的用户标识获取所述第二用户对应的WebRTC的统一标识,并将所述统一标识添加到所添加好友请求中发送给所述第二SP的第二WebRTC服务器,以指示第二WebRTC服务器根据所述第二用户的用户标识将接收的添加好友请求发送给所述第二用户的第二WebRTC客户端;
响应接收处理单元,用于接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应,将所述第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
本发明实施例第八方面提供一种网页实时通信WebRTC服务器,包括:
呼叫接收单元,用于接收第一服务提供商SP下的第一WebRTC服务器发送的跨SP的呼叫请求,所述跨SP的呼叫请求中携带所述第二用户对应的WebRTC的统一标识,所述统一标识中包括所述第二用户在第二SP下的用户标识,及所述第二WebRTC服务器的地址信息;
呼叫转发单元,用于根据所述呼叫接收单元接收的跨SP的呼叫请求中的第二用户在第二SP下的用户标识,查找到所述第二用户的第二WebRTC客户端,并将所述携带所述第二用户的统一标识的跨SP的呼叫请转发给所述第二WebRTC客户端;
呼叫接受单元,用于接收所述第二WebRTC客户端返回的呼叫接受消息,并转发给所述第一WebRTC服务器。
本发明实施例第八方面的第一种可能实现方式中,还包括:
添加请求接收单元,用于接收第一SP下的第一WebRTC服务器发送的添加好友请求,所述添加好友请求中携带所述第二用户对应的WebRTC的统一标识;
添加请求转发单元,用于根据所述添加请求接收单元接收的添加好友请求中的第二用户在第二SP下的用户标识,查找到所述第二用户的第二WebRTC客户端,并将所述携带所述第二用户的统一标识的添加好友请求转发给所述第二WebRTC客户端;
响应发送单元,用于接收所述第二WebRTC客户端返回的添加好友成功响应,并转发给所述第一WebRTC服务器。
结合本发明实施例第八方面或第八方面的第一种可能实现方式,本发明实施例第八方面的第二种可能实现方式中,还包括:
标识请求接收单元,用于接收所述第一WebRTC服务器或第一WebRTC客户端发送的标识查询请求,以请求查询所述第二用户对应的WebRTC的统一标识;
统一标识发送单元,用于将所述第二用户的统一标识返回给所述第一WebRTC服务器或第一WebRTC客户端。
本发明实施例第九方面提供一种网页实时通信系统,包括第一网页实时通信WebRTC客户端、第一WebRTC服务器、第二WebRTC服务器和第二WebRTC客户端,其中:
所述第一WebRTC客户端是如上述本发明实施例第五方面到第五方面的第二种可能实现方式中任一项所述的WebRTC客户端;
所述第一WebRTC服务器是如上述本发明实施例第六方面,或第六方面的第一种可能实现方式,或第六方面的第四方面所述的WebRTC服务器;
所述第二WebRTC服务器是如上述本发明实施例第八方面到第八方面的第二种可能实现方式中任一项所述的WebRTC服务器。
本发明实施例第十方面提供一种网页实时通信系统,包括第一网页实时通信WebRTC客户端、第一WebRTC服务器和第二WebRTC服务器,其中:
所述第一WebRTC客户端是如上述本发明实施例第七方面或第七方面的第一种可能实现方式所述的WebRTC客户端;
所述第一WebRTC服务器是如上述本发明实施例第六方面第二种可能实现方式,或第六方面的第三种可能实现方式,或第六方面的第四方面所述的WebRTC服务器;
所述第二WebRTC服务器是如上述本发明实施例第八方面到第八方面的第二种可能实现方式中任一项所述的WebRTC服务器。
本实施例将被叫用户即第二用户的统一标识携带在跨SP的呼叫请求中进行发送,由于在统一标识中包括第二WebRTC服务器的地址信息,则该跨SP的呼叫请求能通过第一WebRTC服务器路由到第二WebRTC服务器,然后第二WebRTC服务器根据统一标识中第二用户的用户标识将该跨SP的呼叫请求路由到第二WebRTC客户端;当第一WebRTC客户端接收到第二WebRTC客户端的呼叫接受消息后,就可以与第二WebRTC客户端之间进行跨SP的WebRTC。从而实现了不同SP下的用户之间通过WebRTC客户端进行通信。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明方法实施例一
提供一种网页实时通信方法,主要是应用于如图1所示的网页实时通信(以下简称WebRTC)系统中,在该系统中包括WebRTC客户端、WebRTC服务器、WebRTC的注册服务器(register server)和WebRTC的地址服务器(addressserver)。其中:
每个SP下对应一个WebRTC服务器和WebRTC的地址服务器,该WebRTC的地址服务器用于储存该SP下用户对应的WebRTC的统一标识,在统一标识中包括用户标识和对应的WebRTC服务器的地址信息,而WebRTC服务器用于向WebRTC客户端提供该SP下的WebRTC业务,其中可以储存该SP下所有用户的信息比如用户标识等信息;该WebRTC的地址服务器和WebRTC服务器可以独立部署(图1中以两个服务器独立部署为例说明),也可以将WebRTC的地址服务器的功能集成到WebRTC服务器中,作为WebRTC服务器的一个单元模块;WebRTC的注册服务器用于储存各个SP下用户的统一标识的存储地址信息,具体可以通过SP标识与统一标识的存储地址信息的对应关系进行储存等;每个WebRTC服务器可以对应该SP下的多个用户的WebRTC客户端。
上述系统中的某一用户(比如第一用户)采用第一WebRTC客户端登陆第一SP下的第一WebRTC服务器后,第一WebRTC客户端可以按照如下方法进行跨SP的WebRTC,该第一用户为第一SP下的用户,流程如图2所示,包括:
步骤101,第一WebRTC客户端会获取第二用户对应的WebRTC的统一标识,该第二用户为第二SP下的用户,该统一标识中包括第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息,具体在实现过程中,可以在用户标识的下层绑定一个新增的夹(Shim)层,以绑定第二WebRTC服务器的地址信息。
可以理解,如果第一用户想要通过第一WebRTC客户端与其它SP下的用户(比如第二用户)之间进行WebRTC,可以通过第一WebRTC客户端提供的跨SP的网页实时通信接口来触发跨SP的呼叫请求的发送。首先需要获取第二用户的统一标识,由于第二用户的统一标识的存储地址信息储存在WebRTC的注册服务器中,这样第一WebRTC客户端在初次与第二用户的第二WebRTC客户端之间进行通信时,具体可以通过如下的步骤来获取,流程图如图3所示,包括:
A:向网页实时通信的注册服务器发送地址查询请求,以请求查询第二SP下用户的统一标识的存储地址信息,在地址查询请求中可以包括第二SP的标识(比如新浪等)等信息。这样WebRTC的注册服务器在接收到地址查询请求后,查找与第二SP的标识对应的存储地址信息并返回给第一WebRTC客户端,比如服务器域名即webrtc-address.sina.com。
B:接收注册服务器返回的统一标识的存储地址信息。
C:根据存储地址信息向储存统一标识的服务器发送标识查询请求,以请求查询第二用户对应的网页实时通信的统一标识,这里储存统一标识的服务器可以为第二SP对应的网页实时通信的地址服务器,或第二WebRTC服务器。其中在标识查询请求中可以包括该第二用户在第二SP下的用户标识(比如BruceLee等),这样储存统一标识的服务器接收到标识查询请求后,可以查找与第二用户的用户标识对应的第二WebRTC服务器的地址信息,从而得到了统一标识并返回给第一WebRTC客户端。
D:接收所述储存统一标识的服务器返回的第二用户的统一标识,并可以储存该第二用户的统一标识,方便以后第一WebRTC客户端随时发起与第二WebRTC客户端的通信。
在另一种情况下,有些SP(比如QQ和百度等SP)下统一标识的存储地址信息是公知的,这样可以在第一WebRTC客户端中预置一些SP下统一标识的存储地址信息,第一WebRTC客户端在获取第二用户的统一标识时,可以不用执行上述步骤A和B,而直接执行步骤C和D来获取统一标识,简化了获取流程。
步骤102,第一WebRTC客户端根据第二WebRTC服务器的地址信息将跨SP的呼叫请求通过第一用户对应的第一WebRTC服务器发送给第二WebRTC服务器,在跨SP的呼叫请求中包括统一标识,以指示第二WebRTC服务器根据第二用户在第二SP下的用户标识将跨SP的呼叫请求转发给第二用户的第二WebRTC客户端。
具体地,第一WebRTC客户端将跨SP的呼叫请求发送给第一WebRTC服务器,并在跨SP的呼叫请求中可以携带第二用户的统一标识,还可以携带第一用户的介绍信息(比如第一用户的在第一SP下的用户标识等信息)和第一WebRTC客户端的会话描述协议(Session Description Protocol,SDP)信息等信息,其中SDP信息用于与第二WebRTC客户端进行数据传输通道的协商;
当第一WebRTC服务器接收到跨SP的呼叫请求后,根据统一标识中的第二WebRTC服务器的地址信息箱第二WebRTC服务器转发给跨SP的呼叫请求;
第二WebRTC服务器在接收到跨SP的呼叫请求后,会根据统一标识中的第二用户在第二SP下的用户标识,查找到第二WebRTC客户端并转发该跨SP的呼叫请求,一般情况下,需要第二用户采用第二WebRTC客户端登陆第二WebRTC服务器后,第二WebRTC服务器才会实现该转发的步骤。
但是在有些情况下,在第二WebRTC服务器中储存的第二用户的用户标识绑定了一个移动终端的信息(比如手机号等信息),这样即使第二WebRTC客户端没有登录第二WebRTC服务器,第二WebRTC服务器还是可以通过推送(Push)的方式,将跨SP的呼叫请求发送给第二用户的用户标识绑定的移动终端,以指示该移动终端登录第二WebRTC服务器,并进行网页实时通信。
步骤103,接收第一WebRTC服务器返回的第二WebRTC客户端的呼叫接受消息,与第二WebRTC客户端之间进行通信。
当第二WebRTC客户端接收到跨SP的呼叫请求后,可以向第二用户提供选择是否连接呼叫的用户界面;这样当第二用户选择连接呼叫的信息后,第二WebRTC客户端会返回呼叫接受消息,该呼叫接受消息可以通过第二WebRTC服务器及第一WebRTC服务器,然后达到第一WebRTC客户端。在呼叫接受消息中可以包括第二WebRTC客户端的SDP信息来进行数据传输通道的协商。
这样第一WebRTC客户端与第二WebRTC客户端之间就建立了跨SP的WebRTC的通道,可以进行通信比如音/视频的通信等。
可见,本发明实施例中,第一SP下用户的第一WebRTC客户端会获取第二用户的统一标识,并发送携带该统一标识的跨SP的呼叫请求;由于在统一标识中包括第二WebRTC服务器的地址信息,则该跨SP的呼叫请求能通过第一WebRTC服务器路由到第二WebRTC服务器,然后第二WebRTC服务器根据统一标识中第二用户的用户标识将该跨SP的呼叫请求路由到第二WebRTC客户端;当第一WebRTC客户端接收到第二WebRTC客户端的呼叫接受消息后,就可以与第二WebRTC客户端之间进行跨SP的WebRTC。本实施例中通过用户的统一标识能将一个SP下的WebRTC客户端的呼叫请求路由到另一个SP下WebRTC客户端,从而实现了不同SP下的用户之间通过WebRTC客户端进行通信。
参考图4所示,在一个具体的实施例中,为了方便跨SP的用户之间使用WebRTC客户端进行通信,第一WebRTC客户端在执行了上述步骤101之后,还可以执行如下的步骤104和105,具体地:
步骤104,根据第二WebRTC服务器的地址信息将添加好友请求通过第一WebRTC服务器发送给第二WebRTC服务器,在添加好友请求中包括第二用户的统一标识,以指示第二WebRTC服务器根据第二用户在第二SP下的用户标识将添加好友请求转发给第二用户的第二WebRTC客户端。
可以理解,在添加好友请求中可以包括统一标识,还可以包括第一用户的介绍信息比如用户标识等信息,该添加好友请求先到达第一WebRTC服务器后,由第一WebRTC服务器根据统一标识中的第二WebRTC服务器的地址信息将添加好友请求转发给第二WebRTC服务器;第二WebRTC服务器会根据第二用户在第二SP下的用户标识查找到第二WebRTC客户端并转发该添加好友请求。
步骤105,接收第一WebRTC服务器返回的第二WebRTC客户端的添加好友成功响应,将第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
当第二WebRTC客户端接收到添加好友请求后,可以向第二用户提供选择是否同意成为第一用户好友的用户界面;这样当第二用户选择同意的信息后,第二WebRTC客户端会返回添加好友成功响应,该添加好友成功响应可以通过第二WebRTC服务器及第一WebRTC服务器,然后达到第一WebRTC客户端。其中当添加好友成功响应在经过第一WebRTC服务器时,该第一WebRTC服务器可以将第一用户在第一SP下的用户标识与该第二用户的统一标识进行绑定储存,这样第一用户使用在第一SP下的用户标识登陆第一WebRTC服务器后,第一WebRTC客户端可以将该第二用户的统一标识显示与第一用户在第一SP下的用户标识绑定的用户所在界面。
需要说明的是,在本实施例中,当第一WebRTC客户端在执行了上述步骤105后,当第一用户需要通过第一WebRTC客户端与该第二用户进行WebRTC时,可以在与第一用户在第一SP下的用户标识绑定的用户所在界面上,触发跨SP的呼叫请求的发送即触发执行上述步骤102和103。
本发明方法实施例二
提供一种网页实时通信方法,主要可以应用于如图1所示的系统中,本实施例的方法是该系统的某一用户(比如第一用户)采用第一WebRTC客户端登陆第一SP下的第一WebRTC服务器后,该第一WebRTC服务器所执行的WebRTC方法,即与上述方法实施例一中第一WebRTC客户端相对应的第一WebRTC服务器所执行的方法,该第一用户为第一SP下的用户,流程如图5所示,包括:
步骤201,接收第一WebRTC客户端发送的跨SP的呼叫请求,如果跨SP的呼叫请求中包括第二用户对应的WebRTC的统一标识,该第二用户为第二SP下的用户,而在统一标识中包括第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息比如第二WebRTC服务器的域名等信息。
步骤202,根据第二WebRTC服务器的地址信息将携带统一标识的跨SP的呼叫请求转发给第二WebRTC服务器,以指示第二WebRTC服务器根据第二用户在第二SP下的用户标识将跨SP的呼叫请求转发给第二用户的第二WebRTC客户端。
可以理解,第一WebRTC客户端可以按照上述方法实施例一中所述来触发跨SP的呼叫请求的发送,当该跨SP的呼叫请求到达第一WebRTC服务器后,该第一WebRTC服务器会根据统一标识中的第二WebRTC服务器的地址信息,寻址到第二WebRTC服务器,并将跨SP的呼叫请求发送给该第二WebRTC服务器;这样第二WebRTC服务器根据统一标识中的第二用户在第二SP下的用户标识,就可以查找使用该用户标识登陆第二WebRTC服务器的第二WebRTC客户端,并将跨SP的呼叫请求转发给第二WebRTC客户端;当第二用户接受该呼叫请求,就可以通过第二WebRTC客户端返回呼叫接受消息。
步骤203,接收第二WebRTC服务器返回的第二WebRTC客户端的呼叫接受消息并转发给第一WebRTC客户端,以便第一WebRTC客户端与第二WebRTC客户端之间进行通信。
需要说明的是,本实施例中的第一WebRTC服务器可以和对应的WebRTC的地址服务器独立部署;还可以在第一WebRTC服务器中集成上述WebRTC的地址服务器的功能,来储存第一SP下用户的统一标识,在这种情况下,该第一WebRTC服务器还需要将第一WebRTC服务器中储存WebRTC的统一标识的存储地址信息注册到WebRTC的注册服务器中,便于各个SP下的WebRTC服务器和WebRTC客户端来获取。
可见,本发明实施例中,当第一WebRTC服务器接收到第一SP下用户的第一WebRTC客户端发送的跨SP的呼叫请求,并在跨SP的呼叫请求中携带第二用户的统一标识;由于在统一标识中包括第二WebRTC服务器的地址信息,则第一WebRTC服务器可以将该跨SP的呼叫请求路由到第二WebRTC服务器,然后第二WebRTC服务器根据统一标识中第二用户的用户标识将该跨SP的呼叫请求路由到第二WebRTC客户端;当第一WebRTC服务器接收到第二WebRTC客户端的呼叫接受消息后转发给第一WebRTC客户端,这样第一WebRTC客户端就可以与第二WebRTC客户端之间进行跨SP的WebRTC。本实施例中通过用户的统一标识能将一个SP下的WebRTC客户端的呼叫请求路由到另一个SP下WebRTC客户端,从而实现了不同SP下的用户之间通过WebRTC客户端进行通信。
参考图6所示,在一个具体的实施例中,为了方便跨SP的用户之间使用WebRTC客户端进行通信,第一WebRTC服务器除了可以执行上述步骤201到203之外,还可以执行如下的步骤204和205,具体地:
步骤204,接收第一WebRTC客户端发送的添加好友请求,如果在添加好友请求中包括第二用户对应的WebRTC的统一标识,则根据第二WebRTC服务器的地址信息将携带统一标识的添加好友请求转发给第二WebRTC服务器,以指示第二WebRTC服务器根据第二用户在第二SP下的用户标识将添加好友请求转发给第二用户的第二WebRTC客户端;如果第二用户同意添加,则会通过第二WebRTC客户端返回添加好友成功响应。
步骤205,接收第二WebRTC服务器返回的第二WebRTC客户端的添加好友成功响应并转发给第一WebRTC客户端,并将第二用户的统一标识与第一用户在第一SP下的用户标识对应地储存。这样每当第一用户通过第一WebRTC客户端登陆第一WebRTC服务器后,第一WebRTC服务器就会将于该第一用户的用户标识所绑定的其它用户标识(包括统一标识)发送给第一WebRTC客户端,并由第一WebRTC客户端显示与该第一WebRTC客户端绑定的用户所在界面上,从而第一用户可以随时地发起跨SP的呼叫请求的流程。
本发明方法实施例三
提供一种网页实时通信方法,主要可以应用于如图1所示的系统中,本实施例的方法是该系统的某一用户(比如第一用户)采用第一WebRTC客户端登陆第一SP下的第一WebRTC服务器后,该第一WebRTC服务器所执行的WebRTC方法,与上述方法实施例二中不同的是,本实施例的方法中,由第一WebRTC服务器获取第二用户的统一标识,其中该第一用户为第一SP下的用户,流程如图7所示,包括:
步骤301,接收第一WebRTC客户端发送的跨SP的呼叫请求,如果跨SP的呼叫请求中包括第二用户在第二SP下的用户标识和第二SP的标识,该第二用户为第二SP下的用户。
可以理解,第一用户可以操作第一WebRTC客户端,触发网页实时通信的流程,第一用户向第一WebRTC客户端输入第二用户下第二SP下的用户标识及第二SP的标识,这样第一WebRTC客户端就能将这些内容携带在跨SP的呼叫请求中发送给第一WebRTC服务器。
步骤302,根据第二SP的标识和第二用户在第二SP下的用户标识,获取第二用户对应的WebRTC的统一标识,在统一标识中包括第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息比如第二WebRTC服务器的域名等信息。
在首次获取第二用户的统一标识时,第一WebRTC服务器可以按照上述步骤A到D来实现,流程图如图上述图3类似所示,不同的是,本实施例中由第一WebRTC服务器与WebRTC的注册服务器和储存统一标识的服务器之间进行通信来获取,在此不进行赘述。当获取到第二用户的统一标识后,第一WebRTC服务器可以进行储存,使得在以后第一WebRTC客户端能随时发起与第二用户的第二WebRTC客户端之间的通信。
步骤303,将获取的第二用户对应的WebRTC的统一标识添加到跨SP的呼叫请求中。
步骤304,根据第二WebRTC服务器的地址信息将携带统一标识的跨SP的呼叫请求转发给第二WebRTC服务器,以指示第二WebRTC服务器根据第二用户在第二SP下的用户标识将跨SP的呼叫请求转发给第二用户的第二WebRTC客户端。
可以理解,第一WebRTC服务器会根据统一标识中的第二WebRTC服务器的地址信息,寻址到第二WebRTC服务器,并将跨SP的呼叫请求发送给该第二WebRTC服务器;这样第二WebRTC服务器根据统一标识中的第二用户在第二SP下的用户标识,就可以查找使用该用户标识登陆第二WebRTC服务器的第二WebRTC客户端,并将跨SP的呼叫请求转发给第二WebRTC客户端;当第二用户接受该呼叫请求,就可以通过第二WebRTC客户端返回呼叫接受消息。
步骤305,接收第二WebRTC服务器返回的第二WebRTC客户端的呼叫接受消息并转发给第一WebRTC客户端,以便第一WebRTC客户端与第二WebRTC客户端之间进行通信。
需要说明的是,本实施例中的第一WebRTC服务器可以和对应的WebRTC的地址服务器独立部署;还可以在第一WebRTC服务器中集成上述WebRTC的地址服务器的功能,来储存第一SP下用户的统一标识,在这种情况下,该第一WebRTC服务器还需要将第一WebRTC服务器中储存WebRTC的统一标识的存储地址信息注册到WebRTC的注册服务器中,便于各个SP下的WebRTC服务器和WebRTC客户端来获取。
可见,本发明实施例中,当第一WebRTC服务器接收到第一SP下用户的第一WebRTC客户端发送的跨SP的呼叫请求,并根据跨SP的呼叫请求中的第二SP的标识和第二用户在第二SP下的用户标识获取第二用户的统一标识,并在跨SP的呼叫请求中携带第二用户的统一标识;由于在统一标识中包括第二WebRTC服务器的地址信息,则第一WebRTC服务器可以将该跨SP的呼叫请求路由到第二WebRTC服务器,然后第二WebRTC服务器根据统一标识中第二用户的用户标识将该跨SP的呼叫请求路由到第二WebRTC客户端;当第一WebRTC服务器接收到第二WebRTC客户端的呼叫接受消息后转发给第一WebRTC客户端,这样第一WebRTC客户端就可以与第二WebRTC客户端之间进行跨SP的WebRTC。本实施例中通过用户的统一标识能将一个SP下的WebRTC客户端的呼叫请求路由到另一个SP下WebRTC客户端,从而实现了不同SP下的用户之间通过WebRTC客户端进行通信。
参考图8所示,在一个具体的实施例中,为了方便跨SP的用户之间使用WebRTC客户端进行通信,第一WebRTC服务器除了可以执行上述步骤301到305之外,还可以执行如下的步骤306和307,具体地:
步骤306,接收第一WebRTC客户端发送的添加好友请求,如果在添加好友请求中包括第二用户在第二SP下的用户标识和第二SP的标识,则需要先执行步骤307。
步骤307,根据第二用户在第二SP下的用户标识和第二SP的标识获取第二用户的统一标识,并将获取的第二用户的统一标识添加到添加好友请求中。
步骤308,根据统一标识中第二WebRTC服务器的地址信息将携带统一标识的添加好友请求转发给第二WebRTC服务器,以指示第二WebRTC服务器根据第二用户在第二SP下的用户标识将添加好友请求转发给第二用户的第二WebRTC客户端;如果第二用户同意添加,则会通过第二WebRTC客户端返回添加好友成功响应。
步骤309,接收第二WebRTC服务器返回的第二WebRTC客户端的添加好友成功响应并转发给第一WebRTC客户端,并将第二用户的统一标识与第一用户在第一SP下的用户标识对应地储存。这样每当第一用户通过第一WebRTC客户端登陆第一WebRTC服务器后,第一WebRTC服务器就会将于该第一用户的用户标识所绑定的其它用户标识(包括统一标识)发送给第一WebRTC客户端,并由第一WebRTC客户端显示与该第一WebRTC客户端绑定的用户所在界面上,从而第一用户可以随时地发起跨SP的呼叫请求的流程。
需要说明的是,上述步骤301到306,与步骤307到309之间并没有绝对的顺序关系,可以同时执行也可以顺序执行,且上述步骤302中获取统一标识和步骤307中获取标识的方法可以相同,也可以不同,具体地,如果首先通过上述步骤302中获取了统一标识,则在上述步骤307中,第一WebRTC服务器就可以直接从本地进行查找,而不用按照上述步骤A到D来获取,节省了流程的时间。
本发明方法实施例四
提供一种网页实时通信方法,主要可以应用于如图1所示的系统中,本实施例的方法是该系统中的某一用户(比如第一用户)采用第一WebRTC客户端登陆第一SP下的第一WebRTC服务器后,该第一WebRTC客户端所执行的跨SP的WebRTC方法,本实施例的方法是与上述方法实施例三中第一WebRTC服务器相对应的第一WebRTC客户端所执行的方法,其中第一用户为第一SP下的用户,流程如图9所示,包括:
步骤401,将跨SP的呼叫请求发送给第一WebRTC服务器,在跨SP的呼叫请求中包括第二SP的标识和第二用户在第二SP下的用户标识。
可以理解,第一用户可以操作第一WebRTC客户端,触发网页实时通信的流程,第一用户可以向第一WebRTC客户端输入第二用户下第二SP下的用户标识及第二SP的标识,这样第一WebRTC客户端就可以将这些内容携带在跨SP的呼叫请求中发送给第一WebRTC服务器。而第一WebRTC服务器就按照上述步骤301到305,当接收到第二WebRTC服务器返回的第二WebRTC客户端的呼叫接受消息并转发给第一WebRTC客户端。
步骤402,接收第一WebRTC服务器返回的第二WebRTC客户端的呼叫接受消息,与第二WebRTC客户端之间进行通信。
在一个具体的实施例中,为了方便第一WebRTC客户端与第二WebRTC客户端之间的通信方便,本实施例中的第一WebRTC客户端还可以执行如下的步骤403和404:
步骤403,将添加好友请求发送给第一WebRTC服务器,在添加好友请求中包括第二SP的标识和第二用户在第二SP下的用户标识。而第一WebRTC服务器就按照上述步骤306到309,当接收到第二WebRTC服务器返回的第二WebRTC客户端的添加好友成功响应并转发给第一WebRTC客户端。
步骤404,接收第一WebRTC服务器返回的第二WebRTC客户端的添加好友成功响应,将第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
需要说明的是,上述步骤401和402,与步骤403和404之间,并没有绝对的顺序关系,可以同时执行也可以顺序执行,图9中所示的只是其中一种具体的实现方式。
本发明实施例中,当第一WebRTC客户端不会获取第二用户的统一标识,而是直接将跨SP的呼叫请求发送给第一WebRTC服务器,由第一WebRTC服务器根据请求中的第二SP的标识和第二用户在第二SP下的用户标识获取第二用户的统一标识,由于在统一标识中包括第二WebRTC服务器的地址信息,则第一WebRTC服务器可以将该跨SP的呼叫请求路由到第二WebRTC服务器,然后第二WebRTC服务器根据统一标识中第二用户的用户标识将该跨SP的呼叫请求路由到第二WebRTC客户端;当第一WebRTC服务器接收到第二WebRTC客户端的呼叫接受消息后转发给第一WebRTC客户端,这样第一WebRTC客户端就可以与第二WebRTC客户端之间进行跨SP的WebRTC。本实施例中通过用户的统一标识能将一个SP下的WebRTC客户端的呼叫请求路由到另一个SP下WebRTC客户端,从而实现了不同SP下的用户之间通过WebRTC客户端进行通信。
本发明方法实施例五
提供一种网页实时通信方法,主要可以应用于如图1所示的系统中,本实施例的方法是该系统的某一用户(比如第一用户)采用第一WebRTC客户端登陆第一SP下的第一WebRTC服务器后,发起向第二SP下第二用户的第二WebRTC客户端的跨SP的WebRTC,由第二SP下的第二WebRTC服务器所执行的WebRTC方法,第一该第一用户为第一SP下的用户,流程图如图10所示,包括:
步骤501,接收第一SP下的第一WebRTC服务器发送的跨SP的呼叫请求,在跨SP的呼叫请求中携带第二用户对应的WebRTC的统一标识,该统一标识中包括第二用户在第二SP下的用户标识,及第二WebRTC服务器的地址信息。
可以理解,第一WebRTC服务器可以按照上述方法实施例二或三的方法,发送跨SP的呼叫请求给第二WebRTC服务器。
步骤502,根据第二用户的统一标识中的第二用户在第二SP下的用户标识,查找到第二用户的第二WebRTC客户端,并将携带第二用户的统一标识的跨SP的呼叫请求转发给第二WebRTC客户端。
其中,如果第二用户通过第二WebRTC客户端,并使用在第二SP下的用户标识登陆第二WebRTC服务器,则该第二WebRTC服务器可以查找到将当前登陆第二WebRTC服务器的第二WebRTC客户端;如果当前第二用户没有登陆,且在第二WebRTC服务器中已经绑定了与第二用户的用户标识对应的移动终端的信息,则该第二WebRTC服务器可以直接将跨SP的呼叫请求推送到绑定的移动终端上,要求移动终端来登陆第二WebRTC服务器进行通信。
步骤503,接收第一WebRTC客户端返回的呼叫接受消息并转发给第一WebRTC服务器,并由第一WebRTC服务器转发给第一WebRTC客户端,这样第一WebRTC客户端就可以与第二WebRTC客户端之间进行通信。
参考图11所示,在一个具体的实施例中,为了方便第一WebRTC客户端与第二WebRTC客户端之间的通信,第二WebRTC服务器还可以执行如下的步骤504到506:
步骤504,接收第一SP下的第一WebRTC服务器发送的添加好友请求,在添加好友请求中携带第二用户对应的WebRTC的统一标识。第一WebRTC服务器可以按照上述方法实施例二或三的方法,发送添加好友请求给第二WebRTC服务器。
步骤505,根据第二用户在第二SP下的用户标识,查找到第二用户的第二WebRTC客户端,并将携带第二用户的统一标识的添加好友请求转发给第二WebRTC客户端。
步骤506,接收第二WebRTC客户端返回的添加好友成功响应,并转发给第一WebRTC服务器。
可见,通过上述步骤504到506,可以将一个SP下的用户与另一SP下的用户进行绑定,并通过上述步骤501到503,不同SP之间的用户可以通过相应的WebRTC客户端进行WebRTC。
可以理解,上述步骤501到503,与步骤504到506之间并没有绝对的顺序关系,可以顺序执行,也可以同时执行,图11中所示的只是其中一种具体的实现方式。
需要说明的是,第二用户的统一标识可以独立储存在第二WebRTC的地址服务器上,也可以储存在第二WebRTC服务器上,对于后者的情况下,在第二WebRTC服务器执行上述步骤501或504之前,第二WebRTC服务器还可以将第二用户的统一标识发送给第一WebRTC服务器或第一WebRTC客户端,具体地:
步骤507,接收第一WebRTC服务器或第一WebRTC客户端发送的标识查询请求,在标识查询请求中包括第二用户在第二SP下的用户标识,以请求查询该第二SP下第二用户的统一标识。则第二WebRTC服务器会在本地查找与该第第二用户的用户标识对应的第二WebRTC服务器的地址信息,从而找到了第二用户的统一标识。
步骤508,将第二用户的统一标识返回给第一WebRTC服务器或第一WebRTC客户端。
另外,需要说明的是,上述方法实施例一到五中所述的第一WebRTC服务器和第二WebRTC服务器,第一SP和第二SP,第一WebRTC客户端和第二WebRTC客户端,及第一用户和第二用户,并不表示顺序关系,而是为了分别说明不同的WebRTC服务器、SP、WebRTC客户端和用户。
以下以具体的应用例来说明本发明实施例中所述的网页实时通信方法,应用场景是SP1下的用户A想要与SP2的用户B之间进行WebRTC,且SP2为新浪微博的SP为例;且任一SP下用户的统一标识储存在该SP的WebRTC服务器中,则WebRTC服务器可以储存用户的统一标识的存储地址信息(比如webrtc-address.sina.com)注册到WebRTC的注册服务器,同时还可以将对应的SP的信息比如标识和名称等信息注册到WebRTC的注册服务器中。具体主要有如下两种方式,其中,WebRTC客户端1和WebRTC服务器1是SP1下的设备,WebRTC服务器2和WebRTC客户端2是SP2下的设备:
(1)由用户A使用的WebRTC客户端1来获取用户B的统一标识
本发明方法实施例六提供的网页实时通信方法,主要是SP1和SP2之间的用户添加过程,流程图如图12所示,包括:
步骤601,SP1下的用户A通过WebRTC客户端1,并使用用户标识a登陆WebRTC服务器2。
步骤602,用户A希望添加SP2下的用户B为好友,则在WebRTC客户端1提供的用户界面上输入用户B在SP2下的用户标识b(例如BruceLee),及输入/选择SP2的标识(例如“新浪微博”),并触发添加好友的流程。
步骤603,WebRTC客户端1向WebRTC的注册服务器发送地址查询请求,在地址查询请求中携带了SP2的标识即“新浪微博”;则WebRTC的注册服务器返回查询结果,并在查询结果中携带了用户B的统一标识的存储地址信息,即WebRTC服务器2中储存统一标识的地址信息“webrtc-address.sina.com”。
步骤604,WebRTC客户端1向“webrtc-address.sina.com”对应的WebRTC服务器2发起标识查询请求,在标识查询请求消息携带了用户B在SP2下的用户标识b(例如“BruceLee”)。则WebRTC服务器2会将用户B的统一标识(例如webrtc.sina.com/8734529306)返回给WebRTC客户端1。
其中用户B的统一标识中包括WebRTC服务器2的地址信息即“webrtc.sina.com”,和用户B在SP2下的用户标识b即“8734529306”,这里的用户标识b是在用户B使用上述的用户标识“BruceLee”注册WebRTC服务器2时,WebRTC服务器2为该用户B生成的能唯一标识该用户B在SP2中的信息。
需要说明的是,用户可以将任意SP下的客户端开通WebRTC功能,这样改SP下的WebRTC服务器就会自动为该用户生成一个统一标识,并将该统一标识进行储存,或将该统一标识储存到该SP下的WebRTC的地址服务器中。
步骤605,WebRTC客户1向SP1的WebRTC服务器1发起添加好友请求,在添加好友请求中携带了用户B的统一标识,同时还可以携带了用户A的介绍信息例如用户名等信息。
步骤606,WebRTC服务器1对添加好友请求中携带的统一标识中“webrtc.sina.com”部分进行提取,并进行域名解析系统(Domain NameSystem,DNS)的查询,获取该WebRTC服务器2的网络协议(IP)地址,例如61.135.187.151。
此时,WebRTC服务器2就获得了用户B的可路由地址即61.135.187.151:80/8734529306,其中80是WebRTC服务器2的端口号,可以由WebRTC服务器1任意添加,也可以是443等。WebRTC服务器1向该路由地址发送添加好友请求,并在添加请求消息中携带了用户B的统一标识等信息。
步骤607,当添加好友请求路由到WebRTC服务器2后,WebRTC服务器2会根据其中携带的用户B的用户标识b即“8734529306”,查找到WebRTC客户端2的可寻址地址,然后将添加好友请求发给WebRTC客户端2。
步骤608,用户B同意成为用户A的好友,通过WebRTC客户端2返回添加好友成功响应,该添加好友成功响应经过WebRTC服务器2和WebRTC服务器1,最终达到WebRTC客户端1,在这个过程中,WebRTC服务器1会将用户A在SP1下的用户标识a与用户B的统一标识进行绑定储存,这样WebRTC客户端1就能在用户界面显示该用户B的统一标识。且WebRTC客户端1也会储存该统一标识,以方便以后的WebRTC。
本发明方法实施例七提供的网页实时通信方法,主要是SP1和SP2之间的用户进行WebRTC的过程,流程图如图13所示,包括:
步骤701,用户A通过WebRTC客户端1向用户B发起跨SP的呼叫请求,先获取该用户B的统一标识,如果通过方法实施例六中的添加好友过程,WebRTC客户端1已经储存了用户B的统一标识,则直接从WebRTC客户端1中提取统一标识;如果没有储存,则可以按照上述实施例六中的步骤603和604来获取用户B的统一标识。
步骤702,WebRTC客户端1将用户B的统一标识添加到跨SP的呼叫请求中,在跨SP的呼叫请求中还可以包括用于协商媒体传输通道的SDP请求信息和用户A的介绍信息等,并将该跨SP的呼叫请求发送给WebRTC服务器1。
步骤703,WebRTC服务器1对跨SP的呼叫请求中携带的统一标识中“webrtc.sina.com”部分进行提取,并进行DNS查询,获取用户B的可路由地址即61.135.187.151:80/8734529306。WebRTC服务器1向该路由地址发送跨SP的呼叫请求,并在跨SP的呼叫请求中携带了用户B的统一标识及SDP请求信息等。
步骤704,当跨SP的呼叫请求路由到WebRTC服务器2后,WebRTC服务器2会根据其中携带的用户B的用户标识b即“8734529306”,查找到WebRTC客户端2的可寻址地址,然后将跨SP的呼叫请求发给WebRTC客户端2。
步骤705,用户B同接听呼叫,通过WebRTC客户端2返回呼叫接受消息,在呼叫接受消息中可以携带SDP应答信息,该呼叫接受消息经过WebRTC服务器2和WebRTC服务器1,最终达到WebRTC客户端1。这样WebRTC客户端1和WebRTC客户端2之间就建立了WebRTC的通道,进行WebRTC。
(2)由用户A使用的WebRTC客户端1对应WebRTC服务器1来获取用户B的统一标识
本发明方法实施例八提供的网页实时通信方法,主要是SP1和SP2之间的用户添加过程,流程图如图14所示,包括:
步骤801,SP1下的用户A通过WebRTC客户端1,并使用用户标识a登陆WebRTC服务器2。
步骤802,用户A希望添加SP2下的用户B为好友,则在WebRTC客户端1提供的用户界面上输入用户B在SP2下的用户标识b(例如BruceLee),及输入/选择SP2的标识(例如“新浪微博”),并触发添加好友请求的发送,在添加好友请求中包括SP2的标识和用户B在SP2的用户标识b。
步骤803,WebRTC服务器1在接收到添加好友请求后,向WebRTC的注册服务器发送地址查询请求,在地址查询请求中携带了SP2的标识即“新浪微博”;则WebRTC的注册服务器返回查询结果,并在查询结果中携带了用户B的统一标识的存储地址信息,即“webrtc-address.sina.com”。
步骤804,WebRTC服务器1向“webrtc-address.sina.com”对应的WebRTC服务器2发起标识查询请求,在标识查询请求消息携带了用户B在SP2下的用户标识b(例如“BruceLee”)。则WebRTC服务器2会将用户B的统一标识返回给WebRTC客户端1。
步骤805,WebRTC服务器1将用户B的统一标识添加到添加好友请求中,并根据统一标识中“webrtc.sina.com”部分进行提取,并进行DNS的查询,获取用户B的可路由地址即61.135.187.151:80/8734529306。WebRTC服务器1向该路由地址发送添加好友请求,并在添加请求消息中携带了用户B的统一标识等信息。
步骤806,当添加好友请求路由到WebRTC服务器2后,WebRTC服务器2会根据其中携带的用户B的用户标识b即“8734529306”,查找到WebRTC客户端2的可寻址地址,然后将添加好友请求发给WebRTC客户端2。
步骤807,用户B同意成为用户A的好友,通过WebRTC客户端2返回添加好友成功响应,该添加好友成功响应经过WebRTC服务器2和WebRTC服务器1,最终达到WebRTC客户端1,在这个过程中,WebRTC服务器1会将用户A在SP1下的用户标识a与用户B的统一标识进行绑定储存,且WebRTC客户端1也会储存该统一标识,以方便以后的WebRTC。
本发明方法实施例九提供的网页实时通信方法,主要是SP1和SP2之间的用户进行WebRTC的过程,流程图如图15所示,包括:
步骤901,用户A通过WebRTC客户端1向WebRTC服务器1发送跨SP的呼叫请求。其中,如果WebRTC客户端1已经储存了用户B的统一标识,则可以直接按照上述实施例七中的方法进行WebRTC;如果WebRTC客户端1中没有储存用户B的统一标识,则在发送跨SP的呼叫请求中可以携带SP2的标识及用户B在SP2下的用户标识。在跨SP的呼叫请求中还可以包括用于协商媒体传输通道的SDP请求信息和用户A的介绍信息等。
步骤902,WebRTC服务器1接收到跨SP的呼叫请求,如果其中没有包括用户B的统一标识,则可以按照上述实施例八中的步骤803和804来获取用户B的统一标识,在此不进行赘述。
步骤903到905,与上述方法实施例七中WebRTC服务器1将携带统一标识的跨SP的呼叫请求发送到WebRTC客户端2,并由WebRTC客户端2返回呼叫接受消息到WebRTC客户端1的方法类似,在此不进行赘述。
本发明设备实施例一
提供一种网页实时通信WebRTC客户端,即上述的第一WebRTC客户端,本实施例的客户端的各个单元之间可以按照上述方法实施例一进行WebRTC,其结构示意图如图16所示,包括:
统一标识获取单元10,用于获取第二用户对应的WebRTC的统一标识,所述第二用户为第二服务提供商SP下的用户,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;
呼叫请求单元11,用于根据所述统一标识获取单元10获取的统一标识中的第二WebRTC服务器的地址信息,将跨SP的呼叫请求通过第一SP下的第一用户对应的第一WebRTC服务器发送给所述第二WebRTC服务器,所述跨SP的呼叫请求中包括所述统一标识,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述跨SP的呼叫请求转发给第二用户的第二WebRTC客户端;
呼叫接受单元12,用于接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,与第二WebRTC客户端之间进行通信。
可见,本实施例的客户端中,通过统一标识获取单元10获取的统一标识就能将一个SP下的WebRTC客户端的呼叫请求路由到另一个SP下WebRTC客户端,从而实现了不同SP下的用户之间通过WebRTC客户端进行通信。
参考图17所示,在一个具体的实施例中,WebRTC客户端除了可以包括如图16所示的结构外,还可以包括添加好友请求单元13和响应处理单元14,且其中的统一标识获取单元具体还可以通过地址请求单元110、存储地址接收单元120、标识请求单元130和标识接收单元140来实现,其中:
地址请求单元110,用于向网页实时通信的注册服务器发送地址查询请求,以请求查询所述统一标识的存储地址信息;在地址查询请求中可以包括第二SP的标识。
存储地址接收单元120,用于接收所述注册服务器返回的所述统一标识的存储地址信息;
标识请求单元130,用于根据所述存储地址接收单元120接收的存储地址信息向储存所述统一标识的服务器发送标识查询请求,以请求查询所述第二SP对应的网页实时通信的统一标识;所述储存统一标识的服务器为所述第二用户对应的网页实时通信的地址服务器,或所述第二WebRTC服务器;且在标识查询请求中可以包括第二用户在第二SP下的用户标识。
标识接收单元140,用于接收所述储存统一标识的服务器返回的所述第二用户的统一标识。
添加好友请求单元13,用于根据所述统一标识获取单元10中的标识接收单元140获取的统一标识中的第二WebRTC服务器的地址信息,将添加好友请求通过所述第一WebRTC服务器发送给所述第二WebRTC服务器,所述添加好友请求中包括所述统一标识,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述添加好友请求转发给第二用户的第二WebRTC客户端;
响应处理单元14,用于接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应,将所述第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
需要说明的是,在本实施例的客户端中还可以包括储存单元用来储存用户的统一标识,在初次获取某一用户的统一标识时,可以通过地址请求单元110到标识接收单元140来获取,并由储存单元储存该统一标识;这样在之后的WebRTC过程中,统一标识获取单元10可以直接从该储存单元中查找到用户的统一标识,并由呼叫请求单元11将该统一标识携带到跨SP的呼叫请求中进行发送。其中,由于一些比较公知的储存统一标识的存储地址信息可以设置在客户端中,这样可以直接通过标识请求单元130和标识接收单元140来获取第二用户的统一标识。
本发明设备实施例二
还提供另一种网页实时通信WebRTC客户端,即上述的第一WebRTC客户端,本实施例的客户端的各个单元之间可以按照上述方法实施例一进行WebRTC,结构示意图如图18所示,包括分别连接到总线上的存储器20、处理器21、输入装置23和输出装置24,其中:
存储器20中用来储存从输入装置23输入的数据,且还可以储存处理器21处理数据的必要文件等信息;输入装置23和输出装置24是WebRTC客户端与其他设备通信的端口,还可以包括WebRTC客户端外接的设备比如显示器、键盘、鼠标和打印机等。
处理器21,用于获取第二用户对应的WebRTC的统一标识,所述第二用户为第二服务提供商SP下的用户,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;并控制输出装置24根据获取的统一标识中的第二WebRTC服务器的地址信息,将跨SP的呼叫请求通过第一SP下的第一用户对应的第一WebRTC服务器发送给所述第二WebRTC服务器,所述跨SP的呼叫请求中包括所述统一标识,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述跨SP的呼叫请求转发给第二用户的第二WebRTC客户端;当输入装置23接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,本实施例的客户端使用输入装置23和输出装置24与第二WebRTC客户端之间进行通信。
其中,处理器21在获取第二用户的统一标识时,具体可以控制输出装置24向网页实时通信的注册服务器发送地址查询请求,以请求查询所述统一标识的存储地址信息;在地址查询请求中可以包括第二SP的标识;当输入装置23接收所述注册服务器返回的所述统一标识的存储地址信息;处理器21还可以根据所述存储地址信息向储存所述统一标识的服务器发送标识查询请求,以请求查询所述第二SP对应的网页实时通信的统一标识;所述储存统一标识的服务器为所述第二用户对应的网页实时通信的地址服务器,或所述第二WebRTC服务器;且在标识查询请求中可以包括第二用户在第二SP下的用户标识;并由输入装置23接收到所述储存统一标识的服务器返回的所述第二用户的统一标识。
在另一些情况下,一些比较公知的储存统一标识的存储地址信息可以设置在客户端的存储器20中,这样处理器21可以直接根据存储器20中的存储地址信息向储存统一标识的服务器来获取第二用户的统一标识。当处理器21获取到第二用户的统一标识后,可以储存在存储器20中。
进一步地,处理器21还可以控制输出装置24根据统一标识中的第二WebRTC服务器的地址信息,将添加好友请求通过所述第一WebRTC服务器发送给所述第二WebRTC服务器,所述添加好友请求中包括所述统一标识,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述添加好友请求转发给第二用户的第二WebRTC客户端;当输入装置23接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应,处理器21可以将所述第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
本发明设备实施例三
提供一种网页实时通信WebRTC服务器,即上述的第一WebRTC服务器,本实施例的服务器的各个单元之间可以按照上述方法实施例二或三进行WebRTC,其结构示意图如图19所示,包括:
呼叫接收单元30,用于接收第一服务提供商SP下的第一用户的第一WebRTC客户端发送的跨SP的呼叫请求;
呼叫转发单元31,用于如果所述呼叫接收单元30接收的跨SP的呼叫请求中包括第二用户对应的WebRTC的统一标识,所述第二用户为第二SP下的用户,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;则根据所述第二WebRTC服务器的地址信息将所述携带统一标识的跨SP的呼叫请求转发给所述第二WebRTC服务器,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述跨SP的呼叫请求转发给第二用户的第二WebRTC客户端;
呼叫接受转发单元32,用于接收所述第二WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息并转发给所述第一WebRTC客户端,以便所述第一WebRTC客户端与第二WebRTC客户端之间进行通信。
可见,本实施例的服务器中,由于呼叫接收单元30接收的跨SP的呼叫请求中携带了第二用户的统一标识,而通过用户的统一标识能将一个SP下的WebRTC客户端的呼叫请求路由到另一个SP下WebRTC客户端,从而实现了不同SP下的用户之间通过WebRTC客户端进行通信。
参考图20所示,在一个具体的实施例中,WebRTC服务器除了可以如图19所示的结构外,还可以包括添加请求接收单元33、添加请求转发单元34和响应接收处理单元35,其中:
添加请求接收单元33,用于接收所述第一WebRTC客户端发送的添加好友请求;
添加请求转发单元34,用于如果所述添加请求接收单元33接收的添加好友请求中包括第二用户对应的WebRTC的统一标识,则根据所述第二WebRTC服务器的地址信息将所述携带统一标识的添加好友请求转发给所述第二WebRTC服务器,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述添加好友请求转发给第二用户的第二WebRTC客户端;
响应接收处理单元35,用于接收所述第二WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应并转发给所述第一WebRTC客户端,并将所述第二用户的统一标识与第一用户在第一SP下的用户标识对应地储存。
参考图21所示,在另一个具体的实施例中,WebRTC服务器除了可以如图19所示的结构外,还可以包括注册单元38、标识添加单元37和统一标识获取单元36,且还可以包括上述的添加请求接收单元33、添加请求转发单元34和响应接收处理单元35(图21中未画出),其中:
统一标识获取单元36,用于如果所述呼叫接收单元30接收的跨SP的呼叫请求或添加请求接收单元33接收的添加好友请求中包括:所述第二SP的标识和所述第二用户在第二SP下的用户标识;则根据所述第二SP的标识和所述第二用户在第二SP下的用户标识,获取所述第二用户对应的WebRTC的统一标识;
标识添加单元37,用于将所述统一标识获取单元36获取的第二用户对应的WebRTC的统一标识添加到所述跨SP的呼叫请求或添加好友请求中,并由添加请求转发单元34转发标识添加单元37添加后得到的携带统一标识的添加好友请求,或由呼叫转发单元31转发标识添加单元37添加后得到的携带统一标识的跨SP的呼叫请求。
注册单元38,用于将所述WebRTC服务器中储存WebRTC的统一标识的存储地址信息注册到WebRTC的注册服务器中。
具体地,上述统一标识获取单元36具体可以通过地址请求单元360、存储地址接收单元361、标识请求单元362和标识接收单元363来实现,其中:
地址请求单元360,用于向网页实时通信的注册服务器发送地址查询请求,所述查询请求中包括所述呼叫接收单元30接收的跨SP的呼叫请求中的第二SP的标识,以请求查询所述第二SP下统一标识的存储地址信息;
存储地址接收单元361,用于接收所述注册服务器返回的所述统一标识的存储地址信息;
标识请求单元362,用于根据所述存储地址接收单元361接收的存储地址信息向储存所述统一标识的服务器发送标识查询请求,所述标识查询请求中包括所述呼叫接收单元30接收的跨SP的呼叫请求中的第二用户在第二SP下的用户标识,以请求查询所述第二用户对应的网页实时通信的统一标识;所述储存统一标识的服务器为所述第二用户对应的网页实时通信的地址服务器,或所述第二WebRTC服务器;
标识接收单元363,用于接收所述储存统一标识的服务器返回的所述第二用户的统一标识。
本发明设备实施例四
还提供另一种网页实时通信WebRTC服务器,即上述的第一WebRTC服务器,本实施例的服务器中各个单元之间可以按照上述方法实施例二或三进行WebRTC,结构示意图如图22所示,包括分别连接到总线上的存储器40、处理器41、输入装置43和输出装置44,其中:
存储器40中用来储存从输入装置43输入的数据,且还可以储存处理器41处理数据的必要文件等信息;输入装置43和输出装置44是WebRTC服务器与其他设备通信的端口,还可以包括WebRTC服务器外接的设备。
处理器41,用于在输入装置43接收第一服务提供商SP下的第一用户的第一WebRTC客户端发送的跨SP的呼叫请求后,如果跨SP的呼叫请求中包括第二用户对应的WebRTC的统一标识,所述第二用户为第二SP下的用户,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;则处理器41根据所述第二WebRTC服务器的地址信息控制输出装置44将所述携带统一标识的跨SP的呼叫请求转发给所述第二WebRTC服务器,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述跨SP的呼叫请求转发给第二用户的第二WebRTC客户端;当输入装置43接收所述第二WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,处理器41可以控制输出装置44将呼叫接受消息转发给所述第一WebRTC客户端,以便所述第一WebRTC客户端与第二WebRTC客户端之间进行通信。
进一步地,本实施例中,当输入装置43接收所述第一WebRTC客户端发送的添加好友请求;如果添加好友请求中包括第二用户对应的WebRTC的统一标识,则处理器41可以根据所述第二WebRTC服务器的地址信息,控制输出装置44将所述携带统一标识的添加好友请求转发给所述第二WebRTC服务器,以指示所述第二WebRTC服务器根据所述第二用户在第二SP下的用户标识将所述添加好友请求转发给第二用户的第二WebRTC客户端;当输入装置43接收所述第二WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应并转发给所述第一WebRTC客户端,处理器41会将所述第二用户的统一标识与第一用户在第一SP下的用户标识对应地储存到存储器40中。
另一方面,当输入装置43接收到的跨SP的呼叫请求或添加好友请求中包括:所述第二SP的标识和所述第二用户在第二SP下的用户标识;则处理器41会根据所述第二SP的标识和所述第二用户在第二SP下的用户标识,获取所述第二用户对应的WebRTC的统一标识,并将获取的第二用户对应的WebRTC的统一标识添加到所述跨SP的呼叫请求或添加好友请求中,然后再控制输出装置44转发携带统一标识的添加好友请求或转发携带统一标识的跨SP的呼叫请求。
其中,处理器41在获取第二用户的统一标识时,可以控制输出装置44向网页实时通信的注册服务器发送地址查询请求,所述查询请求中包括所述呼叫接收单元30接收的跨SP的呼叫请求中的第二SP的标识,以请求查询所述第二SP下统一标识的存储地址信息;当输入装置43接收到所述注册服务器返回的所述统一标识的存储地址信息;则处理器41会根据所述存储地址接收单元361接收的存储地址信息向储存所述统一标识的服务器发送标识查询请求,所述标识查询请求中包括所述第二用户在第二SP下的用户标识,以请求查询所述第二用户对应的网页实时通信的统一标识,所述储存统一标识的服务器为所述第二用户对应的网页实时通信的地址服务器,或所述第二WebRTC服务器;最后由输入装置43接收所述储存统一标识的服务器返回的所述第二用户的统一标识。
本实施例中,在服务器的存储器40中还可以储存该SP下用户的统一标识,则处理器41还可以控制输出装置44将所述WebRTC服务器的存储器40中储存WebRTC的统一标识的存储地址信息注册到WebRTC的注册服务器中。
本发明设备实施例五
提供一种网页实时通信WebRTC客户端,即上述的第一WebRTC客户端,本实施例的客户端的各个单元之间可以按照上述方法实施例四进行WebRTC,其结构示意图如图23所示,包括:
呼叫发送单元50,用于将跨SP的呼叫请求发送给第一WebRTC服务器,所述跨SP的呼叫请求中包括第二SP的标识和第二用户在第二SP下的用户标识;
以便所述第一WebRTC服务器根据所述第二SP的标识和第二用户在第二SP下的用户标识获取所述第二用户对应的WebRTC的统一标识,并将所述统一标识添加到所述跨SP的呼叫请求中发送给所述第二SP的第二WebRTC服务器,以指示第二WebRTC服务器根据所述第二用户的用户标识将接收的跨SP的呼叫请求发送给所述第二用户的第二WebRTC客户端;其中,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;
呼叫接受单元51,用于接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,与第二WebRTC客户端之间进行通信。
在一个具体的实施例中,WebRTC客户端还可以包括添加请求发送单元52和响应接收处理单元53,其中,添加请求发送单元52,用于将添加好友请求发送给第一WebRTC服务器,所述添加好友请求中包括第二SP的标识和第二用户在第二SP下的用户标识;以便所述第一WebRTC服务器根据所述第二SP的标识和第二用户在第二SP下的用户标识获取所述第二用户对应的WebRTC的统一标识,并将所述统一标识添加到所添加好友请求中发送给所述第二SP的第二WebRTC服务器,以指示第二WebRTC服务器根据所述第二用户的用户标识将接收的添加好友请求发送给所述第二用户的第二WebRTC客户端;响应接收处理单元53,用于接收所述第一WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应,将所述第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
本发明设备实施例六
还提供另一种网页实时通信WebRTC客户端,即上述的第一WebRTC客户端,本实施例的客户端中各个单元之间可以按照上述方法实施例四进行WebRTC,其结构示意图可以如图18所示,具体可以包括分别连接到总线上的存储器、处理器、输入装置和输出装置,其中:
存储器中用来储存从输入装置输入的数据,且还可以储存处理器处理数据的必要文件等信息;输入装置和输出装置是WebRTC客户端与其他设备通信的端口,还可以包括WebRTC客户端外接的设备。
处理器,用于控制输出装置将跨SP的呼叫请求发送给第一WebRTC服务器,所述跨SP的呼叫请求中包括第二SP的标识和第二用户在第二SP下的用户标识;以便所述第一WebRTC服务器根据所述第二SP的标识和第二用户在第二SP下的用户标识获取所述第二用户对应的WebRTC的统一标识,并将所述统一标识添加到所述跨SP的呼叫请求中发送给所述第二SP的第二WebRTC服务器,以指示第二WebRTC服务器根据所述第二用户的用户标识将接收的跨SP的呼叫请求发送给所述第二用户的第二WebRTC客户端;其中,所述统一标识中包括所述第二用户在第二SP下的用户标识,及对应的第二WebRTC服务器的地址信息;当输入装置接收到所述第一WebRTC服务器返回的所述第二WebRTC客户端的呼叫接受消息,处理器会控制输入装置和输出装置与第二WebRTC客户端之间进行通信。
进一步地,处理器还用于控制输出装置将添加好友请求发送给第一WebRTC服务器,所述添加好友请求中包括第二SP的标识和第二用户在第二SP下的用户标识;以便所述第一WebRTC服务器根据所述第二SP的标识和第二用户在第二SP下的用户标识获取所述第二用户对应的WebRTC的统一标识,并将所述统一标识添加到所添加好友请求中发送给所述第二SP的第二WebRTC服务器,以指示第二WebRTC服务器根据所述第二用户的用户标识将接收的添加好友请求发送给所述第二用户的第二WebRTC客户端;当输入装置接收到所述第一WebRTC服务器返回的所述第二WebRTC客户端的添加好友成功响应,处理器会将所述第二用户的统一标识显示在与第一用户在第一SP下的用户标识绑定的用户所在界面。
本发明设备实施例七
提供一种网页实时通信WebRTC服务器,即上述的第二WebRTC服务器,本实施例的服务器的各个单元之间可以按照上述方法实施例五进行WebRTC,其结构示意图如图24所示,包括:
呼叫接收单元60,用于接收第一服务提供商SP下的第一WebRTC服务器发送的跨SP的呼叫请求,所述跨SP的呼叫请求中携带所述第二用户对应的WebRTC的统一标识,所述统一标识中包括所述第二用户在第二SP下的用户标识,及所述第二WebRTC服务器的地址信息;
呼叫转发单元61,用于根据所述呼叫接收单元60接收的跨SP的呼叫请求中的第二用户在第二SP下的用户标识,查找到所述第二用户的第二WebRTC客户端,并将所述携带所述第二用户的统一标识的跨SP的呼叫请转发给所述第二WebRTC客户端;
呼叫接受单元62,用于接收所述第二WebRTC客户端返回的呼叫接受消息,并转发给所述第一WebRTC服务器。
参考图25所示,在一个具体的实施例中,WebRTC服务器除了可以包括如图24所示的结构外,还可以包括添加请求接收单元63、添加请求转发单元64、响应发送单元65、标识请求接收单元66和统一标识发送单元67,其中:
添加请求接收单元63,用于接收第一SP下的第一WebRTC服务器发送的添加好友请求,所述添加好友请求中携带所述第二用户对应的WebRTC的统一标识;
添加请求转发单元64,用于根据所述添加请求接收单元63接收的添加好友请求中的第二用户在第二SP下的用户标识,查找到所述第二用户的第二WebRTC客户端,并将所述携带所述第二用户的统一标识的添加好友请求转发给所述第二WebRTC客户端;
响应发送单元65,用于接收所述第二WebRTC客户端返回的添加好友成功响应,并转发给所述第一WebRTC服务器。
标识请求接收单元66,用于接收所述第一WebRTC服务器或第一WebRTC客户端发送的标识查询请求,以请求查询所述第二用户对应的WebRTC的统一标识;
统一标识发送单元67,用于当标识请求接收单元66将所述第二用户的统一标识返回给所述第一WebRTC服务器或第一WebRTC客户端。
本实施例中,如果第二用户的统一标识储存在该WebRTC服务器中,则该WebRTC服务器中还可以包括注册单元,将统一标识的存储地址信息注册到WebRTC的注册服务器中,当标识请求接收单元66接收到标识查询请求后,由统一标识发送单元67将第二用户的统一标识返回。
本发明设备实施例八
还提供另一种网页实时通信WebRTC服务器,即上述的第二WebRTC服务器,本实施例的服务器中各个单元之间可以按照上述方法实施例五进行WebRTC,其结构示意图可以如图22所示,具体可以包括分别连接到总线上的存储器、处理器、输入装置和输出装置,其中:
存储器中用来储存从输入装置输入的数据,且还可以储存处理器处理数据的必要文件等信息;输入装置和输出装置是WebRTC服务器与其他设备通信的端口,还可以包括WebRTC服务器外接的设备。
处理器,用于当输入装置接收到第一服务提供商SP下的第一WebRTC服务器发送的跨SP的呼叫请求,所述跨SP的呼叫请求中携带所述第二用户对应的WebRTC的统一标识,所述统一标识中包括所述第二用户在第二SP下的用户标识,及所述第二WebRTC服务器的地址信息;则根据所述跨SP的呼叫请求中的第二用户在第二SP下的用户标识,查找到所述第二用户的第二WebRTC客户端,并将所述携带所述第二用户的统一标识的跨SP的呼叫请转发给所述第二WebRTC客户端;当输入装置接收到所述第二WebRTC客户端返回的呼叫接受消息,处理器会控制输出装置转发给所述第一WebRTC服务器。
进一步地,处理器,还用于当输入装置接收第一SP下的第一WebRTC服务器发送的添加好友请求,所述添加好友请求中携带所述第二用户对应的WebRTC的统一标识;则根据所述添加好友请求中的第二用户在第二SP下的用户标识,查找到所述第二用户的第二WebRTC客户端,并将所述携带所述第二用户的统一标识的添加好友请求转发给所述第二WebRTC客户端;当输入装置接收所述第二WebRTC客户端返回的添加好友成功响应,处理器可以控制输出装置转发给所述第一WebRTC服务器。
需要说明的是,本实施例的WebRTC服务器中可以储存对应SP下用户的统一标识,则服务器中的处理器还可以控制输出装置将统一标识的存储地址信息注册到WebRTC的注册服务器中;当输入装置接收到所述第一WebRTC服务器或第一WebRTC客户端发送的标识查询请求,以请求查询所述第二用户对应的WebRTC的统一标识;处理器可以控制输出装置将所述第二用户的统一标识返回给所述第一WebRTC服务器或第一WebRTC客户端。
本发明实施例还提供一种网页实时通信系统,其结构示意图可以如图1所示,包括第一网页实时通信WebRTC客户端、第一WebRTC服务器、第二WebRTC服务器和第二WebRTC客户端,其中:
第一WebRTC客户端是如上述设备实施例一所述的任一个WebRTC客户端;第一WebRTC服务器是如上述设备实施例三中图19或20所示的WebRTC服务器;第二WebRTC服务器是如上述设备实施例七所述的任一个WebRTC服务器,在此不进行赘述;第二WebRTC客户端则用于当接收到第二WebRTC服务器发送的跨SP的呼叫请求,则可以返回呼叫接受消息,如果接收到第二WebRTC服务器发送的添加好友请求,可以返回添加好友成功响应。
本实施例中储存用户的统一标识的服务器可以是对应SP下的WebRTC服务器,也可以是如图1所示的单独部署的WebRTC的地址服务器。
本发明实施例还提供另一种网页实时通信系统,第一网页实时通信WebRTC客户端、第一WebRTC服务器、第二WebRTC服务器和第二WebRTC客户端,其中,第一WebRTC客户端可以是上述设备实施例二所述的WebRTC客户端;而第一WebRTC服务器可以是上述设备实施例四所述的WebRTC服务器;而第二WebRTC服务器可以是上述设备实施例八所述的WebRTC服务器;第二WebRTC客户端则用于当接收到第二WebRTC服务器发送的跨SP的呼叫请求,则可以返回呼叫接受消息,如果接收到第二WebRTC服务器发送的添加好友请求,可以返回添加好友成功响应。
本实施例中储存用户的统一标识的服务器可以是对应SP下的WebRTC服务器,也可以是如图1所示的单独部署的WebRTC的地址服务器。
本发明实施例还提供一种网页实时通信系统,其结构示意图可以如图1所示,包括第一网页实时通信WebRTC客户端、第一WebRTC服务器、第二WebRTC服务器和第二WebRTC客户端,其中:
第一WebRTC客户端是如上述设备实施例五所述的WebRTC客户端;第一WebRTC服务器是如上述设备实施例三中图21所示的WebRTC服务器;第二WebRTC服务器是如上述设备实施例七所述的任一个WebRTC服务器,在此不进行赘述;第二WebRTC客户端则用于当接收到第二WebRTC服务器发送的跨SP的呼叫请求,则可以返回呼叫接受消息,如果接收到第二WebRTC服务器发送的添加好友请求,可以返回添加好友成功响应。
本实施例中储存用户的统一标识的服务器可以是对应SP下的WebRTC服务器,也可以是如图1所示的单独部署的WebRTC的地址服务器。
本发明实施例还提供另一种网页实时通信系统,第一网页实时通信WebRTC客户端、第一WebRTC服务器、第二WebRTC服务器和第二WebRTC客户端,其中,第一WebRTC客户端可以是上述设备实施例六所述的WebRTC客户端;而第一WebRTC服务器可以是上述设备实施例四所述的WebRTC服务器;而第二WebRTC服务器可以是上述设备实施例八所述的WebRTC服务器;第二WebRTC客户端则用于当接收到第二WebRTC服务器发送的跨SP的呼叫请求,则可以返回呼叫接受消息,如果接收到第二WebRTC服务器发送的添加好友请求,可以返回添加好友成功响应。
本实施例中储存用户的统一标识的服务器可以是对应SP下的WebRTC服务器,也可以是如图1所示的单独部署的WebRTC的地址服务器。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的网页实时通信方法、系统及服务器和客户端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。