DocumentationBlogSupport
Log inSign up
Log inSign up
BlogSupport
Build
Getting StartedPlatform Introduction
Embedded Apps
What's NewOverviewDeveloper GuideSidebar API Quick StartSubmission Checklist for Embedded Apps
Design Guidelines
MessagingMeetingsDevicesSidebarSidebar on Mobile
API Reference
BotsButtons and CardsIntegrationsBYODSService AppsService App GuestsService Apps G2GGuest IssuerWidgetsWebex ConnectLogin with WebexInstant ConnectInstant Connect Meeting LinksDeveloper SandboxBeta ProgramSubmit Your AppSupport PolicyFAQs
APIs
API Behavior ChangesPartners API GuideXML API DeprecationAccess the APIREST API BasicsCompliance
Webex APIs
Reference
Data Sources
Admin
OverviewAdmin APIsHybrid ServicesAuthentication
Guides
Hybrid ServicesWebhooksReal-time File DLP BasicsProvisioning APIsBackground ImagesAudit Events Error Reference
Reference
Admin Audit EventsAuthorizationsEventsGroupsHistorical AnalyticsHybrid ClustersHybrid ConnectorsLicensesMeeting QualitiesOrganization ContactsOrganizationsPartner ManagementPartner Reports/TemplatesPartner TagsPeopleRecording ReportRecordingsReport TemplatesReportsResource Group MembershipsResource GroupsRolesSecurity Audit EventsSession TypesSettingsSpace ClassificationsTracking CodesWorkspace LocationsWorkspace Metrics
Webex Calling Beta
Overview
Guides
Integrations and AuthorizationMetadata and Samples
Webex Calling
OverviewSDKs and ToolsWhat's New
Guides
Integrations and AuthorizationProvisioning APIsMetadata and SamplesBackground Images
Reference
Call ControlsCall RoutingCall Settings For MeCalling Service SettingsClient Call SettingsConference ControlsConverged RecordingsDECT Devices SettingsDevice Call SettingsDevicesEmergency Services SettingsFeatures: Announcement PlaylistFeatures: Announcement RepositoryFeatures: Auto AttendantFeatures: Call ParkFeatures: Call PickupFeatures: Call QueueFeatures: Call RecordingFeatures: Customer Experience EssentialsFeatures: Hunt GroupFeatures: Operating ModesFeatures: Paging GroupFeatures: Single Number ReachLocation Call SettingsLocation Call Settings: Call HandlingLocation Call Settings: SchedulesLocation Call Settings: VoicemailLocationsNumbersPSTNPartner Reports/TemplatesPeopleRecording ReportReportsReports: Detailed Call HistorySend Activation EmailUser Call SettingsVirtual Line Call SettingsWorkspace Call SettingsWorkspaces
Webex for Broadworks
Overview
Guides
Integrations and AuthorizationDeveloper's Guide
Reference
BroadWorks Billing ReportsBroadWorks EnterprisesBroadWorks SubscribersBroadWorks Workspaces
Webex for Wholesale
Overview
Guides
Developer's Guide
Reference
Wholesale Billing ReportsWholesale Provisioning
Webex for UCM
Guides
Integrations and Authorization
Reference
UCM Profile
Contact Center
Overview
Reference
Data Sources
Customer Journey Data
Overview
Guides
Getting StartedFAQ
Devices
Overview
Guides
Devices
Reference
Device Call SettingsDevice ConfigurationsDevicesWorkspace LocationsWorkspace MetricsWorkspace PersonalizationWorkspacesxAPI
Directory Services
Reference
Domain ManagementIdentity Organization
Meetings
Overview
Guides
Integrations and AuthorizationWebhooksWebinar GuideMeeting Resource Guide
Reference
Meeting ChatsMeeting Closed CaptionsMeeting InviteesMeeting MessagesMeeting ParticipantsMeeting PollsMeeting PreferencesMeeting Q and AMeeting QualitiesMeeting TranscriptsMeetingsMeetings Summary ReportPeopleRecording ReportRecordingsSession TypesTracking CodesVideo MeshWebhooks
Messaging
Overview
Guides
BotsIntegrations and AuthorizationWebhooksButtons and Cards
Reference
Attachment ActionsEventsMembershipsMessagesPeopleRoom TabsRoomsTeam MembershipsTeamsWebhooks
SCIM 2
Overview
Reference
SCIM 2 BulkSCIM 2 GroupsSCIM 2 Users
Workspace Integrations
OverviewTechnical DetailsControl Hub Features
Webex Status API
Full API Reference
Admin Audit EventsAttachment ActionsAuthorizationsBroadWorks Billing ReportsBroadWorks EnterprisesBroadWorks SubscribersBroadWorks WorkspacesCall ControlsCall RoutingCall Settings For MeCalling Service SettingsClient Call SettingsConference ControlsConverged RecordingsDECT Devices SettingsData SourcesDevice Call SettingsDevice ConfigurationsDevicesDomain ManagementEmergency Services SettingsEventsFeatures: Announcement PlaylistFeatures: Announcement RepositoryFeatures: Auto AttendantFeatures: Call ParkFeatures: Call PickupFeatures: Call QueueFeatures: Call RecordingFeatures: Customer Experience EssentialsFeatures: Hunt GroupFeatures: Operating ModesFeatures: Paging GroupFeatures: Single Number ReachGroupsGuests ManagementHistorical AnalyticsHybrid ClustersHybrid ConnectorsIdentity OrganizationIssuesLicensesLocation Call SettingsLocation Call Settings: Call HandlingLocation Call Settings: SchedulesLocation Call Settings: VoicemailLocationsMeeting ChatsMeeting Closed CaptionsMeeting InviteesMeeting MessagesMeeting ParticipantsMeeting PollsMeeting PreferencesMeeting Q and AMeeting QualitiesMeeting TranscriptsMeetingsMeetings Summary ReportMembershipsMessagesNumbersOrganization ContactsOrganizationsPSTNPartner ManagementPartner Reports/TemplatesPartner TagsPeopleRecording ReportRecordingsReport TemplatesReportsReports: Detailed Call HistoryResource Group MembershipsResource GroupsRolesRoom TabsRoomsSCIM 2 BulkSCIM 2 GroupsSCIM 2 UsersSecurity Audit EventsSend Activation EmailSession TypesSettingsSiteSpace ClassificationsTeam MembershipsTeamsTracking CodesUCM ProfileUser Call SettingsVideo MeshVirtual Line Call SettingsWebhooksWholesale Billing ReportsWholesale ProvisioningWorkspace Call SettingsWorkspace LocationsWorkspace MetricsWorkspace PersonalizationWorkspacesxAPI
API Changelog
SDKs
Space Meetings Migration
Calling
Introduction
Platform
Web
IntroductionQuickstart
Basics
AuthorizationCore ConceptsCalls
Advanced Features
Call SettingsContactsSupplementary ServicesVoicemailBackground Noise Reduction
Kitchen Sink
Meetings
Introduction
Platform
Web
IntroductionQuickstart
Basics
AuthorizationJoin a MeetingMigration To Improved MeetingsPasswords & CaptchasUnified Space Meetings
Advanced Features
Advanced ControlsDialing In and OutStreams & EffectsVideo Resolution
Multistream
Multistream Comprehensive GuideMultistream Quickstart
Migrating SDK V2 to V3
iOSAndroidBrowserNode.jsClick to Call
Developer CommunityCertifications

