freeswitch sip 用户

本文来自csdn lidp http://blog.csdn.net/perfectpdl,转载注明出处,谢谢

 

我建了一个 Freeswitch 内核研究 交流群, 45211986, 欢迎加入, 另外,提供基于SIP的通信服务器及客户端解决方案。 


Freeswitch可以作为SIP注册服务器,sip终端作为freeswitch user注册到freeswitch上,另外,freeswitch也可以通过sip协议连接外部服务,通常通过网关连接到pstn.

 

(1)freeswitch 用户

Freeswitch通过引入directory 概念来管理user,一个directory包含若干domain,一个domain可以包含若干个group,每个group 又分若干个真实的用户。

 

结构如下:

 

<section name="directory">

<domainname="example.com">

<groups>

<groupname="default">

<userid="1001">

<params>

<param name="password"value="1234"/>

</params>

</user>

</group>

</groups>

      </domain>

</section>

 

通常并不需要group,用户部分直接在domain下,默认域名为freeswitchip地址。

/usr/local/freeswitch/conf/directory/目录为user配置及保存的位置

freeswitch收到注册包时首先根据sip from或者to头中的domain查找directory目录下面的用户,freeswitch默认使用的域名为服务器ip,可以通过在控制台上执行sofia status查看。

如果想让服务器使用域名,客户端注册时用域名方式注册,需要修改vars.xml配置文件,设置默认域名。

/usr/local/freeswitch/conf/directory/default.xmldirectory主配置文件,这里指定域名,组;系统默认组为default,

此组下的用户都在/usr/local/freeswitch/conf/directory/default/目录下,默认有20个账号。

所以,在default组中添加新账号的步骤:

1.       /usr/local/freeswitch/conf/directory/default/添加xml用户文件,拷贝此目录下其中一个即可,然后再稍作改动。

[root@openser-devdefault]# cp 1000.xml  1111.xml

1111.xml 中的1000都改成1111,密码为全局密码(vars.xml中配置)1234

2.       修改dialplanfreeswitch对注册到自己的用户的dialplancconf/dialplan/default.xml中的Local_Extension部分,

1111添加到匹配中。

^(10[01][0-9]|1111)$

<conditionfield="destination_number" expression="^(10[01][0-9]|1111)$">

3.       重新加载配置 reloadxml,注册,呼叫 1111

采用多group的一个好处是可以让freeswitch呼叫一组内用户,比如在conf/directory/default.xml里添加sales组,然后再里面添加1001,1002,1003用户,然后再dialplan添加

<extension name="group_dial_sales">

<conditionfield="destination_number"expression="^2000$">

<actionapplication="bridge"data="group/sales@${domain_name}"/>

</condition>

</extension>

当用户拨打2000时,freeswitch会同时呼叫salses组里的所有用户,一旦第一个用户应答,停止呼叫其他用户,这与asterisk或者其他pbx里面的队列呼叫策略类似,asteirsk中叫ringall.

也可以在控制台用group_call命令呼叫一个组,这里为group_call salses.

你可能感兴趣的:(xml,服务器,user,domain,终端,extension)