Freeswitch修炼宝典(一)-----freeswitch的方法入门解读

   基本概念就不说了,这里直接说一下freeswitch中的方法,也许你们常听说freeswitch中APP,API没有理解这2个的具体含义,我用比较简单的方法说明一下,APP就类似内部封装的function,freeswitch可以自己使用操作。比如:

bridge,echo,park等等。API就相同于我们通俗说的接口,有点像带有token认证机制的restful接口,使用fs_cli控制台或者外部工程,比如JAVA工程都可以通过这个类token对freeswitch使用这些API进行操作,freeswitch的类似token的验证码就是freeswitch设置的密码,可以在安装目录中的:freeswitch/conf/autoload_configs/event_socket.conf.xml进行修改:

 

  

    

    

    

    

    

    

  

 

其中listen-ip 就是监听的ip地址,freeswitch默认是::,如果你想让其他外部访问,需要修改这里,listen-port即为监听的端口,默认只有一个8021,不过这个可以进行更改,也可以添加多个不同的端口使用。password即为所说的token秘钥了,freeswitch默认安装的密码都为:ClueCon,如果freeswitch放在公网运营的话,端口没有修改过又是开放映射的,建议修改一下这个密码。apply-inbound-acl即为允许连接访问的ip地址,可以直接写ip地址,也可以配置acl组的名称。这里本人建议通过配置acl组名称来实现。原因如下:event_socket.conf.xml这个配置如果不用acl组配置的话,以后在添加ip的话,无法动态进行添加,所以这里建议使用acl组进行ip的配置。

 acl组设置也在freeswitch/conf/autoload_configs/中的acl.conf.xml中:

    

      

      

        

    

其中list里的name表示acl组名。 default是默认动作,deny为拒绝,allow为接受所有, node type与之同理,cidr是填写访问的地址,需要加上/后面的,精确到子网掩码。

配置完成后,通过fs_cli -x ‘reloadxml’  和 fs_cli -x ‘reloadacl’进行生效,具体app和api命令可以参考网站:https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools进行学习。

 

除了freeswitch源码调用方法外,基本所有的都是通过mod_esl模块进行通讯的,调用API进行操作的,mod_esl提供与远程FreeSwitch通信的功能。目前实现远程执行API。如JAVA,GO等语言都是通过这个模块来调用API完成对freeswitch操作的

你可能感兴趣的:(freeswitch)