Install and configure freeswitch server

一 安装freeswitch

环境centos6

1.安装前需要用到的RPM包和一些基础的软件包。

#rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

#yum install git gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel libjpeg-devel openssl-devel e2fsprogs-devel sqlite-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel
----------------------------------------------------------
2.使用git源去获取freeswitch的软件源代码。(注意在目录/usr/src下)
#cd /usr/src
###通过以下命令是获取最新版本的freeswitch
#git clone https://freeswitch.org/stash/scm/fs/freeswitch.git
###如果知道版本可以通过以下命令
git clone -b v1.4 https://freeswitch.org/stash/scm/fs/freeswitch.git

3.初始化安装freeswitch的某些编译环境,配置环境,以及编译安装。
#./bootstrap.sh -j
#./configure -C
#make && make install
----------------------------------------------------------
3.通过压缩源码安装包来安装

 1)使用wget获取源代码安装包
  1.获取代码
  wget http://files.freeswitch.org/freeswitch-1.4.0.beta6.tar.bz2
  2.解压包
  chmod 777 freeswitch-1.4.0.beta6.tar.bz2
  tar xvjf freeswitch-1.4.0.beta6.tar.bz2
  3.配置和安装
  cd freeswitch-1.4.0
  ./configure
  make install

(用get源代码到安装好一部到位可以是用此命令:wget http://www.freeswitch.org.cn/Makefile && make install)

FreeSWITCH使用make install安装完成后,会显示一个有用的帮助,它会提示你接下来可以用哪些make命令执行一些其他的操作(如我们刚才安装声音文件的命令,在这里就可以看到)。下面笔者在默认的帮助信息后增加了一些中文的注释,读者可以在学习中自行练习一下。
 
1. +---------- FreeSWITCH install Complete ----------+ 
2. + FreeSWITCH has been successfully installed.     + 
3. +                                                 + 
4. +       Install sounds:                           +  安装声音文件 
5. +       (uhd-sounds includes hd-sounds, sounds)   + 
6. +       (hd-sounds includes sounds)               + 
7. +       ------------------------------------      + 
8. +                make cd-sounds-install           +  CD音质的声音文件 
9. +                make cd-moh-install              + 
10. +                                                 + 
11. +                make uhd-sounds-install          +  超高清声音文件 
12. +                make uhd-moh-install             + 
13. +                                                 + 
14. +                make hd-sounds-install           +  高清声音文件 
15. +                make hd-moh-install              + 
16. +                                                 + 
17. +                make sounds-install              +  标准声音文件 
18. +                make moh-install                 + 
19. +                                                 + 
20. +       Install non english sounds:               +  安装其他语言的声音文件 
21. +       replace XX with language                  + 
22. +       (ru : Russian)                            +  如ru代表俄语 
23. +       ------------------------------------      + 
24. +                make cd-sounds-XX-install        + 
25. +                make uhd-sounds-XX-install       + 
26. +                make hd-sounds-XX-install        + 
27. +                make sounds-XX-install           + 
28. +                                                 + 
29. +       Upgrade to latest:                        +  升级到最新版本 
30. +       ----------------------------------        + 
31. +                make current                     + 
32. +                                                 + 
33. +       Rebuild all:                              +  重新编译 
34. +       ----------------------------------        + 
35. +                make sure                        + 
36. +                                                 + 
37. +       Install/Re-install default config:         +  安装(或重新安装)配置文件 
38. +       ----------------------------------        + 
39. +                make samples                     + 
40. +                                                 + 
41. +       Additional resources:                     + 
42. +       ----------------------------------        + 
43. +       http://www.freeswitch.org                 +  官方网站 
44. +       http://wiki.freeswitch.org                +  官方Wiki 
45. +       http://jira.freeswitch.org                +  官方的缺陷跟踪工具 
46. +       http://lists.freeswitch.org               +  邮件列表 
47. +                                                 + 
48. +       irc.freenode.net / #freeswitch            +  IRC聊天室 
49. +-------------------------------------------------+

 

4.安装声音文件
#pwd

make cd-sounds-install
make cd-moh-install
此过程需要一段时间。

至此,FreeSWITCH就已经安装完了。在UNIX类操作系统上,其默认的安装位置是/usr/local/freeswitch(下文所述的路径全部相对于该路径)。两个常用的命令是 bin/freeswitch 和 bin/fs_cli(我们下面会讲到它们的用法),为了便于使用,建议将这两个命令做符号链接放到你的搜索路径中,如:
 
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/ 
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/

 

不管FreeSWITCH运行在前面还是后台,都可以使用客户端软件fs_cli连接到它并对它进行控制。使用方法为:

  /usr/local/freeswwitch/bin/fs_cli
当然,如果上面已经做了符号连接也可以直接运行fs_cli。任何时间想退出fs_cli客户端,都可以输入/exit或按Ctrl + D组合键,也可以直接关掉终端窗口。

 

关闭freeswitch的命令是
freeswitch -stop
 
freeswitch -nc #freeswitch在后台启nc:no console


二 连接SIP电话
在这里用软电话x-lite为例。

环境在同一个局域网上安装x-lite并且保证麦克风和听筒能够正常工作。
 
当然,如果你没有多余的机器做这个实验,也可以在同一台机器上安装。只是需要注意,软电话不要占用 UDP 5060 端口,因为 FreeSWITCH 默认要使用该端口,你可以通过先启动 FreeSWITCH 再启动软电话来避免该问题(后者如果在启动时发现5060端口已被占用,一般会尝试选择其他端口),另外有些软电话允许你修改本地监听端口。

通过以下命令可以知道freeswitch监听的IPaddress
 
netstat -an | grep 5060 

FreeSWITCH 默认配置了1000 ~ 1019共 20 个用户,你可以随便选择一个用户进行配置,配置过程如下:

    1)在 X-Lite 上右击,选“Sip Account Settings...”,单击“Add”添加一个账号,填入以下参数:
 
