Freeswitch sdp 响应缺少摘要

Freeswitch sdp response missing digest

我对 Freeswitch 1.6.6 有一个神秘的问题。

我尝试集成 sipjs (v0.7.4) 以使用 webrtc 与我的中心一起工作。

应用程序注册没有问题(使用wss)但是当我尝试呼叫其他用户时,出现sdp解析错误:

SIPml-api.js:1 Failed to parse SessionDescription. a=fingerprint:sha-256
Failed to create fingerprint from the digest.tsk_utils_log_error @ SIPml-api.js:1

当我检查 freeswitch 日志中的 sdp 时,这是我收到的(IP 地址是自愿屏蔽的):

o=mozilla...THIS_IS_SDPARTA-45.0.2 3927228173093566425 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 EE:D6:5C:B1:7D:99:E6:FB:9A:46:89:58:14:19:A5:29:4A:AF:D3:0D:BE:32:06:76:1D:08:F5:3F:F9:DA:8B:DA
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 63339 UDP/TLS/RTP/SAVPF 109 9 0 8
c=IN IP4 ***.***.***.***
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000/1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=candidate:0 1 UDP 2122252543 ***.***.***.*** 63339 typ host
a=candidate:2 1 UDP 2122187007 ***.***.***.*** 54708 typ host
a=candidate:4 1 UDP 2122121471 ***.***.***.*** 56942 typ host
a=candidate:0 2 UDP 2122252542 ***.***.***.*** 61720 typ host
a=candidate:2 2 UDP 2122187006 ***.***.***.*** 61984 typ host
a=candidate:4 2 UDP 2122121470 ***.***.***.*** 63345 typ host
a=end-of-candidates
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=ice-pwd:1caa7d986c87c16de3e4f6f760528544
a=ice-ufrag:2e86561a
a=mid:sdparta_0
a=msid:{2b638262-0603-3942-af0e-24fcb578a272} {5b012d42-d929-c144-8669-4aa5367cb6be}
a=rtcp:61720 IN IP4 ***.***.***.***
a=rtcp-mux
a=setup:actpass
a=ssrc:1176697136 cname:{04e0f7d1-9999-ad46-871c-55dcb58e8bbd}

这是 Freeswitch 发送给客户端的内容:

v=0
o=FreeSWITCH 1461635251 1461635252 IN IP4 128.179.101.13
s=FreeSWITCH
c=IN IP4 ***.***.***.***
t=0 0
a=msid-semantic: WMS SqfRSSh9myFLk84BEDbOTgfOjB1zYaUH
m=audio 23832 RTP/SAVPF 109 9 0 8 102 101
a=rtpmap:109 opus/48000/2
a=fmtp:109 useinbandfec=1; maxaveragebitrate=510000; maxplaybackrate=48000; ptime=20; minptime=10; maxptime=40; stereo=1
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:102 telephone-event/48000
a=rtpmap:101 telephone-event/8000
a=fingerprint:sha-256 
a=setup:actpass
a=rtcp-mux
a=rtcp:23832 IN IP4 ***.***.***.***
a=ssrc:1503282107 cname:qZo9Iv9VTEx4Drv7
a=ssrc:1503282107 msid:SqfRSSh9myFLk84BEDbOTgfOjB1zYaUH a0
a=ssrc:1503282107 mslabel:SqfRSSh9myFLk84BEDbOTgfOjB1zYaUH
a=ssrc:1503282107 label:SqfRSSh9myFLk84BEDbOTgfOjB1zYaUHa0
a=ice-ufrag:VxMFDRjNjad7bYEs
a=ice-pwd:OTsmer8YVvSpNenyCZ36HdJQ
a=candidate:2992776492 1 udp 659136 ***.***.***.*** 23832 typ host generation 0
a=candidate:2992776492 2 udp 659136 ***.***.***.*** 23832 typ host generation 0
a=ptime:20
a=sendrecv

你看到了吗,Freeswitch sdp中没有sha-256摘要

有谁知道为什么摘要消失了?

谢谢

您的 $${certs_dir} 中很可能缺少 dtls-srtp.pem

检查您的 freeswitch 目录的所有权,运行 freeswitch 的用户需要拥有 $${certs_dir} 的许可,通常 /etc/freeswitch/tls 才能创建 dtls-srtp.pem 证书