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.

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 allPick a number that is not listed (and not otherwise in use in your route data), and use it as your {routeNumber} from here on.

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.comElement | 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 -shortAn 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:
MDSHonce 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
ENDInitialise 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) |
Parameter reference: Mitel MX-ONE CPI — Initiate a SIP Route
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
ENDInitialise 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
ENDRoute 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.

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.)

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).

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.

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.

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.