SDKs

Web Meetings SDK | Dialing Into or Out of a Meeting

When connected to a meeting, the following dialing capabilities are available:

  • Dial out: Allows the system to call a user's phone, enabling it to be used as the audio input/output device for the meeting.
  • Dial in: Permits users to call into Webex and use their phone as the meeting's audio input/output device.

The SDK also provides functionality to remotely end phone calls in both of the above scenarios.

anchorDial Into or Out of a Meeting

anchor

A user can trigger the dial-in or dial-out using the Meeting object's usePhoneAudio method and passing an optional phone number as a String:

await meeting.usePhoneAudio(phoneNumber);

AsynchronousYes
ParametersString - phoneNumber (Optional)
ReturnsPromise Resolves once the dial-in or dial-out request gets completed, or rejects if it fails

When a phone number is provided, the SDK provisions a device for dial out functionality, and initiates a call to the specified phone number. When a user answers the call, the meeting's audio input and output are connected to the phone device. In the absence of a phone number, the SDK defaults to provisioning a device for the dial in functionality.

The SDK is designed to provision only one device each for either dialing in or out. Once a device is provisioned, subsequent calls to the usePhoneAudio() method do not result in additional provisioning.

anchorDial-In Attendee Information

anchor

To dial-in to the meeting, the user has to know the following dial-in information:

  • Dial-In number (US toll by default).
  • Global call-in numbers (for non-US attendees).
  • Access Code.
  • Attendee ID.

