How can we help? 👋

Mitel - MX-One: Setup Guide

⚠️

This guide assumes you have configured your SIP trunk in the MBG (or similar) - please review the MBG Setup Guide if you have not configured this step.

Introduction

This guide will enable you to configure your MX-One to pass calls to the Voice AI system and provide configuration to enable the calls to be returned (if applicable with a CC platform).

Required data for configuration

Before you start, gather the following values. Items shown as {placeholders} or example values must be substituted with your own throughout the guide:

Data item
Used for
Placeholder / example in this guide
Where to get it
Trunk domain
The -uristring0 / -uristring1 request-URI host and the -realm
<Talkative-trunkdomain-ID>.sip.twilio.com
Talkative Voice Route Edit Page
Trunk user
-authname — the SIP digest username
siptrunkuser
Talkative Voice Route Edit Page
Trunk password
-password — the SIP digest password
{siptrunkpassword}
Talkative Voice Route Edit Page
Route number
Every command (sip_route, ROCAI, RODAI, ROEQI, RODDI)
{routeNumber}
Chosen by you — see Identify a suitable route number below
MBG IP address
-proxyip — the outbound proxy MX-ONE sends SIP to
10.191.220.107
Your MBG (SIP gateway) configuration
MX-ONE SIP address
-fromuri0 — the From-header host on outbound calls
10.191.220.96
Your MX-ONE server's own SIP IP/FQDN

Running the commands

The commands in this guide are entered on the MX-ONE server console. You can reach it in either of two ways:

  • SSH access — connect to the MX-ONE server over SSH and run the commands directly in the console.
  • Service Node Manager — open Tools → Command Line in the Service Node Manager to reach the same console from the management interface.
Service Node Manager - Command line interface GUI
Service Node Manager - Command line interface GUI

Either method gives you the prompt where the sip_route command and the MDSH commands (ROCAI, RODAI, ROEQI and RODDI) are run.

Locate your SIP Trunk credentials

You should already have your Talkative SIP trunk credentials — the trunk domain, trunk user and trunk password — and have configured them on your MBG, so you can simply carry them into the steps below.

If you don't have them yet, start with the Voice AI Mitel Integration Guide (START HERE) and complete the MBG Setup Guide first — your trunk credentials are issued and configured as part of that process.

Identify a suitable route number

Every route on the MX-ONE is identified by a route number (ROU) — a sequence number in the range 1–999. It can be any value in that range that isn't already in use; the specific number has no special meaning, but it must be used consistently everywhere.

Throughout the rest of this guide the placeholder {routeNumber} is used in place of an actual route number. Before you begin, choose one free value and substitute it for {routeNumber} in every command — sip_route, ROCAI, RODAI, ROEQI and RODDI all need to reference the same route, and it is the number your dial-plan / number conversion points at to send calls down the Talkative trunk.

To check which route numbers are already in use, print the existing SIP routes:

sip_route -print -route all

Pick a number that is not listed (and not otherwise in use in your route data), and use it as your {routeNumber} from here on.

An output from the SNM Console showing the currently in-use routes
An output from the SNM Console showing the currently in-use routes

Add Talkative SIP Route to MX-One

Use the following command to configure the Talkative SIP Route on the MX One as per the example below:

