如何安装支持 SRTP 的 Asterisk?

如何安装支持 SRTP 的 Asterisk?

我对 Asterisk 还不熟悉,我需要我的服务器支持 WebRTC。据我所知,Asterisk Now 中的 Asterisk 版本编译时没有 SRTP 支持,而 SRTP 是 WebRTC 所必需的。

因此,我尝试在我的 Ubuntu 服务器 13.04 上编译带有 SRTP 的 Asterisk 11.5.0。我使用 --with-srtp 选项执行 ./configure 命令。命令如下:

./configure --with-crypto --with-ssl --with-srtp

但我收到一个警告:

checking for the ability of -lsrtp to be linked in a shared object... no
configure: WARNING: ***
configure: WARNING: *** libsrtp could not be linked as a shared object.
configure: WARNING: *** Try compiling libsrtp manually. Configure libsrtp
configure: WARNING: *** with ./configure CFLAGS=-fPIC --prefix=/usr
configure: WARNING: *** replacing /usr with the prefix of your choice.
configure: WARNING: *** After re-installing libsrtp
configure: WARNING: *** configure script.
configure: WARNING: ***
configure: WARNING: *** If you do not need SRTP support re-run configure
configure: WARNING: *** with the --without-srtp option.

我的 libsrtp (v 1.4.4) 已经使用上述选项进行了编译!我还尝试在配置 Asterisk 时设置 libsrtp 的位置:

./configure --with-crypto --with-ssl --with-srtp=/usr/include/srtp

但这并没有改变什么。

您能帮助我实现 Asterisk 中的 WebRTC 支持吗?

UPD:我认为 SRTP 库存在问题,因为它没有正确通过运行测试:错误 254。他们写道,在 rtpw_test.sh 中将“RTPW=rtpw”更改为“RTPW=./rtpw”将修复此错误,但事实并非如此。

答案1

你安装了开发头文件吗?你应该能够在存储库中获取 1.4.4,而不必从源代码进行编译。这就是我所做的,尽管我没有使用 Ubuntu 13.04。

apt-cache search libsrtp

应该有望产生 libsrtp-dev 或 libsrtp1-dev 或类似的东西

答案2

在 SRTP 文件夹中

make uninstall
make clean
./configure CFLAGS=-fPIC --prefix=/usr/local/lib
make
make runtest
make install

答案3

安装 Gentoo 并使用 srtp 标志安装 Asterisk 解决了我的问题。尽管我认真搜索了两天,还是没有找到针对 Ubuntu 的解决方案。

相关内容