XML 用户目录

XML 用户目录

用户目录的默认配置文件在conf/directory/下,系统自带了default.xml,代码如下:

该配置文件决定了那些用户能注册到FS中,一般来说,所有的用户都应该属于同一个domain(除非想使用多个domain),这里的$${domain}这个全局变量是在vars.xml中设置的,它默认是主机的地址,可以修改为使用一个域名。

params 中定义了该Domain中所有用户的公共参数,在这里只定义一个dial-string,在使用user/username或sofia/internal/username@domain呼叫字符串时,FS会根据username找到这个dial-string,并最终扩展成实际的SIP地址。

其中 sofia_contact 时一个API命令,它会根据用户的注册地址扩展成相应的呼叫字符串。

variables则定义了一些公共变量,在用户主叫或被叫时,这些变量会绑定到响应的Channel上形成 Channel Variable

在domain中还定义了许多组group,组里面包含了很多用户。

也可以定义其他的用户组,组中用户并不需要时完整的XML节点,也可以是指向已经存在的用户的指针。使用组方便组内群呼、代接之类的业务。

 

<include>
  <!--the domain or ip (the right hand side of the @ in the addr-->
  <domain name="$${domain}">
    <params>
      <param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})},${verto_contact(${dialed_user}@${dia
led_domain})}"/>
      <!-- These are required for Verto to function properly -->
      <param name="jsonrpc-allowed-methods" value="verto"/>
      <!-- <param name="jsonrpc-allowed-event-channels" value="demo,conference,presence"/> -->
    </params>

    <variables>
      <variable name="record_stereo" value="true"/>
      <variable name="default_gateway" value="$${default_provider}"/>
      <variable name="default_areacode" value="$${default_areacode}"/>
      <variable name="transfer_fallback_extension" value="operator"/>
    </variables>

    <groups>
      <group name="default">
        <users>
          <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
        </users>
      </group>

      <group name="sales">
        <users>
          <!--
              type="pointer" is a pointer so you can have the
              same user in multiple groups.  It basically means
              to keep searching for the user in the directory.
          -->
          <user id="1000" type="pointer"/>
          <user id="1001" type="pointer"/>
          <user id="1002" type="pointer"/>
          <user id="1003" type="pointer"/>
          <user id="1004" type="pointer"/>
        </users>
      </group>
      <group name="billing">
        <users>
          <user id="1005" type="pointer"/>
          <user id="1006" type="pointer"/>
          <user id="1007" type="pointer"/>
          <user id="1008" type="pointer"/>
          <user id="1009" type="pointer"/>
        </users>
      </group>

      <group name="support">
        <users>
          <user id="1010" type="pointer"/>
          <user id="1011" type="pointer"/>
          <user id="1012" type="pointer"/>
          <user id="1013" type="pointer"/>
          <user id="1014" type="pointer"/>
        </users>
      </group>
    </groups>

  </domain>
</include>

 

用户XML

<include>
  <user id="1000">
    <params>
      <param name="password" value="$${default_password}"/>
      <param name="vm-password" value="1000"/>
    </params>
    <variables>
      <variable name="toll_allow" value="domestic,international,local"/>
      <variable name="accountcode" value="1000"/>
      <variable name="user_context" value="default"/>
      <variable name="effective_caller_id_name" value="Extension 1000"/>
      <variable name="effective_caller_id_number" value="1000"/>
      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
      <variable name="callgroup" value="techsupport"/>
    </variables>
  </user>
</include>

 

posted @ 2020-12-13 23:06  大米粥的博客  阅读(201)  评论(0编辑  收藏  举报