sip_route -set -route {routeNumber} -protocol udp -proxyip 10.191.220.107 -proxyport 5060 -remoteport 5060 -uristring0 sip:?@<Talkative-trunkdomain-ID>.sip.twilio.com -uristring1 sip:?@ <Talkative-trunkdomain-ID>.sip.twilio.com -fromuri0 sip:?@10.191.220.96 -accept ALL -trusted ID_ASSERT -priority 255 -register NO_REG -authname siptrunkuser -password {siptrunkpassword} -realm <Talkative-trunkdomain-ID>.sip.twilio.com
Element
What it is / what it's for
Value to pass
Where to get this value
sip_route -set
Creates or updates the SIP trunk interface data for a route. Run this before the ROCAI / RODAI / ROEQI RO-data commands
-route
Route number — must match the route used in the RO-data commands below
{routeNumber}
Your chosen route number — see Identify a suitable route number above
-protocol
SIP transport protocol used for call setup (udp, tcp or tls)
udp
udp by default; use tls for encrypted signalling (see the UDP/TLS note below)
-proxyip
Outbound proxy — the IP/FQDN that MX-ONE sends all SIP messages to. Set this to your MBG (SIP gateway) IP address, not Twilio's
10.191.220.107
Your MBG's SIP interface IP — from your MBG setup
-proxyport
Port on the proxy (MBG) that receives SIP (5060 for UDP/TCP, 5061 for TLS)
5060
5060 for UDP; 5061 if using TLS
-remoteport
Remote host port; passed on to the proxy for onward routing
5060
5060 for UDP; 5061 if using TLS
-uristring0
Request-URI template for outbound INVITEs (Unknown public numbers). The dialled B-number replaces ?; the host is the Talkative Twilio trunk domain
sip:?@<Talkative-trunkdomain-ID>.sip.twilio.com
The Twilio trunk domain — provided by Talkative
-uristring1
Same as uristring0 but for International (E.164) number type
sip:?@<Talkative-trunkdomain-ID>.sip.twilio.com
Same Twilio trunk domain — provided by Talkative
-fromuri0
Builds the From header on outbound INVITEs. The A-number (caller) replaces ?; the host is your MX-ONE's own SIP address
sip:?@10.191.220.96
Your MX-ONE's own SIP IP/FQDN
-accept
Matching rule for incoming calls. ALL accepts any incoming call and must be paired with -priority 255
ALL
Acceptable when MX-ONE only accepts SIP via the MBG — see the security note below
-trusted
Trusted-network handling of caller identity. ID_ASSERT presents the caller in a P-Asserted-Identity header (RFC 3325)
ID_ASSERT
Fixed — use as shown
-priority
Match priority for incoming calls (0–255, where 255 = lowest). Required to be 255 when -accept ALL is used
255
Fixed — must be 255 with -accept ALL
-register
Third-party registration mode. NO_REG = no REGISTER sent (the Talkative/Twilio trunk authenticates by IP + digest credentials, not registration)
NO_REG
Fixed — use as shown
-authname
Digest-auth username sent when the trunk is challenged (401 Unauthorized) — the SIP trunk username supplied by Talkative
{trunkusername}
SIP trunk username — provided by Talkative - usually siptrunkuser
-password
Digest-auth password paired with -authname — the SIP trunk password supplied by Talkative
{siptrunkpassword}
SIP trunk password — provided by Talkative
-realm
Digest-auth realm the credentials apply to — the Talkative Twilio trunk domain
<Talkative-trunkdomain-ID>.sip.twilio.com
The Twilio trunk domain — provided by Talkative

In short, the call path ties together like this: MX-ONE sends every SIP message to the -proxyip (your MBG), which forwards it on to the -uristring host (the Talkative Twilio trunk domain); the -fromuri host is your own MX-ONE identity, and -authname / -password / -realm are the trunk credentials Talkative provides so Twilio accepts the calls.

Parameter reference: Mitel MX-ONE CPI — sip_route

🔒

