FreeSwitch通过接口验证用户登录以及解决用户无法登陆问题

Song • 235次浏览 • 0个评论 • 2019-06-15 06:37:00

很多时候我们使用在线上添加用户需要能够远程验证用户登陆,不然每次都在/usr/local/freeswitch/conf/directory/default修改用户非常不方便,所以我们还是使用API动态验证更加简单。

一、freeswitch配置方法

二、后端接口

你可以在后台进行拼接返回XML文件即可,如下:


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="freeswitch/xml">
    <section name="directory">
        <domain name="192.168.0.170">
            <params>
                <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
            </params>
            <groups>
                <group name="default">
                    <users>
                        <user id="1004">
                            <params>
                                <param name="password" value="ppmdisi"/>
                                <param name="vm-password" value="1004"/>
                                <param name="verto-context" value="public"/>
                                <param name="verto-dialplan" value="XML"/>
                                <param name="jsonrpc-allowed-methods" value="verto"/>
                                <param name="jsonrpc-allowed-event-channels" value="demo,conference,presence"/>
                            </params>
                            <variables>
                                <variable name="toll_allow" value="domestic,international,local"/>
                                <variable name="accountcode" value="1004"/>
                                <variable name="user_context" value="default"/>
                                <variable name="effective_caller_id_name" value="Extension 1004"/>
                                <variable name="effective_caller_id_number" value="1004"/>
                                <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
                                <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
                                <variable name="callgroup" value="default"/>
                                <variable name="x-powered-by" value="http://www.freeswitch.org.cn"/>
                            </variables>
                        </user>
                    </users>
                </group>
            </groups>
        </domain>
    </section>
</document>

这里我们增加了verto的支持,你也可以自己修改。

三、调试接口

开发完成当然就是要进行调试,你可以使用如下命令打开调试模式:

xml_curl debug_on

参考:freeswitch开启siptrace调试sip信息

四、常见问题

添加太多可能导致无法继续登陆了,可以参考: 解决Freeswitch自定义的账户或超出1019呼叫被拒绝

提交评论
要回复文章请先登录注册
用户评论
  • 没有评论
    公告
    中国晚上好,随时随地分享前沿科技,好吃好玩,有趣有料的新鲜事;本站可以分享资源,技术,观点,态度;同时希望大家做一个文明的分享者!
    广告
    pytorch中文网