Is there a way to find out, why no srflx addresses are offered?
Neil Young
foreverneilyoung at googlemail.com
Thu Aug 19 07:45:08 UTC 2021
I'm having a client, having a device in an unknown network. The device is offering and the GST pipeline contains a acknowledged STUN configuration.
PIPELINE_TEST_H264 = '''
webrtcbin name=webrtcbin bundle-policy=max-bundle stun-server=stun://stun.l.google.com:19302
videotestsrc is-live=true pattern=smpte ! video/x-raw,width=640,height=480 ! videoconvert ! x264enc ! rtph264pay config-interval=1 !
application/x-rtp,media=video,encoding-name=H264 ! webrtcbin.
I see that this config arrives in webrtcbin, since it is traced in the first line.
However, the sent ICE candidates from this device don't contain any srflx candidate, there is just one, and this is coming from the remote side.
GST is 18.4, all required modules are there
gst-inspect-1.0 | grep -E "nice|webrtc|dtls|rpicamsrc"
webrtc: webrtcbin: WebRTC Bin
rpicamsrc: rpicamsrc: Raspberry Pi Camera Source
rpicamsrc: rpicamsrcdeviceprovider (GstDeviceProviderFactory)
dtls: dtlsenc: DTLS Encoder
dtls: dtlsdec: DTLS Decoder
dtls: dtlssrtpdec: DTLS-SRTP Decoder
dtls: dtlssrtpenc: DTLS-SRTP Encoder
dtls: dtlssrtpdemux: DTLS SRTP Demultiplexer
nice: nicesrc: ICE source
nice: nicesink: ICE sink
I have a little node script aside, which proves, that STUN is available generally.
const stun = require('stun')
stun.request('stun.l.google.com:19302', (err, res) => {
if (err) {
console.error(err)
} else {
const { address } = res.getXorAddress()
console.log('Your IP is:', address)
}
})
That gives a proper result.
Is there any way to determine, why STUN fails? I have never appeared such a problem in conjunction with webrtcbin, but the client is in Columbia and who know, how the bits are ticking there :)
Full trace of the remote device originated connection. I'm just getting "host" candidates on my end.
0:00:05.334575091 5663 0x7280b4e0 DEBUG webrtcice gstwebrtcice.c:958:gst_webrtc_ice_set_stun_server:<webrtcbin0:ice> setting stun server, stun://stun.l.google.com:19302
0:00:05.372005323 5663 0x7280b4e0 DEBUG webrtcbin gstwebrtcbin.c:319:gst_webrtc_bin_pad_new:<'':sink_0> new visible pad with direction sink
0:00:05.372127718 5663 0x7280b4e0 TRACE webrtcbin gstwebrtcbin.c:469:_find_transceiver_for_mline:<webrtcbin> Found transceiver (NULL) for mlineindex 0
0:00:05.372611883 5663 0x7280b4e0 LOG webrtcbin gstwebrtcbin.c:5823:gst_webrtc_bin_request_new_pad:<webrtcbin> Created new transceiver <webrtctransceiver0> for mline 0
0:00:05.383187992 5663 0x7280b4e0 DEBUG webrtcbin gstwebrtcbin.c:5737:gst_webrtc_bin_change_state: changing state: NULL => READY
0:00:05.383863458 5663 0x7280b4e0 LOG webrtcbin gstwebrtcbin.c:1354:_check_if_negotiation_is_needed:<webrtcbin> checking if negotiation is needed
0:00:05.383945385 5663 0x7280b4e0 LOG webrtcbin gstwebrtcbin.c:1360:_check_if_negotiation_is_needed:<webrtcbin> no negotiation possible until caps have been received on all sink pads
0:00:05.384430331 5663 0x7280b4e0 DEBUG webrtcbin gstwebrtcbin.c:5737:gst_webrtc_bin_change_state: changing state: READY => PAUSED
0:00:05.385666733 5663 0x7284fb20 FIXME default gstutils.c:4026:gst_pad_create_stream_id_internal:<videotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:05.385811368 5663 0x7280b4e0 DEBUG webrtcbin gstwebrtcbin.c:5737:gst_webrtc_bin_change_state: changing state: PAUSED => PLAYING
0:00:12.867780258 5663 0x7284fb20 DEBUG webrtcbin gstwebrtcbin.c:279:gst_webrtcbin_sink_event:<webrtcbin> On <webrtcbin:sink_0> checking negotiation? 1, caps application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42c01f, sprop-parameter-sets=(string)"Z0LAH9kAUAW7AWoCAgKAAAADAIAAAB5HjBkk\,aMuMsg\=\=", payload=(int)96, ssrc=(uint)4147642139, timestamp-offset=(uint)1661443755, seqnum-offset=(uint)29522, a-framerate=(string)30
0:00:12.867945727 5663 0x7284fb20 LOG webrtcbin gstwebrtcbin.c:1354:_check_if_negotiation_is_needed:<webrtcbin> checking if negotiation is needed
0:00:12.868020205 5663 0x7284fb20 LOG webrtcbin gstwebrtcbin.c:1370:_check_if_negotiation_is_needed:<webrtcbin> no local description set
0:00:12.868241090 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1512:_check_need_negotiation_task:<webrtcbin> emitting on-negotiation-needed
0:00:12.869272180 5663 0x7284fb20 LOG webrtcbin gstwebrtcbin.c:5784:sink_pad_block:<webrtcbin:sink_0> blocking pad with data buffer: 0x61e53000, pts 1000:00:00.000000000, dts 1000:00:00.000000000, dur 99:99:99.999999999, size 14, offset none, offset_end none, flags 0x4040
0:00:12.870247906 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:3323:_create_sdp_task:<webrtcbin> creating offer sdp with options (NULL)
0:00:12.870487697 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:2718:_create_offer_task:<webrtcbin> adding transceiver <webrtctransceiver0> at media index 0
0:00:12.870583946 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:2320:sdp_media_from_transceiver:<webrtctransceiver0> 0 Generating new ice parameters mline 0, mid (null)
0:00:12.870698060 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:1558:_find_codec_preferences:<webrtcbin> retrieving codec preferences from <webrtctransceiver0>
0:00:12.870996497 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:2380:sdp_media_from_transceiver:<webrtcbin> Adding 0-th caps application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42c01f, sprop-parameter-sets=(string)"Z0LAH9kAUAW7AWoCAgKAAAADAIAAAB5HjBkk\,aMuMsg\=\=", payload=(int)96, ssrc=(uint)4147642139, timestamp-offset=(uint)1661443755, seqnum-offset=(uint)29522, a-framerate=(string)30, rtcp-fb-nack-pli=(boolean)true to 0-th media
0:00:12.871335246 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport (NULL) for session 0
0:00:18.296653158 5663 0x7284faf0 WARN dtlsagent gstdtlsagent.c:170:ssl_warn_cb:<GstDtlsAgent at 0x71001f38> ssl error: 1905910880:error:14187180:SSL routines:ssl_do_config:bad value:../ssl/ssl_mcnf.c:74:section=system_default, cmd=MinProtocol, arg=TLSv1.2
0:00:18.303163499 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:400:_find_ice_stream_for_session:<webrtcbin> No ice stream available for session 0
0:00:18.303362717 5663 0x7284faf0 DEBUG webrtcice gstwebrtcice.c:424:_add_stun_server:<webrtcbin0:ice> adding stun server, stun://stun.l.google.com:19302
0:00:18.303759903 5663 0x7284faf0 DEBUG webrtcice gstwebrtcice.c:313:_resolve_host:<webrtcbin0:ice> Resolving host stun.l.google.com
0:00:18.321751348 5663 0x7284faf0 DEBUG webrtcice gstwebrtcice.c:322:_resolve_host:<webrtcbin0:ice> Resolved 2 addresses for host stun.l.google.com
0:00:18.322756709 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:411:_add_ice_stream_item:<webrtcbin> adding ice stream <webrtcicestream0> for session 0
0:00:18.339263525 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1713:_create_transport_channel:<webrtcbin> Create transport <transportstream0> for session 0
0:00:18.345334180 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:5201:on_rtpbin_pad_added:<webrtcbin> new rtpbin pad recv_rtcp_sink_0
0:00:18.346101573 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:5201:on_rtpbin_pad_added:<webrtcbin> new rtpbin pad send_rtcp_src_0
0:00:18.346763654 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:195:transport_send_bin_change_state:<transportsendbin0> changing state: NULL => READY
0:00:18.347145996 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:195:transport_send_bin_change_state:<transportsendbin0> changing state: READY => PAUSED
0:00:18.347638494 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:195:transport_send_bin_change_state:<transportsendbin0> changing state: PAUSED => PLAYING
0:00:18.347957972 5663 0x7284faf0 DEBUG webrtctransportreceivebin transportreceivebin.c:236:transport_receive_bin_change_state: changing state: NULL => READY
0:00:18.348909688 5663 0x7284e060 FIXME default gstutils.c:4026:gst_pad_create_stream_id_internal:<nicesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:18.349194739 5663 0x7284e060 WARN GST_PADS gstpad.c:4303:gst_pad_peer_query:<nicesrc0:src> could not send sticky events
0:00:18.349489060 5663 0x7284fc30 FIXME default gstutils.c:4026:gst_pad_create_stream_id_internal:<nicesrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:18.349688331 5663 0x7284fc30 WARN GST_PADS gstpad.c:4303:gst_pad_peer_query:<nicesrc1:src> could not send sticky events
0:00:18.350444734 5663 0x7284faf0 DEBUG webrtctransportreceivebin transportreceivebin.c:236:transport_receive_bin_change_state: changing state: READY => PAUSED
0:00:18.352655664 5663 0x7284faf0 DEBUG webrtctransportreceivebin transportreceivebin.c:236:transport_receive_bin_change_state: changing state: PAUSED => PLAYING
0:00:18.367553370 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:4325:_set_description_task:<webrtcbin> Attempting to set local offer in the stable state
0:00:18.368168576 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4326:_set_description_task:<webrtcbin> SDP contents
v=0
o=- 1751044319098961977 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
a=group:BUNDLE video0
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:lgpMvJDWTzpL56bABmidMBO5nXDZiTvG
a=ice-pwd:dyxCTUJSxyWOVw++aYbVZ8DR6fjruACb
a=rtcp-mux
a=rtcp-rsize
a=sendonly
a=rtpmap:96 H264/90000
a=rtcp-fb:96 nack pli
a=framerate:30
a=fmtp:96 packetization-mode=1;profile-level-id=42c01f;sprop-parameter-sets=Z0LAH9kAUAW7AWoCAgKAAAADAIAAAB5HjBkk,aMuMsg==
a=ssrc:4147642139 msid:user2873340345 at host-5a03acd8 webrtctransceiver0
a=ssrc:4147642139 cname:user2873340345 at host-5a03acd8
a=mid:video0
a=fingerprint:sha-256 07:C6:2C:1B:68:BA:B9:A8:CE:7C:57:28:95:23:08:81:18:DE:7E:C3:18:CE:C4:CC:DA:E3:1E:BB:41:40:79:20
0:00:18.375844486 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:4492:_set_description_task:<webrtcbin> we are in ice controlling mode: true
0:00:18.376316255 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport <transportstream0> for session 0
0:00:18.376750785 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:195:transport_send_bin_change_state:<transportsendbin0> changing state: PLAYING => PLAYING
0:00:18.377346616 5663 0x7284faf0 DEBUG webrtctransportreceivebin transportreceivebin.c:236:transport_receive_bin_change_state: changing state: PLAYING => PLAYING
0:00:18.378242550 5663 0x7284faf0 DEBUG webrtcice gstwebrtcice.c:805:gst_webrtc_ice_set_local_credentials:<webrtcbin0:ice> Setting local ICE credentials on ICE stream 1 ufrag:lgpMvJDWTzpL56bABmidMBO5nXDZiTvG pwd:dyxCTUJSxyWOVw++aYbVZ8DR6fjruACb
0:00:18.378687236 5663 0x7284faf0 DEBUG webrtcice gstwebrtcice.c:823:gst_webrtc_ice_gather_candidates:<webrtcbin0:ice> gather candidates for stream 1
0:00:18.379089891 5663 0x7284faf0 DEBUG webrtcicestream icestream.c:177:gst_webrtc_ice_stream_gather_candidates:<webrtcicestream0> start gathering candidates
0:00:18.407668381 5663 0x7284faf0 DEBUG webrtcnicetransport nicetransport.c:186:_on_component_state_changed:<webrtcnicetransport0> 1 1 gathering
0:00:18.408450462 5663 0x7284faf0 DEBUG webrtcnicetransport nicetransport.c:186:_on_component_state_changed:<webrtcnicetransport1> 1 2 gathering
0:00:18.409005095 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4895:_on_local_ice_candidate_cb:<webrtcbin> Queueing on_ice_candidate_task
0:00:18.410731808 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4653:_set_description_task:<webrtcbin> notify signaling-state from have-local-offer to have-local-offer
0:00:18.412501228 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:972:_collate_ice_gathering_states:<webrtcbin> transceiver 0x72811158 has no mid
0:00:18.413104559 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:988:_collate_ice_gathering_states:<webrtcbin> transceiver 0x72811158 gathering state: 0x1
0:00:18.413539922 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1003:_collate_ice_gathering_states:<webrtcbin> transceiver 0x72811158 RTCP gathering state: 0x1
0:00:18.413958879 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1010:_collate_ice_gathering_states:<webrtcbin> ICE gathering state: 0x2
0:00:18.414357524 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1014:_collate_ice_gathering_states:<webrtcbin> returning gathering
0:00:18.414779814 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:1225:_update_ice_gathering_state_task:<webrtcbin> ICE gathering state change from new(0) to gathering(1)
0:00:18.416218819 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:972:_collate_ice_gathering_states:<webrtcbin> transceiver 0x72811158 has no mid
0:00:18.416750900 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:988:_collate_ice_gathering_states:<webrtcbin> transceiver 0x72811158 gathering state: 0x1
0:00:18.417187149 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1003:_collate_ice_gathering_states:<webrtcbin> transceiver 0x72811158 RTCP gathering state: 0x1
0:00:18.417600897 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1010:_collate_ice_gathering_states:<webrtcbin> ICE gathering state: 0x2
0:00:18.418002146 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1014:_collate_ice_gathering_states:<webrtcbin> returning gathering
0:00:18.418706831 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:860:_collate_ice_connection_states:<webrtcbin> transceiver 0x72811158 has no mid
0:00:18.419116621 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:901:_collate_ice_connection_states:<webrtcbin> ICE connection state: 0x0
0:00:18.419511515 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:920:_collate_ice_connection_states:<webrtcbin> returning new
0:00:18.419924795 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1063:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 has no mid
0:00:18.420342242 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1131:_collate_peer_connection_states:<webrtcbin> ICE connection state: 0x0. DTLS connection state: 0x0
0:00:18.420742448 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1160:_collate_peer_connection_states:<webrtcbin> returning new
0:00:18.421163749 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:860:_collate_ice_connection_states:<webrtcbin> transceiver 0x72811158 has no mid
0:00:18.421568643 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:901:_collate_ice_connection_states:<webrtcbin> ICE connection state: 0x0
0:00:18.421962652 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:920:_collate_ice_connection_states:<webrtcbin> returning new
0:00:18.422377338 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1063:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 has no mid
0:00:18.422789160 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1131:_collate_peer_connection_states:<webrtcbin> ICE connection state: 0x0. DTLS connection state: 0x0
0:00:18.423188846 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1160:_collate_peer_connection_states:<webrtcbin> returning new
0:00:18.423618428 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:1 1 UDP 2015363327 2800:e2:1080:2fa:ba27:ebff:fe8f:fc1a 54933 typ host
0:00:18.424960662 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:2 1 TCP 1015021823 2800:e2:1080:2fa:ba27:ebff:fe8f:fc1a 9 typ host tcptype active
0:00:18.426890187 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:3 1 TCP 1010827519 2800:e2:1080:2fa:ba27:ebff:fe8f:fc1a 34241 typ host tcptype passive
0:00:18.429996425 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:4 1 UDP 2015363583 ::ba27:ebff:fe8f:fc1a 60965 typ host
0:00:18.433049956 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:5 1 TCP 1015022079 ::ba27:ebff:fe8f:fc1a 9 typ host tcptype active
0:00:18.435892810 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:6 1 TCP 1010827775 ::ba27:ebff:fe8f:fc1a 41263 typ host tcptype passive
0:00:18.438857539 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:7 1 UDP 2015363839 2800:e2:1080:a2c:ba27:ebff:fe8f:fc1a 33005 typ host
0:00:18.441822060 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:8 1 TCP 1015022335 2800:e2:1080:a2c:ba27:ebff:fe8f:fc1a 9 typ host tcptype active
0:00:18.442967524 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:9 1 TCP 1010828031 2800:e2:1080:a2c:ba27:ebff:fe8f:fc1a 60533 typ host tcptype passive
0:00:18.447046937 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:10 1 UDP 2015364095 192.168.1.14 46788 typ host
0:00:18.448241307 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:11 1 TCP 1015022591 192.168.1.14 9 typ host tcptype active
0:00:18.451048068 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:12 1 TCP 1010828287 192.168.1.14 40773 typ host tcptype passive
0:00:18.452713270 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:13 1 UDP 2015364351 fe80::ba27:ebff:fe8f:fc1a 43834 typ host
0:00:18.454581961 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:14 1 TCP 1015022847 fe80::ba27:ebff:fe8f:fc1a 9 typ host tcptype active
0:00:18.456299716 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:15 1 TCP 1010828543 fe80::ba27:ebff:fe8f:fc1a 57723 typ host tcptype passive
0:00:18.458156844 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:1 2 UDP 2015363326 2800:e2:1080:2fa:ba27:ebff:fe8f:fc1a 50462 typ host
0:00:18.459926421 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:2 2 TCP 1015021822 2800:e2:1080:2fa:ba27:ebff:fe8f:fc1a 9 typ host tcptype active
0:00:18.461819591 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:3 2 TCP 1010827518 2800:e2:1080:2fa:ba27:ebff:fe8f:fc1a 50983 typ host tcptype passive
0:00:18.463508179 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:4 2 UDP 2015363582 ::ba27:ebff:fe8f:fc1a 32906 typ host
0:00:18.465431870 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:5 2 TCP 1015022078 ::ba27:ebff:fe8f:fc1a 9 typ host tcptype active
0:00:18.467175718 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:6 2 TCP 1010827774 ::ba27:ebff:fe8f:fc1a 38057 typ host tcptype passive
0:00:18.470886434 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:7 2 UDP 2015363838 2800:e2:1080:a2c:ba27:ebff:fe8f:fc1a 59392 typ host
0:00:18.472802833 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:8 2 TCP 1015022334 2800:e2:1080:a2c:ba27:ebff:fe8f:fc1a 9 typ host tcptype active
0:00:18.474614910 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:9 2 TCP 1010828030 2800:e2:1080:a2c:ba27:ebff:fe8f:fc1a 37865 typ host tcptype passive
0:00:18.476429955 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:10 2 UDP 2015364094 192.168.1.14 40542 typ host
0:00:18.478287396 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:11 2 TCP 1015022590 192.168.1.14 9 typ host tcptype active
0:00:18.479969526 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:12 2 TCP 1010828286 192.168.1.14 53999 typ host tcptype passive
0:00:18.481717280 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:13 2 UDP 2015364350 fe80::ba27:ebff:fe8f:fc1a 56524 typ host
0:00:18.483469565 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:14 2 TCP 1015022846 fe80::ba27:ebff:fe8f:fc1a 9 typ host tcptype active
0:00:18.485211434 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4850:_on_local_ice_candidate_task:<webrtcbin> produced ICE candidate for mline:0 and candidate:15 2 TCP 1010828542 fe80::ba27:ebff:fe8f:fc1a 34145 typ host tcptype passive
0:00:18.637225467 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:4325:_set_description_task:<webrtcbin> Attempting to set remote answer in the have-local-offer state
0:00:18.637355883 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4326:_set_description_task:<webrtcbin> SDP contents
v=0
o=- 6289662042184971750 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE video0
a=msid-semantic: WMS
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:LfLa
a=ice-pwd:zOblXJQQhPGK/gtRzOUgL/K4
a=ice-options:trickle
a=fingerprint:sha-256 2B:CF:9E:92:0F:88:22:15:6F:0B:7B:95:AC:FD:DA:2F:AF:73:B7:B8:3D:06:ED:35:CF:58:C8:4B:F2:8C:E5:FB
a=setup:active
a=mid:video0
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 H264/90000
a=rtcp-fb:96 nack pli
a=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
0:00:18.637778538 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:4492:_set_description_task:<webrtcbin> we are in ice controlling mode: true
0:00:18.637917704 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport <transportstream0> for session 0
0:00:18.638018902 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:195:transport_send_bin_change_state:<transportsendbin0> changing state: PLAYING => PLAYING
0:00:18.638422546 5663 0x7284faf0 DEBUG webrtctransportreceivebin transportreceivebin.c:236:transport_receive_bin_change_state: changing state: PLAYING => PLAYING
0:00:18.638985461 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:3731:_update_transport_ptmap_from_media:<webrtcbin> mapping sdp session level attributes to caps
0:00:18.639106085 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:3733:_update_transport_ptmap_from_media:<webrtcbin> mapping sdp media level attributes to caps
0:00:18.639305147 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:3746:_update_transport_ptmap_from_media:<webrtcbin> looking at 0 pt: 96
0:00:18.639666708 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport <transportstream0> for session 0
0:00:18.641569358 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport <transportstream0> for session 0
0:00:18.641740399 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport <transportstream0> for session 0
0:00:18.641847273 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:5312:on_rtpbin_request_aux_sender:<webrtcbin> requesting aux sender for stream <transportstream0> with transport <webrtctransceiver0> and pt map (NULL)
0:00:18.642579354 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:5201:on_rtpbin_pad_added:<webrtcbin> new rtpbin pad send_rtp_src_0
0:00:18.642862009 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:5201:on_rtpbin_pad_added:<webrtcbin> new rtpbin pad send_rtp_sink_0
0:00:18.643702735 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:3451:_find_transceiver_for_sdp_media:<webrtcbin> Found transceiver <webrtctransceiver0>
0:00:18.643833412 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport <transportstream0> for session 0
0:00:18.643933464 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:195:transport_send_bin_change_state:<transportsendbin0> changing state: PLAYING => PLAYING
0:00:18.644180442 5663 0x7284faf0 DEBUG webrtctransportreceivebin transportreceivebin.c:236:transport_receive_bin_change_state: changing state: PLAYING => PLAYING
0:00:18.644978772 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:3876:_update_transceiver_from_sdp_media:<webrtcbin> marking stream 0x71007048 as active
0:00:18.645114241 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:3892:_update_transceiver_from_sdp_media:<webrtcbin> transceiver <webrtctransceiver0> direction change from none to sendonly
0:00:18.645218199 5663 0x7284faf0 DEBUG webrtcbin gstwebrtcbin.c:3925:_update_transceiver_from_sdp_media:<webrtcbin> found existing send pad <webrtcbin:sink_0> for transceiver <webrtctransceiver0>
0:00:18.645409031 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:329:_on_notify_dtls_client_status:<transportsendbin0> DTLS-SRTP encoder configured. Unlocking it and changing state <dtlssrtpenc0>
0:00:18.647540117 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:329:_on_notify_dtls_client_status:<transportsendbin0> DTLS-SRTP encoder configured. Unlocking it and changing state <dtlssrtpenc1>
0:00:18.649367454 5663 0x7284faf0 DEBUG webrtctransportreceivebin transportreceivebin.c:126:transport_receive_bin_set_receive_state:<transportreceivebin0> changing receive state to pass
0:00:18.649735578 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:4547:_set_description_task:<webrtcbin:sink_0> Connecting input stream to rtpbin with transceiver <webrtctransceiver0> and caps application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42c01f, sprop-parameter-sets=(string)"Z0LAH9kAUAW7AWoCAgKAAAADAIAAAB5HjBkk\,aMuMsg\=\=", payload=(int)96, ssrc=(uint)4147642139, timestamp-offset=(uint)1661443755, seqnum-offset=(uint)29522, a-framerate=(string)30
0:00:18.649845161 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:3495:_connect_input_stream:<webrtcbin:sink_0> linking input stream 0
0:00:18.650311357 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:195:transport_send_bin_change_state:<transportsendbin0> changing state: PLAYING => PLAYING
0:00:18.650819428 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport <transportstream0> for session 0
0:00:18.650918074 5663 0x7284faf0 DEBUG webrtctransportsendbin transportsendbin.c:195:transport_send_bin_change_state:<transportsendbin0> changing state: PLAYING => PLAYING
0:00:18.651333229 5663 0x7284faf0 DEBUG webrtctransportreceivebin transportreceivebin.c:236:transport_receive_bin_change_state: changing state: PLAYING => PLAYING
0:00:18.651890674 5663 0x7284faf0 DEBUG webrtcice gstwebrtcice.c:746:gst_webrtc_ice_set_remote_credentials:<webrtcbin0:ice> Setting remote ICE credentials on ICE stream 1 ufrag:LfLa pwd:zOblXJQQhPGK/gtRzOUgL/K4
0:00:18.652096455 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:4653:_set_description_task:<webrtcbin> notify signaling-state from stable to stable
0:00:18.654179937 5663 0x7108e400 INFO webrtcbin gstwebrtcbin.c:5632:on_rtpbin_new_sender_ssrc:<webrtcbin> session 0 ssrc 4147642139 new sender ssrc
0:00:18.655031028 5663 0x7108e400 LOG webrtctransportsendbin transportsendbin.c:160:pad_block:<rtp_sink:proxypad11> blocking pad with data buffer: 0x61e53000, pts 1000:00:00.000000000, dts 1000:00:00.000000000, dur 99:99:99.999999999, size 14, offset none, offset_end none, flags 0x4040
0:00:18.655258423 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:1354:_check_if_negotiation_is_needed:<webrtcbin> checking if negotiation is needed
0:00:18.655720452 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:1504:_check_if_negotiation_is_needed:<webrtcbin> no negotiation needed
0:00:18.655943993 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1073:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 DTLS state: 0x0
0:00:18.656039878 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1086:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 ICE state: 0x0
0:00:18.656122638 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1131:_collate_peer_connection_states:<webrtcbin> ICE connection state: 0x1. DTLS connection state: 0x1
0:00:18.656185867 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1160:_collate_peer_connection_states:<webrtcbin> returning new
0:00:18.656284356 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1073:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 DTLS state: 0x0
0:00:18.656363887 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1086:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 ICE state: 0x0
0:00:18.656443158 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1131:_collate_peer_connection_states:<webrtcbin> ICE connection state: 0x1. DTLS connection state: 0x1
0:00:18.656504824 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1160:_collate_peer_connection_states:<webrtcbin> returning new
0:00:18.656933365 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:394:_find_ice_stream_for_session:<webrtcbin> Found ice stream id <webrtcicestream0> for session 0
0:00:18.657023104 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:3614:_add_ice_candidate:<webrtcbin> adding ICE candidate with mline:0, a=candidate:2612432513 1 udp 2122260223 192.168.188.24 62293 typ host generation 0 ufrag LfLa network-id 1 network-cost 10
0:00:18.658096746 5663 0x7284faf0 DEBUG webrtcnicetransport nicetransport.c:186:_on_component_state_changed:<webrtcnicetransport0> 1 1 connecting
0:00:18.658436640 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:871:_collate_ice_connection_states:<webrtcbin> transceiver 0x72811158 state 0x1
0:00:18.658521640 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:901:_collate_ice_connection_states:<webrtcbin> ICE connection state: 0x2
0:00:18.658587577 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:925:_collate_ice_connection_states:<webrtcbin> returning checking
0:00:18.658675494 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:1260:_update_ice_connection_state_task:<webrtcbin> ICE connection state change from new(0) to checking(1)
0:00:18.661991627 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1073:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 DTLS state: 0x0
0:00:18.662147669 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1086:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 ICE state: 0x1
0:00:18.662233814 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1131:_collate_peer_connection_states:<webrtcbin> ICE connection state: 0x2. DTLS connection state: 0x1
0:00:18.662296991 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1167:_collate_peer_connection_states:<webrtcbin> returning connecting
0:00:18.662385897 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:1295:_update_peer_connection_state_task:<webrtcbin> Peer connection state change from new(0) to connecting(1)
0:00:18.766348854 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:394:_find_ice_stream_for_session:<webrtcbin> Found ice stream id <webrtcicestream0> for session 0
0:00:18.766496353 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:3614:_add_ice_candidate:<webrtcbin> adding ICE candidate with mline:0, a=candidate:3577049713 1 tcp 1518280447 192.168.188.24 9 typ host tcptype active generation 0 ufrag LfLa network-id 1 network-cost 10
0:00:18.776977097 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:394:_find_ice_stream_for_session:<webrtcbin> Found ice stream id <webrtcicestream0> for session 0
0:00:18.777114596 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:3614:_add_ice_candidate:<webrtcbin> adding ICE candidate with mline:0, a=candidate:1463529746 1 udp 1686052607 80.133.188.133 62293 typ srflx raddr 192.168.188.24 rport 62293 generation 0 ufrag LfLa network-id 1 network-cost 10
0:00:18.832137626 5663 0x7284e580 DEBUG webrtcbin gstwebrtcbin.c:5272:on_rtpbin_request_pt_map:<webrtcbin> getting pt map for pt 96 in session 0
0:00:18.832302053 5663 0x7284e580 TRACE webrtcbin gstwebrtcbin.c:508:_find_transport_for_session:<webrtcbin> Found transport <transportstream0> for session 0
0:00:18.832466271 5663 0x7284e580 TRACE webrtcbin gstwebrtcbin.c:5282:on_rtpbin_request_pt_map:<webrtcbin> Found caps application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, level-asymmetry-allowed=(string)1, packetization-mode=(string)1, profile-level-id=(string)42e01f, rtcp-fb-nack-pli=(boolean)true for pt 96 in session 0
0:00:18.834829544 5663 0x7284e580 LOG webrtctransportsendbin transportsendbin.c:160:pad_block:<outputselector0:src_0> blocking pad with data buffer: 0x61e5e0a8, pts 99:99:99.999999999, dts 99:99:99.999999999, dur 99:99:99.999999999, size 80, offset none, offset_end none, flags 0x0
0:00:18.930513624 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:394:_find_ice_stream_for_session:<webrtcbin> Found ice stream id <webrtcicestream0> for session 0
0:00:18.930661853 5663 0x7284faf0 LOG webrtcbin gstwebrtcbin.c:3614:_add_ice_candidate:<webrtcbin> adding ICE candidate with mline:0, a=candidate:1256709970 1 udp 41885439 3.82.129.190 52353 typ relay raddr 80.133.188.133 rport 62293 generation 0 ufrag LfLa network-id 1 network-cost 10
0:00:20.582659975 5663 0x72806490 DEBUG webrtcicestream icestream.c:116:_on_candidate_gathering_done:<webrtcicestream0> 1 gathering done
0:00:20.583036640 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:988:_collate_ice_gathering_states:<webrtcbin> transceiver 0x72811158 gathering state: 0x2
0:00:20.583141483 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1010:_collate_ice_gathering_states:<webrtcbin> ICE gathering state: 0x4
0:00:20.583209192 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1020:_collate_ice_gathering_states:<webrtcbin> returning complete
0:00:20.583301170 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:1225:_update_ice_gathering_state_task:<webrtcbin> ICE gathering state change from gathering(1) to complete(2)
0:00:20.583776950 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:988:_collate_ice_gathering_states:<webrtcbin> transceiver 0x72811158 gathering state: 0x2
0:00:20.583873148 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1010:_collate_ice_gathering_states:<webrtcbin> ICE gathering state: 0x4
0:00:20.583943095 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1020:_collate_ice_gathering_states:<webrtcbin> returning complete
0:00:25.988388894 5663 0x72806490 DEBUG webrtcnicetransport nicetransport.c:186:_on_component_state_changed:<webrtcnicetransport0> 1 1 failed
0:00:25.988710247 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:871:_collate_ice_connection_states:<webrtcbin> transceiver 0x72811158 state 0x4
0:00:25.988806236 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:901:_collate_ice_connection_states:<webrtcbin> ICE connection state: 0x10
0:00:25.988869777 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:909:_collate_ice_connection_states:<webrtcbin> returning failed
0:00:25.988970871 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:1260:_update_ice_connection_state_task:<webrtcbin> ICE connection state change from checking(1) to failed(4)
0:00:25.989440504 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1073:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 DTLS state: 0x0
0:00:25.990078002 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1086:_collate_peer_connection_states:<webrtcbin> transceiver 0x72811158 ICE state: 0x4
0:00:25.990643260 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1131:_collate_peer_connection_states:<webrtcbin> ICE connection state: 0x10. DTLS connection state: 0x1
0:00:25.991181383 5663 0x7284faf0 TRACE webrtcbin gstwebrtcbin.c:1141:_collate_peer_connection_states:<webrtcbin> returning failed
0:00:25.991747840 5663 0x7284faf0 INFO webrtcbin gstwebrtcbin.c:1295:_update_peer_connection_state_task:<webrtcbin> Peer connection state change from connecting(1) to failed(4)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210819/d7b0771e/attachment-0001.htm>
More information about the gstreamer-devel
mailing list