SIP Phone UI error

Starting few days ago our users got this message once attempt to answer a call:

WebRtcMediaConnection - onSetRemoteDescriptionErrorCallback(): error: OperationError: Failed to set remote offer sdp: Session error code: ERROR_CONTENT. Session error description: rtcpMuxPolicy is 'require', but media description does not contain 'a=rtcp-mux'..
WebRtcMediaConnection.onSetRemoteDescriptionErrorCallback @ Flashphoner.js:2443
(anonymous) @ Flashphoner.js:2174
(anonymous) @ Flashphoner.js:3135
Flashphoner.js:3133 Uncaught (in promise) DOMException: Failed to set remote offer sdp: Session error code: ERROR_CONTENT. Session error description: rtcpMuxPolicy is 'require', but media description does not contain 'a=rtcp-mux'..

Your help is much appreciated!
 
We have upgraded to 2165 build and the error above is resolved.

BUT we have no audio between Asterisk and WCS Phone UI.

Where we can found logs or whats should be done to solve this issue?

Asterisk is working fine.
 

Max

Administrator
Staff member
Please prepare following logs
1. Server log
/usr/local/FlashphonerWebCallServer/logs/server_logs/flashphoner.log
2. Server dump
Code:
tcpdump udp -s 4096 -w log.pcap
3. Browser console log.
4. /usr/local/FlashphonerWebCallServer/conf directory
Please zip these files and send to logs@flashphoner.com
We will check.
 

Max

Administrator
Staff member
The pcap file is incomplete. It does not contain any calls.
Please make the pcap file again.
1. Start capture
tcpdump udp -s 4096 -w log.pcap
2. Make the call.
3. Stop capture.
Press Ctrl + C.
 

Max

Administrator
Staff member
We are able to see stun binding errors in the pcap log
stun-binding.jpg


We can't reproduce these errors on our testing server 2165.
Please provide
1. SSH sudo access to your server
2. Two Asterisk SIP accounts for testing.
3. Admin password for WCS dashboard.
We will check the same through your server.
 

Max

Administrator
Staff member
We have investigated the issue.
As you can see from the image above:

Asterisk uses ':' in the callId.
This affects WebRTC leg on ICE connection phase.
The fix may take some time. We will inform you once it is fixed.
You can also try to change Asterisk's callId and remove ':' from callId to get this working with latest builds.
 

Max

Administrator
Staff member
You can try to update to build 2080 and older.
Update steps:
1. Stop WCS server.
Code:
service webcallserver stop
2. Download, unzip and run install script
Code:
./install.sh
3. Start WCS server
Code:
service webcallserver start
With these builds you have to change client-side to get this working:
Edit file Flashphoner.js.
Example: lines 1972-1980
https://github.com/flashphoner/flashphoner_client/blob/wcs_api/client/src/Flashphoner.js#L1973
Replace
Code:
if (application.stunServer !== undefined && application.stunServer.length > 0) {
        pc_config = {
            "iceServers": [
                {"url": "stun:" + application.stunServer}
            ]
        };
    } else {
        pc_config = {"iceServers": []};
    }
with
Code:
if (application.stunServer !== undefined && application.stunServer.length > 0) {
        pc_config = {
            "iceServers": [
                {"url": "stun:" + application.stunServer}
            ], rtcpMuxPolicy: "negotiate"
        };
    } else {
        pc_config = {"iceServers": [], rtcpMuxPolicy: "negotiate"};
    }
As you can see, we added field:
Code:
rtcpMuxPolicy: "negotiate"
This should work with older builds and can be used as a workaround.
 
I revert back to 1963 and change the code.

Error Displayed once we attempt to answer a call:

WebRtcMediaConnection - onSetRemoteDescriptionErrorCallback(): error: OperationError: Failed to set remote offer sdp: Session error code: ERROR_CONTENT. Session error description: rtcpMuxPolicy is 'require', but media description does not contain 'a=rtcp-mux'..
WebRtcMediaConnection.onSetRemoteDescriptionErrorCallback @ Flashphoner.js:2443
(anonymous) @ Flashphoner.js:2174
(anonymous) @ Flashphoner.js:3135
Flashphoner.js:3133 Uncaught (in promise) DOMException: Failed to set remote offer sdp: Session error code: ERROR_CONTENT. Session error description: rtcpMuxPolicy is 'require', but media description does not contain 'a=rtcp-mux'..
 
UPDATE: Now is OK with this workarround.
Was just local cache loading an oldest version of JS.

Now is Ok and we hope a new release comes soon with the final solution.

Thanks for all
 

Max

Administrator
Staff member
This issue was fixed in the build 2168
Please do
Code:
service webcallserver update
to apply the fix
For older builds you may need to perform manual update using
1. Download build
2. ./install.sh
 
Top