分享

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

 just_person 2012-11-02

 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中查阅。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多