1. Display Name: 1000 
2. User name: 1000 
3. Password: 1234 
4. Authorization user name: 1000


Domain: 你的IP地址,就是安装freeswitch机器的动态地址。

     2)其他项默认设置即可,而后单击“OK”.关闭setting窗口。接着可以在x-lite显示窗口上看到类似与“Ready. Your username is 1000”,并且拨打号码键也变为绿色。

     3)用sip电话拨打9664按下绿色拨打键,看是否能听到声音。
           如果没有声音就检查听筒是否坏了,如果正常检查声音安装文件是否成功。
      测试声音拨打号码参考如下网站
http://wiki.freeswitch.org/wiki/Default_Dialplan_QRF

注册另外一个sip软电话,用于两电话之间互相接通。
最好是在同一个局域网中的另外一台机器上启动另一个X-Lite ,并使用 1001 注册,注册完毕后就可以在1000上呼叫 1001,或在1001上呼叫1000 。也可以在同一台机器上安装,但是可以回影响通话质量,因为只有一张声卡。

 


三 配置freeswitch
Freeswitch的配置文件默认放置在conf/下,最顶层文件是freeswitch.xml

一.添加一个简单的用户。
FreeSWITCH默认设置了20个用户(1000~1019),如果添加其其他的用户只需要执行下面三个步骤即可:
1)在 /conf/insideout/directory/default中增加一个用户配置文件。
2)修改拨号计划(Dialplan)使其他用户可以呼叫到它。
3)重新加载配置使其生效。
例如廷加joy 用户分机号为123456,只需要到 conf/directory/default 目录下,将 1000.xml 复制到 ,123456.xml中。打开123456.xml,将所有1000都改为123456。
<include>
  <user id="1000" mailbox="1000">
    <params>
      <param name="password" value="1234"/>
      <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>


并把 effective_caller_id_name 的值改为joy,然后存盘退出,命令如下:

1. <variable name="effective_caller_id_name" value="Jack"/>

接下来,打开 conf/dialplan/default.xml,找到下面一行
 
1. <condition field="destination_number" expression="^(10[01][0-9])$">
将其改为
 
1. <condition field="destination_number" expression="^(10[01][0-9]|1234)$">
注释:正则表达式“^(10[01][0-9])$”匹配被叫号码1000~1019。因此我们修改之后的表达式就多匹配了一个123456。

然后,回到控制台或启动fs_cli,执行reloadxml命令或按快捷F6,使新的配置生效。

Friday, October 16, 2015 | Networking

文章评论

No comments posted yet.

发表评论

Please add 6 and 3 and type the answer here: