吴伟贤のBlog

Feed Rss

freeswitch sip 用户

11.30.2012, freeswitch, by .

转自:http://blog.csdn.net/perfectpdl/article/details/7893264

 

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下,默认域名为freeswitch的ip地址。

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

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

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

/usr/local/freeswitch/conf/directory/default.xml为directory主配置文件,这里指定域名,组;系统默认组为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.       修改dialplan;freeswitch对注册到自己的用户的dialplan为cconf/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.

评论已关闭。