Security — why -accept ALL is acceptable here: -accept ALL accepts incoming calls regardless of source, so it relies on the surrounding network being locked down. This is safe only if your MX-ONE cannot be reached directly and all SIP traffic must arrive via the MBG — in that setup the MBG and your firewall are the real security boundary, and that is where source filtering belongs (for example, restricting inbound SIP to Twilio's published IP ranges). If your MX-ONE could receive SIP from anywhere other than the MBG, lock it down there first, and/or tighten this route to match only the MBG — e.g. -accept REMOTE_IP -match <MBG-IP> (with -priority set to a specific value rather than 255).

🔐

UDP or TLS: This guide uses UDP-protocol udp with the proxy and remote ports set to 5060. To use encrypted signalling instead, set -protocol tls and change both the proxy and remote ports to 5061. Using TLS also requires raising a support ticket with Talkative so we can enable forcing secure connections on your trunk configuration.

📢

The option to force secure (TLS) connections will be surfaced directly in the Talkative platform in an upcoming release. Until then, it is enabled by the Talkative support team on request.

 

To confirm the parameters have been set correctly, and to review them in the future run the following print command:

sip_route -route {routeNumber} -print -short

An example of the expected output is:

Route data for SIP destination
route : 9
  
protocol       = udp
profile        = Default
service        = PUBLIC
uristring0     = sip:?@<Talkative-trunkdomain-ID>.sip.twilio.com
uristring1     = sip:?@<Talkative-trunkdomain-ID>.sip.twilio.com
fromuri0       = sip:?@10.191.220.96
remoteport     = 5060
proxyip        = 10.191.220.107
proxyport      = 5060
accept         = ALL
register       = NO_REG
authname       = siptrunkuser
password       = {siptrunkpassword}
realm          = <Talkative-trunkdomain-ID>.sip.twilio.com
trusted        = ID_ASSERT

Change the connection to an MD Shell

💡

Using the Node Service Manager console? The System Tools → Console in the NSM already runs in the correct MD Shell context, so you can skip this step and go straight to the MDSH commands below. This step is only needed when you've connected over SSH, where you must switch to the MD Shell first.

If you connected over SSH, switch to an MD Shell using the following command:

MDSH

once this is run, you will have a new typing prompt which looks like this:

MDSH>

Initialise the Route Category from MDSH

Use the following command to configure the Route Category on the MX-ONE as per the example below:

ROCAI:ROU={routeNumber},SEL=7110000000000010,SIG=1111100000A0,TRAF=03151515,TRM=5,SERV=3100000007,DISL=128,DIST=30,BCAP=001100;
Element
What it is / what it's for
Suggested value
Where to get this value
ROCAI
Route Category Initiate — creates the route and a subset of its categories
ROU
Route number
{routeNumber}
Your chosen route number
SEL
Route selection category — controls line-selection behaviour for the route
7110000000000010
Fixed — recommended value (Talkative SIP profile)
SIG
Route signalling category — signalling relationship to the public exchange/PBX (D11=A denotes a SIP route)
1111100000A0
Fixed — recommended value
TRAF
Traffic category — traffic connection class / traffic group
03151515
Fixed — recommended value
TRM
Transmission category — attenuation/amplification applied to the route's lines
5
Fixed — recommended value
SERV
Route service category — service categories enabled for the route
3100000007
Fixed — recommended value
DISL
Disturbance level — consecutive faulty seizures tolerated before a line is disturbance-marked (default 128)
128
Default — use as shown
DIST
Disturbance time — minimum call duration to be regarded as not faulty (default 30)
30
Default — use as shown
BCAP
Bearer capability of the route
001100
Fixed — recommended value

Parameter reference: Mitel MX-ONE CPI — ROCAI

Confirm the parameters with the following print command:

ROCAP:ROU={routeNumber};
Element
What it is / what it's for
Suggested value
Where to get this value
ROCAP
Route Category Print — displays the route's category settings
ROU
Route number to print
{routeNumber}
Your chosen route number

and the expected output when using a route of 9 will be:

ROUTE CATEGORY DATA
ROU   CUST  SEL              TRM SERV       NODG DIST DISL TRAF     SIG          BCAP
9           7110000000000010 5   3100000007  0   30   128  03151515 1111100000A0 001100

END

Initialise the Route Signalling configuration from MDSH

Use the following command to configure the Route Signalling on the MX-ONE as per the example below:

RODAI:ROU={routeNumber},TYPE=TL66,VARI=00000000,VARO=00004104,VARC=00000000;
Element
What it is / what it's for
Suggested value
Where to get this value
RODAI
Route Data Initiate — adds further categories to the route created by ROCAI
ROU
Route number
{routeNumber}
Your chosen route number
TYPE
Type of signalling diagram (TL function block); TL66 is the SIP type
TL66
Fixed — TL66 for SIP
VARI
Signal diagram variations for incoming traffic (set to zeros when a SIP profile is used)
00000000
Fixed — use as shown
VARO
Signal diagram variations for outgoing traffic
00004104
Fixed — use as shown
VARC
Signal diagram variations common to incoming and outgoing traffic
00000000
Fixed — use as shown

Parameter reference: Mitel MX-ONE CPI — RODAI

Confirm the parameters with the following print command:

rodap:rou={routeNumber};
Element
What it is / what it's for
Suggested value
Where to get this value
rodap
Route Data Print — displays the route's signalling data
rou
Route number to print
{routeNumber}
Your chosen route number

and the expected output when using a route of 9 will be:

ROUTE DATA
ROU   TYPE  VARC        VARI        VARO        FILTER
9     TL66  H'00000000  H'00000000  H'00004104  NO

END

Initialise the Route Equipment position from MDSH

Use the following command to configure the Route equipment (number of trunks in the route) category on the MX-ONE as per the example below:

ROEQI:ROU={routeNumber},TRU=1-1&&1-10;
Element
What it is / what it's for
Suggested value
Where to get this value
ROEQI
Route Equipment Initiate — ties equipment/capacity to the route (run sip_route first)
ROU
Route number
{routeNumber}
Your chosen route number
TRU
Trunk range <lim>-<first>&&<lim>-<last> — sets which server (lim) handles SIP signalling and the call capacity (number of trunks)
1-1&&1-10 (lim 1, 10 concurrent calls)
Set the lim and capacity for your system (e.g. lim 1, N concurrent calls)

Confirm the parameters with the following print command:

roedp:rou={routeNumber},tru=all;
Element
What it is / what it's for
Suggested value
Where to get this value
roedp
Route Equipment Print — displays the trunks tied to the route
rou
Route number to print
{routeNumber}
Your chosen route number
tru
Trunk(s) to print
all
Use all to list every trunk

and the expected output when using a route of 9 will be:

ROUTE EQUIPMENT DATA
ROU   TRU      EQU           IP ADDRESS         INDDAT           CNTRL
9     001-1                                     H'000000000000
9     001-2                                     H'000000000000
9     001-3                                     H'000000000000
9     001-4                                     H'000000000000
9     001-5                                     H'000000000000
9     001-6                                     H'000000000000
9     001-7                                     H'000000000000
9     001-8                                     H'000000000000
9     001-9                                     H'000000000000
9     001-10                                    H'000000000000

END

Initialise the Route Destination from MDSH

Use the following command to configure the route category on the MX-ONE as per the example below:

💡

The DEST value is a route access code that you choose. It must be free in your MX-ONE number plan (it must not clash with existing number analysis), and it's the code your number conversion routes over the trunk — see Configure routing to Talkative SIP trunk incoming calls to the MX-ONE below.

RODDI:DEST={destAccessCode},ROU={routeNumber},SRT=4;
Element
What it is / what it's for
Suggested value
Where to get this value
RODDI
Route External Destination Data Initiate — defines the access code/destination that triggers the route
DEST
External destination — route access code for external traffic
{destAccessCode}
A route access code you choose — any value that's free in your MX-ONE number plan and that your number conversion routes over the Talkative trunk
ROU
Route number
{routeNumber}
Your chosen route number
SRT
Start position for digit transmission — where in the formed number digit sending begins (omit to start at the first digit)
4
Fixed — use as shown

Parameter reference: Mitel MX-ONE CPI — RODDI

Confirm parameters with the following print command:

roddp:DEST={destAccessCode};
Element
What it is / what it's for
Suggested value
Where to get this value
roddp
Route External Destination Data Print — displays the destination's route data
DEST
Destination to print
{destAccessCode}
The route access code you chose

and the expected output using a destination of 585 and a route of 9 will be:

EXTERNAL DESTINATION ROUTE DATA
DEST        DRN   ROU   CHO CUST  ADC                          TRC SRT NUMACK PRE
585               9               0005000000000250000000000000 0   4

END

Route inbound calls to the Voice AI bot

With the trunk and route configured, the final step is to get inbound calls onto the Talkative trunk and mapped to a Voice AI bot. There are several ways to bring calls into the trunk; the method shown here uses MX-ONE number conversion.

You can get to the number conversion by going to Number Analysis → Number Plan → Number Conversion and then click “Add” to add a new number conversion.

Number conversion index page
Number conversion index page

The inbound 12-digit number the call arrives on is stripped and replaced with two parts: your route's destination access code ({destAccessCode}586 in this example) and an arbitrary extension value (1000 in this example). It is this combined number that MX-ONE sends over the Talkative trunk to the Voice AI system, and it is the value you map to a specific bot in the next step. (Another option would be to use the Service Access of MiCC-E.)

Notion image

Map Route to a Voice AI Bot in Talkative

Once your MX-ONE number conversion is directing calls over the Talkative trunk, each route needs to be mapped to a Voice AI Bot in Talkative. Navigate to Settings → Voice Routing and click Create Voice Route (https://eu.engage.app/voice-routes).

Notion image

Make a test call through your MX-ONE route, then go to Settings → Twilio Call Log (https://eu.engage.app/twilio-call-log). The To column shows the exact full SIP URI (including any headers) that MX-ONE dialled into Talkative — this is the combined destination + extension number described above. Copy this value directly into the Endpoint field — no reformatting needed.

Notion image
Option
Suggested value
Details
Label
e.g. MX-ONE Route 586
A friendly name for internal identification
Endpoint
Full SIP URI from the Twilio Call Log
Copy the To value verbatim
Type
Voice AI Config
Voice AI Bot
{botName}
The bot to handle calls on this route

Click Save. Repeat for each route you have configured.

💡

You can have multiple routes mapping to the same bot. We recommend keeping the PSTN number available to make testing your bot easier, as this lets you dial your bot at any time.

Routing calls back to the MX-ONE

Within the Voice AI configuration you can transfer a call to a SIP address using a fully formed SIP address. By default, no contextual information about the call is included, so it will look like a normal inbound call.

Simple Handoff via SIP Refer

The simplest way to return a call to your MX-ONE is using a SIP Refer. This suits deployments where Talkative's console is not surfaced in your contact centre platform, or for testing basic transfer connectivity. No additional MX-ONE configuration is required beyond what has already been set up in this guide.

In your Voice Bot, add a Transfer Tool and configure a destination as follows:

Option
Value
Details
Transfer Type
SIP Refer
Issues a SIP REFER to transfer the call
Destination
sip:{extension}@__ORIGINATOR__
The username is the MX-ONE extension or hunt group to transfer to. Use __ORIGINATOR__ as the domain — Talkative automatically substitutes this with the originating call domain, ensuring resiliency. You may need to add appropriate headers if using TLS to ensure the connection succeeds.
Prompt
e.g. "Use this to transfer to the agent queue"
Tells the AI when to invoke this transfer
Voice Assist Config
Leave blank
Adding a Voice Assist Config switches the transfer type to SIP Dial — covered separately in the Interaction Parking guides
💡

Note: Using __ORIGINATOR__ as the domain is recommended — Talkative substitutes it with the originating call domain automatically, which avoids hardcoding a specific domain and improves resiliency.

Notion image
⚠️

If Voice Assist is a requirement, you will also need to ensure inbound SIP calls to the hunt-group / IVR extensions used by Interaction Parking are accepted by your MX-ONE — otherwise the SIP Dial will return a 404. A range of those extensions must be reachable over the trunk. This MX-ONE-specific configuration should be confirmed for your environment.

If you have a Contact Centre linked to your MX-ONE such as MCX or MiCC-E, you can configure workflows to use Interaction Parking to retrieve the metadata from Engage and apply it to the interaction.

Did this answer your question?
😞
😐
🤩