The first three can be easily obtained after calling the meeting.usePhoneAudio() API as follows:

await meeting.usePhoneAudio();
const accessCode = meeting.meetingInfo.audio.accessCode;
const globalCallInWebUrl = meeting.meetingInfo.audio.globalCallinNumberWebLink;
const tollCallInLabel = meeting.meetingInfo.audio.tollCallInLabel;
const tollNum = meeting.meetingInfo.audio.tollNum;

However, to obtain the attendee ID, the easiest way is to listen to the following event:

meeting.on(
    "meeting:self:phoneAudioUpdate",
    (payload) => {
        console.log(payload)
        // payload.dialIn = {
        //     "status": "JOINED",
        //     "attendeeId": "123456"
        // }
    }
);
await meeting.usePhoneAudio();

Here's a full code that can be useful:

const dialInInfo = {};
meeting.on(
    "meeting:self:phoneAudioUpdate",
    (payload) => dialInInfo.attendeeId = payload?.dialIn?.attendeeId
);
await meeting.usePhoneAudio();
dialInInfo.accessCode = meeting.meetingInfo.audio.accessCode;
dialInInfo.globalCallInWebUrl = meeting.meetingInfo.audio.globalCallinNumberWebLink;
dialInInfo.tollCallInLabel = meeting.meetingInfo.audio.tollCallInLabel;
dialInInfo.tollNum = meeting.meetingInfo.audio.tollNum;

Once you have this information, you can display it to your user for them to dial-in to the meeting via a PSTN call.

After the usePhoneAudio() method successfully completes, the user is connected to the meeting through both the browser and the dial-in/dial-out device. Consequently, the next step involves updating the Meeting object to disable sending and receiving audio via the browser.

SDK 3.x:

For 3.x SDKs to disable sending and receiving audio via the browser, send the flag audioEnabled: false in the Meeting object's updateMedia method:

await meeting.updateMedia({
  audioEnabled: false
});

AsynchronousYes
Parametersoptions
ReturnsPromise<undefined>
updateMedia Options

NameDescription
audioEnabled(Optional) Toggles receiving and sending of main audio in a meeting.
videoEnabled(Optional) Toggles receiving and sending of main video in a meeting.
shareEnabled(Optional) Toggles screen sharing.
SDK 2.x

For the 2.x SDK to disable sending and receiving audio via the browser, send the flags sendAudio: false and receiveAudio: false as well as the Stream object to the Meeting object's updateAudio method:

await meeting.updateAudio({
  sendAudio: false,
  receiveAudio: false,
  stream
});

AsynchronousYes
Parametersoptions
ReturnsPromise<undefined>

Options

NameDescription
sendAudioBoolean - Toggle audio input.
receiveAudioBoolean - Toggle audio output.
streamMedia Stream - Stream containing the audio track you want to update.

anchorDisconnect Dial In or Out Calls

anchor

Disconnect dial-in or dial-out calls using the Meeting object's disconnectPhoneAudio method:

await meeting.disconnectPhoneAudio();

AsynchronousYes
ParametersNone
ReturnsPromise Resolves once the phone audio disconnection has been completed.

anchorRe-enable Browser Audio

anchor

If, after disconnecting the phone audio for a meeting, you want to enable computer audio (assuming it was not already enabled or was disconnected during the use of phone audio), depending on the SDK version:

SDK 3.x

For 3.x SDKs to enable sending and receiving audio via the browser, send the flag audioEnabled: true in the Meeting object's updateMedia method:

await meeting.updateMedia({
  audioEnabled: true
});
SDK 2.x

For the 2.x SDK to enable sending and receiving audio via the browser, send the flags sendAudio: true and receiveAudio: true as well as the Stream object to the Meeting object's updateAudio method:

await meeting.updateAudio({
  sendAudio: true,
  receiveAudio: true,
  stream
});
In This Article
  • Dial Into or Out of a Meeting
  • Dial-In Attendee Information
  • Disconnect Dial In or Out Calls
  • Re-enable Browser Audio

Connect

Support

Developer Community

Developer Events

Contact Sales

Handy Links

Webex Ambassadors

Webex App Hub

Resources

Open Source Bot Starter Kits

Download Webex

DevNet Learning Labs

Terms of Service

Privacy Policy

Cookie Policy

Trademarks

© 2025 Cisco and/or its affiliates. All rights reserved.