我已经安装了带有 FreeSWITCH 和 PostgreSQL 后端的 FusionPBX。我一直在各个地方在线阅读,可以使用 mod_xml_curl 检索存储在 MySQL 数据库中的 SIP 凭据,而不是 FreeSWITCH 使用的静态 XML 文件。
但是,我感兴趣的是如何使用 HTTP GET 请求从 FusionPBX 使用的 PostgreSQL 数据库中检索 SIP 凭证。我目前正在研究 fs_curl Raymond Chandler(intralanman)做出的贡献,但我是一名新手开发人员,正在尝试学习绳索,因此非常感谢任何帮助。
最佳答案
首先,在 xml_curl.conf 中进行更改
<binding name="directory">
<param name="gateway-url" value="http://<directoryserverip>/directory" method="GET" bindings="directory"/>
</binding>
创建一个可以处理您的网络请求的网络服务器(目录)/directory
.
您应该能够看到所有请求 header 。
创建一个函数以返回该用户的动态目录 xml,如此处所述 https://freeswitch.org/confluence/display/FREESWITCH/mod_xml_curl
注意:您从请求 header 中知道用户名。所以建立连接以获取数据库中该用户的实际密码并替换为 xml 并将其作为响应返回
如果要求的密码和您在目录 xml 中发送的密码匹配,Freeswitch 将允许注册,否则它发送禁止。
关于linux - 如何使用 MOD_XML_CURL 通过 HTTP GET 方法检索 SIP 凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33838104/