SIP Phone UI error

Discussion in 'Web Call Server 5' started by Rafael Ribeiro, Apr 10, 2017.

  1. Rafael Ribeiro

    Rafael Ribeiro New Member

    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!
  2. Rafael Ribeiro

    Rafael Ribeiro New Member

    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.
  3. Max

    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.
  4. Rafael Ribeiro

    Rafael Ribeiro New Member

    Hello!

    Files has been sent.

    Thanks
  5. Max

    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.
  6. Rafael Ribeiro

    Rafael Ribeiro New Member

    Hello!
    I did again the procedure.
    Hope now is ok.
    Sent by e-mail.

    Thanks,
    Rafael
  7. Max

    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.
  8. Rafael Ribeiro

    Rafael Ribeiro New Member

    Hello!
    All login information has been sent to e-mail.

    Thanks,
    Rafael
  9. Max

    Max Administrator Staff Member

    We have investigated the issue.
    As you can see from the image above:
    [​IMG]
    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.
  10. Rafael Ribeiro

    Rafael Ribeiro New Member

    Can you inform me what is the oldest working build?
  11. Max

    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.
  12. Rafael Ribeiro

    Rafael Ribeiro New Member

    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'..
  13. Rafael Ribeiro

    Rafael Ribeiro New Member

    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
  14. Max

    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

Share This Page