News & Announcements User Community Developer Community

Welcome to the RingCentral Community

Please note the community is currently under maintenance and is read-only.

Search
Make sure to review our Terms of Use and Community Guidelines.
  Please note the community is currently under maintenance and is read-only.
Home » Developers
i want to test conference call functionality in RingCentral WebPhone Demo
Tags: conferencing, conference call
Jan 9, 2024 at 2:08am   •   1 replies  •  0 likes
parul Kundra

I want to test the conference call functionality in ringcentral WebPhone Demo. can you please tell me the steps of this

1 Answer
answered on Jan 9, 2024 at 7:36am  

Unfortunately, the demo just only creates a conference call and transfers the original call to a conference call with 2 parties. It does not provide methods to make a new call and transfer the third party to the conference call. That will be left for developers to implement. Here are the core functions and you need to develop them further.

function initConference() {
    if (!onConference) {
      getPresenceActiveCalls()
        .then((res) => res.json())
        .then((response) => {
          const pId = response.activeCalls[0].partyId;
          const tId = response.activeCalls[0].telephonySessionId;
          getConfVoiceToken(pId, tId).then((voiceToken) => {
            startConferenceCall(voiceToken, pId, tId);
            onConference = true;
          });
        });
    }
  }

function getPresenceActiveCalls() {
    return platform.get('/restapi/v1.0/account/~/extension/~/presence?detailedTelephonyState=true');
  }

function getConfVoiceToken(pId, tId) {
    return platform
      .post('/restapi/v1.0/account/~/telephony/conference', {})
      .then((res) => res.json())
      .then((res) => {
        confSessionId = res.session.id;
        return res.session.voiceCallToken;
      });
  }

function startConferenceCall(number, pId, tId) {
    const session = webPhone.userAgent.invite(number, {
      fromNumber: username,
    });
    session.on('established', () => {
      onAccepted(session);
      console.log('Conference call started');
      bringIn(tId, pId)
        .then((res) => res.json())
        .then((response) => {
          console.log('Adding call to conference successful', response);
        })
        .catch((e) => {
          console.error('Conference call failed', e.stack || e);
        });
    });
  }

function bringIn(tId, pId) {
    const url = '/restapi/v1.0/account/~/telephony/sessions/' + confSessionId + '/parties/bring-in';
    return platform.post(url, {
      telephonySessionId: tId,
      partyId: pId,
    });
  }

The demo app initiates a conference call and immediately calls the bringIn() function, passing the telephony session id and the party id.

You need to implement a control to make a new call or bring in existing call parties by calling the the bringIn() method passing the telephonySessionId and partyId of the third call party.


 0



A new Community is coming to RingCentral!

Posts are currently read-only as we transition into our new platform.

We thank you for your patience
during this downtime.

Try Workflow Builder

Did you know you can easily automate tasks like responding to SMS, team messages, and more? Plus it's included with RingCentral Video and RingEX plans!

Try RingCentral Workflow Builder

PRODUCTS
RingEX
Message
Video
Phone
OPEN ECOSYSTEM
Developer Platform
APIs
Integrated Apps
App Gallery
Developer support
Games and rewards

RESOURCES
Resource center
Blog
Product Releases
Accessibility
QUICK LINKS
App Download
RingCentral App login
Admin Portal Login
Contact Sales
© 1999-2024 RingCentral, Inc. All rights reserved. Legal Privacy Notice Site Map Contact Us