Open a project and go to Calls to see voice and video calls placed or
received on the project’s numbers. Choose All projects to see every
project’s calls. To place and answer calls from your product, use the
Calls SDKs; the Console reviews and manages calls
but does not place or answer them.
Find a call
The list shows each call’s party, number, state, connection, duration, and
start time. The other party appears as a team-specific reference; Polymorfa
does not store who is on the other side of a call.
Filter by:
- State: Ringing, Answered, Declined, Missed, or Ended. An incoming call
that a participant declined stays Declined, and one that rang without an
answer stays Missed, after the call ends. Ended covers every other
finished call, including outgoing calls the recipient did not answer; the
end reason gives the cause.
- Direction: Incoming or Outgoing.
- Activity: live calls, finished calls, or both.
- Number.
- From and To dates. The end date is included.
While a live call is on screen, the list refreshes every 10 seconds.
Call details
Select a call to open its details:
- Summary: direction, state, connection, media, duration, end reason, who
answered, and whether that participant claimed the call.
- Lifecycle: start, connect, and end times, and the recorded call events.
- Participants: the WhatsApp participants of a group call and their state.
- Connections: each browser, app, server, or phone system that joined the
call, when it joined and left, and why it left. A connection closes when the
participant leaves, reconnects with a new connection, or another participant
claims the call, or when the call ends.
- Call quality: setup and ring time, audio codec, jitter, packets lost,
round-trip time, and bitrates measured by Polymorfa’s media service.
Not reported means the value was not measured.
- Reported by your app: the quality figures and errors your app sent for
each of its connections. See
App-reported diagnostics.
- Webhook deliveries: the delivery status, attempts, and last outcome of
each webhook event for the call. Delivery records are kept for 30 days after
each event.
- Correlation IDs: the call ID and number ID to search for in your webhook
handlers and logs.
App-reported diagnostics
When your app sends call diagnostics,
the call details show one entry per connection that reported:
- Sent by: the SDK name, version, and platform the report named.
- Last quality report: when the latest quality report arrived, with its
round-trip time, jitter, packets lost and received, audio and video codecs,
connection path, and reconnect count. Not reported means your app did
not send that figure.
- Connection path: Direct on the local network, Direct, or
Through a relay server. Relayed media takes a longer route and often
explains higher round-trip time.
- Reported errors: each error with its time and a description, newest
first. The Console shows up to 50 errors per call.
Your app has not sent reports for this call means no report arrived for
the call. Polymorfa keeps up to 200 reports per call; when a call reaches that
limit, the Console says so. If the Console cannot load your app’s reports,
it says that they are not available instead of saying that none arrived.
End a call or remove a connection
Team owners and admins can end a live call or remove one connection from it on
the call details page. Ending a call ends it for every participant and for the
other party. Removing a connection disconnects that browser, app, or server;
the call continues for everyone else. Both actions take effect immediately and
are recorded in the audit log.
The Console refuses the action when the call is no longer live, and reports
when the call service is temporarily unavailable.
Call settings
Open a number from Numbers and find Calls in its details. Every team
member can see these settings; team owners and admins can change them, and
each change is recorded in the audit log.
Calls on this number turns calling on or off. While it is off, placing and
answering calls on the number is refused, incoming calls are declined, and SIP
trunks cannot call through the number. Calls in progress continue. See
Turn calling off for a number.
On a Cloud API number, Answer calls with Polymorfa Calls chooses who
answers incoming calls: your Calls apps when it is on, or your Graph API
integration when it is off (the default). See
Cloud API Numbers.
Conference mode controls whether the participants you connect to a call
hear each other:
- On (default): each participant hears the people on WhatsApp and every
other participant you connected.
- Off: each participant hears only the people on WhatsApp.
In both modes the people on WhatsApp hear all of your participants, and nobody
hears their own voice. A change applies to a call the next time a participant
answers it or connects to it, including calls in progress. See
Conference mode for examples.
When the project has an enabled SIP trunk that sends calls to your phone
system, the section also shows Incoming calls:
- Incoming calls ring: Your apps and browsers, or A SIP trunk and
your apps. With a trunk, your phone system rings together with your apps,
and your apps can still answer or join.
- SIP trunk: the trunk that receives the calls. Disabled trunks are listed
but you cannot choose them. A number that already routes to a trunk you
later disabled keeps that trunk selected.
- An answer from the phone system claims the call: when on, your apps stop
ringing once the phone system answers. It is on by default.
Choose Save to apply a routing change. Switches apply as soon as you
change them. If someone else changed the number’s call settings after the page
loaded, the Console refuses your change, shows the latest values, and asks you
to try again. Changes reach new calls within about a minute. See SIP trunks
for how routed calls behave.
SIP trunks
Open a project, go to Calls, and choose Manage SIP trunks. Team owners
and admins always see this link; other members see it when the project has
trunks. The list shows each trunk’s name,
direction, status, the SIP URI it sends calls to, and the username and number
it uses for calls from your phone system. Every team member can view trunks.
Team owners and admins can:
- Add a trunk. Choose its direction: To your phone system, From your
phone system, or Both ways, and fill in the matching section.
- Edit a trunk. Leave Password empty to keep the saved password. If
someone else changed the trunk first, the Console refuses the change; reopen
the trunk and try again.
- Enable or disable a trunk with its switch. A disabled trunk takes no new
calls; calls in progress continue.
- Create a New password for a trunk that receives calls from your phone
system. The previous password stops working within about a minute.
- Delete a trunk. A trunk that a number still routes calls to cannot be
deleted; route that number back to your apps first.
When you add a trunk that receives calls from your phone system, or create a
new password, the Console shows the username, password, and realm once. Enter
them in your phone system before you close the dialog; the password cannot be
shown again.
Changes are recorded in the audit log and reach call
routing within about a minute.