BigBlueButton audio stuck at echo test - webrtc
I successfully installed BigBlueButton. There are no errors in the terminal output as well. When accessing the demo html5client, whiteboard, poll etc are working. However, the audio option is stuck at echo testing and show a timeout with 1006 error code. I have SSL enabled and working fine as well.
My browser console output is below:
sip.js?v=870:2900 Thu Apr 02 2020 03:35:15 GMT+0530 (India Standard Time) | sip.transport | sending WebSocket message:
INVITE sip:919678135#video.somesite.co SIP/2.0
Via: SIP/2.0/WSS 1n1efh9eohaf.invalid;branch=z9hG4bK5324934
Max-Forwards: 70
To: <sip:919678135#video.somesite.co>
From: "w_sovik6bkaxev_3-bbbID-safwan" <sip:w_sovik6bkaxev_3-bbbID-safwan#video.somesite.co>;tag=h2nok8abpf
Call-ID: duvvdruvnusg9plutmb4
CSeq: 9420 INVITE
Contact: <sip:68b55qmr#1n1efh9eohaf.invalid;transport=ws;ob>
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
Supported: outbound
User-Agent: BigBlueButton
Content-Type: application/sdp
Content-Length: 1795
v=0
o=- 3589643919046748830 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS RebgqLQCswcUs4ScXPJ80b2tBsr9DMhFdM3k
a=group:BUNDLE audio
m=audio 27918 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 103.94.139.173
a=rtpmap:111 opus/48000/2
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=fmtp:111 minptime=10;useinbandfec=1
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-fb:111 transport-cc
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=setup:actpass
a=mid:audio
a=sendrecv
a=ice-ufrag:+lmV
a=ice-pwd:RlEpQu8rx1eHH+3sBsFbXN7q
a=fingerprint:sha-256 D9:C2:60:2B:63:3F:9B:B6:55:08:A7:4F:27:68:C7:64:13:9A:E7:B2:92:55:7B:7B:63:06:D3:A0:45:52:CB:4D
a=candidate:1516508954 1 udp 2122260223 192.168.0.106 49826 typ host generation 0 network-id 1 network-cost 10
a=candidate:350743530 1 tcp 1518280447 192.168.0.106 9 typ host tcptype active generation 0 network-id 1 network-cost 10
a=candidate:3677098414 1 udp 1686052607 103.94.139.173 27918 typ srflx raddr 192.168.0.106 rport 49826 generation 0 network-id 1 network-cost 10
a=ice-options:trickle
a=ssrc:393152659 cname:AnxncDEBB143RIk/
a=ssrc:393152659 msid:RebgqLQCswcUs4ScXPJ80b2tBsr9DMhFdM3k 90032642-1086-4a34-b9c8-a9e9649183a8
a=ssrc:393152659 mslabel:RebgqLQCswcUs4ScXPJ80b2tBsr9DMhFdM3k
a=ssrc:393152659 label:90032642-1086-4a34-b9c8-a9e9649183a8
a=rtcp-mux
sip.js?v=870:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off # sip.js?v=870:1272
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
exitAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
d # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
l # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
setTimeout (async)
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
setupEventHandlers # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
doCall # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
handleGoToEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
validateDisabled # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
internalClickHandler # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
s # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
h # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
m # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
O # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
N # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
C # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
R # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
Ln # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
ns # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
We # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
zn # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
n.unstable_runWithPriority # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
os # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
In # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
sip.js?v=870:2900 Thu Apr 02 2020 03:35:34 GMT+0530 (India Standard Time) | sip.inviteclientcontext | terminating Session
228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9 [03:35:34:0952] ERROR: clientLogger: Audio error - errorCode=1006, cause=Call timed out on start after 20s https://video.somesite.co/html5client/228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121:1100897
sip.js?v=870:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off # sip.js?v=870:1272
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
exitAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
setTimeout (async)
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
setupEventHandlers # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
doCall # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
handleGoToEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
validateDisabled # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
internalClickHandler # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
s # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
h # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
m # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
O # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
N # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
C # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
R # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
Ln # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
ns # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
We # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
zn # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
n.unstable_runWithPriority # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
os # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
In # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
sip.js?v=870:2900 Thu Apr 02 2020 03:35:34 GMT+0530 (India Standard Time) | sip.inviteclientcontext | terminating Session
sip.js?v=870:5031 Uncaught (in promise) TypeError: Cannot read property 'remote_target' of null
at InviteClientContext.sendRequest (sip.js?v=870:5031)
at InviteClientContext.bye (sip.js?v=870:4906)
at r (228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121)
at 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
at new Promise (<anonymous>)
at T.exitAudio (228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121)
at 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
sendRequest # sip.js?v=870:5031
bye # sip.js?v=870:4906
r # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
exitAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
setTimeout (async)
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
setupEventHandlers # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
doCall # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
handleGoToEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
validateDisabled # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
internalClickHandler # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
s # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
h # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
m # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
O # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
N # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
C # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
R # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
Ln # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
ns # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
We # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
zn # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
n.unstable_runWithPriority # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
os # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
In # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
sip.js?v=870:2900 Thu Apr 02 2020 03:35:47 GMT+0530 (India Standard Time) | sip.transaction.ict | Timer B expired for INVITE client transaction z9hG4bK5324934
sip.js?v=870:2900 Thu Apr 02 2020 03:35:47 GMT+0530 (India Standard Time) | sip.inviteclientcontext | closing INVITE session duvvdruvnusg9plutmb4qp7uju617n
sip.js?v=870:2900 Thu Apr 02 2020 03:35:47 GMT+0530 (India Standard Time) | sip.invitecontext.mediahandler | closing PeerConnection
sip.js?v=870:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off # sip.js?v=870:1272
x # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
EventEmitter.emit # sip.js?v=870:115
terminated # sip.js?v=870:5653
onRequestTimeout # sip.js?v=870:6943
onRequestTimeout # sip.js?v=870:3709
InviteClientTransaction.timer_B # sip.js?v=870:7744
setTimeout (async)
Timers.<computed> # sip.js?v=870:7516
InviteClientTransaction.send # sip.js?v=870:7707
send # sip.js?v=870:3698
ClientContext.send # sip.js?v=870:452
onSuccess # sip.js?v=870:6489
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
invite # sip.js?v=870:6481
afterConnected # sip.js?v=870:8842
UA.invite # sip.js?v=870:8861
inviteUserAgent # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
doCall # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinAudio # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:1
Promise.then (async)
n.then # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:21
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
joinEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
handleGoToEchoTest # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
validateDisabled # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
internalClickHandler # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121
s # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
h # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
m # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
O # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
N # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
C # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
R # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
Ln # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
ns # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
We # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
zn # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
(anonymous) # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
n.unstable_runWithPriority # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
os # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
In # 228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9
228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9 [03:35:47:0280] ERROR: clientLogger: Audio call terminated. cause=Request Timeout InviteClientContext.x (https://video.somesite.co/html5client/228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121:1129909)
228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:9 [03:35:47:0294] INFO: clientLogger: Absorbing a redundant callback message. T.l [as callback] (https://video.somesite.co/html5client/228c0528110c687efe22ece78b851a4d30a9b3dd.js?meteor_js_resource=true:121:1124518)
Out of bbb-conf --status
nginx —————————————————► [✔ - active]
freeswitch ————————————► [✔ - active]
redis-server ——————————► [✔ - active]
bbb-apps-akka —————————► [✔ - active]
bbb-transcode-akka ————► [✔ - active]
bbb-fsesl-akka ————————► [✔ - active]
red5 ——————————————————► [✔ - active]
tomcat7 ———————————————► [✔ - active]
mongod ————————————————► [✔ - active]
bbb-html5 —————————————► [✔ - active]
bbb-webrtc-sfu ————————► [✔ - active]
kurento-media-server ——► [✔ - active]
etherpad ——————————————► [✔ - active]
bbb-web ———————————————► [✔ - active]
Try this solution. Worked beautifully for me.
https://chadpilkey.wordpress.com/2012/05/03/fixing-your-bigbluebutton-audo-issue/
Basically the solution is to run:
sudo bbb-conf --clean
sudo bbb-conf --check
sudo bbb-conf --clean
In my instance,
sudo bbb-conf --setip domainname.com
solved it.
Related
Efficiently handling time series data from multiple sources in TF.Keras
I have a dataset which looks something like this: time | src | a | b | c | d | e | Label ---------------------------------------- 0. | 1 | # | # | # | # | # | # 1. | 1 | # | # | # | # | # | # 2. | 1 | # | # | # | # | # | # 3. | 1 | # | # | # | # | # | # 4. | 1 | # | # | # | # | # | # .... 0. | 2 | # | # | # | # | # | # 1. | 2 | # | # | # | # | # | # 2. | 2 | # | # | # | # | # | # 3. | 2 | # | # | # | # | # | # 4. | 2 | # | # | # | # | # | # I'm training a model to predict label against a window of [a,b,c,d,e] values. So my X is of shape (window_size,5) and my y would be the value of label at the end of the window. All values of X must have the same value in src (i.e. a window of data should only come from a single source). I've been previously compiling X/y pairs, with a little tf.keras.utils.Sequence to hack semi usable memory management. In looking for a better way, I found tf.keras.utils.timeseries_dataset_from_array, but, based on my understanding, it would have no concept of src, meaning a single X datum could be from numerous src's. How can I leverage something like tf.keras.utils.timeseries_dataset_from_array, but have it only extract windows of data that have one src value? note: I'd like to get a rolling window. i.e. every possible window with overlap, from each source. Progress 1 I successfully used timeseries_dataset_from_array, but it doesn't respect src # ============= Prep =========== import tensorflow as tf import numpy as np #creating numpy data structures representing the problem X = np.random.random((100,5)) y = np.random.random((100)) src = np.array([0]*50 + [1]*50) window_size = 5 #making a time series dataset which does not respect src Xy_ds = tf.keras.utils.timeseries_dataset_from_array(X, y, batch_size = 2, sequence_length=window_size, sequence_stride=window_size, shuffle=True) # ============= Train =========== from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, InputLayer, LSTM, Flatten #training a model, to validate the dataset is working correctly model = Sequential() model.add(InputLayer(input_shape=[window_size,5])) model.add(LSTM(3)) model.add(Flatten()) model.add(Dense(1, activation='relu')) optimizer = tf.keras.optimizers.Adam(learning_rate=0.001) model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy']) history = model.fit(Xy_ds,epochs=1) 2 Implemented mdaoust's solution, but I'm getting shape errors when training # ============= Prep =========== import tensorflow as tf import numpy as np #creating numpy data structures representing the problem X = np.random.random((100,5)) y = np.random.random((100)) src = np.expand_dims(np.array([0]*50 + [1]*50),1) window_size = 5 #appending source information to X, for filtration X = np.append(src, X, 1) #making a time series dataset which does not respect src Xy_ds = tf.keras.utils.timeseries_dataset_from_array(X, y, sequence_length=window_size, sequence_stride=1, shuffle=True) def single_source(x,y): source = x[:,0] return tf.reduce_all(source == source[0]) #filtering by and removing src info def drop_source(x,y): return x[:, 1:], y def set_shapes(x,y, shape): x.set_shape(shape) return x,y Xy_ds = Xy_ds.filter(single_source).map(drop_source) # ============= Train =========== from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, InputLayer, LSTM, Flatten #training a model, to validate the dataset is working correctly model = Sequential() model.add(InputLayer(input_shape=[window_size,5])) model.add(LSTM(3)) model.add(Flatten()) model.add(Dense(1, activation='relu')) optimizer = tf.keras.optimizers.Adam(learning_rate=0.001) model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy']) history = model.fit(Xy_ds,epochs=1) Error: ValueError: Input 0 is incompatible with layer sequential_3: expected shape=(None, None, 5), found shape=(None, None, 6) Presumably related to this Github thread I tried this and something like this, but no dice.
The simplest thing you can do is: Include the source as one of the coluns of X. Use timeseries_dataset_from_array. Use filter to drop slices that have mixed sources. Xy_ds = tf.keras.utils.timeseries_dataset_from_array(...) def single_source(x,y): source = x[:,0] return tf.reduce_all(source == source[0]) def drop_source(x,y): return x[:, 1:], y Xy_ds = Xy_ds.filter(single_source).map(drop_source)
Based on mdaoust's answer, but the final working code. Prep This will create the time series dataset and do all the manipulation to format it correcly # ============= Prep =========== import tensorflow as tf import numpy as np batch_size = 32 #creating numpy data structures representing the problem X = np.random.random((100,5)) y = np.random.random((100)) src = np.expand_dims(np.array([0]*50 + [1]*50),1) window_size = 5 #appending source information to X, for filtration X = np.append(src, X, 1) #making a time series dataset which does not respect src Xy_ds = tf.keras.utils.timeseries_dataset_from_array(X, y, sequence_length=window_size, batch_size=1, sequence_stride=1, shuffle=True) #filtering by and removing src info def single_source(x,y): source = x[:,:,0] return tf.reduce_all(source == source[0]) def drop_source(x,y): x_ = x[:, :, 1:] print(x_) return x_, y Xy_ds = Xy_ds.filter(single_source) Xy_ds = Xy_ds.map(drop_source) Xy_ds = Xy_ds.unbatch().batch(batch_size) #printing the dataset i = 0 for x, y in Xy_ds: i+=1 print(x) print(y) print('total batches: {}'.format(i)) Training training, just to sanity check that everything is working # ============= Train =========== from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, InputLayer, LSTM, Flatten #training a model, to validate the dataset is working correctly model = Sequential() model.add(InputLayer(input_shape=[window_size,5])) model.add(LSTM(3)) model.add(Flatten()) model.add(Dense(1, activation='relu')) optimizer = tf.keras.optimizers.Adam(learning_rate=0.001) model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy']) history = model.fit(Xy_ds,epochs=1) Important Note: in order for this to work, batching must occur after the filter and map are applied. That's why batch_size = 1 initially, then batching happens after.
How to append a column name to pandas.core.indexes.base.Index
Thanks for looking at my problem. I want to add target column to new_thing, what should I do. Thanks. import pandas as pd # reading data from csv df = pd.read_csv('data.csv') df.head() # The csv format # ID cot1 num1 target num2 cat3 # 0 123 Santa Elena 100 1 52.00 a # 1 124 India 77 1 25.00 d # 2 125 Ruanda 60 0 32.10 b # 3 126 Lesoto 11 0 -11.00 h # 4 127 Singapur 79 0 0.07 j df.dtypes # diffrent columns category(int,string) # out # ID int64 # cot1 object # num1 int64 # target int64 # num2 float64 # cat3 object # dtype: object new_thing = df.select_dtypes(include = ['object']).columns new_thing # out # Index(['cot1', 'cat3'], dtype='object') type(new_thing) # out #pandas.core.indexes.base.Index # I want to add target column to the new_thing # I have tried the below but no success new_thing.append(df.target) # # TypeError: all inputs must be Index As you see I could not add the target to new_thing
This error is because new_thing store values of type pandas.DataFrame.index (columns) if you want to add 'target' to new_thing you must do this new_thing = df.select_dtypes(include = ['object']).columns new_thing.append(df.columns[df.columns.get_loc("target")]) to add column and rows selecting type object you should not use instance .columns new_thing = df.select_dtypes(include = ['object']) print(pd.concat([new_thing, df[['target']]]))
How to using chain method to select data after date which is the index of the max value of columns for each group by pandas?
Problem: this post Goal using pandas chain method to get the output. df1 = df.reset_index() df1 = df[df.index >= df.groupby('ts_code')['high'].transform('idxmax')] out = df1[df1.groupby('ts_code').cumcount()<=1] out ts_code low high 2021-08-01 885525.TI 7427.0 8552.0 2021-08-08 885525.TI 7300.0 7868.0 2021-08-15 885452.TI 2352.0 2459.0 2021-08-22 881105.TI 1656.0 1804.0 2021-08-22 885452.TI 2329.0 2415.0 2021-08-22 885641.TI 691.0 720.0
As Quang pointed out, chaining actually isn't needed here (except to chain sort_values if you want to match the expected output from your original question): Either use a boolean filter: df[df.index >= df.groupby('ts_code')['high'].transform('idxmax')].sort_values('ts_code') # ts_code low high # 2021-08-22 881105.TI 1656.0 1804.0 # 2021-08-15 885452.TI 2352.0 2459.0 # 2021-08-22 885452.TI 2329.0 2415.0 # 2021-08-01 885525.TI 7427.0 8552.0 # 2021-08-08 885525.TI 7300.0 7868.0 # 2021-08-15 885525.TI 7525.0 8236.0 # 2021-08-22 885525.TI 7400.0 8270.0 # 2021-08-22 885641.TI 691.0 720.0 Or a loc callable: (df.sort_values('ts_code') .loc[lambda x: x.index >= x.groupby('ts_code')['high'].transform('idxmax')]) Convert existing code with pipe But if you want to convert the existing code into a chain, pipe the previous operation's output as input for the next operation. First assign the maxdate for each group and pipe the result into a date filter. Then chain sort_values to match the expected output from your original question: (df.assign(maxdate=df.groupby('ts_code')['high'].transform('idxmax')) .pipe(lambda x: x[x.index >= x.maxdate]) .drop(columns='maxdate') .sort_values('ts_code')) # ts_code low high # 2021-08-22 881105.TI 1656.0 1804.0 # 2021-08-15 885452.TI 2352.0 2459.0 # 2021-08-22 885452.TI 2329.0 2415.0 # 2021-08-01 885525.TI 7427.0 8552.0 # 2021-08-08 885525.TI 7300.0 7868.0 # 2021-08-15 885525.TI 7525.0 8236.0 # 2021-08-22 885525.TI 7400.0 8270.0 # 2021-08-22 885641.TI 691.0 720.0 I'm not sure why BENY's answer included an extra cumcount filter, but you can also pipe that if you want (however I don't think this is what your original question asks for): (df.assign(maxdate=df.groupby('ts_code')['high'].transform('idxmax')) .pipe(lambda x: x[x.index >= x.maxdate]) .pipe(lambda x: x[x.groupby('ts_code').cumcount() <= 1])) # ts_code low high maxdate # 2021-08-01 885525.TI 7427.0 8552.0 2021-08-01 # 2021-08-08 885525.TI 7300.0 7868.0 2021-08-01 # 2021-08-15 885452.TI 2352.0 2459.0 2021-08-15 # 2021-08-22 881105.TI 1656.0 1804.0 2021-08-22 # 2021-08-22 885452.TI 2329.0 2415.0 2021-08-15 # 2021-08-22 885641.TI 691.0 720.0 2021-08-22 groupby.apply alternative You can also use groupby.apply to index all events later than group['high'].idxmax(): (df.groupby('ts_code') .apply(lambda group: group[group.index >= group['high'].idxmax()]) .droplevel(0) .sort_values('ts_code')) # ts_code low high # 2021-08-22 881105.TI 1656.0 1804.0 # 2021-08-15 885452.TI 2352.0 2459.0 # 2021-08-22 885452.TI 2329.0 2415.0 # 2021-08-01 885525.TI 7427.0 8552.0 # 2021-08-08 885525.TI 7300.0 7868.0 # 2021-08-15 885525.TI 7525.0 8236.0 # 2021-08-22 885525.TI 7400.0 8270.0 # 2021-08-22 885641.TI 691.0 720.0
Multiple rows to single row multiple columns [duplicate]
This question already has answers here: SQL Server dynamic PIVOT query? (9 answers) Closed 6 years ago. This is what my data looks like: ## ID ## ## Phase ## ## Phase Datet ## ## Phase Temp ## ## TempRecorded ## 23300200 Induction 2016-10-07 30 2016-10-07 23300200 Maintenance 2016-10-07 35 2016-10-07 23300200 Rewarming 2016-10-07 35.5 2016-10-07 I want to have it look like this: ## ID ## ## Induction Phase ## ## Induction Phase Datet ## ## Induction Phase Temp ## ## Induction TempRecorded ## ## ID ## ## Maintenance Phase ## ## Maintenance Phase Datet ## ## Maintenance Phase Temp ## ## Maintenance TempRecorded ## 23300200 Induction 2016-10-07 30 2016-10-07 Maintenance 2016-10-07 35 2016-10-07
My colleague provided me with a solution SELECT I.*, M.*,R.* FROM (select * from #PhaseTemp where ValueText = 'Induction') I LEFT JOIN (select * from #PhaseTemp where ValueText = 'Maintenance') M ON M.ClientGUID = I.ClientGUID LEFT JOIN (select * from #PhaseTemp where ValueText = 'Rewarming') R ON R.CLIENTGUID = I.CLIENTGUID
Oracle SQL recursion to find first instance of non-null column value
I'll try and explain how the table is laid out so that what I need might be a bit more clear. ############################################################### # cid # iid # child cid # child iid # target cid # target iid # ############################################################### # 112 # 1 # null # null # 116 # 1 # # 112 # 2 # 112 # 1 # null # null # # 112 # 3 # 112 # 1 # 116 # 2 # # 112 # 4 # 112 # 1 # 100 # 3 # # 112 # 101 # null # null # 116 # 101 # # 112 # 102 # 112 # 101 # null # null # # 112 # 103 # 112 # 101 # 116 # 102 # # 112 # 201 # null # null # 116 # 201 # # 112 # 202 # 112 # 201 # null # null # # 112 # 203 # 112 # 201 # 116 # 202 # # 112 # 301 # null # null # 116 # 301 # # 112 # 302 # 112 # 301 # null # null # # 112 # 302 # 112 # 301 # 116 # 302 # Above there is a cut down representation of the table I'm trying to get data from. Sorry if the layout is a bit crap. Each row here is an object. Each of these objects can have child objects so for example, the first row has no child objects but is linked to the target object. Row two has a child object and isn't linked to a target object, however, it is linked back to row 1 via the child cid and iid which does have a target object. Row three is also linked to row one but it also has a target object so I don't actually want to go back to row one. Other table ######################################### # cid # iid # col1 # col2 # col3 # col4 # ######################################### # 116 # 1 # a # null # 16 # 1 # # 116 # 2 # b # 1 # 6 # null # # 116 # 3 # n # 1 # 11 # 2 # # 116 # 101 # n # 2 # 61 # 3 # # 116 # 102 # b # null # 161 # 101 # # 116 # 201 # a # 33 # 312 # 116 # # 116 # 202 # a # 33 # 312 # 116 # # 116 # 301 # s # 56 # 1321 # 33 # # 116 # 302 # r # 6 # 22 # 12 # Resulting table ########################################################################################### # cid # iid # child cid # child iid # target cid # target iid # col1 # col2 # col3 # col4 # ########################################################################################### # 112 # 1 # null # null # 116 # 1 # a # null # 16 # 1 # # 112 # 2 # 112 # 1 # null # null # a # null # 16 # 1 # # 112 # 3 # 112 # 1 # 116 # 2 # b # 1 # 6 # null # # 112 # 4 # 112 # 1 # 100 # 3 # n # 1 # 11 # 2 # # 112 # 101 # null # null # 116 # 101 # n # 2 # 61 # 3 # # 112 # 102 # 112 # 101 # null # null # n # 2 # 61 # 3 # # 112 # 103 # 112 # 101 # 116 # 102 # b # null # 161 # 101 # # 112 # 201 # null # null # 116 # 201 # a # 33 # 312 # 116 # # 112 # 202 # 112 # 201 # null # null # a # 33 # 312 # 116 # # 112 # 203 # 112 # 201 # 116 # 202 # a # 33 # 312 # 116 # # 112 # 301 # null # null # 116 # 301 # s # 56 # 1321 # 33 # # 112 # 302 # 112 # 301 # null # null # s # 56 # 1321 # 33 # # 112 # 302 # 112 # 301 # 116 # 302 # r # 6 # 22 # 12 # [Just to clarify, in the first table, target cid and iid relate to cid and iid in the other table im linking to it.] Essentially what I need is to recursively go back through the table until a row has a target object reference. If a row has both a child c/i id and a target c/i id i just want the target c/i id. Can anybody point me in the right direction? I'm slowly reading through http://docs.oracle.com/cd/B19306_01/server.102/b14200/queries003.htm but I'm finding it a bit confusing. I wouldn't exactly be an expert in the easier SQL queries so recursion is a bit over my head right now. Thanks EDIT: Added example of other table and outcome
I dont know what exactly do you need, but you could start with tihs statment select cid, iid, level, connect_by_root(target_cid), connect_by_root(target_iid) from tab connect by prior cid = child_cid AND prior iid = child_iid AND target_cid is null ; and then filtern the entries you need select * from ( select cid, iid, level, connect_by_root(target_cid) as target_cid, connect_by_root(target_iid) as target_iid from tab connect by prior cid = child_cid AND prior iid = child_iid AND target_cid is null ) where target_cid is not null ; CID IID TARGET_CID TARGET_IID ++++++++++++++++++++++++++++++ 112 1 116 1 112 2 116 1 112 3 116 2 112 4 100 3 112 101 116 101 112 102 116 101 112 103 116 102 112 201 116 201 112 202 116 201 112 203 116 202 112 301 116 301 112 302 116 301 112 302 116 302