D-Bus学习(十一):在D-Bus上的telepathy[二]:进一步了解

  Telepathy用于处理实时通信,主要是IM,IRF,VoIP(voice and video)等。我们的开发程序都是telepathy的client。我们将描述一下这个client的开发过程。

 

D-Bus学习(十一):在D-Bus上的telepathy[二]:进一步了解_第1张图片

  上图表明一个流程,根据.manager文件与某个Connection Manager建立连接,例如是MSN CM。通过连接CM接口的proxy,可以获取IM session的信息,包括APP的一些信息,例如连接状态(是否连接,正在连接),本人的呈现状态,别名,联系人信息的数据类型和数据结构)。如果我们需要和具体的某个联系人进行通信,需要建立channel。Telepathy提供了很灵活的方式,通过RequestHandles获取channel的信息,然后通过RequestChannels获取对应的对象路径,可以根据此信息,建立那个channel的proxy,可以调用channel的method。

  这些channel的类型有下面的集中,我们可以从中telepathy支持那些功能:

  • List Channel Type:联系人列表,有单个人的,也有群组的(例如IRC)。在上面建立的proxy可以管理在服务器上的联系人列表。例如subscribe、publish、block。
  • Text Channel Type:一个Text channel提供发送Message的方法,检测是否成功发送并对方收到的信号。
  • Stream Channel Type:一个Stream media channel用户传递联系人的SDP。这是我们想到了SIP协议。这是用于视频或语音通话上。支持点对点,以及多方通话。

此外还有Room List,FileTransfer,Contact Search Call(unstable),Call(unstable)。

  这些可以详细在specifation中查阅。

 

相关链接: 我的Linux相关文章

你可能感兴趣的:(数据结构,Stream,session,manager,list,search)