首页 > 新闻 > 专家观点 >

《FreeSWITCH 1.2》:SIP和用户目录

2014-04-17 17:08:55   作者:   来源:CTI论坛   评论:0  点击:


  在上章节中,我们简单介绍了SIP, Session Initiation Protocol, 讨论了如何注册在FreeSWITCH 平台上注册电话。在此章节中,我们夯实SIP的基础,并且学习如何使用连接用户SIP,包括本地的和外网的。在VOIP世界中,SIP是比较特殊的一种协议。在这个章节中,我们将讨论以下内容:

  · 学习FreeSWITCH 用户目录背后的原理

  · 首次探讨和配置FreeSWITCH 用户目录

  · 学习如何对接FreeSWITCH 和服务提供商

  · 对拨号规则和XML目录配置文件进行修改

  · 简单介绍 SIP profiles 和用户代理

  了解FreeSWITCH用户目录

  FreeSWITCH 用户目录是基于一个中央XML控制文件,

  由一个或者多个<domain> 要素组成。每个 <domain> 可以包含<users> 要素或者<groups> 要素。 一个 <groups> 要素包含一个或者多个<group> 要素, 每个group包含一个或者多个<users> 要素。 同理, 一个<users> 包含一个或者多个 <user> 要素。  以下是一个简单举例:


  下载实例代码

  如果用户是从 packtpub 购买的书,用户可以下载本书使用的实例代码。

  如果用户从其他地方购买的本书,可以访问http://www.packtpub.com/support ,然后注册,我们将把代码的文件通过邮件发送给用户。

  对于users 来说,一些基本的配置文件可以不包括groups,因此用户可以忽略<groups> 这个要素, 在顶部的<domain>要素中,仅添加几个<user> 要素。

  这里必须注意,每个user@domain 都来自于这个用户目录,这个目录对系统的所有模块有效。这个目录是一个单一的中央控制目录,保存所有的FreeSWITCH 用户信息。如果使用一个SIP电话作为一个用户注册或者其他用户执行语音留言,FreeSWITCH将在同一地方查询用户的数据。这一点非常重要,通过这样的方法,可以限定系统的操作,避免数据的重复,并且对每个模块对非常有效率,因为每个独立的模块可以独立跟踪用户信息。

  这个系统在用户量非常少的时候可以工作的非常好,但是如果用户量上千的大型系统应该怎么办呢?如果用户想通过访问FreeSWITCH数据库来获得用户目录信息,我们如何实现?答案是肯定的。我们在第一章FreeSWITCH 系统架构中讨论了如何使用mod_xml_curl模块,我们可以创建web 服务通过一个请求对全部用户目录进行访问,获得数据,方法类似于一个HTML的页面环境下的表格提交方式。反过来,web 服务可以无需担心用户数据的格式,或者XML文件格式来查询用户,获得希望得到的用户信息。mod_xml_curl 返回查询结果到从查询模块。这样做的目的是系统可以实现用户设置和中央控制的用户数据实现无缝集成,并且保持用户原始数据的格式。

  未完待续······

相关阅读:

分享到: 收藏

专题