PJSUA2:创建 SDP 答案时出错:需要 SRTP 加密属性
PJSUA2: Error creating SDP answer: SRTP crypto attribute required
我正在尝试使用最新版本的 pjsip android
https://github.com/VoiSmart/pjsip-android.
来电时出现错误:
Error creating SDP answer: SRTP crypto attribute required (PJMEDIA_SRTP_ESDPREQCRYPTO) [status=220228]
inv0x78653290a8 .Sending Response msg 406/INVITE/cseq=47488686 (tdta0x78bfbcf0a8)
使用srtp的账户配置
SrtpOpt opt = new SrtpOpt();
IntVector optVector = new IntVector();
optVector.add(pjmedia_srtp_keying_method.PJMEDIA_SRTP_KEYING_DTLS_SRTP);
optVector.add(pjmedia_srtp_keying_method.PJMEDIA_SRTP_KEYING_SDES);
opt.setKeyings(optVector);
accCfg.getMediaConfig().setSrtpOpt(opt);
accCfg.getMediaConfig().setSrtpUse(pjmedia_srtp_use.PJMEDIA_SRTP_OPTIONAL);
accCfg.getMediaConfig().setRtcpMuxEnabled(true);
accCfg.getMediaConfig().setSrtpSecureSignaling(0);
看起来好像错过了 sdp 中的 a=crypto: 属性,但我不明白如何包含它。
但是,我们之前使用的旧版本可以使用,但我不明白原因。
而且我认为如果在创建 SDP 答案时出错,那么问题可能出在传入的 sdp 中。
是客户端问题还是服务器问题?
请帮我解决一下。
这是服务器问题。
在升级服务器并将 a=crypto 属性添加到 SDP 后运行良好。
我正在尝试使用最新版本的 pjsip android https://github.com/VoiSmart/pjsip-android.
来电时出现错误:
Error creating SDP answer: SRTP crypto attribute required (PJMEDIA_SRTP_ESDPREQCRYPTO) [status=220228]
inv0x78653290a8 .Sending Response msg 406/INVITE/cseq=47488686 (tdta0x78bfbcf0a8)
使用srtp的账户配置
SrtpOpt opt = new SrtpOpt();
IntVector optVector = new IntVector();
optVector.add(pjmedia_srtp_keying_method.PJMEDIA_SRTP_KEYING_DTLS_SRTP);
optVector.add(pjmedia_srtp_keying_method.PJMEDIA_SRTP_KEYING_SDES);
opt.setKeyings(optVector);
accCfg.getMediaConfig().setSrtpOpt(opt);
accCfg.getMediaConfig().setSrtpUse(pjmedia_srtp_use.PJMEDIA_SRTP_OPTIONAL);
accCfg.getMediaConfig().setRtcpMuxEnabled(true);
accCfg.getMediaConfig().setSrtpSecureSignaling(0);
看起来好像错过了 sdp 中的 a=crypto: 属性,但我不明白如何包含它。
但是,我们之前使用的旧版本可以使用,但我不明白原因。
而且我认为如果在创建 SDP 答案时出错,那么问题可能出在传入的 sdp 中。 是客户端问题还是服务器问题?
请帮我解决一下。
这是服务器问题。 在升级服务器并将 a=crypto 属性添加到 SDP 后运行良好。