`
javasogo
  • 浏览: 1774584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

  上图表明一个流程,根据.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相关文章

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics