pjsip - PJSIP_ESESSIONINSECURE - 错误

问题描述 投票:0回答:2

我正在尝试设置具有FIPS功能的openssl并使用pjsip进行测试。我有一切都建成了。我执行以下操作:

pjsua-x86_64-unknown-linux-gnu --local-port = 5060 --srtp-secure = 1 --use-srtp = 2 --null-audio

pjsua-x86_64-unknown-linux-gnu --local-port = 5061 --srtp-secure = 1 --use-srtp = 2 --null-audio

当我去调用一个节点时,我得到:

初始化媒体通道时出错:需要安全会话/传输(PJSIP_ESESSIONINSECURE)[status = 171142]

我跟踪了代码中发生的事情。在档案中:

./啤酒四瓶/双人床/潘静苏阿-礼拜/潘静苏阿_Media.从

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;
        }
    }

有谁知道为什么我没有通过这项检查?

pjsip
2个回答
0
投票

添加参数

--use-tls 

程序调用


0
投票

确保在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并因此使上面提到的条件失败。

© www.soinside.com 2019 - 2024. All rights reserved.