Inbound call not ringing/answered

Hello everyone, I'm trying to handle an inbound call throught Javascript SDK and WebRtcSDK in a test custom phonebar application we're implementing for our customer.
We have 2 kind of issues:

  1. when an inbound call is received, our "phonebar" does not ring (maybe be something is missing in WebRtcSDK config/handshake)
  2. when we try to answer the received inbound call following the suggestions provided with these articles/topics (Answering inbound call using JavaScript SDK and
    Answering inbound calls via JS SDK with WebRTC Station) our code fails and the call conversation is not successfully connected with our test "phonebar"

This is the function we wrote to initialize the WebRtcSDK in our code:

function initWebRtcSDK() {

      webRtcSDK = new window.GenesysCloudWebrtcSdk.GenesysCloudWebrtcSdk({
        accessToken: currentToken,
        organizationId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
        environment: 'mypurecloud.ie'      
      });

      webRtcSDK.on('sdkError', (event) => {
        console.log(`Event sdkError -> ${JSON.stringify(event, null, 2)}`);
      });

      webRtcSDK.on('pendingSession', (event) => {
        console.log(`Event pendingSession -> ${JSON.stringify(event, null, 2)}`);
        if (!pendingPropose) {
          pendingPropose = event;
          document.getElementById("btnAnswer").disabled = false;

          webRtcSDK.acceptPendingSession({ conversationId: pendingPropose.conversationId })
            .then((data) => {
              console.log("acceptPendingSession completed");
            })
            .catch((err) => {
              console.log("There was a failure calling acceptPendingSession");
              console.error(err);
            });

        }
      });

      webRtcSDK.on('ready', () => {
        console.log("Event ready received: webRtcSDK successfully started!");
      });
      webRtcSDK.on('sessionStarted', (event) => {
        console.log('Event sessionStarted ->', event);
        if (pendingPropose) {
          webRtcSDK.acceptSession({ conversationId: pendingPropose.conversationId })
            .then((data) => {
              console.log("acceptSession completed");
            })
            .catch((err) => {
              console.log("There was a failure calling acceptSession");
              console.error(err);
            });
        }
      });

      webRtcSDK.initialize().then(() => {
        // the web socket has connected and the SDK is ready to use
        console.log('WebRTC SDK initialize terminated!');
        //TODO: add GUI initialization
      });

    }

Receiving the call (even if the phonebar is not ringing...) we enable the "Answer" button tocall the following function:

function answerBtnPressed() {
      let pendingconvId = pendingPropose.conversationId;
      conversationsApi.getConversationsCall(pendingconvId)
        .then((conversationData) => {
          document.getElementById("btnAnswer").disabled = true;
          console.log(`getConversationsCall success! data: ${JSON.stringify(conversationData, null, 2)}`);
          // Retriving our participant ID
          let currentPartecipant = conversationData.participants.find(partecipant => partecipant.user.id === currentUser.id);
          // body of the "answer" request
          let body = {};
          body["state"] = "connected";
          // trying to connect our participant to the conversation
          conversationsApi.patchConversationsCallParticipant(pendingPropose.conversationId, currentPartecipant.id, body)
            .then((dataAnswer) => {
              console.log(`patchConversationsCallParticipant success! data: ${JSON.stringify(dataAnswer, null, 2)}`);
              activeCallID = pendingPropose.conversationId;
            })
            .catch((err) => {
              console.log("There was a failure calling patchConversationsCallParticipant");
              console.error(err);
            });
        })
        .catch((err) => {
          console.log("There was a failure calling getConversationsCall");
          console.error(err);
        });
    }

After btn answer has been pressed, the call is not connected (we cannot ear anything) and after few seconds terminates to a voice email.

Can anyone suggest what are we missing?

Thank you for your time

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.