Telephony: SIP trunk and browser calls

How to connect a telephony provider to X10 CRM: the trunk, numbers, operator SIP accounts, inbound ring groups, routes and calls straight from the browser without a softphone.

Telephony in X10 CRM works right inside a browser tab: the operator clicks a number in the lead card and talks through a headset. No softphone, no settings on the computer, no separate application. This page walks an administrator through the whole setup — from the provider details to the first test call.

#How it is put together

At the core is the X10 CRM telephony server, running next to your database. It keeps the connection to the telephony provider and distributes calls to operators. The operator’s browser connects to it directly over WebRTC — which is exactly why nothing needs to be installed.

Who does itWhat exactly
The X10 teamInstalls and configures the telephony server while deploying the CRM: the server itself, the media server, certificates, ports. Fills in the technical connection fields
Your administratorAdds the provider trunk, numbers, operators and routing rules — all through the CRM interface, with no server access
Your telephony providerIssues the SIP account and the landline or mobile numbers

What telephony and the auto-dialer include, and how it looks in a team's daily work, is on the CRM for a call centre page.

#Step 1. What to ask your telephony provider

Before opening the settings, collect the details. Any IP telephony provider will supply them on a request for “SIP connection parameters”.

  • The provider server address — a domain or an IP
  • The port (almost always 5060)
  • The SIP login and password
  • Whether registration on the server is required, or authentication goes by your server’s IP
  • The list of your numbers in E.164 format without the plus sign: 380441234567
  • Whether the provider allows substituting your own number on outbound calls

#Step 2. Global settings

The Settings → Telephony section. Most fields here are filled in once during onboarding, but it helps to know what they do.

Fields that concern you

  • Telephony enabledswitchrequired

    The master switch. While it is off, the call buttons in lead cards do nothing.

  • First extension numbernumber

    Where operator numbering starts. 2000 by default, so the first operator gets 2000, the second 2001 and so on.

  • Recording retentiondays

    How many days to keep call audio. 90 by default. A value of 0 disables automatic deletion — but then watch your disk space.

Technical fields — filled in by the implementation team

  • Server external IP, domain for browser callstext

    The addresses the operator’s browser uses to find the telephony server.

  • CRM address for callbacksURL

    Where the telephony server reports the start and the end of a call. This is what makes calls appear in the lead history.

  • Management interface parameters and secrettext

    The service connection between the CRM and the telephony server. Do not change these without reason — calls will stop being initiated.

  • Recordings pathtext

    The directory on the server where call audio files are stored.

#Step 3. The provider SIP trunk

A trunk is the connection to the provider. Create it in the trunks section and fill in the details from step one.

Trunk fields

  • System nameLatin lettersrequired

    A short identifier with no spaces, for example kyivstar or binotel. Better not to change it later — the server configuration refers to it.

  • Display nametext

    How the trunk is labelled in the interface. Any script is fine here.

  • Provider hostdomain or IPrequired

    The address of the provider’s server.

  • Portnumber

    Usually 5060.

  • Login and passwordtextrequired

    The SIP credentials from the provider.

  • Register with the providerswitch

    On — the server registers itself with the login and password. Switch it off if the provider authenticates you by IP address.

  • Activeswitch

    A disabled trunk is used for neither inbound nor outbound calls.

#Step 4. Numbers

Add every number the provider has allocated to you. A number is written in E.164 format without the plus sign and without spaces: 380441234567. Each number is attached to the trunk it works through.

A display name saves you from confusion when there are many numbers: Main Kyiv, Facebook ads, Hotline. It is also shown in routes and statistics — a convenient way to see which advertising brings calls.

#Step 5. Operator SIP accounts

To make calls, an operator needs an extension. Open Settings → Users, find the employee and issue a SIP account in one action.

  • The extension is assigned automatically — the next free one, starting from the value in the global settings.
  • The password is generated randomly and securely. The operator does not need to know it: the browser receives the credentials itself when the employee signs in.
  • The CallerID name can be set separately — it is shown to colleagues on internal calls.
  • Removing the account deletes the extension. Do it when someone leaves: otherwise calls keep going to an operator who no longer exists.

#Step 6. Inbound ring groups

A group defines whose phone rings when a customer dials your number. Create the group, give it a Latin-letter system name and add operators.

