我正在尝试设置支持FIPS的openssl,并使用pjsip对其进行测试。我把所有东西都建好了。我运行以下命令:
pjsua-x86_64-未知-linux-gnu --local-port=5060 --srtp-secure=1 --use-srtp=2 --null-audio
和
pjsua-x86_64-未知-linux-gnu --local-port=5061 --srtp-secure=1 --use-srtp=2 --null-audio
当我调用one节点时,我得到:
初始化媒体通道时出错:需要安全会话/传输(PJSIP_ESESSIONINSECURE) status=171142
我跟踪了代码中发生这种情况的位置。在文件中:
./pjsip/src/pjsua-lib/pjsua_media.c
if (acc->cfg.use_srtp != PJMEDIA_SRTP_DISABLED) {
if (security_level < acc->cfg.srtp_secure_signaling) {
err_code = PJSIP_SC_NOT_ACCEPTABLE;
status = PJSIP_ESESSIONINSECURE;
goto on_return;
}
}有人知道我为什么不能通过这项检查吗?
发布于 2016-04-01 23:55:01
添加参数
--use-tls 添加到程序调用
发布于 2019-03-13 22:02:17
确保在pjsip config_site.h中添加以下标志:
#define PJMEDIA_HAS_SRTP 1
#define PJSIP_HAS_TLS_TRANSPORT 1此外,请确保创建一个具有TLS传输类型的终结点。你还需要确保你的sip地址有'sips‘前缀和;transport=tls。这在pjsua_call.c / get_secure_level函数中求值,该函数确定security_level,从而导致上面提到的条件失败。
https://stackoverflow.com/questions/36342989
复制相似问题