webrtc calls failing

Status
Not open for further replies.

joshrj

New User
Joined
May 31, 2021
Messages
2
Reaction score
0
Hello....

Is there a way to enable ICE in the 3cx server response for webrtc?
Am working on a CRM integration for a users who use 3cx as their PBX.
SDP negotiation for media looks fine but there are no ice candidates returned in the answer from the 3cx server.
I end up getting this error when trying to set the remote offer.

Code:
Failed to set remote answer sdp: Called with SDP without ice-ufrag and ice-pwd.

Is this something achievable through some setting on the server, or am I missing something in the provisioning of the extension?
The extension am using is currently provisioned as a 3cx web client.
The 3cx server is on the client premises and connection to the 3cx server is over a vpn.
The version of the 3cx server is v16.

Below is the offer from the client

Code:
v=0
o=- 1604705852749173926 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS wr3GrN4aMoWUlXLKAMAa6a9ipsMAobL15jlu
m=audio 52508 RTP/SAVP 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 xxx.xxx.x.xx
a=rtcp:52510 IN IP4 192.168.9.1
a=candidate:1873078895 1 udp 2122260223 192.168.9.1 52508 typ host generation 0 network-id 1
a=candidate:1844252113 1 udp 2122194687 10.10.10.16 52509 typ host generation 0 network-id 2
a=candidate:1873078895 2 udp 2122260222 192.168.9.1 52510 typ host generation 0 network-id 1
a=candidate:1844252113 2 udp 2122194686 10.10.10.16 52511 typ host generation 0 network-id 2
a=candidate:556209823 1 tcp 1518280447 192.168.9.1 9 typ host tcptype active generation 0 network-id 1
a=candidate:594473249 1 tcp 1518214911 10.10.10.16 9 typ host tcptype active generation 0 network-id 2
a=candidate:556209823 2 tcp 1518280446 192.168.9.1 9 typ host tcptype active generation 0 network-id 1
a=candidate:594473249 2 tcp 1518214910 10.10.10.16 9 typ host tcptype active generation 0 network-id 2
a=candidate:3338364346 1 udp 1686052607 xxx.xxx.x.xx 52508 typ srflx raddr 192.168.9.1 rport 52508 generation 0 network-id 1
a=ice-ufrag:zzzz
a=ice-pwd:zzzzzzzzzz
a=ice-options:trickle
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=sendrecv
a=msid:wr3GrN4aMoWUlXLKAMAa6a9ipsMAobL15jlu b4d98ff9-53b1-418d-95e1-0dc713a213d5
a=rtcp-mux
a=crypto:0 AES_CM_128_HMAC_SHA1_80 inline:zzzzzzzzzzzzz
a=crypto:1 AEAD_AES_256_GCM inline:zzzzzzzzzzzzzzzzzz=
a=crypto:2 AEAD_AES_128_GCM inline:zzzzzzzzzzzzzzzzzz==
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
a=ssrc:1712352848 cname:OtUeNLWKBOOqjgOB
a=ssrc:1712352848 msid:wr3GrN4aMoWUlXLKAMAa6a9ipsMAobL15jlu b4d98ff9-53b1-418d-95e1-0dc713a213d5
a=ssrc:1712352848 mslabel:wr3GrN4aMoWUlXLKAMAa6a9ipsMAobL15jlu
a=ssrc:1712352848 label:b4d98ff9-53b1-418d-95e1-0dc713a213d5


And below is the answer from the 3cx server.

Code:
v=0
o=3cxPS 14803530149789696 14941580850888705 IN IP4 172.28.158.2
s=3cxPS Audio call
c=IN IP4 172.28.158.2
t=0 0
m=audio 8160 RTP/SAVP 111 9 0 8 110
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 telephone-event/48000
a=crypto:0 AES_CM_128_HMAC_SHA1_80 inline:zzzzzzzzzzzzzzzzzzzzzzzzzzz
a=sendrecv
 
Hi @joshrj

Unfortunately there is no option to enable ICE as you want, the WebClient works as is.
While this still remains true for V18 (that you can't alter the behavior), there have been some changes in the way the WebClient communicates with 3CX over WebRTC, so you may want to try that out as well.

To note, V18 is still in Alpha, but you can try it out if you like.
 
  • Like
Reactions: Evolute IT
@NickD_3CX thanks for the reply, stops me from going down that rabbithole :).
Though, I think not supporting ICE makes it impossible to integrate any custom webclients, since the browser webrtc spec makes ICE mandatory. This makes some kinds of integrations impossible i.e having a soft phone embedded in a CRM which makes calls using the 3cx pbx server. I know it's possible to have a CRM integrated into 3cx but sometimes that's not the intended workflow.
 
Status
Not open for further replies.

Forum statistics

Threads
112,349
Messages
592,027
Members
165,512
Latest member
gmacinit