No audio when webrtc mobile clients connected in different network - webrtc
In my current project ,we are using webrtc to connect two mobile clients in android.
We are using socket signaling to exchange data between two mobile clients.
We were able to connect peer to peer audio and video call in android mobile clients in same and different network.
Now we changed socket signaling to verto module signalling of freeswitch so that we can make pstn call using webrtc.
After using verto module of freeswitch as signaling,we are able to make pstn call successfully.
Now when trying for peer to peer call using verto module,we are able to successfully exchange media between two verto android mobile clients.
We are able to hear audio flow between two android mobile clients when they are present in same network.
But we are not able to hear audio when two android mobile clients are in different network.
Only observation from logs is ice candidate failed in negative case scenario.
We are using same stun and turn server for app to app call in same network too.
Log for non working flow
2020-10-31 17:23:01.390 27928-27928/com.mirrorfly.dev V/WebRtcCallService: registerTelephonyCallListener()
2020-10-31 17:23:01.393 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: create#[name=main, id=2]
2020-10-31 17:23:01.393 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: constructor
2020-10-31 17:23:01.394 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: start
2020-10-31 17:23:01.406 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: HEADSET profile state: DISCONNECTED
2020-10-31 17:23:01.406 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: Bluetooth proxy for headset profile has started
2020-10-31 17:23:01.406 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: start done: BT state=2
2020-10-31 17:23:01.413 27928-27928/com.mirrorfly.dev I/WebRtcCallService: Service started#onStartCommand :MAKE_CALL_PSTN
2020-10-31 17:23:01.414 27928-28653/com.mirrorfly.dev I/WebRtcCallService: call type assigned: audio
2020-10-31 17:23:01.434 27928-28653/com.mirrorfly.dev I/org.webrtc.Logging: EglBase14: SDK version: 28. isEGL14Supported: true
2020-10-31 17:23:01.437 27928-28653/com.mirrorfly.dev D/WebRtcCallService: init() -- initializing the web rtc instance
2020-10-31 17:23:01.439 27928-28653/com.mirrorfly.dev D/WebRtcUtils: [stun:stun.contus.us]
2020-10-31 17:23:01.444 27928-28653/com.mirrorfly.dev D/WebRtcUtils: turn:stun.contus.us:3478
2020-10-31 17:23:01.449 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: MessagingClient: created!!
2020-10-31 17:23:01.449 27928-28081/com.mirrorfly.dev I/org.webrtc.Logging: NativeLibrary: Native library has already been loaded.
2020-10-31 17:23:01.459 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: ctor#[name=Thread-12, id=3914]
2020-10-31 17:23:01.460 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: Sample rate is set to 48000 Hz
2020-10-31 17:23:01.460 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioEffects: canUseAcousticEchoCanceler: true
2020-10-31 17:23:01.461 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioEffects: canUseNoiseSuppressor: true
2020-10-31 17:23:01.462 27928-28663/com.mirrorfly.dev W/org.webrtc.Logging: WebRtcAudioManager: AAudio support is currently disabled on all devices!
2020-10-31 17:23:01.463 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: Android SDK: 28, Release: 9, Brand: xiaomi, Device: sakura_india, Id: PKQ1.180917.001, Hardware: qcom, Manufacturer: Xiaomi, Model: Redmi 6 Pro, Product: sakura_india
2020-10-31 17:23:01.466 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: Audio State: audio mode: MODE_NORMAL, has mic: true, mic muted: false, music active: false, speakerphone: false, BT SCO: false
2020-10-31 17:23:01.466 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: Audio State:
2020-10-31 17:23:01.466 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: fixed volume=false
2020-10-31 17:23:01.468 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: STREAM_VOICE_CALL: volume=5, max=5, muted=false
2020-10-31 17:23:01.476 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: STREAM_MUSIC: volume=15, max=15, muted=false
2020-10-31 17:23:01.481 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: STREAM_RING: volume=4, max=15, muted=false
2020-10-31 17:23:01.483 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: STREAM_ALARM: volume=15, max=15, muted=false
2020-10-31 17:23:01.489 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: STREAM_NOTIFICATION: volume=4, max=15, muted=false
2020-10-31 17:23:01.494 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: STREAM_SYSTEM: volume=4, max=15, muted=false
2020-10-31 17:23:01.499 27928-27928/com.mirrorfly.dev D/WebRTCProximitySensor: AppRTCProximitySensor#[name=main, id=2]
2020-10-31 17:23:01.499 27928-27928/com.mirrorfly.dev D/WebRTCProximitySensor: start#[name=main, id=2]
2020-10-31 17:23:01.500 27928-27928/com.mirrorfly.dev D/WebRTCProximitySensor: Proximity sensor: name=LTR579 ALSPS, vendor: LiteOn, power: 0.095, resolution: 0.0, max range: 5.000305, min delay: 0, type: android.sensor.proximity, max delay: 65535000, reporting mode: 1, isWakeUpSensor: true
2020-10-31 17:23:01.500 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: Audio Devices:
2020-10-31 17:23:01.501 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: TYPE_BUILTIN_EARPIECE(out): channels=[1], encodings=[2], sample rates=[48000], id=2
2020-10-31 17:23:01.501 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: TYPE_BUILTIN_SPEAKER(out): channels=[2], encodings=[2], sample rates=[48000], id=3
2020-10-31 17:23:01.502 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: TYPE_TELEPHONY(out): channels=[1, 2], encodings=[2], sample rates=[8000, 16000], id=10
2020-10-31 17:23:01.503 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: TYPE_BUILTIN_MIC(in): channels=[1, 2, 3, 4, 6], encodings=[2], sample rates=[8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000], id=16
2020-10-31 17:23:01.504 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: TYPE_BUILTIN_MIC(in): channels=[1, 2, 3, 4, 6], encodings=[2], sample rates=[8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000], id=17
2020-10-31 17:23:01.504 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: TYPE_FM_TUNER(in): channels=[1, 2], encodings=[2], sample rates=[8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000], id=13
2020-10-31 17:23:01.505 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: TYPE_TELEPHONY(in): channels=[1, 2], encodings=[2], sample rates=[8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000], id=14
2020-10-31 17:23:01.505 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: ctor#[name=Thread-12, id=3914]
2020-10-31 17:23:01.506 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioRecord: ctor#[name=Thread-12, id=3914]
2020-10-31 17:23:01.506 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioEffects: ctor#[name=Thread-12, id=3914]
2020-10-31 17:23:01.507 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: init#[name=Thread-12, id=3914]
2020-10-31 17:23:01.507 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: audio mode is: MODE_NORMAL
2020-10-31 17:23:01.510 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioRecord: enableBuiltInAEC(true)
2020-10-31 17:23:01.511 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioEffects: setAEC(true)
2020-10-31 17:23:01.511 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioEffects: canUseAcousticEchoCanceler: true
2020-10-31 17:23:01.511 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioRecord: enableBuiltInNS(true)
2020-10-31 17:23:01.511 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioEffects: setNS(true)
2020-10-31 17:23:01.511 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioEffects: canUseNoiseSuppressor: true
2020-10-31 17:23:01.513 27928-28662/com.mirrorfly.dev I/org.webrtc.Logging: PeerConnectionFactory: onNetworkThreadReady
2020-10-31 17:23:01.513 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: PeerConnectionFactory: onWorkerThreadReady
2020-10-31 17:23:01.514 27928-28664/com.mirrorfly.dev I/org.webrtc.Logging: PeerConnectionFactory: onSignalingThreadReady
2020-10-31 17:23:01.515 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: sendLoginMessageToFreeSwitch:
2020-10-31 17:23:01.630 27928-27928/com.mirrorfly.dev D/WebRTCProximitySensor: Proximity sensor => FAR state
2020-10-31 17:23:01.630 27928-27928/com.mirrorfly.dev D/WebRTCProximitySensor: onSensorChanged#[name=main, id=2]: accuracy=3, timestamp=156229400004732, distance=5.000305
2020-10-31 17:23:01.665 27928-27995/com.mirrorfly.dev V/WebRtcCallService callApi: sendCallApi
2020-10-31 17:23:01.687 27928-27928/com.mirrorfly.dev I/WebRtcCallService: in onBind()
2020-10-31 17:23:01.746 27928-27928/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_localInitializing EglRenderer
2020-10-31 17:23:01.748 27928-28688/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_localEglBase.create shared context
2020-10-31 17:23:01.748 27928-28688/com.mirrorfly.dev I/org.webrtc.Logging: EglBase14: SDK version: 28. isEGL14Supported: true
2020-10-31 17:23:01.751 27928-27928/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_remoteInitializing EglRenderer
2020-10-31 17:23:01.753 27928-28689/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_remoteEglBase.create shared context
2020-10-31 17:23:01.753 27928-28689/com.mirrorfly.dev I/org.webrtc.Logging: EglBase14: SDK version: 28. isEGL14Supported: true
2020-10-31 17:23:01.757 27928-27928/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_localsetMirror: true
2020-10-31 17:23:01.757 27928-27928/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_remotesetMirror: false
2020-10-31 17:23:01.948 27928-28106/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_localDuration: 4005 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:01.948 27928-28108/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_remoteDuration: 4006 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:02.770 27928-27995/com.mirrorfly.dev V/WebRtcCallService callApi try: 200
2020-10-31 17:23:03.454 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handleMessage: {"type":"switch_event","from":"freeswitch","payload":{"jsonrpc":"2.0","id":1,"result":{"message":"logged in","sessid":"7e16bf86-1926-4437-8345-9e9a232aae9d"}}}
2020-10-31 17:23:03.455 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handlePayloadEventFromFreeswitch: payload: {"jsonrpc":"2.0","id":1,"result":{"message":"logged in","sessid":"7e16bf86-1926-4437-8345-9e9a232aae9d"}}
2020-10-31 17:23:03.456 27928-28081/com.mirrorfly.dev D/WebRtcCallService: broadcastFreeSwitchCallEventMessage: {"jsonrpc":"2.0","id":1,"result":{"message":"logged in","sessid":"7e16bf86-1926-4437-8345-9e9a232aae9d"}}
2020-10-31 17:23:03.458 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handleMessage: {"from":"freeswitch_remote","type":"init"}
2020-10-31 17:23:03.476 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handleMessage: {"type":"switch_event","from":"freeswitch","payload":{"jsonrpc":"2.0","id":21,"method":"verto.clientReady","params":{"reattached_sessions":[]}}}
2020-10-31 17:23:03.477 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handlePayloadEventFromFreeswitch: payload: {"jsonrpc":"2.0","id":21,"method":"verto.clientReady","params":{"reattached_sessions":[]}}
2020-10-31 17:23:03.478 27928-28081/com.mirrorfly.dev D/WebRtcCallService: broadcastFreeSwitchCallEventMessage: {"jsonrpc":"2.0","id":21,"method":"verto.clientReady","params":{"reattached_sessions":[]}}
2020-10-31 17:23:03.491 27928-28662/com.mirrorfly.dev I/org.webrtc.Logging: NetworkMonitor: Start monitoring with native observer 532555232320
2020-10-31 17:23:03.498 27928-28662/com.mirrorfly.dev W/org.webrtc.Logging: NetworkMonitorAutoDetect: Unable to obtain permission to request a cellular network.
2020-10-31 17:23:03.507 27928-28119/com.mirrorfly.dev I/org.webrtc.Logging: NetworkMonitorAutoDetect: Network becomes available: 110
2020-10-31 17:23:03.518 27928-28119/com.mirrorfly.dev I/org.webrtc.Logging: NetworkMonitorAutoDetect: capabilities changed: [ Transports: WIFI Capabilities: NOT_METERED&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&VALIDATED&NOT_ROAMING&FOREGROUND&NOT_CONGESTED&NOT_SUSPENDED Unwanted: LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps SignalStrength: -54 SSID: "JB"]
2020-10-31 17:23:03.530 27928-28119/com.mirrorfly.dev I/org.webrtc.Logging: NetworkMonitorAutoDetect: link properties changed: {InterfaceName: wlan0 LinkAddresses: [****] Routes: [fe80::/64 -> :: wlan0,192.168.0.0/24 -> 0.0.0.0 wlan0,0.0.0.0/0 -> 192.168.0.1 wlan0,] DnsAddresses: [192.168.0.1,] UsePrivateDns: false PrivateDnsServerName: null Domains: null MTU: 0 TcpBufferSizes: 524288,1048576,5505024,262144,524288,4194304}
2020-10-31 17:23:03.533 27928-28664/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: onIceCandidate: getLocalDescriptionv=0
o=- 2369454492937584492 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS
m=audio 39302 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
c=IN IP4 192.168.0.147
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:391698111 1 udp 2122260223 192.168.0.147 39302 typ host generation 0 network-id 3 network-cost 10
a=ice-ufrag:c1je
a=ice-pwd:hmYZJI6KiwAabJz9qCH8Fl/T
a=ice-options:trickle renomination
a=fingerprint:sha-256 97:56:F9:94:58:19:F3:D8:63:DB:C5:63:C3:72:64:65:B6:1F:24:47:3D:F3:36:52:8F:28:67:F1:BE:70:7D:E3
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=sendrecv
a=msid:- ARDAMSa0
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/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=ssrc:436866160 cname:TTaXNRQq+i+TH2GF
a=ssrc:436866160 msid: ARDAMSa0
a=ssrc:436866160 mslabel:
a=ssrc:436866160 label:ARDAMSa0
2020-10-31 17:23:03.909 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handleMessage: {"type":"switch_event","from":"freeswitch","payload":{"jsonrpc":"2.0","id":4,"result":{"message":"CALL CREATED","callID":"5551006-1604145183524-5551006","sessid":"7e16bf86-1926-4437-8345-9e9a232aae9d"}}}
2020-10-31 17:23:03.910 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handlePayloadEventFromFreeswitch: payload: {"jsonrpc":"2.0","id":4,"result":{"message":"CALL CREATED","callID":"5551006-1604145183524-5551006","sessid":"7e16bf86-1926-4437-8345-9e9a232aae9d"}}
2020-10-31 17:23:03.911 27928-28081/com.mirrorfly.dev D/WebRtcCallService: broadcastFreeSwitchCallEventMessage: {"jsonrpc":"2.0","id":4,"result":{"message":"CALL CREATED","callID":"5551006-1604145183524-5551006","sessid":"7e16bf86-1926-4437-8345-9e9a232aae9d"}}
2020-10-31 17:23:05.756 27928-28688/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_localDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:05.761 27928-28689/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_remoteDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:05.952 27928-28108/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_remoteDuration: 4003 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:05.952 27928-28106/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_localDuration: 4003 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:09.761 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handleMessage: {"type":"switch_event","from":"freeswitch","payload":{"jsonrpc":"2.0","id":23,"method":"verto.answer","params":{"callID":"5551006-1604145183524-5551006","sdp":"v=0\r\no=FreeSWITCH 1604125657 1604125658 IN IP4 52.53.75.119\r\ns=FreeSWITCH\r\nc=IN IP4 52.53.75.119\r\nt=0 0\r\na=msid-semantic: WMS Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo\r\nm=audio 19532 UDP\/TLS\/RTP\/SAVPF 111 110\r\na=rtpmap:111 opus\/48000\/2\r\na=fmtp:111 useinbandfec=1; minptime=10\r\na=rtpmap:110 telephone-event\/48000\r\na=silenceSupp:off - - - -\r\na=ptime:20\r\na=sendrecv\r\na=fingerprint:sha-256 E5:8A:6F:B2:1B:B2:B9:FC:C7:11:3A:61:42:DC:9D:37:E9:07:47:DE:D8:2E:98:36:D8:DE:A9:31:6D:38:FA:86\r\na=setup:active\r\na=rtcp-mux\r\na=rtcp:19532 IN IP4 52.53.75.119\r\na=ice-ufrag:a7pxEmornVU1fmfK\r\na=ice-pwd:UEiqteweDVhVRN3RLiffutxH\r\na=candidate:3297344421 1 udp 659136 52.53.75.119 19532 typ host generation 0\r\na=end-of-candidates\r\na=ssrc:933318791 cname:FIzIFY6gUyydr6Gi\r\na=ssrc:933318791 msid:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo a0\r\na=ssrc:933318791 mslabel:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo\r\na=ssrc:933318791 label:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCoa0\r\n"}}}
2020-10-31 17:23:09.762 27928-28688/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_localDuration: 4006 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:09.763 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handlePayloadEventFromFreeswitch: payload: {"jsonrpc":"2.0","id":23,"method":"verto.answer","params":{"callID":"5551006-1604145183524-5551006","sdp":"v=0\r\no=FreeSWITCH 1604125657 1604125658 IN IP4 52.53.75.119\r\ns=FreeSWITCH\r\nc=IN IP4 52.53.75.119\r\nt=0 0\r\na=msid-semantic: WMS Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo\r\nm=audio 19532 UDP\/TLS\/RTP\/SAVPF 111 110\r\na=rtpmap:111 opus\/48000\/2\r\na=fmtp:111 useinbandfec=1; minptime=10\r\na=rtpmap:110 telephone-event\/48000\r\na=silenceSupp:off - - - -\r\na=ptime:20\r\na=sendrecv\r\na=fingerprint:sha-256 E5:8A:6F:B2:1B:B2:B9:FC:C7:11:3A:61:42:DC:9D:37:E9:07:47:DE:D8:2E:98:36:D8:DE:A9:31:6D:38:FA:86\r\na=setup:active\r\na=rtcp-mux\r\na=rtcp:19532 IN IP4 52.53.75.119\r\na=ice-ufrag:a7pxEmornVU1fmfK\r\na=ice-pwd:UEiqteweDVhVRN3RLiffutxH\r\na=candidate:3297344421 1 udp 659136 52.53.75.119 19532 typ host generation 0\r\na=end-of-candidates\r\na=ssrc:933318791 cname:FIzIFY6gUyydr6Gi\r\na=ssrc:933318791 msid:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo a0\r\na=ssrc:933318791 mslabel:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo\r\na=ssrc:933318791 label:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCoa0\r\n"}}
2020-10-31 17:23:09.764 27928-28081/com.mirrorfly.dev D/WebRtcCallService: broadcastFreeSwitchCallEventMessage: {"jsonrpc":"2.0","id":23,"method":"verto.answer","params":{"callID":"5551006-1604145183524-5551006","sdp":"v=0\r\no=FreeSWITCH 1604125657 1604125658 IN IP4 52.53.75.119\r\ns=FreeSWITCH\r\nc=IN IP4 52.53.75.119\r\nt=0 0\r\na=msid-semantic: WMS Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo\r\nm=audio 19532 UDP\/TLS\/RTP\/SAVPF 111 110\r\na=rtpmap:111 opus\/48000\/2\r\na=fmtp:111 useinbandfec=1; minptime=10\r\na=rtpmap:110 telephone-event\/48000\r\na=silenceSupp:off - - - -\r\na=ptime:20\r\na=sendrecv\r\na=fingerprint:sha-256 E5:8A:6F:B2:1B:B2:B9:FC:C7:11:3A:61:42:DC:9D:37:E9:07:47:DE:D8:2E:98:36:D8:DE:A9:31:6D:38:FA:86\r\na=setup:active\r\na=rtcp-mux\r\na=rtcp:19532 IN IP4 52.53.75.119\r\na=ice-ufrag:a7pxEmornVU1fmfK\r\na=ice-pwd:UEiqteweDVhVRN3RLiffutxH\r\na=candidate:3297344421 1 udp 659136 52.53.75.119 19532 typ host generation 0\r\na=end-of-candidates\r\na=ssrc:933318791 cname:FIzIFY6gUyydr6Gi\r\na=ssrc:933318791 msid:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo a0\r\na=ssrc:933318791 mslabel:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo\r\na=ssrc:933318791 label:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCoa0\r\n"}}
2020-10-31 17:23:09.765 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: remoteSDP:
v=0
o=FreeSWITCH 1604125657 1604125658 IN IP4 52.53.75.119
s=FreeSWITCH
c=IN IP4 52.53.75.119
t=0 0
a=msid-semantic: WMS Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo
m=audio 19532 UDP/TLS/RTP/SAVPF 111 110
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1; minptime=10
a=rtpmap:110 telephone-event/48000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
a=fingerprint:sha-256 E5:8A:6F:B2:1B:B2:B9:FC:C7:11:3A:61:42:DC:9D:37:E9:07:47:DE:D8:2E:98:36:D8:DE:A9:31:6D:38:FA:86
a=setup:active
a=rtcp-mux
a=rtcp:19532 IN IP4 52.53.75.119
a=ice-ufrag:a7pxEmornVU1fmfK
a=ice-pwd:UEiqteweDVhVRN3RLiffutxH
a=candidate:3297344421 1 udp 659136 52.53.75.119 19532 typ host generation 0
a=end-of-candidates
a=ssrc:933318791 cname:FIzIFY6gUyydr6Gi
a=ssrc:933318791 msid:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo a0
a=ssrc:933318791 mslabel:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo
a=ssrc:933318791 label:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCoa0
2020-10-31 17:23:09.767 27928-28689/com.mirrorfly.dev I/org.webrtc.Logging: EglRenderer: view_video_remoteDuration: 4005 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:09.767 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handleMessage: {"from":"freeswitch_remote","type":"answer","payload":{"sdp":"v=0\r\no=FreeSWITCH 1604125657 1604125658 IN IP4 52.53.75.119\r\ns=FreeSWITCH\r\nc=IN IP4 52.53.75.119\r\nt=0 0\r\na=msid-semantic: WMS Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo\r\nm=audio 19532 UDP\/TLS\/RTP\/SAVPF 111 110\r\na=rtpmap:111 opus\/48000\/2\r\na=fmtp:111 useinbandfec=1; minptime=10\r\na=rtpmap:110 telephone-event\/48000\r\na=silenceSupp:off - - - -\r\na=ptime:20\r\na=sendrecv\r\na=fingerprint:sha-256 E5:8A:6F:B2:1B:B2:B9:FC:C7:11:3A:61:42:DC:9D:37:E9:07:47:DE:D8:2E:98:36:D8:DE:A9:31:6D:38:FA:86\r\na=setup:active\r\na=rtcp-mux\r\na=rtcp:19532 IN IP4 52.53.75.119\r\na=ice-ufrag:a7pxEmornVU1fmfK\r\na=ice-pwd:UEiqteweDVhVRN3RLiffutxH\r\na=candidate:3297344421 1 udp 659136 52.53.75.119 19532 typ host generation 0\r\na=end-of-candidates\r\na=ssrc:933318791 cname:FIzIFY6gUyydr6Gi\r\na=ssrc:933318791 msid:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo a0\r\na=ssrc:933318791 mslabel:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCo\r\na=ssrc:933318791 label:Klflc7yyL6Crs3HD0eBgxG70XbHCNuCoa0\r\n","type":"answer"}}
2020-10-31 17:23:09.777 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: initPlayout(sampleRate=48000, channels=1)
2020-10-31 17:23:09.777 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: byteBuffer.capacity: 960
2020-10-31 17:23:09.779 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: AudioTrack.getMinBufferSize: 7688
2020-10-31 17:23:09.780 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: createAudioTrackOnLollipopOrHigher
2020-10-31 17:23:09.780 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: nativeOutputSampleRate: 48000
2020-10-31 17:23:09.798 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: AudioTrack: session ID: 2753, channels: 1, sample rate: 48000, max gain: 1.0
2020-10-31 17:23:09.799 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: AudioTrack: buffer size in frames: 3844
2020-10-31 17:23:09.799 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: AudioTrack: buffer capacity in frames: 3844
2020-10-31 17:23:09.801 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: startPlayout
2020-10-31 17:23:09.808 27928-28721/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: AudioTrackThread#[name=AudioTrackJavaThread, id=3935]
2020-10-31 17:23:09.812 27928-28081/com.mirrorfly.dev I/WebRtcCallService: Attended from :freeswitch_remote Call type : audio CallerDevice : freeswitch
2020-10-31 17:23:09.814 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handleMessage: {"type":"switch_event","from":"freeswitch","payload":{"jsonrpc":"2.0","id":25,"method":"verto.display","params":{"callID":"5551006-1604145183524-5551006","display_name":"Outbound Call","display_number":"1006","caller_id_name":"","caller_id_number":"0000000000","callee_id_name":"Outbound Call","callee_id_number":"1006","display_direction":"inbound"}}}
2020-10-31 17:23:09.815 27928-28081/com.mirrorfly.dev D/com.contus.webrtc.WebRtcClient: handlePayloadEventFromFreeswitch: payload: {"jsonrpc":"2.0","id":25,"method":"verto.display","params":{"callID":"5551006-1604145183524-5551006","display_name":"Outbound Call","display_number":"1006","caller_id_name":"","caller_id_number":"0000000000","callee_id_name":"Outbound Call","callee_id_number":"1006","display_direction":"inbound"}}
2020-10-31 17:23:09.815 27928-28081/com.mirrorfly.dev D/WebRtcCallService: broadcastFreeSwitchCallEventMessage: {"jsonrpc":"2.0","id":25,"method":"verto.display","params":{"callID":"5551006-1604145183524-5551006","display_name":"Outbound Call","display_number":"1006","caller_id_name":"","caller_id_number":"0000000000","callee_id_name":"Outbound Call","callee_id_number":"1006","display_direction":"inbound"}}
2020-10-31 17:23:11.686 27928-27928/com.mirrorfly.dev V/WebRtcCallService: callingstatusRunnable
2020-10-31 17:23:11.687 27928-27928/com.mirrorfly.dev V/WebRtcCallService: callingstatusRunnable --- Calling...
Trying to Connect Dropped: 0. Rendered: 0. Render fps: 0.0. Average render time: NA. Average swapBuffer time: NA.
2020-10-31 17:23:21.588 27928-27928/com.mirrorfly.dev I/WebRtcCallService: Service started#onStartCommand :LOCAL_HANGUP
2020-10-31 17:23:21.593 27928-27928/com.mirrorfly.dev I/WebRtcCallService: disconnectCall() called
2020-10-31 17:23:21.635 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: stop: BT state=2
2020-10-31 17:23:21.636 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: stopScoAudio: BT state=2, SCO is on: false
2020-10-31 17:23:21.637 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: cancelTimer
2020-10-31 17:23:21.638 27928-27928/com.mirrorfly.dev D/WebRTCBluetoothManager: stop done: BT state=0
2020-10-31 17:23:21.675 27928-28664/com.mirrorfly.dev V/WebRtcCallService: sendEndedMessage called if -- true
2020-10-31 17:23:21.679 27928-27995/com.mirrorfly.dev V/WebRtcCallService callApi: sendCallApi
2020-10-31 17:23:21.699 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: stopPlayout
2020-10-31 17:23:21.699 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: underrun count: 1
2020-10-31 17:23:21.700 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: stopThread
2020-10-31 17:23:21.700 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: Stopping the AudioTrackThread...
2020-10-31 17:23:21.731 27928-28721/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: Calling AudioTrack.stop...
2020-10-31 17:23:21.732 27928-28721/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: AudioTrack.stop is done.
2020-10-31 17:23:21.733 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: AudioTrackThread has now been stopped.
2020-10-31 17:23:21.733 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioTrack: releaseAudioResources
2020-10-31 17:23:21.740 27928-28662/com.mirrorfly.dev I/org.webrtc.Logging: NetworkMonitor: Stop monitoring with native observer 532555232320
2020-10-31 17:23:21.740 27928-28662/com.mirrorfly.dev I/org.webrtc.Logging: NetworkMonitorAutoDetect: Unregister network callback
2020-10-31 17:23:21.759 27928-28663/com.mirrorfly.dev I/org.webrtc.Logging: WebRtcAudioManager: dispose#[name=Thread-12, id=3914]
Changed my stun and turn servers too.
But still same problem.
I was sharing my sdp to sip trunk immeditely once sdp got generated which did not contain ice candidates gathered.so i waited to 2-5 seconds and forwarded my sdp which contained sdp with ice candidates and audio started flowing.
Did the same while answering the calls in verto.answer.gave 2 seconds delay to reply so i can send verto.answer with sdp which contained ice candidates gathered.
Related
WebRTC Answer SDP returns recvonly instead of sendrecv
I have a web based WebRTC client and I am having the following functionality: Step 1. CreateOffer with both audio and video tracks set to sendrecv. Step 2. Receive and Answer with both audio and video tracks set to sendrecv. Peer to Peer A/V calls get established here. Step 3. Receive a Re-Invite with "a=group:BUNDLE 0 1 video_1". Here I am getting second video track (video_1)with a=sendonly. The Re-invite SDP is : c=IN IP4 xxx.xx.xx.xx b=AS:4044 t=0 0 a=ice-lite a=ice-options:trickle a=group:BUNDLE 0 1 video_1 a=msid-semantic:WMS 43e6158b973b4ca08c2bc5174f58b434 m=audio 49162 UDP/TLS/RTP/SAVP 111 110 b=AS:44 a=tcap:1 RTP/SAVPF a=pcfg:1 t=1 a=rtpmap:111 opus/48000/2 a=fmtp:111 maxaveragebitrate=6000; maxplaybackrate=16000; sprop-maxcapturerate=16000; sprop-stereo=0; stereo=0; useinbandfec=1 a=rtpmap:110 telephone-event/48000 a=fmtp:110 0-15 a=ptime:20 a=maxptime:120 a=sendrecv a=rtcp:49163 a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=candidate:1 1 UDP 2130706175 xxx.xx.xx.xx 49162 typ host a=end-of-candidates a=ice-ufrag:zurp a=ice-pwd:Zrz0Y1wK3WbD0HSKqgx88C a=setup:actpass a=fingerprint:sha-256 5B:A6:08:68:7C:5B:39:BB:C1:EC:C5:72:35:C7:62:3B:A2:BE:BE:0C:29:83:11:CC:51:FE:0C:93:A5:8D:AA:E8 a=rtcp-mux a=msid:43e6158b973b4ca08c2bc5174f58b434 09c78ac11b0347aa8b6a1a9fdba841c1 a=ssrc:1095164922 cname:K8o0hMe5bXvm a=mid:0 m=video 57354 UDP/TLS/RTP/SAVPF 96 b=AS:2000 a=rtpmap:96 VP8/90000 a=fmtp:96 max-fr=30; max-fs=3600 a=sendrecv a=framerate:30 a=extmap:13 urn:3gpp:video-orientation a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=rtcp:57355 a=rtcp-fb:* nack a=rtcp-fb:* nack pli a=rtcp-fb:* ccm fir a=rtcp-fb:* goog-remb a=rtcp-fb:* ccm tmmbr a=candidate:1 1 UDP 2130706175 xxx.xx.xx.xx 57354 typ host a=end-of-candidates a=ice-ufrag:X9Z+ a=ice-pwd:hcvRaKtCJLdHDRs7MP4KXq a=setup:actpass a=fingerprint:sha-256 5B:A6:08:68:7C:5B:39:BB:C1:EC:C5:72:35:C7:62:3B:A2:BE:BE:0C:29:83:11:CC:51:FE:0C:93:A5:8D:AA:E8 a=rtcp-mux a=msid:43e6158b973b4ca08c2bc5174f58b434 track-1 a=ssrc:2066381390 cname:K8o0hMe5bXvm a=mid:1 m=video 0 UDP/TLS/RTP/SAVPF 96 b=AS:2000 a=rtpmap:96 VP8/90000 a=fmtp:96 max-fr=30; max-fs=3600 a=sendonly a=framerate:30 a=extmap:13 urn:3gpp:video-orientation a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=rtcp:57355 a=rtcp-fb:* nack a=rtcp-fb:* nack pli a=rtcp-fb:* ccm fir a=rtcp-fb:* goog-remb a=rtcp-fb:* ccm tmmbr a=ice-ufrag:X9Z+ a=ice-pwd:hcvRaKtCJLdHDRs7MP4KXq a=setup:actpass a=fingerprint:sha-256 5B:A6:08:68:7C:5B:39:BB:C1:EC:C5:72:35:C7:62:3B:A2:BE:BE:0C:29:83:11:CC:51:FE:0C:93:A5:8D:AA:E8 a=rtcp-mux a=msid:43e6158b973b4ca08c2bc5174f58b434 track-2 a=ssrc:2776644557 cname:K8o0hMe5bXvm a=mid:video_1 a=bundle-only Step 4. In response to the above Re-invite my WebRTC client is creating a SDP with both the Video tracks set as a=recvonly. Below is the SDP generated as an Answer to the above Re-Invite request: a=group:BUNDLE 0 1 video_1 a=msid-semantic: WMS 03b098fc-d19f-4604-8698-a164f1064222 m=audio 54067 UDP/TLS/RTP/SAVP 111 110 c=IN IP4 192.168.1.107 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:779251937 1 udp 2122260223 192.168.1.107 54067 typ host generation 0 network-id 1 network-cost 10 a=candidate:1626442769 1 tcp 1518280447 192.168.1.107 9 typ host tcptype active generation 0 network-id 1 network-cost 10 a=ice-ufrag:bSuf a=ice-pwd:gEbxh/ZGJqewM+cb6mLj9vX1 a=ice-options:trickle a=fingerprint:sha-256 CC:89:23:8E:49:D2:F3:20:70:FB:B6:3B:BB:D9:76:B6:E3:E2:6D:C4:CB:51:0D:55:AB:D7:93:D8:91:63:15:4E a=setup:active a=mid:0 a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=sendrecv a=msid:03b098fc-d19f-4604-8698-a164f1064222 bf7a9e2d-c258-419b-9460-6e0c492599eb a=rtcp-mux a=rtpmap:111 opus/48000/2 a=fmtp:111 maxaveragebitrate=6000;minptime=10;useinbandfec=1 a=rtpmap:110 telephone-event/48000 a=ssrc:2871826634 cname:NdgoEAIRngdC542j 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:bSuf a=ice-pwd:gEbxh/ZGJqewM+cb6mLj9vX1 a=ice-options:trickle a=fingerprint:sha-256 CC:89:23:8E:49:D2:F3:20:70:FB:B6:3B:BB:D9:76:B6:E3:E2:6D:C4:CB:51:0D:55:AB:D7:93:D8:91:63:15:4E a=setup:active a=mid:1 a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:13 urn:3gpp:video-orientation a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=recvonly a=msid:03b098fc-d19f-4604-8698-a164f1064222 20213716-40ab-4f1c-9b69-9d859de05ca6 a=rtcp-mux a=rtpmap:96 VP8/90000 a=rtcp-fb:96 goog-remb a=rtcp-fb:96 ccm fir a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli a=ssrc:3663801913 cname:NdgoEAIRngdC542j 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:bSuf a=ice-pwd:gEbxh/ZGJqewM+cb6mLj9vX1 a=ice-options:trickle a=fingerprint:sha-256 CC:89:23:8E:49:D2:F3:20:70:FB:B6:3B:BB:D9:76:B6:E3:E2:6D:C4:CB:51:0D:55:AB:D7:93:D8:91:63:15:4E a=setup:active a=mid:video_1 a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:13 urn:3gpp:video-orientation a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=recvonly a=rtcp-mux a=rtpmap:96 VP8/90000 a=rtcp-fb:96 goog-remb a=rtcp-fb:96 ccm fir a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli I am creating a new peer connection on getting the Re-Invite, but using the same localstreams object which I fetched during the time of creating the offer in Step 1. Clearing the existing local tracks from the old peer connection before creating a new peerconnection. localStream.getTracks().forEach(function(track) { var sender = call.peerConnection.getSenders().find ? call.peerConnection.getSenders().find(function(s) { return s.track === track; }) : null; if (sender) { call.peerConnection.removeTrack(sender); On creating a new peerConnection adding the local tracks like: newStream.getTracks().forEach(function(track) { wsclogger.debug("addLocalStream, calling addTrack() --> "+ track.kind); peerConnection.addTrack(track, newStream); }); Here I have confirmed from the log above that both Audio and Video tracks are getting added to the newly created peerConnection object. Please guide me whats going wrong here. PS: Same logic works well with Android, where the Re-invite Response sdp contains a=sendrecv for the track-1 and a=recvonly for the track-2. Thanks in Advance.
Chrome webrtc-internals showing audioLevel as 0 and there is no audio
I am using Kurento for audio-only Webrtc. We have two browser apps from where users can connect and listen. But for one of the app, there is no audio in Chrome. And in other browsers it is working fine. Also, the other app works perfectly fine in Chrome. For the app, for which there is no audio, I checked chrome://webrtc-internals/, I found audioLevel, totalAudioEnergy and [Audio_Level_in_RMS as 0. Which seems like the issue. But I am not able to find the reason why it is 0 as same stream is being audible with non-zero audio attributes. SDP Offer generated from chrome: v=0 o=- 5216768741743449485 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE 0 a=msid-semantic: WMS m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 c=IN IP4 0.0.0.0 a=rtcp:9 IN IP4 0.0.0.0 a=ice-ufrag:RqhJ a=ice-pwd:nzZ+GB+RAJ6H80ToE7uxpaZk a=ice-options:trickle a=fingerprint:sha-256 49:17:98:CC:EE:53:46:B4:A0:86:3B:29:B8:E4:E5:E8:E1:CD:49:B0:B5:AA:D8:3A:68:EF:2D:96:31:FF:F9:AE a=setup:actpass a=mid:0 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=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=recvonly a=rtcp-mux a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 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 SDP Answer from Kurento: v=0 o=- 3788596538 3788596538 IN IP4 0.0.0.0 s=Kurento Media Server c=IN IP4 0.0.0.0 t=0 0 a=msid-semantic: WMS a=group:BUNDLE 0 m=audio 1 UDP/TLS/RTP/SAVPF 111 0 a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=sendonly a=mid:0 a=rtcp:9 IN IP4 0.0.0.0 a=rtpmap:111 opus/48000/2 a=rtpmap:0 PCMU/8000 a=setup:active a=rtcp-mux a=fmtp:111 minptime=10;useinbandfec=1 a=ssrc:4159551798 cname:user3791831093#host-88916abf a=ice-ufrag:dfqB a=ice-pwd:nvfOteYfAIimzPMmD1E1Gx a=fingerprint:sha-256 E5:D2:D9:1E:82:DD:21:E4:1B:8F:FC:62:F6:2C:FF:5B:C3:C4:17:75:97:DB:F0:BC:B5:F2:2C:6A:EB:35:83:4E Any thoughts/suggestions/debug steps? Please share. Thanks in advance.
WebRTC iceconnection failed
I am trying to connect two clients Remotely in different networks and i am getting IceCandidateConnection status as failed. I am using a coturn server as a turn which accepts only UDP and stun server. Below is the log i am getting in about:webrtc of firefox: Candidate log : PeerConnection ID: 1523297273518693 (id=2147483737 url=https://eskns.com/virtualchat) ICE stats ICE restarts: 0 ICE rollbacks: 0 All Raw Candidates SDP Local SDP(Offer) v=0 o=mozilla...THIS_IS_SDPARTA-59.0.2 7830508841574298961 0 IN IP4 0.0.0.0 s=- t=0 0 a=sendrecv a=fingerprint:sha-256 E2:AD:A2:2B:69:FC:62:C8:7E:2B:8E:A9:BE:72:8E:6F:65:9D:9E:75:47:3C:6E:8B:C5:8D:36:96:89:45:63:0F a=group:BUNDLE sdparta_0 sdparta_1 a=ice-options:trickle a=msid-semantic:WMS * m=audio 27078 UDP/TLS/RTP/SAVPF 109 9 0 8 101 c=IN IP4 131.95.1.135 a=candidate:0 1 UDP 2122252543 10.16.24.19 51599 typ host a=candidate:4 1 UDP 2122187007 10.8.0.26 44981 typ host a=candidate:8 1 TCP 2105524479 10.16.24.19 9 typ host tcptype active a=candidate:9 1 TCP 2105458943 10.8.0.26 9 typ host tcptype active a=candidate:0 2 UDP 2122252542 10.16.24.19 60111 typ host a=candidate:4 2 UDP 2122187006 10.8.0.26 43187 typ host a=candidate:8 2 TCP 2105524478 10.16.24.19 9 typ host tcptype active a=candidate:9 2 TCP 2105458942 10.8.0.26 9 typ host tcptype active a=candidate:1 1 UDP 1686052863 131.95.1.135 27078 typ srflx raddr 10.16.24.19 rport 51599 a=candidate:1 2 UDP 1686052862 131.95.1.135 65529 typ srflx raddr 10.16.24.19 rport 60111 a=sendrecv a=end-of-candidates a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1 a=fmtp:101 0-15 a=ice-pwd:b8213a6bb9067addde51fcbe6062b810 a=ice-ufrag:406caa0f a=mid:sdparta_0 a=msid:{6e3aae13-8330-40f2-bb64-8340b96e7bff} {270b0330-ad95-47c5-8358-df76c55d07b8} a=rtcp:65529 IN IP4 131.95.1.135 a=rtcp-mux a=rtpmap:109 opus/48000/2 a=rtpmap:9 G722/8000/1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=setup:actpass a=ssrc:2797382455 cname:{5a3d45da-59c4-45f7-848a-70253293396f} m=video 27078 UDP/TLS/RTP/SAVPF 120 121 126 97 c=IN IP4 131.95.1.135 a=candidate:0 1 UDP 2122252543 10.16.24.19 35785 typ host a=candidate:4 1 UDP 2122187007 10.8.0.26 60461 typ host a=candidate:8 1 TCP 2105524479 10.16.24.19 9 typ host tcptype active a=candidate:9 1 TCP 2105458943 10.8.0.26 9 typ host tcptype active a=candidate:0 2 UDP 2122252542 10.16.24.19 57521 typ host a=candidate:4 2 UDP 2122187006 10.8.0.26 54431 typ host a=candidate:8 2 TCP 2105524478 10.16.24.19 9 typ host tcptype active a=candidate:9 2 TCP 2105458942 10.8.0.26 9 typ host tcptype active a=candidate:1 1 UDP 1686052863 131.95.1.135 25133 typ srflx raddr 10.16.24.19 rport 35785 a=candidate:1 2 UDP 1686052862 131.95.1.135 2479 typ srflx raddr 10.16.24.19 rport 57521 a=sendrecv a=extmap:1 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:2 urn:ietf:params:rtp-hdrext:toffset a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid a=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1 a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1 a=fmtp:120 max-fs=12288;max-fr=60 a=fmtp:121 max-fs=12288;max-fr=60 a=ice-pwd:b8213a6bb9067addde51fcbe6062b810 a=ice-ufrag:406caa0f a=mid:sdparta_1 a=msid:{6e3aae13-8330-40f2-bb64-8340b96e7bff} {af0a6de2-d397-44a2-96d9-35892b910b96} a=rtcp:2479 IN IP4 131.95.1.135 a=rtcp-fb:120 nack a=rtcp-fb:120 nack pli a=rtcp-fb:120 ccm fir a=rtcp-fb:120 goog-remb a=rtcp-fb:121 nack a=rtcp-fb:121 nack pli a=rtcp-fb:121 ccm fir a=rtcp-fb:121 goog-remb a=rtcp-fb:126 nack a=rtcp-fb:126 nack pli a=rtcp-fb:126 ccm fir a=rtcp-fb:126 goog-remb a=rtcp-fb:97 nack a=rtcp-fb:97 nack pli a=rtcp-fb:97 ccm fir a=rtcp-fb:97 goog-remb a=rtcp-mux a=rtpmap:120 VP8/90000 a=rtpmap:121 VP9/90000 a=rtpmap:126 H264/90000 a=rtpmap:97 H264/90000 a=setup:actpass a=ssrc:3732981129 cname:{5a3d45da-59c4-45f7-848a-70253293396f} Remote SDP (Answer) v=0 o=mozilla...THIS_IS_SDPARTA-59.0.1 281040868006921328 0 IN IP4 0.0.0.0 s=- t=0 0 a=sendrecv a=fingerprint:sha-256 41:33:78:18:DD:1F:D4:B6:57:53:51:AC:33:A1:D9:9A:2C:4E:CD:BB:B1:4E:2A:C2:46:50:4F:3C:12:1B:97:D3 a=group:BUNDLE sdparta_0 sdparta_1 a=ice-options:trickle a=msid-semantic:WMS * m=audio 9 UDP/TLS/RTP/SAVPF 109 101 c=IN IP4 0.0.0.0 a=candidate:0 1 UDP 2122121471 172.20.10.2 36494 typ host a=candidate:4 1 UDP 2122187007 2607:fb90:25db:782e:5d87:2875:6a4c:3825 38435 typ host a=candidate:8 1 UDP 2122252543 2607:fb90:25db:782e:5271:9af0:dc72:8551 45831 typ host a=candidate:12 1 TCP 2105393407 172.20.10.2 9 typ host tcptype active a=candidate:13 1 TCP 2105458943 2607:fb90:25db:782e:5d87:2875:6a4c:3825 9 typ host tcptype active a=candidate:14 1 TCP 2105524479 2607:fb90:25db:782e:5271:9af0:dc72:8551 9 typ host tcptype active a=candidate:1 1 UDP 1685921791 208.54.85.179 31566 typ srflx raddr 172.20.10.2 rport 36494 a=sendrecv a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1 a=fmtp:101 0-15 a=ice-pwd:a2d690bfd141de1c3bfe0cad8a75b956 a=ice-ufrag:7219417e a=mid:sdparta_0 a=msid:{b4292e14-ea0a-4ef4-bc14-5402cf2c4897} {a033f58f-6174-4950-ab43-17e841a288ea} a=rtcp-mux a=rtpmap:109 opus/48000/2 a=rtpmap:101 telephone-event/8000 a=setup:active a=ssrc:1881908549 cname:{b4fa8c04-a207-4092-b554-95a5f71e8ad3} m=video 9 UDP/TLS/RTP/SAVPF 120 c=IN IP4 0.0.0.0 a=sendrecv a=extmap:1 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:2 urn:ietf:params:rtp-hdrext:toffset a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid a=fmtp:120 max-fs=12288;max-fr=60 a=ice-pwd:a2d690bfd141de1c3bfe0cad8a75b956 a=ice-ufrag:7219417e a=mid:sdparta_1 a=msid:{b4292e14-ea0a-4ef4-bc14-5402cf2c4897} {17b818a8-855c-4e06-a36c-8c9dd10f33d8} a=rtcp-fb:120 nack a=rtcp-fb:120 nack pli a=rtcp-fb:120 ccm fir a=rtcp-fb:120 goog-remb a=rtcp-mux a=rtpmap:120 VP8/90000 a=setup:active a=ssrc:553664470 cname:{b4fa8c04-a207-4092-b554-95a5f71e8ad3} RTP Stats outbound_rtcp_video_1 Local: 10:26:31 GMT-0600 (CST) inbound-rtp SSRC: 3732981129 inbound_rtp_audio_2 Local: 13:08:37 GMT-0500 (CDT) inbound-rtp SSRC: 0 inbound_rtp_video_3 Local: 13:08:37 GMT-0500 (CDT) inbound-rtp SSRC: 553664470 outbound_rtp_audio_0 Local: 13:08:37 GMT-0500 (CDT) outbound-rtp SSRC: 2797382455 outbound_rtp_video_1 Local: 13:08:37 GMT-0500 (CDT) outbound-rtp SSRC: 3732981129 Remote: 10:26:31 GMT-0600 (CST) inbound-rtp SSRC: 3732981129
you are either not using a TURN server or not using the correct credentials -- otherwise you would get candidates with type=relay. There are some types of networks that require a TURN server.
Multi GPU passthrough failed
My server has 4 PCI slots, their addresses are 0000:04:00.0, 0000:05:00.0, 0000:41:00.0, 0000:42:00.0. I want to pass 4 GPUs to virtual machines via vfio, each of the VMs has one GPU. VMs worked fine when I passed 0000:04:00.0 and 0000:05:00.0 to VMs or passed 0000:41:00.0 and 0000:42:00.0 to VMs. But VMs which used 0000:41:00.0 and 0000:42:00.0 had no output to the screen and I could not ping VM's ip when I passed 0000:04:00, 0000:41:00.0 and 0000:42:00.0 to VMs, but the VM which used 0000:04:00 worked fine. I got the same result when I passed 0000:05:00, 0000:41:00.0 and 0000:42:00.0 to VMs: VM with 0000:05:00 worked fine and VMs which used 0000:41:00.0 and 0000:42:00.0 hanged. When I define 0000:04:00.0 and 0000:05:00.0 as group A, 0000:41:00.0 and 0000:42:00.0 as group B, the result is: VMs work fine When I just pass group A or group B to vms. Just group A works fine when the gpus that I pass to vms contain group A and B. In case 2, VMs work fine when I used '-vga cirrus' instead of '-vga none'. But I get code 12 from graphics card in Device Manager of windows 7. And this is not what I want, I just want to use the graphics card in the host, so I should use '-vga none'. It also worked fine when I remove VGA passthrough or just pass 0000:41:00.1 (the HDMI audio of graphics card) to VM. I got no error output in qemu monitor. How can I solve this probem? Version of qemu: QEMU emulator version 2.5.1.1, Copyright (c) 2003-2008 Fabrice Bellard Qemu command: /root/qemu25/qemu-system-x86_64 \ -name gputest_41 \ -machine q35,accel=kvm,usb=off,smm=off \ -cpu host \ -m 4096 \ -realtime mlock=off \ -smp 4,sockets=1,cores=4,threads=1 \ -no-user-config \ -nodefaults \ -rtc base=localtime \ -no-shutdown \ -boot strict=on \ -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \ -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \ -drive file=/root/gpu/gputest_41/win7.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 \ -device virtio-blk-pci,scsi=off,bus=pci.2,addr=0x2,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \ -k en-us \ -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x4 \ -device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \ -device vfio-pci,host=41:00.0,bus=root.1,addr=00.0,multifunction=on,romfile=/root/nvidia/gt710.rom,x-vga=on \ -msg timestamp=on \ -vga none \ -cpu host,hv_vendor_id=1234567890ab,kvm=off \ -net nic,model=virtio \ -net tap,ifname=tap1,script=/root/qemu/qemu-ifup.sh,downscript=/root/qemu/qemu-ifdown.sh \ -monitor stdio System info: Linux ns.mqcache.net 4.2.0-1.el7.elrepo.x86_64 #1 SMP Sun Aug 30 21:25:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux Output of lspci -vvv: 05:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 710] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2929 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 15 NUMA node: 0 Region 0: Memory at d8000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M] Region 3: Memory at ce000000 (64-bit, prefetchable) [size=32M] Region 5: I/O ports at ec80 [size=128] Expansion ROM at d9000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D3 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Legacy Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+ EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest- Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Capabilities: [128 v1] Power Budgeting <?> Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Capabilities: [900 v1] #19 Kernel driver in use: vfio-pci Kernel modules: nouveau 05:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1) Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2929 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 14 NUMA node: 0 Region 0: Memory at d9ffc000 (32-bit, non-prefetchable) [size=16K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D3 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 25.000W DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Kernel driver in use: vfio-pci Kernel modules: snd_hda_intel 41:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 710] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2929 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 15 NUMA node: 1 Region 0: Memory at b8000000 (32-bit, non-prefetchable) [disabled] [size=16M] Region 1: Memory at 98000000 (64-bit, prefetchable) [disabled] [size=128M] Region 3: Memory at a6000000 (64-bit, prefetchable) [disabled] [size=32M] Region 5: I/O ports at bc80 [disabled] [size=128] Expansion ROM at b9000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D3 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Legacy Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+ EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest- Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Capabilities: [128 v1] Power Budgeting <?> Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Capabilities: [900 v1] #19 Kernel driver in use: vfio-pci Kernel modules: nouveau 41:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1) Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2929 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 14 NUMA node: 1 Region 0: Memory at b9ffc000 (32-bit, non-prefetchable) [size=16K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D3 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 25.000W DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Kernel driver in use: vfio-pci Kernel modules: snd_hda_intel After starting vm: lspci -vvv 05:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 710] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2929 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 102 NUMA node: 0 Region 0: Memory at d8000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M] Region 3: Memory at ce000000 (64-bit, prefetchable) [size=32M] Region 5: I/O ports at ec80 [size=128] Expansion ROM at d9000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Legacy Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 8GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+ EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest- Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Capabilities: [128 v1] Power Budgeting <?> Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Capabilities: [900 v1] #19 Kernel driver in use: vfio-pci Kernel modules: nouveau 05:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1) Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2929 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 101 NUMA node: 0 Region 0: Memory at d9ffc000 (32-bit, non-prefetchable) [size=16K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 25.000W DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk- ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt- LnkSta: Speed 8GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Kernel driver in use: vfio-pci Kernel modules: snd_hda_intel 41:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 710] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2929 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 104 NUMA node: 1 Region 0: Memory at b8000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at 98000000 (64-bit, prefetchable) [size=128M] Region 3: Memory at a6000000 (64-bit, prefetchable) [size=32M] Region 5: I/O ports at bc80 [size=128] Expansion ROM at b9000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Legacy Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+ EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest- Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Capabilities: [128 v1] Power Budgeting <?> Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Capabilities: [900 v1] #19 Kernel driver in use: vfio-pci Kernel modules: nouveau 41:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1) Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2929 Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin B routed to IRQ 103 NUMA node: 1 Region 0: Memory at b9ffc000 (32-bit, non-prefetchable) [size=16K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 25.000W DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+ RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Kernel driver in use: vfio-pci Kernel modules: snd_hda_intel
Mobile to Web stream does not attach in WebRTC Call
When I do call between two browsers, I get the following offer from other browser: {"sdp":"v=0\r\n o=- 7536355095180056736 2 IN IP4 127.0.0.1\r\n s=-\r\n t=0 0\r\n a=group:BUNDLE audio video\r\n a=msid-semantic: WMS kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD\r\n m=audio 9 RTP/SAVPF 111 103 104 9 0 8 106 105 13 126\r\n c=IN IP4 0.0.0.0\r\n a=rtcp:9 IN IP4 0.0.0.0\r\n a=ice-ufrag:xA0sdUZO/vAhvhQG\r\n a=ice-pwd:Re8aNMs38GOfZ581+F6CKl8t\r\n a=ice-options:google-ice\r\n a=fingerprint:sha-256 2C:E2:54:76:12:24:36:4D:10:66:24:24:0D:18:63:DB:51:7E:AD:B5:BE:96:C5:43:C7:6D:3C:95:4D:4F:7B:FD\r\n a=setup:actpass\r\n a=mid:audio\r\n a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\n a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\n a=sendrecv\r\n a=rtcp-mux\r\n a=rtpmap:111 opus/48000/2\r\n a=fmtp:111 minptime=10\r\n a=rtpmap:103 ISAC/16000\r\n a=rtpmap:104 ISAC/32000\r\n a=rtpmap:9 G722/8000\r\n a=rtpmap:0 PCMU/8000\r\n a=rtpmap:8 PCMA/8000\r\n a=rtpmap:106 CN/32000\r\n a=rtpmap:105 CN/16000\r\n a=rtpmap:13 CN/8000\r\n a=rtpmap:126 telephone-event/8000\r\n a=maxptime:60\r\n a=ssrc:1065921633 cname:Gvk84VJyPRAri/jA\r\n a=ssrc:1065921633 msid:kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD c0116fd8-aef9-4eba-8297-98b9069973c0\r\n a=ssrc:1065921633 mslabel:kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD\r\n a=ssrc:1065921633 label:c0116fd8-aef9-4eba-8297-98b9069973c0\r\n m=video 9 RTP/SAVPF 100 116 117 96\r\n c=IN IP4 0.0.0.0\r\n a=rtcp:9 IN IP4 0.0.0.0\r\n a=ice-ufrag:xA0sdUZO/vAhvhQG\r\n a=ice-pwd:Re8aNMs38GOfZ581+F6CKl8t\r\n a=ice-options:google-ice\r\na=fingerprint:sha-256 2C:E2:54:76:12:24:36:4D:10:66:24:24:0D:18:63:DB:51:7E:AD:B5:BE:96:C5:43:C7:6D:3C:95:4D:4F:7B:FD\r\n a=setup:actpass\r\n a=mid:video\r\n a=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\n a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\n a=sendrecv\r\n a=rtcp-mux\r\n a=rtpmap:100 VP8/90000\r\n a=rtcp-fb:100 ccm fir\r\n a=rtcp-fb:100 nack\r\n a=rtcp-fb:100 nack pli\r\n a=rtcp-fb:100 goog-remb\r\n a=rtpmap:116 red/90000\r\n a=rtpmap:117 ulpfec/90000\r\n a=rtpmap:96 rtx/90000\r\n a=fmtp:96 apt=100\r\n a=ssrc-group:FID 1938891203 2482888767\r\n a=ssrc:1938891203 cname:Gvk84VJyPRAri/jA\r\n a=ssrc:1938891203 msid:kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD 4bd70627-5383-4da1-9dd9-1c6d8a8f21b2\r\n a=ssrc:1938891203 mslabel:kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD\r\n a=ssrc:1938891203 label:4bd70627-5383-4da1-9dd9-1c6d8a8f21b2\r\n a=ssrc:2482888767 cname:Gvk84VJyPRAri/jA\r\n a=ssrc:2482888767 msid:kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD 4bd70627-5383-4da1-9dd9-1c6d8a8f21b2\r\n a=ssrc:2482888767 mslabel:kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD\r\n a=ssrc:2482888767 label:4bd70627-5383-4da1-9dd9-1c6d8a8f21b2\r\n ","type":"offer", "from":"-tMt8kJad6P8AfSnLjyh"} And following is the stream object which I get inside 'event' when onaddstream() of PeerConnection object is called: {"onremovetrack":null, "onaddtrack":null, "onended":null, "ended":false, "id":"kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD", "label":"kZEpfQv0bZYsCa56HHy2eMo3E4A71KXCApdD"} It works fine. Video stream gets attached to the source element. However, When I try to call from mobile to browser... (mobile becomes the one to send the offer) I get following offer object on browser from mobile: {"type":"offer", "sdp":"v=0\r\n o=- 8571015662826724969 2 IN IP4 127.0.0.1\r\n s=-\r\n t=0 0\r\n a=group:BUNDLE audio video\r\n a=msid-semantic: WMS ARDAMS\r\n m=audio 9 RTP/SAVPF 103 111 9 102 0 8 106 105 13 127 126 \r\n c=IN IP4 0.0.0.0\r\n a=rtcp:9 IN IP4 0.0.0.0\r\n a=ice-ufrag:JKMUpFQiL+ZHZr/V\r\n a=ice-pwd:rLL5A3k9pBwxCsM2IzNAu2xM\r\n a=ice-options:google-ice\r\n a=fingerprint:sha-1 B0:E7:56:DF:C6:D9:E4:08:10:DB:A1:7B:9B:C6:65:2C:29:64:38:E1\r\n a=setup:actpass\r\n a=mid:audio\r\n a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\n a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\n a=sendrecv\r\n a=rtcp-mux\r\n a=rtpmap:111 opus/48000/2\r\n a=fmtp:111 minptime=10; useinbandfec=1\r\n a=rtpmap:103 ISAC/16000\r\n a=rtpmap:9 G722/8000\r\n a=rtpmap:102 ILBC/8000\r\n a=rtpmap:0 PCMU/8000\r\n a=rtpmap:8 PCMA/8000\r\n a=rtpmap:106 CN/32000\r\n a=rtpmap:105 CN/16000\r\n a=rtpmap:13 CN/8000\r\n a=rtpmap:127 red/8000\r\n a=rtpmap:126 telephone-event/8000\r\n a=maxptime:60\r\n a=ssrc:2978495626 cname:MJvVwIPq7NgXaDF6\r\n a=ssrc:2978495626 msid:ARDAMS ARDAMSa0\r\n a=ssrc:2978495626 mslabel:ARDAMS\r\n a=ssrc:2978495626 label:ARDAMSa0\r\n m=video 9 RTP/SAVPF 100 116 117 96\r\n c=IN IP4 0.0.0.0\r\n a=rtcp:9 IN IP4 0.0.0.0\r\n a=ice-ufrag:JKMUpFQiL+ZHZr/V\r\n a=ice-pwd:rLL5A3k9pBwxCsM2IzNAu2xM\r\n a=ice-options:google-ice\r\n a=fingerprint:sha-1 B0:E7:56:DF:C6:D9:E4:08:10:DB:A1:7B:9B:C6:65:2C:29:64:38:E1\r\n a=setup:actpass\r\n a=mid:video\r\n a=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\n a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\n a=sendrecv\r\n a=rtcp-mux\r\n a=rtpmap:100 VP8/90000\r\n a=rtcp-fb:100 ccm fir\r\n a=rtcp-fb:100 nack\r\n a=rtcp-fb:100 nack pli\r\n a=rtcp-fb:100 goog-remb\r\n a=rtpmap:116 red/90000\r\n a=rtpmap:117 ulpfec/90000\r\n a=rtpmap:96 rtx/90000\r\n a=fmtp:96 apt=100\r\n a=ssrc-group:FID 899049567 490613521\r\n a=ssrc:899049567 cname:MJvVwIPq7NgXaDF6\r\n a=ssrc:899049567 msid:ARDAMS ARDAMSv0\r\n a=ssrc:899049567 mslabel:ARDAMS\r\n a=ssrc:899049567 label:ARDAMSv0\r\n a=ssrc:490613521 cname:MJvVwIPq7NgXaDF6\r\n a=ssrc:490613521 msid:ARDAMS ARDAMSv0\r\n a=ssrc:490613521 mslabel:ARDAMS\r\n a=ssrc:490613521 label:ARDAMSv0\r\n"} And following is the stream object which I get inside 'event' when onaddstream() of PeerConnection object is called: {"onremovetrack":null, "onaddtrack":null, "onended":null, "ended":false, "id":"ARDAMS", "label":"ARDAMS"} When I attach this to video element of HTML page. It shows nothing but 'half black half white' square. Both peers are able to send ICE candidates too. They are able to send offer and answer to each other. They attach their local stream to the peer connection object. What could possibly be wrong with this? Can anyone guide me in this? Thanks.