Group settings

  • Memberslist of operators

    The call rings everyone at once — whoever picks up first takes it. Only operators with an extension are counted in the list.

  • Ring timeoutseconds

    How long to ring before the call counts as missed. 30 by default. Anything below 20 seconds is too short — people do not make it in time.

  • Notify the ownerswitch

    If the customer is already in the database, the call and the notification also go to the manager attached to their latest lead. Very convenient: a returning customer reaches “their” manager rather than a random operator.

#Step 7. Inbound routes

A route connects a number to whoever answers it. One route per number, pointing either at a group or at a specific operator.

ScenarioHow to configure it
A general sales lineNumber → a group with every manager
A director’s personal numberNumber → a specific operator
Different departments on different numbersA separate group per department, each number pointing to its own group
Separating advertising sourcesSeveral numbers point to one group — the source is visible in the call history

#Step 8. Which number the customer sees

For outbound calls you can set which of your numbers the customer will see. It is configured on two levels:

  • Per project — every call within the project goes out from one number. Sensible when different business lines carry different brands.
  • Per operator — a personal outbound number. It takes priority and is useful when part of the team works a specific region.

#Step 9. Apply the configuration

Changes to trunks, numbers and routes do not take effect immediately — they have to be pushed to the telephony server. There is a dedicated page with four actions:

ActionWhat it doesWhen you need it
Sync accountsPushes trunks and operator extensions to the serverAfter adding a trunk or issuing a SIP account
Reload accountsAsks the server to re-read the credentialsIf the trunk does not register after a sync
Apply routingUpdates the call routing rulesAfter changing groups, routes or outbound numbers
Apply everythingRuns the sync and the routing togetherThe universal option — use it when in doubt

#Calling from the browser: what the operator does

  1. 01

    Allow microphone access

    On the first sign-in the browser asks for permission. If the operator accidentally clicked “Block”, the permission can be restored through the padlock icon in the address bar.

  2. 02

    Check the headset

    A wired USB headset gives noticeably better quality than Bluetooth or a laptop’s built-in microphone. For a call centre that is a requirement, not a preference.

  3. 03

    Call from the lead card

    Clicking the number in the card raises the connection immediately. The call, its duration and its recording are attached to that lead automatically.

  4. 04

    Take inbound calls

    When a customer calls, the CRM shows a notification and opens the lead card matched by the number — the operator sees the history before saying hello.

#Call recordings

  • Every conversation is recorded on separate tracks for the operator and the customer — that separation is what lets AI work out who said what.
  • The recording is available from the lead card and from the call list: playback right in the browser, and a download if needed.
  • The default retention period is 90 days; older files are deleted automatically every day.
  • Listening and downloading are governed by permissions — a regular operator may not be able to export audio.
  • Details about the player, filters and retention are in Call recordings.

#Diagnostics

SymptomMost likely causeWhat to do
The call button is inactiveTelephony is disabled globally, or the operator has no SIP accountCheck the master switch and issue an account in the user card
Outbound calls do not go throughThe trunk has not registered with the providerCheck the login, password and host, then “Apply everything”. If the provider authenticates by IP, switch registration off
Inbound calls do not reach the operatorsThe number has no route, or the group contains no operators with extensionsCreate the route and check the group membership
The call connects but one side hears silenceThe network is blocking media trafficTry another network. If it works over mobile internet, the question is about the office firewall
The customer sees the wrong numberNo outbound number is set for the project or operator, or the provider forbids substitutionSet the number in the settings and check with the provider whether substitution is allowed
Calls happen but do not appear in the leadCallbacks from the server are not reaching the CRMThis is a technical question — write to us and we will check the callback address
A recording does not playNo listening permission, or the file has already been deleted by the retention ruleCheck the role permissions and the recording retention period

#Permissions

ActionPermission
Calling from the browsercalls.sip_credentials
Seeing the call listcalls.view_records_list
Listening to recordingscalls.listen_records
Downloading recordingscalls.download_records
Seeing calls in the lead cardcalls.view_in_lead
Listening to recordings in the lead cardcalls.listen_in_lead
Telephony settingsAdministrator or superadministrator only

#Launch checklist

  • The provider details are in hand and the authentication method is confirmed
  • Telephony is switched on in the global settings
  • The trunk is created and active
  • Every number is added without a plus sign and attached to the trunk
  • Every operator has an extension
  • Inbound ring groups exist and the ring timeout is at least 20 seconds
  • Every number has a route
  • An outbound number is set for the project or for operators
  • “Apply everything” has been clicked
  • A test outbound call went through, and the call and its recording appeared in the lead
  • A test inbound call reached the group and opened the customer card
  • The recording retention period matches your data policy