System Administration
System-wide administration guide for providers, billing, provisioning, global configuration, PBX nodes, tenants, users, security, reporting, themes, defaults, and admin settings.
Providers
Providers administration tasks.
Overview
Providers are global carrier trunks or external services used by routing profiles, inbound DIDs, SMS delivery, and cost handling. Use Admin > Providers to create SIP, PJSIP, IAX2, DAHDI, LOCAL, or SMS providers and to review live channel counters.
Providers list with fictional documentation providers.
Technology Selection
Technology
Use for
Typical fictional example
SIP
Legacy chan_sip carrier trunks or IP-authenticated SIP gateways.
Docs Telecom SIP Trunk at
203.0.113.20
PJSIP
Modern res_pjsip carrier trunks with endpoint, AOR, auth, and identify rows.
Docs Telecom PJSIP Trunk with TLS/SRTP
IAX2
IAX2 gateways or legacy interconnects.
Docs IAX2 Gateway on port
4569
DAHDI
Analog, PRI, or hardware channel-group routing controlled outside SIP/PJSIP realtime.
Docs Analog Gateway
LOCAL
Local PBX routing targets that should be selected like a provider.
Docs Local Route
SMS
SMS delivery via HTTP, JSON, SOAP, SIP MESSAGE, SMSPortal, or AGI script.
Docs SMS JSON Gateway
Configuration Workflow
Create or open a provider from Admin > Providers.
Complete the shared identity, outbound, and inbound fields that apply to the selected technology.
For SIP, PJSIP, or IAX2, enable Use Realtime Account when MiRTA PBX should maintain the Asterisk realtime rows.
Save the provider only after replacing the fictional documentation values with carrier-supplied production values.
Assign providers to routing profiles and test inbound DID matching, outbound dialing, caller ID presentation, and SMS delivery.
Operational Notes
Provider changes are global and can affect multiple tenants, routing profiles, DIDs, and SMS routes.
Use documentation-reserved IP addresses and example domains only for training material; never use them in production trunks.
Provider-level CallerID and CallerID Name override extension-derived caller ID for every call through the provider.
Max outbound channels prevents a trunk from being overused. When the limit is reached, routing can continue to another provider.
Shared Provider Fields
These fields appear on the provider page before technology-specific realtime options. Some fields are hidden when they do not apply to the selected provider technology.
Information
Provider Information fields filled with fictional SIP values.
Field
Applies to
Purpose
Fictional example
Name
All technologies
Friendly provider name shown in provider lists, route choices, reports, and provider-cost screens.
Docs Telecom SIP Trunk
Peer Name
All technologies
Stable technical identifier used by routing and, for realtime accounts, by Asterisk peer or endpoint rows. Keep it unique and avoid spaces.
docs_telecom_sip
Technology
All technologies
Selects the provider driver or service type. It controls which realtime and SMS fields are visible.
SIP,
PJSIP,
IAX2,
DAHDI,
LOCAL, or
SMS
Status
All technologies
Controls whether the provider is usable. Enabled allows inbound and outbound use, Disabled removes it from routing, Only Inbound keeps inbound handling only.
Enabled
Provider Costs
Existing providers
Opens the provider-cost editor for rating or cost data associated with the provider.
Open costs for
Docs Telecom SIP Trunk
Outbound Calls
Outbound Calls fields with fictional caller ID, digit, header, and routing values.
Field
Applies to
Purpose
Fictional example
Additional Header 1-6
SIP, PJSIP, IAX2, SMS
Adds SIP headers or SMS HTTP headers. Use one header per field in
Header-Name: value format.
X-Account-Code: docs-demo
CallerID Presentation
SIP, PJSIP, IAX2, DAHDI, LOCAL
Controls privacy and screening information sent when routing calls through the provider.
Auto Privacy, CallerID not screened
Digits to Add
All outbound providers
Prepends digits to the called number before the call or SMS is sent to the provider.
+1
Number of digits to Remove
All outbound providers
Removes leading digits from the called number before adding any outbound prefix.
1
CallerID Modifications
Voice providers
Optional outbound caller ID modification rule applied before the call leaves through this provider.
No Modifications or
Docs US E164 CallerID
CallerID
Voice providers
Forces a caller ID number for every call using the provider. Leave blank to use extension-derived caller ID.
+15551230000
CallerID Name
Voice providers
Forces a caller ID name for every call using the provider. Leave blank to use extension-derived caller ID name.
Docs Main
CallerID allowed regex
Voice providers
Validates caller ID numbers accepted by the carrier. If the current caller ID does not match, MiRTA PBX falls back to DID, extension, or tenant defaults.
^\+1555[0-9]{7}$
Max outbound channels
All outbound providers
Limits concurrent outbound channels. When the limit is reached, routing skips to another provider. Use Unlimited for no limit.
12
Penalty
All outbound providers
Provider selection weight used by routing and round-robin choices. Lower penalty is preferred.
10
Ignore SIP Cause codes
Voice providers
Continues to another provider even when this provider returns a SIP failure cause.
checked for fallback routing
Ignore BUSY
Voice providers
Continues to another provider when this provider returns BUSY and the route should keep searching.
checked for multi-carrier routes
Inbound Calls
Inbound Calls fields with fictional DID normalization and user variables.
Field
Applies to
Purpose
Fictional example
Inbound Digits to Add
Inbound voice providers
Prepends digits to the inbound DID or called number before destination matching.
+1
Inbound Number of digits to Remove
Inbound voice providers
Removes leading digits from the inbound DID or called number before adding any inbound prefix.
0
DID Modifications
Inbound voice providers
Optional modification rule applied to inbound called numbers before DID matching.
Docs US DID Normalize
Same provider IN and OUT
Inbound and forwarded voice calls
Controls whether calls entering from the provider may also be sent out through the same provider.
Yes
Allow custom extensions
Inbound voice providers
Allows inbound calls from the provider to match custom extensions. Use only for trusted providers.
unchecked
Normalize number
Inbound voice providers
Removes URI or signaling decoration before matching the number to PBX destinations.
checked
Get number from
Inbound SIP/PJSIP-style signaling
Chooses where the inbound called number is read from: standard Request-URI, SIP To header, or a fixed value.
SIP To: Header
Set to
When Get number from is Set to
Fixed DID or destination number used instead of a number from signaling.
+15551239999
Variable name 1-3
Inbound voice providers
Custom inbound channel variable name stored with the
USR- prefix for routing or dialplan logic.
ProviderName
Variable value 1-3
Inbound voice providers
Value assigned to the matching custom inbound channel variable.
Docs Telecom SIP Trunk
Save, Delete, and Back
Field
Applies to
Purpose
Fictional example
Save
All providers
Stores the provider and creates, updates, or removes realtime account rows as required by the selected technology and Use Realtime Account.
Save after replacing all fictional values.
Delete
Existing providers
Deletes the provider and removes related realtime rows for SIP, PJSIP, or IAX2 providers.
Delete an unused
Docs Test Provider after checking routing references.
Back
All providers
Returns to the Providers list without submitting the form.
Use after reviewing settings.
Floating Save
Long forms
Lets administrators save from lower sections without scrolling back to the bottom button row.
Visible while editing realtime account fields.
SIP Provider
Use SIP technology for chan_sip provider trunks. SIP providers can create and maintain a global
sipfriends realtime row when Use Realtime Account is enabled.
SIP realtime account settings with fictional chan_sip trunk values.
Common Realtime Fields
Field
Applies to
Purpose
Fictional example
Use Realtime Account
SIP, PJSIP, IAX2
Creates and maintains the Asterisk realtime peer, endpoint, AOR, auth, or IAX row for the provider.
checked
Transport
SIP, PJSIP
SIP signaling transport. For PJSIP this maps to transport objects such as
transport-udp,
transport-tcp, or
transport-tls.
UDP or
TLS
RTP Encryption (SRTP)
SIP, PJSIP
Enables SRTP media encryption when supported by the provider. PJSIP stores this as
media_encryption=sdes.
No for standard UDP SIP,
Yes for TLS/SRTP trunks
Host
SIP, PJSIP, IAX2
Remote provider address. Use an IP address when inbound realtime matching must identify the carrier by source IP.
203.0.113.20
Port
SIP, PJSIP, IAX2
Remote signaling port. Defaults are commonly 5060 for SIP/PJSIP and 4569 for IAX2.
5060
Outbound Proxy
SIP, PJSIP
Proxy URI or host used for outbound signaling when required by the carrier.
sip-proxy.example.invalid
Username
SIP, PJSIP, IAX2
Authentication username sent to the provider. PJSIP stores this in
ps_auths.username, chan_sip as
defaultuser.
docs_sip_user
Password
SIP, PJSIP, IAX2
Authentication secret for the provider. Use a unique carrier-supplied or generated secret.
FictionalSecret-2026
Qualify
SIP, PJSIP
Enables SIP OPTIONS reachability checks and controls timeout behavior.
Yes
Qualify Frequency
SIP, PJSIP
Interval in seconds between provider reachability checks.
60 secs
Codecs
SIP, PJSIP, IAX2
Allowed audio codecs. MiRTA PBX stores
disallow=all and the selected allow list.
alaw,
ulaw,
g722
Session Expires
SIP, PJSIP
Maximum SIP session refresh interval in seconds.
1800
DTMF Mode
SIP, PJSIP
DTMF signaling method. PJSIP maps RFC 2833 to
rfc4733.
RFC 2833/RFC 4733
RTP Keepalive
SIP, PJSIP
Sends RTP keepalive packets to help keep NAT bindings and media paths active.
5 seconds
SIP-Only Fields
Field
Applies to
Purpose
Fictional example
From User
SIP only
chan_sip
fromuser value used in the SIP From header.
+15551230000
From Domain
SIP only
chan_sip
fromdomain value used when the provider requires a specific domain in the From header.
sip.example.invalid
Send RPID
SIP only
Controls whether caller identity is sent using Remote-Party-ID, P-Asserted-Identity, or both.
PAI
Trust RPID
SIP only
Controls whether inbound Remote-Party-ID or P-Asserted-Identity data is trusted for caller identity.
PAI
Trust Outbound for CallerID Presentation
SIP only
Controls how prohibited caller presentation is handled in RPID/PAI headers.
Legacy
Session Timers
SIP only
chan_sip session timer policy: accept remote requests, originate timers, or refuse timers.
Accept
Progress inband
SIP only
Controls whether Asterisk generates in-band progress audio before answer.
Yes
NAT
SIP only
chan_sip NAT behavior.
force_rport,comedia is common for symmetric RTP and response routing.
force_rport,comedia
Call response timer (ms) - T1
SIP only
Milliseconds to wait for response to SIP messages.
500
Call setup timer (ms) - B
SIP only
Maximum milliseconds to wait for call setup before autocongestion when no provisional response arrives.
5000
Can Reinvite
SIP only
Allows Asterisk to attempt direct media re-invites. Use No when recording, NAT, or media control should keep Asterisk in the RTP path.
No
Allow Transfer
SIP only
chan_sip
allowtransfer. When enabled, the peer may request SIP REFER transfers.
No
Insecure
SIP only
chan_sip authentication matching option. Port, Invite is common for IP-authenticated trunks.
Port, Invite
Use Path
SIP only
Controls chan_sip RFC 3327 Path processing for REGISTER requests and stores the value as
sipfriends.supportpath. System default leaves the realtime option unset. Enable Yes only when registrations arrive through a trusted SIP proxy that removes untrusted client-supplied Path headers.
No
Fictional SIP Example
Name: Docs Telecom SIP Trunk
Peer Name: docs_telecom_sip
Technology: SIP
Host: 203.0.113.20
Port: 5060
Username: docs_sip_user
From User: +15551230000
From Domain: sip.example.invalid
NAT: force_rport,comedia
Insecure: Port, Invite
PJSIP Provider
Use PJSIP technology for res_pjsip provider trunks. MiRTA PBX maintains related
ps_endpoints,
ps_aors,
ps_auths, and
ps_endpoint_id_ips rows when realtime is enabled.
PJSIP realtime account settings with fictional res_pjsip trunk values.
Common Realtime Fields
Field
Applies to
Purpose
Fictional example
Use Realtime Account
SIP, PJSIP, IAX2
Creates and maintains the Asterisk realtime peer, endpoint, AOR, auth, or IAX row for the provider.
checked
Transport
SIP, PJSIP
SIP signaling transport. For PJSIP this maps to transport objects such as
transport-udp,
transport-tcp, or
transport-tls.
UDP or
TLS
RTP Encryption (SRTP)
SIP, PJSIP
Enables SRTP media encryption when supported by the provider. PJSIP stores this as
media_encryption=sdes.
No for standard UDP SIP,
Yes for TLS/SRTP trunks
Host
SIP, PJSIP, IAX2
Remote provider address. Use an IP address when inbound realtime matching must identify the carrier by source IP.
203.0.113.20
Port
SIP, PJSIP, IAX2
Remote signaling port. Defaults are commonly 5060 for SIP/PJSIP and 4569 for IAX2.
5060
Outbound Proxy
SIP, PJSIP
Proxy URI or host used for outbound signaling when required by the carrier.
sip-proxy.example.invalid
Username
SIP, PJSIP, IAX2
Authentication username sent to the provider. PJSIP stores this in
ps_auths.username, chan_sip as
defaultuser.
docs_sip_user
Password
SIP, PJSIP, IAX2
Authentication secret for the provider. Use a unique carrier-supplied or generated secret.
FictionalSecret-2026
Qualify
SIP, PJSIP
Enables SIP OPTIONS reachability checks and controls timeout behavior.
Yes
Qualify Frequency
SIP, PJSIP
Interval in seconds between provider reachability checks.
60 secs
Codecs
SIP, PJSIP, IAX2
Allowed audio codecs. MiRTA PBX stores
disallow=all and the selected allow list.
alaw,
ulaw,
g722
Session Expires
SIP, PJSIP
Maximum SIP session refresh interval in seconds.
1800
DTMF Mode
SIP, PJSIP
DTMF signaling method. PJSIP maps RFC 2833 to
rfc4733.
RFC 2833/RFC 4733
RTP Keepalive
SIP, PJSIP
Sends RTP keepalive packets to help keep NAT bindings and media paths active.
5 seconds
PJSIP-Specific Fields
Field
Applies to
Purpose
Fictional example
Transport
PJSIP only
Maps to the selected PJSIP transport object. Use TLS when the carrier requires encrypted signaling.
TLS
Host and Port
PJSIP only
Used to build the AOR contact and, when Host is an IP address, the endpoint identify match.
198.51.100.30:5061
Username and Password
PJSIP only
Stored in
ps_auths. If username is empty, MiRTA PBX does not attach username/password auth.
docs_pjsip_user
Outbound Proxy
PJSIP only
PJSIP outbound proxy string for the endpoint.
sip:edge.example.invalid;transport=tls
Send RPID
PJSIP only
Maps to PJSIP
send_rpid and
send_pai.
PAI
Direct Media
PJSIP only
Allows PJSIP to attempt direct RTP. Disable when NAT, recording, transcoding, or media control requires Asterisk in the RTP path.
No
Allow Transfer
PJSIP only
PJSIP
allow_transfer. When enabled, the endpoint may request SIP REFER transfers.
No
RTP Encryption (SRTP)
PJSIP only
Stores
media_encryption=sdes when enabled.
Yes
Qualify Frequency and Timeout
PJSIP only
Stored on the AOR as
qualify_frequency and
qualify_timeout.
60 secs
Support Path
PJSIP only
Enables Path support on the provider AOR for REGISTER requests and Route support for other requests. The value is stored as
ps_aors.support_path; System default leaves it unset. Enable Yes only for registrations received through a trusted SIP proxy.
No
Fictional PJSIP Example
Name: Docs Telecom PJSIP Trunk
Peer Name: docs_telecom_pjsip
Technology: PJSIP
Transport: TLS
RTP Encryption: Yes
Host: 198.51.100.30
Port: 5061
Outbound Proxy: sip:edge.example.invalid;transport=tls
Send RPID: PAI
Direct Media: No
Allow Transfer: No
IAX2 Provider
Use IAX2 technology for IAX trunks and legacy interconnects. IAX2 uses fewer signaling fields than SIP/PJSIP and stores its realtime account in
iaxfriends.
IAX2 realtime account settings with fictional gateway values.
IAX2 Fields
Field
Applies to
Purpose
Fictional example
Host
IAX2 only
Remote IAX2 peer address.
203.0.113.45
Port
IAX2 only
Remote IAX2 signaling/media port.
4569
Username
IAX2 only
Stored as the IAX2 username used for authentication.
docs_iax_user
Password
IAX2 only
IAX2 secret used for authentication.
FictionalSecret-2026
Codecs
IAX2 only
Allowed codecs stored in the IAX realtime row.
alaw,
ulaw
Use Realtime Account
IAX2 only
Creates or updates the row in
iaxfriends.
checked
Shared Routing Fields
IAX2 providers still use the shared outbound and inbound fields for digit manipulation, caller ID presentation, caller ID fallback, channel limits, penalties, and custom inbound variables.
Fictional IAX2 Example
Name: Docs IAX2 Gateway
Peer Name: docs_iax2_gateway
Technology: IAX2
Host: 203.0.113.45
Port: 4569
Username: docs_iax_user
Codecs: alaw, ulaw
DAHDI Provider
Use DAHDI technology for analog, PRI, or hardware channel-group resources that are managed by the telephony node outside SIP/PJSIP realtime. DAHDI providers do not show the realtime account block.
DAHDI provider fields with fictional analog gateway values.
DAHDI Field Details
Field
Applies to
Purpose
Fictional example
Technology
DAHDI only
Use when routing to analog, PRI, or channel-group resources managed by DAHDI outside SIP/PJSIP realtime.
DAHDI
Peer Name
DAHDI only
Identifier operators recognize as the DAHDI group or channel target.
dahdi_docs_group1
CallerID Presentation
DAHDI only
Controls presentation flags applied before dialing through the DAHDI provider.
Auto Privacy and Screen
Digits to Add / Remove
DAHDI only
Normalizes outbound numbers for PSTN gateway expectations.
Remove
0, add blank
Get number from / Set to
Inbound DAHDI use
Sets or normalizes the inbound called number when signaling does not carry the DID in a SIP-style header.
Set to +15551234444
Max outbound channels
DAHDI only
Protects limited analog or PRI capacity.
4
Shared Fields Still Used
DAHDI providers still use provider name, peer name, status, outbound digit manipulation, caller ID presentation, caller ID overrides, caller ID allowed regex, max outbound channels, penalty, inbound digit manipulation, DID modifications, custom variables, and save/delete controls.
Fictional DAHDI Example
Name: Docs Analog Gateway
Peer Name: dahdi_docs_group1
Technology: DAHDI
Status: Enabled
Max outbound channels: 4
Get number from: Set to +15551234444
LOCAL Provider
Use LOCAL technology when a PBX-local route should be selected by routing profiles like a provider. LOCAL providers do not create SIP, PJSIP, or IAX realtime rows.
LOCAL provider fields with fictional local route values.
LOCAL Field Details
Field
Applies to
Purpose
Fictional example
Technology
LOCAL only
Uses a local route target instead of an external SIP/IAX/DAHDI carrier account.
LOCAL
Peer Name
LOCAL only
Stable local-route identifier for administrators and routing profiles.
docs_local_route
Digits to Add / Remove
LOCAL only
Normalizes the number before local routing.
No add, remove
0
CallerID and CallerID Name
LOCAL only
Optionally forces caller ID for calls sent through the local route.
+15551230000 and
Docs Local
Max outbound channels
LOCAL only
Limits local-route concurrency, or Unlimited when no limit is needed.
Unlimited
Inbound options
LOCAL when used for inbound-like routing
Can still normalize destination numbers and set custom variables before matching.
Normalize number checked
Shared Fields Still Used
LOCAL providers still use common identity, status, outbound digit manipulation, caller ID controls, max outbound channels, penalty, inbound normalization, DID modification, and custom variable fields. Additional SIP/SMS headers and realtime account settings are hidden.
Fictional LOCAL Example
Name: Docs Local Route
Peer Name: docs_local_route
Technology: LOCAL
Status: Enabled
Max outbound channels: Unlimited
Penalty: 50
SMS Provider
Use SMS technology for outbound text-message delivery. SMS providers reuse provider identity, status, outbound digit manipulation, additional headers, channel limits, and penalty fields, then expose protocol-specific delivery fields.
SMS Field Details
Field
Applies to
Purpose
Fictional example
SMS Protocol
SMS only
Selects delivery method: Web URL, JSON Web URL, SOAP Web URL, SIP MESSAGE, SMSPORTAL, or AGISCRIPT.
JSONWEBURL
SIP Provider
SMS SIPMESSAGE
SIP provider used to send outbound SMS with SIP MESSAGE.
Docs Telecom SIP Trunk
SMS URL/AGI Script Name
WEBURL, JSONWEBURL, SOAPWEBURL, AGISCRIPT
HTTP endpoint or AGI script name used for delivery.
https://sms.example.invalid/v1/messages
SOAP Action
SOAPWEBURL
SOAPAction header value sent with SOAP SMS requests.
SendMessage
HTTP Content Type
JSONWEBURL, SOAPWEBURL
Content-Type header. Leave blank to use the protocol default when acceptable.
application/json or
text/xml
User / Password
WEBURL, JSONWEBURL, SOAPWEBURL
HTTP authentication credentials when required by the SMS provider.
docs-json-user and a fictional secret
Client ID / API Secret
SMSPORTAL
SMSPortal credentials. MiRTA PBX uses them to request a bearer token before sending messages.
fictional-client-id
Post data
WEBURL
POST body in
param=value¶m2=value format. Values are not automatically URL encoded.
to=${SMSDESTNUM}&text=${URIENCODE(${SMSTEXT})}
JSON data
JSONWEBURL
One
field.path:value[:type] line per JSON field. Dot notation creates nested objects; numeric parts can create JSON arrays.
messages.0.content:${SMSTEXT}
SOAP data
SOAPWEBURL
SOAP or XML body sent to the SMS provider.
${SMSTEXT}
Additional Header 1-6
SMS HTTP protocols
Extra HTTP headers for SMS requests.
Authorization: Bearer fictional-token
JSON Web URL
SMS JSON Web URL provider with nested JSON fields and fictional values.
JSON Web URL post data uses one line per JSON field in
field.path:value[:type] format. Dot notation creates nested objects. Numeric path parts create numeric object keys which encode as JSON array indexes when sequential. Use
:array to force a single-value array.
sender.number:${SMSSOURCENUM}
sender.name:${SMSNAME}
messages.0.destination:${SMSDESTNUM}
messages.0.content:${SMSTEXT}
message.metadata.tenant:${TENANTNAME}
recipients:${SMSDESTNUM}:array
Web URL
SMS Web URL provider with fictional POST data.
Web URL post data is sent as a raw form-style body. The script does not automatically URL encode values, so encode values explicitly when the provider requires it.
SOAP Web URL
SMS SOAP Web URL provider with fictional SOAP action and XML data.
SOAP Web URL sends the configured SOAP/XML body and optional SOAPAction header. Set HTTP Content Type to
text/xml unless the provider documents a different value.
SMSPortal
SMSPortal provider with fictional client credentials.
SMSPortal uses the Client ID and API Secret to request a bearer token from the SMSPortal REST API before sending the message payload.
SIP MESSAGE
SMS SIP MESSAGE provider with a fictional SIP provider selection.
SIP MESSAGE sends the SMS through a selected SIP provider. Choose a SIP provider that is trusted and configured for message delivery.
AGI Script
AGISCRIPT runs the named AGI script for SMS delivery. Use this only for custom integrations maintained by the PBX administrator. The SMS URL/AGI Script Name field stores the script name.
Available SMS Variables
Variable
Meaning
${SMSDESTNUM}
Destination number after SMS routing and digit handling.
${SMSSOURCENUM}
Source number for the message.
${SMSNAME}
Peer or sender name available to the SMS script.
${SMSTEXT}
Message text.
${EMERGENCYNOTES}
Emergency notes from the extension when available.
${TENANTNAME}
Tenant name.
${BILLINGCODE}
Tenant billing code.
${EXTRACODE}
Tenant extra code.
${EXTRAFIELD001},
${EXTRAFIELD002},
${EXTRAFIELD003}
Tenant custom extra fields.
Billing
Billing administration tasks.
Tenants Dashboard
Review tenant balances, usage exposure, and billing state.
Use Admin > Tenants Dashboard to manage tenants dashboard.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Providers Dashboard
Review provider balance and traffic indicators.
Use Admin > Providers Dashboard to manage providers dashboard.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning. The source form exposes these main blocks or fields: From, To.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Main Fields
Field or block
Purpose
From
Review this value in relation to the object being configured and the tenant or system scope where it is used.
To
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Outbound Call Rates
Maintain outbound rate tables used to price calls.
Use Admin > Outbound Call Rates to manage outbound call rates.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Inbound Call Rates
Maintain inbound rate tables used for DID and inbound traffic billing.
Use Admin > Inbound Call Rates to manage inbound call rates.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Conference Rooms Rates
Maintain rates applied to hosted conference-room usage.
Use Admin > Conference Rooms Rates to manage conference rooms rates.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Provisioning
Provisioning administration tasks.
Phone Models
Maintain provisioning model definitions and templates for supported phones.
Use Admin > Phone Models to manage phone models.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning. The source form exposes these main blocks or fields: Password, .
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Main Fields
Field or block
Purpose
Password
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Button Layout Templates
Maintain reusable button layouts for provisioned devices.
Use Admin > Button Layout Templates to manage button layout templates.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning. The source form exposes these main blocks or fields: Password, .
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Main Fields
Field or block
Purpose
Password
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Custom Files
Manage global provisioning files that can be served to devices.
Use Admin > Custom Files to manage custom files.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Variables
Define provisioning variables used by phone templates.
Use Admin > Variables to manage variables.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Provisioned Phones
Review phones that have requested provisioning files.
Use Admin > Provisioned Phones to manage provisioned phones.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Phone Descriptions
Provisioned phone records can include a Description value for administrator notes, such as the device location, responsible person, or installation context. The field is stored on the phone record only and does not change generated provisioning files or call behavior.
Phone record form showing the informational Description field.
Phone Model Examples
This page collects provisioning examples and phone-model notes for supported devices. Use them as starting points and adjust the templates to match the firmware and tenant requirements.
Grandstream GXP2130
SNOM 710
Cisco SPA504G
Yealink T28P
AAstra/Mitel 6869i
Htek UC903
Provisioning Templates
Yealink pre v.72
Yealink v.72
Yealink v.72 - directory request
Digium D40/D45 - MAC request
Digium D40/D45 - directory request
Polycom VVX - MAC request
Polycom VVX - directory request
Cisco 7940/60 - MAC request
Cisco SPA5xx - MAC request
AAstra/Mitel 6869i - MAC request
AAstra/Mitel 6869i - MAC request (separate button layout)
Grandstream GXP2130 - MAC request
Grandstream GXP2130 with VPK - MAC request
Grandstream - directory request
Grandstream HT812 / HT814 - MAC request
Grandstream GS Wave
Htek UC903 - MAC request
SNOM 7xx
Sangoma S300 - MAC request
Zoiper - QR Code
Fanvil X4U
Fanvil X4U - Reference XML
Grandstream Dialplan
Grandstream forces to use a dialplan on most call features. For some, you can skip the dialplan, but if you want to have BLF for Parking Lots, you need to customize the dial plan for your tenant. So for example, with a tenant code of DEVEL, you need to enter a dialplan entry like x+\-[\a-\z\A-\Z0-9]+
Polycom provisioning reset
How to Perform a Hard Reset
Use the below steps if the following is met:
The phone is on a boot loop and no longer going to the home menu
The default password or mac password doesn't work
If it's a 3rd party phone
The account is already canceled and you cannot access Account Manager or Admin Console to download the extension CSV
Reboot the phone and wait for the starting application.
While the phone is in the starting application wait for the cancel button to appear then press it.
The phone will show a 7 second count down. This is the only open window to press the key combination to go to the hard reset page.
VVX series (VVX300, 301, 310, 311, etc): Press and hold 1 3 5 within the 7-second count down until it prompts you to the password page
Sound Point IP 335: Press and hold 1 3 5 7 within the 7-second count down until it prompts you to the password page
Sound Point IP series (IP550,560,570, etc): Press and hold 4 6 8* within the 7-second count down until it prompts you to the password page
Conference Phone IP5000, 6000, 7000: Press and hold 1 3 5 7 within the 7-second count down until it prompts you to the password page
Enter the device's MAC ID as the password (e.g 0004f28619dc).
Press the 2nd soft key that corresponds to the mode or (encoding) to change it to A->abc or a->abc.
Then (for example) to select the letter F, press the 3 key three times.
Current Practice
Create or edit phone models in Admin > Provisioning > Phone Models. Keep model names precise, store templates in the phone model, and test with one phone before applying a template to many devices.
Grandstream GXP2130
Back to Phone Model Examples
This is an executive phone compatible with the predefined “Grandstream GXP” template.
Log into the phone interface
Locate the Upgrade and Provisioning menu
Configure as shown below
In detail, select Upgrade via “HTTPS”, clean Firmware Server Path if not used, enter the Config Server Path as shown on the Configuration/Provisioning/Phones page, in this example:
demo.mirtapbx.com/mirtapbx/autoprovision/RuLPYWuESutnFCtc/
Do not enter the protocol!
Set the DHCP options to No if not used, save and apply. Reboot your phone.
SNOM 710
Back to Phone Model Examples
Locate the Advanced Settings and choose the “Update” tab. Enter the server url ending with {mac}.xml like https://demo.mirtapbx.com/mirtapbx/autoprovision/uhn73YrfXp2Jmf9U/{mac}.xml
Cisco SPA504G
Back to Phone Model Examples
This phone has several layer of configuration, so the first step will be to reach the correct one. Once logged in, click on the “Admin login” and then on “Advanced” on the top right corner.
You can now configure the provisioning, by enabling it and entering the provisioning URL. The phone can request automatically its MAC address if the $MAC.xml variable is set in the provisioning URL, like:
https://demo.mirtapbx.com/mirtapbx/autoprovision/twNX3K4HrYqcNjbZ/$MA.xml
Unfortunately Cisco decided to not allow the usage of third party CA and request you to use their CA for your SSL service. If you can't, you are forced to provision over HTTP.
Yealink T28P
Back to Phone Model Examples
Starting with firmware version 72, Yealink changed the provisioning configuration format, so you need first to check your version and pickup the right template.
Provisioning Yealink is easy, you need to enter the URL in the Provisioning page as follows:
To have the phone automatically insert the phone MAC address, you need to enter the special variable $mac like:
https://demo.mirtapbx.com/mirtapbx/autoprovision/24cWZKq2wppjEqmV/$mac.cfg
It is possible your phone will refuse to provision due to a not recognized SSL certificate. In this case you can upload your own CA or just force the phone to accept any certificate by disabling the option “Only Accept Trusted Certificates”
AAstra/Mitel 6869i
Back to Phone Model Examples
Provisioning this model is a bit trickier than usual. At boot time the phone requires several files in order
security.tuz
startup.cfg
aastra.cfg
If aastra.cfg file is not obtained from the provisioning server, no other files are requested. As you can see, no file containing the MAC address is yet requested. To make it go further is needed to create an empty file and upload in the custom file section.
Once this file is offered to the phone using the provisioning server, the phone requires two additional files:
6869i.cfg
{MAC}.cfg
With {MAC} replaced with the MAC address of the phone.
For documentation completeness, some files are requested too:
aastra.lic
{MAC}.lic
6869i.st
In the phone choose the preferred method between HTTP and HTTPS and provide the server hostname, without the protocol part, in my case just demo.mirtapbx.com and the path for the provisioning, like /mirtapbx/autoprovision/W7H85Znu7nDrnPn6/
Please note on the model I have, it was not possibile to use HTTPS because the certificate was crashing the phone, maybe for a too long certificate chain. A better (more expensive) certificate, with a shorter chain, may work.
Htek UC903
Back to Phone Model Examples
The phone provisioning is set using the Management top menu and then the Autoprovision left menu
The URL to enter is the simplest one, like
https://demo.mirtapbx.com/mirtapbx/autoprovision/TBP96HnRhZxs7JbP/
In case your certificate is not accepted by the phone, it can be worth trying to allow any certificate or use not encrypted http
Yealink pre v.72
Back to Phone Model Examples
{line_loop}
[ account ]
path= /config/voip/sipAccount{$line_m1}.cfg
Enable = {$line_active}
Label = {$displayname}
DisplayName = {$displayname}
UserName = {$username}
AuthName = {$authname}
password = {$secret}
MissedCallLog = {$missed_call_log|0}
AutoAnswer = {$auto_answer|0}
SIPServerHost = {$server_host}
SIPServerPort = {$server_port}
SIPListenRandom = 0
SIPListenPort = {$local_port}
Expire = {$server_expires}
UseOutboundProxy = {$enable_outbound_proxy_server}
OutboundHost = {$outbound_host}
OutboundPort = {$outbound_port}
EnableEncrypt = 0
EncryptKey = 29749
EncryptVersion = 1
BakOutboundHost = {$backup_outbound_host}
BakOutboundPort = {$backup_outbound_port}
EnableSTUN = {$enable_stun}
proxy-require = 0
ptime = 20
srtp_encryption = 0
srtp_encryption_algorithm = 0
BackupSIPServerHost = {$backup_server_host}
BackupSIPServerPort = {$backup_server_port}
Enable 100Rel = 0
precondition = 0
SubsribeRegister = 0
CIDSource = 0
EnableSessionTimer = 0
SessionExpires =
SessionRefresher = 0
EnableUserEqualPhone = 0
BLFList_URI =
SubsribeMWI = {$subscribe_mwi|1}
AnonymousCall = 0
RejectAnonymousCall = 0
Transport = {$transport|0}
ShareLine =
dialoginfo_callpickup =
AnonymousCall_OnCode =
AnonymousCall_OffCode =
AnonymousReject_OnCode =
AnonymousReject_OffCode =
BLANumber =
SIP Registration Retry Timer = {$sip_registration_retry_timer|30}
[ Message ]
path=/config/Features/Message.cfg
#Set voicemail number for each account
VoiceNumber{$line_m1} = {$voicemail_number}
[ audio0 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 1
PayloadType = PCMU
priority = 1
rtpmap = 0
[ audio1 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 1
PayloadType = PCMA
priority = 2
rtpmap = 8
[ audio2 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 0
PayloadType = G723_53
priority = 0
rtpmap = 4
[ audio3 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 0
PayloadType = G723_63
priority = 0
rtpmap = 4
[ audio4 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 1
PayloadType = G729
priority = 3
rtpmap = 18
[ audio5 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 0
PayloadType = G722
priority = 0
rtpmap = 9
[ audio6 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 0
PayloadType = iLBC
priority = 3
rtpmap = 97
[ audio7 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 0
PayloadType = G726-16
priority = 0
rtpmap = 112
[ audio8 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 0
PayloadType = G726-24
priority = 0
rtpmap = 102
[ audio9 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 0
PayloadType = G726-32
priority = 0
rtpmap = 2
[ audio10 ]
path=/config/voip/sipAccount{$line_m1}.cfg
enable = 0
PayloadType = G726-40
priority = 0
rtpmap = 104
[ DTMF ]
path=/config/voip/sipAccount{$line_m1}.cfg
DTMFInbandTransfer = 1
DTMFPayload = 101
DTMFToneLen = 300
InbandDtmfVolume = 0
RxLatency = 20
CPTToneCountry = 12
G726CodeWord = 1
InfoType = 0
[ NAT ]
path=/config/voip/sipAccount{$line_m1}.cfg
MaxRTPPort = 11800
MinRTPPort = 11780
NATTraversal = {$nat_trans}
STUNServer = {$stun_server}
STUNPort = {$stun_server_port}
EnableUDPUpdate = {$udp_keepalive_enable}
UDPUpdateTime = {$udp_keepalive_seconds}
rport = {$rport_enable}
[ ADVANCED ]
path=/config/voip/sipAccount{$line_m1}.cfg
default_t1 = 0.5
default_t2 = 4
default_t4 = 5
[blf]
path=/config/voip/sipAccount{$line_m1}.cfg
SubscribePeriod = 3600
{/line_loop}
[ VLAN ]
path = /config/Network/Network.cfg
#ISVLAN,VID and USRPRIORITY are used for VLAN on LAN port
#PC_PORT_VLAN_ENABLE,PC_PORT_VID and PC_PORT_PRIORITY are used for PC port
ISVLAN = {$voice_vlan_enable}
VID = {$voice_vlan_id}
USRPRIORITY = 0
PC_PORT_VLAN_ENABLE = {$data_vlan_enable}
PC_PORT_VID = {$data_vlan_id}
PC_PORT_PRIORITY = 0
[ ContactList ]
path = /tmp/download.cfg
#to specify a XML phonebook for update
#an example for a right server_address:http://192.168.0.132:9/file_provision/contactData1.xml
server_address = {$contact_list_address}
{loop_remotephonebook}
[ RemotePhoneBook{$number} ]
path = /config/Setting/Setting.cfg
URL = {$url}
Name = {$name}
{/loop_remotephonebook}
[ ringtone ]
path = /tmp/download.cfg
#to specify a ringtone for update
#the format of the ringtone must be WAV
#an example for a right server_address:ftp://wxf:123456@192.168.0.132:21/Ring20.wav
server_address = {$ringtone_url}
[Logo]
path = /tmp/download.cfg
server_address = {$logo_url}
[ Features ]
path = /config/Features/Phone.cfg
Call_Waiting = 1
Hotlinenumber =
BusyToneDelay =
LCD_Logo = {$lcdlogo}
DND_Code = 480
Refuse_Code = 480
DND_On_Code = *181
DND_Off_Code = *182
ButtonSoundOn = 1
[ Webserver Type ]
path = /config/Advanced/Advanced.cfg
WebType =
{loop_memkey}
[ memory{$key} ]
path = /config/vpPhone/vpPhone.ini
Line = {$line}
type = {$parameter}
Value = {$extension}
Callpickup =
DKtype = {$type}
PickupValue = {$pickup_value}
{/loop_memkey}
#START Line Key Options
{loop_linekey}
[ memory{$number} ]
path = /config/vpPhone/vpPhone.ini
type = {$mode}
DKtype = {$type}
Line = {$line}
Value = {$extension}
{/loop_linekey}
#END Line Key Options
#START DialNow configuration
[ DialNow ]
path = /tmp/dialnow.xml
{loop_dialnow}
{$count} = {$rule}
{/loop_dialnow}
#END DialNow configuration
{loop_sdext38}
[ Key{$number} ]
Path = /config/vpPhone/Ext38_00000000000001.cfg
DKtype = {$type}
Line = 0
Value = {$value}
type = {$btype}
PickupValue = {$pickup_value}
Label = {$label}
{/loop_sdext38}
#START Soft Keys
{loop_softkey}
[ programablekey{$number} ]
path = /config/vpPhone/vpPhone.ini
Label = {$label}
DKtype = {$type}
Line = 0
Value = {$value}
XMLPhoneBook =
{/loop_softkey}
#END Soft Keys
#Program UP Key
[ programablekey5 ]
path = /config/vpPhone/vpPhone.ini
DKtype = {$hardkey_up_type}
Line = {$hardkey_up_line}
Value = {$hardkey_up_extension}
XMLPhoneBook =
#Program DOWN Key
[ programablekey6 ]
path = /config/vpPhone/vpPhone.ini
DKtype = {$hardkey_down_type}
Line = {$hardkey_down_line}
Value = {$hardkey_down_extension}
XMLPhoneBook =
#Program LEFT Key
[ programablekey7 ]
path = /config/vpPhone/vpPhone.ini
DKtype = {$hardkey_left_type}
Line = {$hardkey_left_line}
Value = {$hardkey_left_extension}
XMLPhoneBook =
#Program RIGHT Key
[ programablekey8 ]
path = /config/vpPhone/vpPhone.ini
DKtype = {$hardkey_right_type}
Line = {$hardkey_right_line}
Value = {$hardkey_right_value}
XMLPhoneBook =
#Program OK Key
[ programablekey9 ]
path = /config/vpPhone/vpPhone.ini
DKtype = {$hardkey_ok_type}
Line = {$hardkey_ok_line}
Value = {$hardkey_ok_value}
XMLPhoneBook =
#Program CANCEL Key
[ programablekey10 ]
path = /config/vpPhone/vpPhone.ini
DKtype = {$hardkey_cancel_type}
Line = {$hardkey_cancel_line}
Value = {$hardkey_cancel_value}
XMLPhoneBook =
#Program FWD Key
[ programablekey14 ]
path = /config/vpPhone/vpPhone.ini
DKtype = {$hardkey_fwd_type}
Line = {$hardkey_fwd_line}
Value = {$hardkey_fwd_value}
XMLPhoneBook =
[ AdminPassword ]
path = /config/Setting/autop.cfg
Password = {$adminpw}
Yealink v.72
Back to Phone Model Examples
#!version:1.0.0.1
##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.##
#######################################################################################
## Accounts ##
#######################################################################################
{line_loop}
account.{$line_m1}.enable = {$line_active}
account.{$line_m1}.label = {$number}
account.{$line_m1}.display_name = {$displayname}
account.{$line_m1}.auth_name = {$username}
account.{$line_m1}.user_name = {$authname}
account.{$line_m1}.password = {$secret}
account.{$line_m1}.sip_server.1.address = {$server_host}
account.{$line_m1}.sip_server.1.port = {$server_port}
account.{$line_m1}.sip_server.1.expires = 300
account.{$line_m1}.unregister_on_reboot = 1
account.{$line_m1}.outbound_proxy_enable = 1
account.{$line_m1}.outbound_host = {$server_host}
account.{$line_m1}.outbound_port = {$server_port}
{/line_loop}
#######################################################################################
## Line Keys ##
#######################################################################################
{loop_linekey1}
linekey.{$key}.type = {$type}
linekey.{$key}.line = {$account}
linekey.{$key}.value = {$extension}
linekey.{$key}.pickup_value = {$parameter}
linekey.{$key}.label = {$label}
{/loop_linekey1}
#######################################################################################
## Memory Keys ##
#######################################################################################
{loop_memkey1}
memorykey.{$key}.type = {$type}
memorykey.{$key}.line = {$account}
memorykey.{$key}.value = {$extension}
memorykey.{$key}.pickup_value = {$parameter}
{/loop_memkey1}
#######################################################################################
## Network ##
#######################################################################################
network.pc_port.enable = 1
network.bridge_mode = 1
#!version:1.0.0.1
##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.##
#######################################################################################
## Time Settings ##
#######################################################################################
#local_time.time_zone = +2
#local_time.time_zone_name = Latvia(Riga)
#local_time.ntp_server1 = lt.pool.ntp.org
#local_time.ntp_server2 = cn.pool.ntp.org
#######################################################################################
## Phone Features ##
#######################################################################################
#Configure the logo mode of the LCD screen; 0-Disabled (default), 1-System logo, 2-Custom logo;
phone_setting.lcd_logo.mode = 0
#######################################################################################
## Configure the access URL of firmware ##
#######################################################################################
#firmware.url = http://.../provisioning/SIP-T26P/6.72.0.80.rom
#######################################################################################
## Auto Provisioning ##
#######################################################################################
auto_provision.power_on = 1
auto_provision.repeat.enable = 1
auto_provision.repeat.minutes = 60
auto_provision.dhcp_option.enable = 0
Yealink v.72 - directory request
Back to Phone Model Examples
{item_loop}
{$NAME}
{$PHONE1}
{/item_loop}
Digium D40/D45 - MAC request
Back to Phone Model Examples
{line_loop}
{/line_loop}
Digium D40/D45 - directory request
Back to Phone Model Examples
{item_loop}
{/item_loop}
Polycom VVX - MAC request
Back to Phone Model Examples
{line_loop}
{/line_loop}
Polycom VVX - directory request
Back to Phone Model Examples
{item_loop}
-
{$LASTNAME}
{$FIRSTNAME}
{$PHONE1}
{$NAME}
{/item_loop}
Cisco 7940/60 - MAC request
Back to Phone Model Examples
proxy1_address: "{$server_host}"
#proxy_register tell it to connect to the SIP server (why would you want to set this to 0?!
proxy_register: 1
proxy_register: "1"
timer_register_expires: "120"
preferred_codec: "none"
tos_media: "5"
enable_vad: "0"
dial_template: "dialplan"
network_media_type: "auto"
autocomplete: "1"
telnet_level: "1"
{line_loop}
proxy{$line_m1}_address: {$server_host}
line{$line_m1}_name: "{$username}"
line{$line_m1}_authname: "{$username}"
line{$line_m1}_password: "{$secret}"
{/line_loop}
Cisco SPA5xx - MAC request
Back to Phone Model Examples
{line_loop}
Yes
{$local_port}
{$username}
Yes
{$authname}
{$secret}
{$displayname}
Yes
{$server_host}:{$server_port|5060}
No
No
60
[x*].
{$line_m1}
{$displayname}
private
{/line_loop}
{$adminpw}
{$userpw}
AAstra/Mitel 6869i - MAC request
Back to Phone Model Examples
{line_loop}
sip line{$line_m1} screen name: {$displayname}
sip line{$line_m1} user name: {$username}
sip line{$line_m1} display name: {$displayname}
sip line{$line_m1} vmail: *78
sip line{$line_m1} auth name: {$username}
sip line{$line_m1} password: {$secret}
sip line{$line_m1} mode: 0
sip line{$line_m1} proxy ip: {$server_host|demo.mirtapbx.com}
sip line{$line_m1} proxy port: {$server_port|5060}
sip line{$line_m1} registrar ip: {$server_host|demo.mirtapbx.com}
sip line{$line_m1} registrar port: {$server_port|5060}
sip line{$line_m1} registration period: 120
{/line_loop}
topsoftkey1 type: {$vpk1type||select|,blf,speeddial}
topsoftkey1 label: {$vpk1description||select|pickupname}
topsoftkey1 value: {$vpk1value||select|pickupextension}
topsoftkey1 line: {$vpk1account|1|select|Account 1=1,Account 2=2,Account 3=3}
topsoftkey2 type: {$vpk2type||select|,blf,speeddial}
topsoftkey2 label: {$vpk2description||select|pickupname}
topsoftkey2 value: {$vpk2value||select|pickupextension}
topsoftkey2 line: {$vpk2account|1|select|Account 1=1,Account 2=2,Account 3=3}
topsoftkey3 type: {$vpk3type||select|,blf,speeddial}
topsoftkey3 label: {$vpk3description||select|pickupname}
topsoftkey3 value: {$vpk3value||select|pickupextension}
topsoftkey3 line: {$vpk3account|1|select|Account 1=1,Account 2=2,Account 3=3}
topsoftkey4 type: {$vpk4type||select|,blf,speeddial}
topsoftkey4 label: {$vpk4description||select|pickupname}
topsoftkey4 value: {$vpk4value||select|pickupextension}
topsoftkey4 line: {$vpk4account|1|select|Account 1=1,Account 2=2,Account 3=3}
AAstra/Mitel 6869i - MAC request (separate button layout)
Back to Phone Model Examples
{line_loop}
sip line{$line_m1} screen name: {$displayname}
sip line{$line_m1} user name: {$username}
sip line{$line_m1} display name: {$displayname}
sip line{$line_m1} vmail: *78
sip line{$line_m1} auth name: {$username}
sip line{$line_m1} password: {$secret}
sip line{$line_m1} mode: 0
sip line{$line_m1} proxy ip: {$server_host|demo.mirtapbx.com}
sip line{$line_m1} proxy port: {$server_port|5060}
sip line{$line_m1} registrar ip: {$server_host|demo.mirtapbx.com}
sip line{$line_m1} registrar port: {$server_port|5060}
sip line{$line_m1} registration period: 120
{/line_loop}
{loop_topkeys}
topsoftkey{$key} type: {$type}
topsoftkey{$key} label: {$label}
topsoftkey{$key} value: {$extension}
topsoftkey{$key} line: {$account}
{/loop_topkeys}
Grandstream GXP2130 - MAC request
Back to Phone Model Examples
{$line_active#1}
{$displayname#1}
{$server_host#1}
{$username#1}
{$username#1}
{$authname#1}
{$secret#1}
{$line_active#2}
{$displayname#2}
{$server_host#2}
{$username#2}
{$username#2}
{$authname#2}
{$secret#2}
{$line_active#3}
{$displayname#3}
{$server_host#3}
{$username#3}
{$username#3}
{$authname#3}
{$secret#3}
Grandstream GXP2130 with VPK - MAC request
Back to Phone Model Examples
{$line_active#1}
{$displayname#1}
{$server_host#1}
{$username#1}
{$username#1}
{$authname#1}
{$secret#1}
{$line_active#2}
{$displayname#2}
{$server_host#2}
{$username#2}
{$username#2}
{$authname#2}
{$secret#2}
{$line_active#3}
{$displayname#3}
{$server_host#3}
{$username#3}
{$username#3}
{$authname#3}
{$secret#3}
{$screensaver|0|radio|Disabled=0,Enabled=1}
{$vpk1type|0|select|Disabled=-1,Line=0,BLF=11,SpeedDial=4}
{$vpk1account|0|select|Account 1=0,Account 2=1,Account 3=2}
{$vpk1description||select|pickupname}
{$vpk1value||select|pickupextension}
{$vpk2type|0|select|Disabled=-1,Line=0,BLF=11,SpeedDial=4}
{$vpk2account|0|select|Account 1=0,Account 2=1,Account 3=2}
{$vpk2description||select|pickupname}
{$vpk2value||select|pickupextension}
{$vpk3type|0|select|Disabled=-1,Line=0,BLF=11,SpeedDial=4}
{$vpk3account|0|select|Account 1=0,Account 2=1,Account 3=2}
{$vpk3description||select|pickupname}
{$vpk3value||select|pickupextension}
{$vpk4type|-1|select|Disabled=-1,Line=0,BLF=11,SpeedDial=4}
{$vpk4account|0|select|Account 1=0,Account 2=1,Account 3=2}
{$vpk4description||select|pickupname}
{$vpk4value||select|pickupextension}
{$vpk5type|-1|select|Disabled=-1,Line=0,BLF=11,SpeedDial=4}
{$vpk5account|0|select|Account 1=0,Account 2=1,Account 3=2}
{$vpk5description||select|pickupname}
{$vpk5value||select|pickupextension}
{$vpk6type|-1|select|Disabled=-1,Line=0,BLF=11,SpeedDial=4}
{$vpk6account|0|select|Account 1=0,Account 2=1,Account 3=2}
{$vpk6description||select|pickupname}
{$vpk6value||select|pickupextension}
Grandstream - directory request
Back to Phone Model Examples
On the phone template, add the entry to download the directory:
# Phonebook XML Server Path
# This is a string of up to 256 characters that should contain a path to the XML file. It MUST be in the host/path format.
# For example: directory.grandstream.com/engineering
# String
{$server_host}/pbx/autoprovision/{$provisioning_password}/{$mac}-directory.xml
# Phonebook Download Interval (in minutes)
# Valid value range is 5-720. Default is 0 for disabled
# Number: 0, 5-720;
720
# Remove Manually-edited entries on Download. Possible values: 0 (No) / 1 (Yes); other values
# are ignored. The default value is 1.
1
# Enable remote download of phonebook. Possible values: 1 (HTTP) / 2 (TFTP)/ 3 (HTTPS); other
# values are ignored. The default value is 0
1
Use this template for the directory request
{item_loop}
1
{$NAME}
0
{$PHONE1}
1
3
0
{/item_loop}
Grandstream HT812 / HT814 - MAC request
Download Grandstreamht812814.xml
Back to Phone Model Examples
From Derek on the forum:
I ended up making a template, here it is.
You'll have to replace 'yourdomain.com' with your domain name.
Also this is set to work with DNS SRV. If you want A record, you'll need to read the notes and modify P103.
The ATA will look to Grandstreams server on each boot to check for firmware updates.
This is for HT814. IF you want it to work on HT812, just remove the settings for FXS Ports 3 and 4.
Grandstreamht812814.xml
Provisioning template
firmware.grandstream.com
yourdomain.com/autoprovision/{$provisioning_password}
1
1
{$connection_type|0|radio|DHCP=0,Static IP=1}
{$gs_ip_part1|0}
{$gs_ip_part2|0}
{$gs_ip_part3|0}
{$gs_ip_part4|0}
{$gs_mask_part1|255}
{$gs_mask_part2|255}
{$gs_mask_part3|255}
{$gs_mask_part4|0}
{$gs_gateway_part1|0}
{$gs_gateway_part2|0}
{$gs_gateway_part3|0}
{$gs_gateway_part4|0}
{$gs_dns_part1|8}
{$gs_dns_part2|8}
{$gs_dns_part3|8}
{$gs_dns_part4|8}
pbx.yourdomain.com
1
1
{$username#1}
{$authname#1}
{$secret#1}
{$displayname#1}
{$username#2}
{$authname#2}
{$secret#2}
{$displayname#2}
{$username#3}
{$authname#3}
{$secret#3}
{$displayname#3}
{$username#4}
{$authname#4}
{$secret#4}
{$displayname#4}
Grandstream GS Wave
Back to Phone Model Examples
This is the a QR-code provisioned phone, so you need to activate the "Allow QR code generation" in the template and use the following template:
{$server_host|devel.mirtapbx.com}
{$server_host|devel.mirtapbx.com}
{$username}
{$username}
{$secret}
{$displayname}
{$displayname}
{x+|*x+|*++}
0
*97
Htek UC903 - MAC request
Download Htek.xml
Back to Phone Model Examples
Htek.xml
Provisioning template
{$line_active#1}
{$server_host#1}
{$backup_server_host#1}
1
0
2
{$displayname#1}
{$username#1}
{$authname#1}
{$secret#1}
{$displayname#1}
0
0
1
0
2
1
5060
0
1
0
0
8
9
20
3
2
2
0
0
97
101
0
0
0
0
0
0
1
1
0
60
1
{[x*]+}
0
0
0
0
0
1
1
180
90
0
0
0
0
1
0
50
100
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
0
{$line_active#2}
{$server_host#2}
{$backup_server_host#2}
1
0
2
{$displayname#2}
{$username#2}
{$authname#2}
{$secret#2}
{$displayname#2}
0
0
1
0
2
1
5160
0
0
1
0
0
8
9
20
3
2
2
0
0
97
101
0
0
0
0
0
0
1
1
0
60
1
{[x*]+}
0
0
0
0
0
1
1
180
90
0
0
0
0
1
0
50
100
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
0
{$line_active#3}
{$server_host#3}
{$backup_server_host#3}
1
0
2
{$displayname#3}
{$username#3}
{$authname#3}
{$secret#3}
{$displayname#3}
0
0
1
0
15
1
5260
0
0
1
0
0
8
9
20
3
2
2
0
0
97
101
0
0
0
0
0
0
1
1
0
60
1
{[x*]+}
0
0
0
0
0
1
1
180
90
0
0
0
0
1
0
50
100
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
0
{$line_active#4}
{$server_host#4}
{$backup_server_host#4}
1
0
2
{$displayname#4}
{$username#4}
{$authname#4}
{$secret#4}
{$displayname#4}
0
0
1
0
15
1
5360
0
0
1
0
0
8
9
20
3
2
2
0
0
97
101
0
0
0
0
0
0
1
1
0
60
1
{[x*]+}
0
0
0
0
0
1
1
180
90
0
0
0
0
1
0
50
100
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
300
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
192.168.22.1
255.255.255.0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
48
0
0
0
time.windows.com
0
0
80
443
1
0
20
0
{$vpk1type||select|Line=1,BLF=3}
{$vpk1value||editableselect|pickupextension}
{$vpk1description||editableselect|pickupname}
{$vpk2type||select|Empty=,Line=1,BLF=3}
{$vpk2value||editableselect|pickupextension}
{$vpk2description||editableselect|pickupname}
0
{$vpk3type||select|Empty=,Line=1,BLF=3}
{$vpk3value||editableselect|pickupextension}
{$vpk3description||editableselect|pickupname}
0
{$vpk4type||select|Empty=,Line=1,BLF=3}
{$vpk4value||editableselect|pickupextension}
{$vpk4description||editableselect|pickupname}
0
{$vpk5type||select|Empty=,Line=1,BLF=3}
{$vpk5value||editableselect|pickupextension}
{$vpk5description||editableselect|pickupname}
0
{$vpk6type||select|Empty=,Line=1,BLF=3}
{$vpk6value||editableselect|pickupextension}
{$vpk6description||editableselect|pickupname}
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
37
0
21
0
38
0
36
0
37
0
41
0
42
0
40
0
0
0
0
0
0
0
18
0
0
0
0
18
0
0
0
1
1
0
0
12
1
0
23
2
0
0
0
0
0
4
1
2
0
1
1
0
0
1
0
1
1
0
255
255
255
0
0
0
0
4
6
0
0
0
0
60
0
1
1
1
0
0
0
0
0
0
0
15
1
0
0
3
3
0
f1=350@-13,f2=440@-13,c=0/0;
f1=440@-19,f2=480@-19,c=2000/4000;
f1=480@-24,f2=620@-24,c=500/500;
f1=480@-24,f2=620@-24,c=250/250;
f1=350@-11,f2=440@-11,c=100/100-100/100-100/100;
f1=440@-13,c=300/10000-300/10000-0/0;
1
(cn=%)
(|(telephoneNumber=%)(Mobile=%))
389
32000
cn
0
0
0
0
0
0
0
0
0
0
0
0
0
admin
user
1
http://h-tek.com/fm
66
1
1
10080
0
0
0
0
0
0
0
0
2005-2016 All Rights Reserved
HANLONG
0
0
0
255
255
255
255
255
255
255
0
0
12100
12200
0
0
1
1
0
12
31
23
0
0
0
0
0
1
2
3
4
5
6
0
0
0
terminated
early
confirmed
confirmed
confirmed
confirmed
unknown
2
6
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
5
0
0
0
1
0
80
0
0
1
1
1
1
1
1
1
Group
GroupCommon
Interoperability
EnterpriseCommon
Personal
0
0
0
0
0
0
0
0
8
0
SNOM 7xx
Back to Phone Model Examples
{line_loop}
{$line_active}
{$displayname}
{$username}
{$server_host|demo.mirtapbx.com|select|demo.mirtapbx.com,demo02.mirtapbx.com}
{$username}
{$secret}
120
{$srtp|off|radio|on,off}
{/line_loop}
Sangoma S300 - MAC request
Back to Phone Model Examples
{$line_active#1}
{$server_host#1}
{$displayname#1}
{$username#1}
{$authname#1}
{$secret#1}
{$displayname#1}
{$line_active#2}
{$server_host#2}
{$displayname#2}
{$username#2}
{$authname#2}
{$secret#2}
{$displayname#2}
pool.ntp.org
0
57
0
0
Zoiper - QR Code
Back to Phone Model Examples
Zoiper offers a remote QR code generation feature, so in the MAC template section you need to activate the QR code generation and to enter the URL used to generate the QR code, like:
https://oem.zoiper.com/qr.php?provider_id=ce66c3c73142b5943351bd4918e1cccf&u={$username}&h=&p={$secret}&o=&t=&x=&a=&tr=
Fanvil X4U
Back to Phone Model Examples
2.0000000000
https://yourserver.com/graphics/Digiblue.bmp
https://yourserver.com/pbx/autoprovision/boot/{$mac}-directory.xml
5060
3478
50
800
32
0
0
0
0
1
1
0
1
{line_loop}
{$username}
{$displayname}
{$displayname}
{$server_host}
{$server_port}
{$username}
{$secret}
360
1
{/line_loop}
Fanvil X4U - Reference XML
Back to Phone Model Examples
2.0000000000
0
192.168.1.179
255.255.255.0
192.168.1.1
8.8.8.8
202.96.134.133
1
1
0
1
0
Fanvil X4U
0
user123
password
2
1500
1
1
0
0
0
0
0
192.168.1.179
255.255.255.0
192.168.1.1
8.8.8.8
202.96.134.133
1
1
1
0
Fanvil X4U
0
user123
password
1
1
0
10
1
97
20
108
109
103
104
102
105
101
107
0
0
117
0
98
10000
1000
1
0
11
1
0
350+440/0
440+480/2000,0/4000
480+620/500,0/500
440/300,0/10000,440/300,0/10000,0/0
350+440/100,0/100,350+440/100,0/100,350+440/100,0/100,350+440/0
400/500,0/6000
1400/500,0/0
440/500,0/5000
PCMU,PCMA,G726-16,G726-24,G726-32,G726-40,G729,G723,iLBC
5060
3478
50
800
32
0
0
0
0
1
1
0
1
{line_loop}
{$username}
{$number}
{$displayname}
{$server_host}
{$server_port}
{$username}
{$secret}
360
1
{/line_loop}
0
30
1
0
0
0
1
1
1
0
.
1
0
0
1500
1730
1
1
1
0
0
0
1
1
1
1
1
0
1
1
3
1
0
1
0
0
0
30
5
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
0
1
1
1
1
0
0
480
486
603
0
0
0
0
0
120
120
0
1
0
0
0
0
0
11
1
10
0
-1
Type 1
-1
Type 1
-1
Type 1
-1
Type 1
-1
Type 1
-1
Type 1
-1
Type 1
-1
Type 1
-1
Type 1
-1
Type 1
123
123
0
0
0
110
0
0
0
5
0
1
1
$name@$protocol$instance
0
0
1
1
30
0
0
0
VOIP PHONE
5
4
15
60
0
bcm911188sv
en
0
0
3
0
2
0
0
3
1
0
1
0
1
terminated
1
2
early
1
0
1
1
confirmed
1
0
2
0
failed
0
3
parked
1
0.pool.ntp.org
time.nist.gov
32
UTC+8
60
0
0
0
60
3
5
0
2
10
5
0
2
0
0
0
0
0
2
history;contact;dnd;menu;
hold;xfer;conf;end;
accept;none;forward;reject;
end;none;none;none;
end;none;none;xfer;
hold;none;split;end;
xfer;accept;reject;end;
redial;none;none;end;
send;2aB;delete;exit;
send;2aB;delete;exit;
delete;xfer;send;exit;
send;2aB;delete;exit;
history;status;none;none;none;
pline;nline;none;none;none;
none;none;none;none;none;
none;none;voldown;volup;none;
status;none;none;none;reset;
contact;clogs;redial;video;cancel;
0
0
0
0
0
0
0
0
0
0
0
0
389
0
3
-1
-1
0
0
3
telephoneNumber
mobile
other
cn sn ou
cn
cn
(|(telephoneNumber=%)(mobile=%)(other=%))
(|(cn=%)(sn=%))
50
389
0
3
-1
-1
0
0
3
telephoneNumber
mobile
other
cn sn ou
cn
cn
(|(telephoneNumber=%)(mobile=%)(other=%))
(|(cn=%)(sn=%))
50
389
0
3
-1
-1
0
0
3
telephoneNumber
mobile
other
cn sn ou
cn
cn
(|(telephoneNumber=%)(mobile=%)(other=%))
(|(cn=%)(sn=%))
50
389
0
3
-1
-1
0
0
3
telephoneNumber
mobile
other
cn sn ou
cn
cn
(|(telephoneNumber=%)(mobile=%)(other=%))
(|(cn=%)(sn=%))
50
389
0
3
-1
-1
0
0
3
telephoneNumber
mobile
other
cn sn ou
cn
cn
(|(telephoneNumber=%)(mobile=%)(other=%))
(|(cn=%)(sn=%))
50
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
120
0
2
6
1
1
60
40
25
150
200
1
1
1
1
0000000000000000
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
3
5
1
0
0
0
16
360
1080
1
1
0
0
0
0
0
2
SIP1
Green
2
SIP2
Green
2
SIP3
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
Green
0
80
443
1
0
0
0
23
15
admin
admin
10
guest
guest
5
INFO
stdout
platform.log
512KB
platform
0.0.0.0
514
1
00100400FV02001000000c383e42e93c
1
0
0.0.0.0
admin
0.0.0.0
dps
dps
3600
2
020
0
3478
30000
0
1
0
224.0.2.0
16360
SIP Hotspot
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
-1
0
0
0
0.0.0.0
1
0.0.0.0
0
0
1
0
5
devel.mirtapbx.com
mirtapbx/autoprovision//QxmAHhHmb9e4bASX/$mac.xml
5
1
1
720
0
1
224.0.1.75
5060
0
1
66
0
0
0
0
24
0
256
1
254
0
0
0
0
0
46
46
46
1
60
1
0
1
60
132
0
0
0
0
0
1
0
0
1
G729
0
8
0.0.0.0
10000
0
Fanvil X4U
1
7200
0
0
1
1
1
1
1
0
0
0xffffff
0xffffff
0xffffff
0x262626
0x5a9dba
0xc4012f
0x007bb0
0xffffff
0x262626
0
1,1,1,1
0
0
0
0
0
0
1
1
57600
Global Configurations
Global Configurations administration tasks.
Media Files
Maintain global media files available beyond a single tenant.
Use Admin > Media Files to manage media files.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Custom Destinations
Maintain global custom destinations shared with tenants.
Use Admin > Custom Destinations to manage custom destinations.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Feature Codes
Maintain global feature codes.
Use Admin > Feature Codes to manage feature codes.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Email Templates
Maintain shared email templates.
Use Admin > Email Templates to manage email templates.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning. The source form exposes these main blocks or fields: Email.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Main Fields
Field or block
Purpose
Email
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Email Template Profiles
Group email templates into profiles.
Use Admin > Email Template Profiles to manage email template profiles.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Do Not and Only Allow Call Lists
Maintain global call allow or block lists.
Use Admin > Do Not and Only Allow Call Lists to manage do not and only allow call lists.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning. The source form exposes these main blocks or fields: Find a number.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Main Fields
Field or block
Purpose
Find a number
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Music on Hold
Maintain global music-on-hold definitions.
Use Admin > Music on Hold to manage music on hold.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Conditions
Maintain global conditions that tenants can reference.
Use Admin > Conditions to manage conditions.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Short Numbers
Maintain global short-number mappings.
Use Admin > Short Numbers to manage short numbers.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Conduits
Maintain global conduits for integrations and data exchange.
Use Admin > Conduits to manage conduits.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Reserved Numbers
Reserve numbers that tenants should not use.
Use Admin > Reserved Numbers to manage reserved numbers.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Caller ID Blacklist
Maintain global caller ID blacklist entries.
Use Admin > Caller ID Blacklist to manage caller id blacklist.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
AGI Scripts
Maintain global AGI script definitions.
Use Admin > AGI Scripts to manage agi scripts.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
System Cronjobs
Maintain system-level scheduled tasks.
Use Admin > System Cronjobs to manage system cronjobs.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
PBX Nodes
PBX Nodes administration tasks.
Overview
Review and maintain the PBX nodes that belong to the installation. Use the existing node as the documentation example.
Use Admin > Overview to manage overview.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Routing Profiles
Routing Profiles administration tasks.
Overview
A routing profile is a set of rules allowing the extension to dial outside. It lists the rules to apply for selecting one or more providers, which changes to apply to the number and which restrictions. LCR can be enabled to allow the selection of the cheapest provider available. You may be familiar with the Asterisk dialing pattern _NXZ, but MiRTA PBX uses Regular Expressions, more powerful, flexible and database supported.
Several routing profiles can be created to match your needs. You can assign a Routing Profile to each tenant or use the same Routing Profile for multiple tenants. You can even assign a Routing Profile to a single extension.
Routing Rules
A Routing Profile is made of several rules.
Name : This is the name of the rule
Node : A rule can be applied for all calls made by any of your nodes (in case you have multiple servers acting in cluster) or for only single server
Regex : This is the Regular Expression to be matched by the number dialed
Provider : The provider to send the call to. Leaving the field empty makes the rule "blacklisted", so it cannot be dialed
Digits to add : This is the digits to add when this regex is matched. So for example you can add 1 when you are dialing a number in the US or 00 when dialing an international number in EU
Digits to del : This is the number of digits you want to remove from the start of the number matching the Regular Expression. So for example, if living in Europe, to remove the initial 00 digits for international numbers, you need to set the "Digits to del" to 2
Use LCR : Activates the LCR
Order / Priority : Lower these numbers, higher the priority of the rule to be applied. Rules are applied based on the Order first, Priority next, lower to higher.
Weight : Allows to set round robin among multiple providers
Rule Order and Provider Selection
When a number is dialed, the list of routing profile matching is selected. They are ordered based on Order then for Priority. When multiple providers are selected with the same priority and order, the penalty is taken into account and the call is sent to the provider with the lower penalty adjusted (multiplied) with the weight. Once a call is processed, the penalty for the provider selected is increased. Current penalty can be seen in the Admin/Provider section.
Weighted Round Robin Example
Let's make a simple example on how to round robin between two providers.
In this case we have two providers, Flowroute and SoTel. They have exactly the same matching rule and the same Order and Priority. When dialing a number matched by the Regex, which provider will be used? It will be used the Provider with the lesser penalty. After a call, the penalty for that provider will be increased, so at the next round, the other provider will be used.
This works perfectly when we want to use a perfect round robin, but let's make an example, just imagining I want to send more calls to Sotel than to Flowroute. Mind for example I want to sent 10 calls to Sotel and only 1 to Flowroute. To make it happen I'll set the weight for Flowroute to 10, so every time a call is sent to Flowroute, its penalty will be increased by 10. In this way, 10 calls to SoTel will be needed to match the penalty for Flowroute.
Least Cost Routing (LCR)
LCR can be enabled for a destination. In this case the call is routed using the provider with the lower price for that destination. It is important to notice the cost match is made without applying the Add Digits/Del Digits.
Creating and Editing a Profile
For the setup steps and profile types, see Create and Edit Routing Profile.
Create and Edit Routing Profile
A routing profile groups routing rules. Tenants, extensions, campaigns, fax features, and SMS features can use routing profiles to decide which provider or route should be used for an outbound destination.
Create the Routing Profile
Open Admin > Routing Profiles.
Select the add action.
Enter a name, such as Docs Demo Voice Routing.
Enter a short description explaining when this profile should be used.
Select the type: Voice, SMS, or FAX.
Save the profile.
Add Routes
After the profile exists, add routing rules for the destinations that should use it. A typical voice profile starts with emergency, national, mobile, international, and fallback rules. Each rule should point to one or more providers and should be specific enough to avoid accidental matches.
For routing rule fields, provider selection, weighted round robin, and least cost routing, see the Routing Profiles overview.
Routing Profile Types
Type
Use
Voice
Outbound voice calls and normal extension dialing.
SMS
Outbound SMS routing through SMS-capable providers.
FAX
Outbound fax routing where fax provider handling must be separated from voice routing.
Test Routing
Use a limited test pattern and a known test number before assigning the profile to production tenants. Confirm which provider is selected, whether digit manipulation is correct, and whether caller ID rules match carrier requirements.
Caller ID and DID Modifications
Caller ID and DID Modifications administration tasks.
Overview
Define caller ID and DID modification rules applied during inbound or outbound processing.
Use Admin > Overview to manage overview.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Tenants
Tenants administration tasks.
Overview
The Tenants page is the global administration area for creating, reviewing, and opening tenant records.
Open Tenants
Log in with a user profile that has tenant administration permissions.
Open Admin > Tenants.
Select an existing tenant to edit it, or use the add action to create a new one.
What a tenant controls
A tenant defines the PBX boundary for extensions, DIDs, routing profiles, billing, call limits, recording storage, provisioning, and feature limits. Most configuration pages work against the tenant currently selected in the top bar.
Administrators only see tenants allowed by their user or group permissions, unless their profile allows access to all tenants.
Related page
See Edit a Tenant for a field-by-field explanation of the tenant form.
Edit Tenant
The Define Tenant form is based on the MiRTA PBX tenant template. Some fields can be hidden, locked, or unavailable depending on default-field rules and the administrator's permissions.
Each block below follows the sections shown in the tenant form. Use the screenshot to locate the block in the interface, then review the field descriptions for that block.
Information
Information section of the Define Tenant form.
Use the Information block to set the tenant identity, caller ID permissions, recording-related feature flags, default routing profiles, processing servers, and tenant status.
Field
Description
Name
Tenant display name. It is used internally and can be any descriptive string.
Code
Unique tenant identifier. It is used when building extension usernames. Prefer letters only; avoid numbers, spaces, hyphens, and underscores.
Allow onnet calls from this tenant
Allows extensions in this tenant to place on-net calls.
Allow onnet calls to this tenant
Allows other tenants or on-net routes to call this tenant.
Allow any Caller ID usage when dialing out
Allows outbound calls to use caller IDs outside the normal tenant assignment.
Block any outbound call with wrong Caller ID
Rejects outbound calls when the caller ID is not valid for the tenant rules.
Allow incoming Caller ID usage when dialing out
Allows caller IDs received on inbound calls to be reused for outbound calls.
Allow incoming Caller ID with prefix usage when dialing out
Allows prefixed incoming caller IDs to be reused for outbound calls.
Allow any Caller ID usage when dialing out an emergency number
Relaxes caller ID restrictions for emergency calls.
Force recording for emergency calls
Forces recording on emergency calls.
Force using a pincode for onnet calls
Requires PIN-code authentication for on-net calls.
Allow transcript for recorded calls
Enables transcription options for recordings. Disabling it clears pending transcription requests and tenant-level transcript settings.
Allow summary for recorded calls
Enables AI summary options for recordings. Disabling it clears pending summary requests and tenant-level summary settings.
Allow sentiment and emotion analysis for recorded calls
Enables AI sentiment and emotion analysis for recordings. Disabling it clears pending sentiment requests and tenant-level sentiment settings.
Alert email
Email address used for tenant alerts.
Emergency recording email
Email address used for emergency-call recording notifications.
Default timezone
Tenant timezone. When blank, the server default is used.
Routing profile
Default outbound voice routing profile. If blank, outbound voice calls are not allowed by default.
Call campaign routing profile
Routing profile used by call campaigns. It can inherit the tenant default.
Fax routing profile
Routing profile used for fax traffic. It can inherit the default routing profile.
SMS Routing profile
Routing profile used for outbound SMS. If blank, outbound SMS is not allowed.
Email Template profile
Email template profile assigned to tenant-generated emails.
Default Cronjob server
Node used by tenant cron jobs. System Default uses the global default.
Default Campaign server
Node used by tenant campaigns. System Default uses the global default.
Fax server
Node used for tenant fax processing. System Default uses the global default.
Status
Enables the tenant, disables it, or disables it after an expiration date.
Expiration date
Date used when status is set to Expiration date.
Privacy
Use the Privacy block to hide the rightmost digits of phone numbers on tenant-facing call-history, reporting, and monitoring pages.
Field
Description
Inbound caller ID privacy
Controls masking for inbound caller ID values. No privacy shows the complete caller ID. Hide 1 digit through Hide 4 digits replace that number of rightmost numeric digits with
X.
Outbound destination privacy
Controls masking for outbound destination values. No privacy shows the complete destination. Hide 1 digit through Hide 4 digits replace that number of rightmost numeric digits with
X.
The mask is applied to tenant-facing displays and exports, including complete and simple call history, queue logs, tenant reports, transcript call details, statistics board, and switchboard views. Admin menu call-history pages continue to show complete numbers.
The mask does not change stored CDR data, recording metadata, routing decisions, or AMI routing behavior. Number formatting is preserved where possible; for example, hiding three digits on
+39 06 12345678 displays
+39 06 12345XXX.
Server affinity
Server affinity section of the Define Tenant form.
Use the Server affinity block to prefer specific nodes for services that can be hosted on different servers.
Field
Description
Preferred Parking Lot server
Preferred node for tenant parking lots. Empty means system default.
Preferred Queue server
Preferred node for tenant queues. Empty means system default.
Parking lots
Parking lots section of the Define Tenant form.
Use the Parking lots block to define the call parking range and the node that hosts the tenant parking lot.
Field
Description
Parking lot start number
First parking slot number. After changes, the parking module may need reload or Asterisk may need restart.
Parking lot end number
Last parking slot number. After changes, the parking module may need reload or Asterisk may need restart.
Parking lot server
Specific node hosting the parking lot, or Automatic.
Recording Storage
Recording Storage section of the Define Tenant form.
Use the Recording Storage block to choose where call recordings are stored and which upload credentials or directories are used. Some fields appear only for the selected storage backend.
Field
Description
Storage type
Recording backend: default, database, filesystem, FTP, SFTP, SSL-FTP, no storage, AWS S3, or Google Drive. Database retention applies only to database storage.
JSON Service Account key
Google Drive service account key, shown when Google Drive storage is selected.
Host / Region
FTP/SFTP host, optionally with port, or AWS region when AWS S3 is selected.
User / Key
FTP/SFTP username or AWS access key.
Password / Secret
FTP/SFTP password or AWS secret.
Use passive FTP
Enables passive FTP mode for FTP/SSL-FTP storage.
Directory / Bucket name / Shared directory ID
Filesystem or FTP directory, AWS bucket, or Google Drive shared directory ID.
Upload recording at call end
Controls whether recordings are uploaded immediately at call end or only by batch processing.
Remove recordings on database expiration
Deletes the recording file when recording metadata expires from the database. It is not retroactive.
Billing
Billing section of the Define Tenant form.
Use the Billing block to define billing identifiers, call rating, payment mode, credit alerts, and on-net call billing behavior.
Field
Description
Billing code
Code available to templates and integrations as
${BILLINGCODE}.
Use as dial prefix
Uses the billing code as a dial prefix.
Extra code
Additional code available as
${EXTRACODE}.
Billing type
Choose CDR billing, experimental CEL billing, or skip the billing module.
Call rate
Default call rate applied to the tenant, or no call rate.
Call campaign call rate
Call rate used by campaigns, or the normal call rate.
Default conference call rate
Default rate profile for conference room calls.
Payment type
Prepaid or post-paid billing mode.
Alert on credit lower than
Credit threshold that triggers alerts. Non-numeric values are treated as no alert.
Bill onnet calls
Controls whether on-net calls are billed.
On Net calls digits to add
Digits added to on-net numbers for normalization or billing.
On Net calls number of digits to remove
Digits removed from on-net numbers before normalization or billing.
Pay the bill media file
Audio message played when outbound dialing is blocked for payment reasons.
Microsoft Teams integration
Microsoft Teams integration section of the Define Tenant form.
Use the Microsoft Teams integration block when the tenant is connected to Microsoft Teams services.
Field
Description
MSTeams address
Gateway address used for Microsoft Teams integration.
Tenant ID
Microsoft Teams tenant ID used for extension status integration.
Third party integration - Additional fields
Third party integration additional fields section of the Define Tenant form.
Use the Third party integration - Additional fields block to store tenant-specific values consumed by external integrations.
Field
Description
Preferred server
Preferred node used by third-party integration fields.
Field 001
Custom integration value available as
${EXTRAFIELD001}.
Field 002
Custom integration value available as
${EXTRAFIELD002}.
Field 003
Custom integration value available as
${EXTRAFIELD003}.
Security - Call Limits
Security - Call Limits section of the Define Tenant form.
Use the Security - Call Limits block to configure spend limits, warning thresholds, route cost limits, and abuse detection behavior.
Field
Description
Apply call cost limits
Use system default, apply the limits below, or allow unlimited calling.
Extension daily/monthly call cost limit
Maximum daily or monthly spend per extension. When reached, outbound calls are blocked.
Tenant daily/monthly call cost limit
Maximum daily or monthly spend for the whole tenant. When reached, outbound calls are blocked.
Extension daily/monthly call cost warning
Spend threshold per extension that sends alert email before the hard limit is reached.
Tenant daily/monthly call cost warning
Spend threshold for the whole tenant that sends alert email before the hard limit is reached.
Domestic / International values
When split cost limits are enabled, separate domestic and international limits or warnings are shown.
Route call cost limit
Maximum allowed cost for a call route. More expensive routes are refused.
Abuse Detection
Locks an extension when suspicious calling activity is detected. Options include system default, off, or after 5, 10, 15, or 50 calls.
Provisioning
Provisioning section of the Define Tenant form.
Use the Provisioning block to control phone provisioning export behavior and the host name shown to provisioning clients.
Field
Description
Optional export directory
Filesystem directory where phone provisioning files are exported.
Provisioning host name
Hostname shown in Configuration > Provisioning > Phones. If blank, MiRTA PBX uses the admin setting, theme, or current web host.
Custom
Custom section of the Define Tenant form.
Use the Custom block for tenant-specific custom dashboard behavior.
Field
Description
Custom dashboard PHP file
Tenant-specific dashboard PHP file.
Note
Note section of the Define Tenant form.
Use the Note block for internal tenant notes.
Field
Description
Additional Info
Free-form internal note stored on the tenant.
Restrictions
Restrictions section of the Define Tenant form.
Use the Restrictions block to decide whether custom destination types are enabled by default or disabled by default for the tenant.
Field
Description
Custom Destinations
Sets whether custom destinations are enabled by default or disabled by default, with an exception list selected in the multi-select control.
Max number of
Max number of section of the Define Tenant form.
Use the Max number of block to set tenant capacity limits. A blank or non-numeric value is saved as unlimited by the tenant administration logic.
Field
Description
Inbound/Outbound Channels
Maximum total external inbound plus outbound channels.
Inbound Channels
Maximum inbound external channels.
Outbound Channels
Maximum outbound external channels.
Any Channel
Maximum total channels regardless of source or destination. A normal call uses two channels.
Fax Channel
Maximum channels used for fax sending.
Extensions
Maximum extensions.
External Agents
Maximum external agents.
DIDs
Maximum DIDs.
Mediafiles
Maximum media files.
Conditions
Maximum conditions.
IVRs
Maximum IVRs.
Hunt Lists
Maximum hunt lists.
Conference Rooms
Maximum conference rooms.
Queues
Maximum queues.
Paging & Intercoms
Maximum paging and intercom groups.
Flows
Maximum flows.
Custom Destinations
Maximum custom destinations.
DISA
Maximum DISA entries.
Feature Codes
Maximum feature codes.
Short Numbers
Maximum short numbers.
CallerID Black List
Maximum caller ID blacklist entries.
Call Campaigns
Maximum call campaigns.
AGI Scripts
Maximum AGI scripts.
Conduits
Maximum conduits.
Voicemails
Maximum voicemail boxes.
Phone Books
Maximum phone books.
Provisioning
Maximum provisioning entries.
Actions
The action buttons are shown at the bottom of the form.
Action
Description
Save
Saves the tenant. When creating a tenant, MiRTA PBX also creates default settings, a parking lot, and assigns the creating user to the tenant.
Delete
Deletes the tenant and related tenant objects when the administrator has delete permission. The UI asks for confirmation.
Back
Returns to the tenant list without saving the current form.
Users
Users administration tasks.
Overview
Use Admin > Users to create and maintain MiRTA PBX web administrator and operator accounts. These accounts control access to the administration interface; they are separate from SIP extensions and extension web-panel accounts.
The page is available to users with the Has menu Admin/Users privilege. The records and selectable values shown to an administrator are further limited by tenant, reserved-profile, routing-profile, call-rate, and user-profile privileges.
Admin Users page with fictional documentation accounts.
The screenshot was captured from the current MiRTA PBX server. The displayed users and tenant are fictional documentation values inserted only in the browser; no PBX records were changed.
User list
The grid initially shows the account identity, authentication method, assigned profile, and allowed tenants. Select a row before using actions that operate on an existing account.
Column
Description
Username
Unique login name used to access the MiRTA PBX web interface.
Description
Administrative description of the account or its owner.
Authentication
Internal uses the password stored by MiRTA PBX. LDAP authenticates the user through the configured LDAP service.
Profile
Primary user profile that supplies menus and privileges.
Tenants
Tenants the account is allowed to access.
Select Columns to show or hide additional account properties, including Email, Profile ID, LDAP settings, IP-filter state, 2FA type, password-expiration state, password lock, dynamic-IP permission, and token validity. The column choice is retained in the current browser.
List actions
Action
Purpose
Add
Opens Define User for a new web account.
Edit
Opens the selected account in Define User.
Delete
Deletes the selected account after confirmation, subject to tenant and reserved-profile privileges.
Search
Searches the user list. When advanced filters are enabled, multiple conditions can be combined.
User Activity
Opens the user activity log. With a row selected, the log is filtered to that user; without a selection, it shows all accessible activity.
User Groups
Opens user-group administration. This action is shown only with the Can manage the User Groups privilege.
Columns
Opens the column chooser and stores the selection in the browser.
Which users are visible
Privilege
Effect
Can edit all tenants
Allows the administrator to view and manage user accounts across all tenants.
Can edit own tenants
Limits the list to accounts assigned to at least one tenant also available to the current administrator.
Can manage reserved profile users
Allows accounts using reserved user profiles to be displayed and maintained.
Define User: information and authentication
Field or option
Purpose
Username
Required unique login name. MiRTA PBX checks that the name is not already in use.
Description
Free-form administrative description.
Email
Address used for password emails and email-based two-factor authentication.
Password
Local password for an internally authenticated account. Leave it empty while editing to keep the existing password. Generate creates a suggested password.
Send Email
Sends the create/update user email template with the new credentials. A new password and valid email address are required.
LDAP
Uses LDAP instead of the local password and disables local password entry.
Custom LDAP user
Optional custom LDAP user connection string for this account.
Never expire
Exempts the local password from the expiration period configured in Admin Settings.
Password expiration date
Shows the calculated expiration date and whether a change is due. It is informational and depends on the global password-expiration setting.
Force password change at login
Requires the user to replace the local password at the next login.
Lock password, user cannot change it
Prevents the account holder from changing the password.
Last successful login
Shows the most recent successful login time for an existing account.
Login status
Shows whether inactivity housekeeping disabled the account. Select Re-enable on save to reactivate it.
Allow change of IP in the same session
Allows an authenticated browser session to continue when the client IP address changes. Leave disabled unless mobile or changing networks require it.
User Profile
Primary privilege profile that determines the menus and operations available to the user.
Some fields can be shown, hidden, unavailable, prefilled, or locked through Admin > New Items Defaults. Administrators with the corresponding override privileges can reveal or edit those fields.
Resource assignments
Field
Purpose
Tenants
Defines which tenant records and tenant-level pages the account can access.
Allowed Routing Profiles
Defines which voice, SMS, and fax routing profiles the user can select when maintaining permitted objects.
Allowed Call Rates
Defines which client call-rate tables the user can select.
Allowed User Profiles
Defines which profiles the user may assign when creating or editing other accounts.
The available choices depend on the privileges of the administrator performing the edit. A tenant-limited administrator cannot grant access to resources that the administrator cannot use.
Restrictions
Restrictions narrow access inside the assigned tenants. Select only the permitted objects. Leaving a restriction list empty means that the user is not restricted by that list.
Field
Purpose
Restricted to Queues
Limits queue pages, queue status, and queue-related information to the selected queues.
Restricted to Extensions
Limits extension-related pages and information to the selected extensions.
Restricted to Providers
Limits provider-related pages and information to the selected providers.
Additional security
Field or option
Purpose
Use IP Filter
Restricts login to the addresses and IPv4 networks in Allowed IP list. Test the list before enabling it for the only administrator account.
Allowed IP list
Enter IPv4 addresses or CIDR networks. Whitespace, commas, and semicolons can separate entries;
# starts a comment. An address without a prefix is treated as a single host.
Use Two Factors Authentication (2FA)
Selects no 2FA, a code sent by SMS, a code sent by email, or Google Authenticator.
Mobile phone number
Destination used when SMS two-factor authentication is selected.
Secret code
Secret used by Google Authenticator. Get generates a secret and QR code.
Autogenerate
Defers Google Authenticator secret generation and enrollment until login.
Save, delete, and related actions
Save stores the account and its tenant, routing-profile, call-rate, user-profile, and restriction assignments.
Delete removes the account after confirmation when the current administrator has sufficient scope.
Back returns to the Users list.
User Quick shortcuts opens shortcut configuration for an existing account.
Security recommendation: give each administrator an individual account, assign the least-privileged profile and tenant scope required, enable 2FA, and review User Activity regularly. Before deleting an account, verify that no operational process still depends on that login.
User Activity
Use Admin > Users > User Activity to audit web-interface, API, authentication, configuration, campaign, provider-number, and maintenance operations recorded by MiRTA PBX. From the Users list, select a user before choosing User Activity to open a prefiltered log, or open it without a selected row to review all activity available to your account.
The page requires the Has menu Admin/Users privilege. Administrators with Can edit all tenants can review all tenant activity. Administrators limited to their own tenants see only activity allowed by their tenant and user scope.
Admin User Activity page with fictional documentation events.
This screenshot was captured from the current MiRTA PBX server. The displayed activity rows are fictional documentation values inserted only in the browser; no PBX records or activity-log rows were changed.
Working with the log
Control
Purpose
Search
Filters the log. When advanced filters are enabled, multiple rules and groups can be combined.
View
Opens the selected row and shows fields that are hidden in the default grid.
Undo
Attempts to restore the saved old values for a selected
UPDATE or
DELETE row. See Undo limitations before using it.
Columns
Shows, hides, or reorders columns. The choice is retained in the current browser.
CSV Export
Exports the activity data and all supported columns for offline review.
Columns
Column
Description
ID
Unique activity-log row ID.
Date
Date and time at which the event was logged.
Tenant
Tenant associated with the operation. System-wide operations can have no tenant name.
User
Web username or process label responsible for the event. Examples include
OPENAPI,
AUTO, or
housekeeping.
Action
Short operation code. The current standard codes are described below.
Host
Client IP address. When location data is available, the interface also displays the country flag and name.
User Agent
Browser or API client user-agent string.
Country code / Country
Location resolved from the client IP address when the event was written.
Table
Database table or logical object associated with the operation. A suffix such as
-de_destinations identifies related routing destinations.
Table ID
Database or logical record identifier used by the operation.
Table value
Human-readable value used to identify the affected object, such as an extension number or object name.
Old values
Field values captured before the operation.
New values
Field values captured after the operation.
Changed values
Calculated summary for standard insert, update, delete, and failed-upgrade events.
Requested URI
Host and web path that generated the log row.
Important: activity details can contain configuration values, addresses, object names, and request information. Restrict access to trusted administrators and protect exported CSV files accordingly. Passwords and other secrets are masked by supported logging paths, but historical or custom log writers might not apply the same masking.
Record and page-change actions
Action code
Meaning
INSERT
A new database or logical record was created. New values contains the captured state.
UPDATE
An existing record was modified. Compare Old values, New values, and Changed values.
DELETE
A record was removed. Old values contains the captured state before deletion.
UNDO UPDATE
An administrator used User Activity to restore the old values of an
UPDATE row.
UNDO DELETE
An administrator used User Activity to recreate a record from a
DELETE row.
PAGE CHANGE
Automatic fallback audit entry written when a page changed the database without writing a more specific activity row. The old side contains a sanitized request; the new side summarizes detected SQL mutations.
Authentication and security actions
Action code
Meaning
LOGIN
Successful web-interface login.
LOGIN FAILED
The supplied web credentials were not accepted.
reCAPTCHA FAILED
The login request failed the configured reCAPTCHA check.
LOGIN FROM IP NOT ALLOWED
The global web GeoIP policy rejected the source IP country.
TOO MANY FAILED LOGIN FROM IP
Web fail2ban rejected the source IP after too many recent failures.
LOGIN BLOCKED BY IP
The user account IP filter did not allow the source IP address.
LOGIN DISABLED BY INACTIVITY
A login was refused because inactivity housekeeping had disabled the account.
LOGOUT
The user logged out, or the session was terminated for a security reason such as an unexpected IP change. Review the values for the reason when present.
DISABLED BY INACTIVITY
Housekeeping disabled a web user or extension after the configured period without a successful login.
GOOGLE 2FA GENERATED
A Google Authenticator secret was generated or enrolled for a user.
MULTIMANAGER LOGIN
Successful login to the MiRTA PBX MultiManager socket service.
MULTIMANAGER LOGIN FAILED
Failed login to the MultiManager socket service.
MULTIMANAGER LOGOUT
Logout from the MultiManager socket service.
Campaign actions
Action code
Meaning
START
The selected campaign was requested to start.
STOP
The selected campaign was stopped and returned to the ready state.
PAUSE
The selected campaign was paused.
RESUME
The selected campaign was resumed.
RESETCALLS
Attempt, disposition, duration, and related call-result fields were reset for the selected campaign numbers.
SIP and runtime-state actions
Action code
Meaning
RESET
An extension, virtual extension, flow, BLF, or related runtime state was reset to the value shown in New values.
PRUNING
A SIP or PJSIP endpoint was pruned from runtime state while maintaining or refreshing an extension.
UNREGISTERING
A SIP or PJSIP endpoint was explicitly unregistered while changing or deleting an extension.
System, report, and access actions
Action code
Meaning
READ
A protected object was opened or retrieved by a logging-enabled path, currently including provider details and recording access. It does not mean that every ordinary page view is logged as
READ.
EXECUTE
A configured report was executed. The logged values include the requested date range and generated report-data ID when available.
TESTSENDEMAIL
The test-send action was used for an email template.
DATABASE UPGRADE
A database upgrade step completed and advanced the stored database version.
FAILED DATABASE UPGRADE
A database upgrade step failed. Review the old/new version and saved error message, then also check the process and PHP logs.
DID-provider and emergency-data actions
Action code
Meaning
NUMBER ALLOCATE
A number was allocated through a supported DID provider.
NUMBER ACTIVATE
An allocated DID-provider number was activated.
NUMBER ASSIGNED
A provider number or number from a block was assigned to a MiRTA PBX tenant/DID record.
NUMBER SET
Routing targets for a DID-provider number were changed.
NUMBER DEACTIVATE
A DID-provider number was deactivated.
BLOCK NUMBER ACTIVATE
A block of provider numbers was activated.
BLOCK DEACTIVATE
A block of provider numbers was deactivated.
999 SET
UK emergency-service address data for a provider number was changed.
999 CREATE
A UK emergency-service address record was created for a provider number.
Additional action codes
The Action field is a text value, not a fixed database enumeration. The tables above list every standard literal code used by the current MiRTA PBX source, while dynamic CRUD logging resolves to
INSERT,
UPDATE, or
DELETE. Older releases, plugins, integrations, or local customizations can write other codes. Interpret an unfamiliar code together with User, Table, Table value, the old/new values, and Requested URI.
Undo limitations
Undo is available only for rows whose action is exactly
UPDATE or
DELETE.
The activity row must contain enough saved old values to identify the table, primary key, and restorable columns.
For an update, the target record must still exist. For a delete, a record with the same key must not already exist.
Routing-destination logs receive special handling, but Undo otherwise restores one logged table at a time. Related rows, generated configuration, caches, and runtime state are not automatically guaranteed to be restored.
A successful operation creates an
UNDO UPDATE or
UNDO DELETE audit row.
Recommendation: inspect the complete row first, take an appropriate backup, and use the normal configuration page when the change affects multiple related objects or runtime configuration. After Undo, verify the object and apply any normal reload or regeneration step required by that feature.
User Profiles
User Profiles administration tasks.
Overview
Manage privilege profiles assigned to users.
Use Admin > Overview to manage overview.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Global Lists
Global Lists administration tasks.
Admin CDRs
Review call history across tenants.
Use Admin > Admin CDRs to manage admin cdrs.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
DIDs List
Review DID assignments across tenants.
Use Admin > DIDs List to manage dids list.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Extensions List
Review extension assignments across tenants.
Use Admin > Extensions List to manage extensions list.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Media Files List
Review tenant media files from a global view.
Use Admin > Media Files List to manage media files list.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
External Agents List
Review external queue agents from a global view.
Use Admin > External Agents List to manage external agents list.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Security
Security administration tasks.
Call Limits
Set system-level limits used to protect tenants and providers.
Use Admin > Call Limits to manage call limits.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
GeoIP and Fail2Ban Filters
Configure country filters, rate limits, Fail2Ban behavior, and blocked or trusted addresses.
Use Admin > GeoIP and Fail2Ban Filters to manage geoip and fail2ban filters.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning. The source form exposes these main blocks or fields: GeoIP allowed countries, Locate IP Address, Enable VoIP Fail2Ban, Enable web interface Fail2Ban, Fail2Ban max attempts, Notify ban activity, Notify address, Notify sender address.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Errors reported
The checkgeoipf2b.php script can report an error if the configuration data is incorrect, like in this case, when there is an extra space in the -- jump ACCEPT string.
Main Fields
Field or block
Purpose
GeoIP allowed countries
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Locate IP Address
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Enable VoIP Fail2Ban
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Enable web interface Fail2Ban
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Fail2Ban max attempts
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Notify ban activity
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Notify address
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Notify sender address
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Whitelisted IPs
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Autowhitelist from Tenants IP Restrictions
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Autowhitelist from Tenants IP Registration
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Allow SIP connections from only Allowed IP
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Block known SIP scanners - Edit
Review this value in relation to the object being configured and the tenant or system scope where it is used.
SIP Scanners
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Blocked IPs
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Raw Traffic
Inspect raw SIP or network traffic records for security and troubleshooting.
Use Admin > Raw Traffic to manage raw traffic.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Register Attempts
Review registration attempts and authentication patterns.
Use Admin > Register Attempts to manage register attempts.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Admin Stats
Admin Stats administration tasks.
Call Stats
Review global call statistics.
Use Admin > Call Stats to manage call stats.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Admin Reports
Create and run global reports.
Use Admin > Admin Reports to manage admin reports.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning. The source form exposes these main blocks or fields: Date start, Date end.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Main Fields
Field or block
Purpose
Date start
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Date end
Review this value in relation to the object being configured and the tenant or system scope where it is used.
Call Performance
Analyze call performance and related metrics.
Use Admin > Call Performance to manage call performance.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Peer Status
Review peer status across the system.
Use Admin > Peer Status to manage peer status.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Transcripts Status
Review transcript processing state.
Use Admin > Transcripts Status to manage transcripts status.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Translations
Translations administration tasks.
Overview
Maintain translation strings used by the interface.
Use Admin > Overview to manage overview.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Themes
Themes administration tasks.
Overview
The Themes page in Admin > Themes controls host-name based branding for the MiRTA PBX web interface. A theme can change the selected UI package, Smartadmin layout behavior, logos, login-page text, menu additions, custom templates, and switchboard access behavior.
Each theme is selected by matching the requested web host against Server Name Regex. Keep the most specific host patterns for branded domains and use a broad expression only for the default theme.
Themes list with fictional documentation theme entries.
Working with themes
Action
Explanation
Create
Use New Theme from the Themes list, complete the host pattern and branding fields, then save.
Edit
Select a theme from the list by clicking the server-name regex, theme name, or title.
Duplicate
Use the duplicate action when a new branded domain should start from an existing theme.
Delete
Delete only unused themes. Removing the active catch-all theme can leave the login page without the expected branding.
Validate host matching
Test each branded hostname after saving. Regex patterns are powerful, so a broad expression can unintentionally match more hostnames than expected.
Theme editor
The editor is split into sections. The screenshots use fictional documentation values and should not be saved directly on a production system.
Theme editor identity and Smartadmin layout options with fictional values.
Theme editor customization and login-page fields with fictional values.
Theme editor switchboard link and favicon options with fictional values.
Field reference
Field
Description
Server Name Regex
Matches the HTTP host name that should use this theme. Use a precise expression for a branded domain, or a broad expression only for a catch-all default theme.
Theme
Selects the installed UI theme package. The standard value is smartadmin.
Fixed header
Keeps the page header visible while scrolling.
Fixed navigation
Keeps the navigation panel fixed while page content scrolls.
Menu on top
Moves the main navigation from the side panel to a horizontal top menu.
Push content
Pushes page content when the mobile navigation is opened.
Force RTL (Right to Left)
Forces right-to-left layout for languages or deployments that require it.
Boxed layout
Constrains the page width instead of using the full browser width.
Hidden Menu
Collapses the navigation until the user hovers over the visible navigation area.
Minify Menu
Shows a compact icon-oriented navigation menu.
Bigger Font
Increases the interface font size.
Skin
Chooses the Smartadmin skin, such as light, default, or dark.
Color
Applies one of the predefined Smartadmin color themes or a custom color file.
Other Body Classes
Adds extra Smartadmin body classes for advanced layout customization.
Provisioning host name
Overrides the host name shown in provisioning-related pages and generated provisioning links. Leave empty to inherit the configured host.
Title
Sets the browser tab title. Enable Smart to append page-specific information.
Top Title
Sets the title shown in the top application area. HTML can be used for custom branding when needed.
Bottom message
Sets the footer or bottom message shown in the interface.
Additional menu
Adds custom menu entries. The field can use variables such as tenant code, selected tenant, tenant name, and username.
Additional Configuration item menu
Adds custom entries under the Configuration menu.
Additional Status item menu
Adds custom entries under the Status menu.
Additional Status/Stats item menu
Adds custom entries under the Status/Stats menu grouping.
Additional Admin item menu
Adds custom entries under the Admin menu.
Additional Bread item
Adds custom breadcrumb content.
Additional Head entries
Adds custom HTML entries to the page head. Use only trusted markup.
Logo Path
Path or URL for the logo image used by the theme.
Favicon Path
Path or URL for the browser favicon.
Custom CSS
Path to an extra CSS file loaded by the theme.
Custom Javascript
Path to an extra JavaScript file loaded by the theme.
Custom Login tpl
Template file used to override the login page for this theme.
Do not apply CSP
When enabled, the login page for this theme does not receive the Content Security Policy header. This is useful for legacy custom login templates while they are being updated. Leave it disabled when the custom login page is CSP-compatible.
Custom topmenu tpl
Template file used to override the top menu.
Custom dashboard tpl
Template file used to override the dashboard.
Custom Webphone URL
Alternative webphone URL. Use
%%NAME%% to substitute the extension username.
Custom Wallboard ProxyAPI URL
Alternative Proxy API base URL used by wallboard integrations.
Max number of menu items
Controls how many Configuration menu items are displayed before the interface condenses them. This is applied at login time.
Max number of destination items shown
Limits the number of items displayed inside destination selectors.
Max number of Data Table items shown
Controls when larger lists switch to a grid-style view.
Default number of Data Table items show
Default page length for DataTable lists.
No menu items
Hides the main menu for this theme.
No header
Hides the page header for this theme.
Language
Forces a language for this theme, or leaves it on automatic browser detection.
Company
Company name shown on the login page.
Company Message
Main message shown on the login page.
Company Sub Message
Secondary login-page message.
Multiple clusters portal
Adds the cluster portal link for deployments that expose several clusters.
Switchboard login
Controls whether the login page shows a switchboard button, redirects to switchboard login, or shows no switchboard link.
Switchboard Favicon Path
Path or URL for the favicon used only by the switchboard page. Leave empty to keep the browser default behavior for the switchboard.
CSP and custom login templates
The Do not apply CSP option is intentionally theme-specific. It allows old or highly customized login templates to keep working while they are being made compatible with the login-page Content Security Policy. For a hardened login page, leave this option disabled and update the custom login template so all scripts, images, frames, and styles comply with the CSP rules.
Operational notes
Theme changes are evaluated at login and page-render time, so test both an authenticated page and the login page for each branded hostname.
Custom CSS, JavaScript, template, and head-entry fields should point only to trusted files maintained by the PBX administrator.
When using custom menus, keep links stable and avoid exposing tenant-specific administration links to users who should not access them.
When Let's Encrypt or virtual-host creation is enabled in Admin Settings, the Themes list can also be used to review certificate and web-server configuration status.
New Items Defaults
New Items Defaults administration tasks.
Overview
Define defaults applied to newly created objects.
Use Admin > Overview to manage overview.
This page is a starting point for administrators: review existing records, add only the objects needed by the deployment, and keep names consistent across tenants, routing, and provisioning.
Typical Workflow
Open the menu entry and confirm whether the record already exists.
Create or edit the record with a descriptive name and only the required options first.
Save the record and reopen it to verify the stored values.
Check dependent objects before deleting anything that may be used by routing, billing, provisioning, or reporting.
Documentation Example
For documentation and testing, use names prefixed with Docs Demo. Existing PBX nodes should be reused as examples; do not create additional nodes unless the deployment actually requires them.
Settings
Settings administration tasks.
Overview
Use Admin > Settings to manage global MiRTA PBX behavior. These settings are system-wide, so changes can affect multiple tenants, integrations, storage backends, and background jobs.
Working with Admin Settings
Action
Description
Open
Open Admin > Settings from the Global Administration menu.
Review
Work section by section. Global changes should be checked against tenants, nodes, storage services, and integrations that depend on them.
Save
Use Save at the bottom of the form to apply changes. Some changes, such as upgrade, housekeeping, media-file, or test actions, run their own action from the relevant section.
Custom extension usernames
Enable Allow extensions with custom usernames in the Security section when SIP extensions must use usernames that do not follow the generated tenant-code format.
Version
Version section of Admin Settings.
Use this section to check the installed software version, database schema status, available upgrades, and maintenance actions.
Field or option
Purpose
Software in use
Sets the Software in use value for Version.
Database schema
Sets the Database schema value for Version.
Database upgrade (Select)
Selects the Database upgrade behavior for Version.
Internationalization
Internationalization section of Admin Settings.
Use this section for global locale defaults such as the system currency.
Field or option
Purpose
Currency
Sets the Currency value for Internationalization.
Dialing
Dialing section of Admin Settings.
Use this section for global dialing defaults, caller ID handling, DID matching, and feature-code restrictions.
Field or option
Purpose
International prefix
Sets the International prefix value for Dialing.
Trunk prefix
Sets the Trunk prefix value for Dialing.
Country code
Country Code: You can specify the country code, like 39, so any call using the international prefix, but the country code, will not be treated as international
Voice messages language (Select)
Language: This option controls the selection of the language in Asterisk embedded message playback
Inbound CallerID Modifications (Select)
Selects the Inbound CallerID Modifications behavior for Dialing.
Allowed Outbound Digits
Sets the Allowed Outbound Digits value for Dialing.
DID matching (Select)
Allow DID matching for number only: When a DID is searched in the system, at least a match for areacode + number is required, when a provider sends only the number part.
Always route calls to provider (Checkbox)
Always route calls to provider: Even if the number dialed is defined on the PBX, route it to the provider.
Force selection of Caller ID (Checkbox)
Force selection of Caller ID: Force selection of a numeric Caller ID number, hide selection of ANONYMOUS and WITHHELD from extensions Caller ID selection
Force selection of Emergency Caller ID (Checkbox)
Force selection of Emergency Caller ID: Force selection of an emergency Caller ID. You can set it at tenant or extension level
Force feature codes to start by # or * (Checkbox)
Force feature codes to start either by # or *: By enabling this, a feature code must start by * or # otherwise you can use anything as feature code
Replace + with the international prefix (outbound) (Checkbox)
Replace + with the international prefix (outbound): By enabling this, when dialing out, it replaces the + with the international prefix
Allow Regex in DID number (Checkbox)
Allow Regex in DID number: Allow to use a regex for the number in the DID page. Be warned, a wrong regex can stop all calls
License
License section of Admin Settings.
Use this section to store the system license key.
Field or option
Purpose
License key
Sets the License key value for License.
API Interface
API Interface section of Admin Settings.
Use this section to manage global API credentials and API-side Asterisk result caching.
Field or option
Purpose
General API Key
Sets the General API Key value for API Interface.
General Read Only API Key
Sets the General Read Only API Key value for API Interface.
Cache Asterisk results (seconds)
Cache Asterisk results (seconds): API calls can put heavy load on Asterisk, so you can specify a time in seconds to retain results and use as cache
DB Data Retention
Admin Settings DB Data Retention section with Recording metadata holding days shown with fictional documentation data.
Use this section to define how long operational data remains in the database before cleanup. Recording metadata can have its own retention period, or it can follow the recording retention value when left empty.
Field or option
Purpose
Advanced Call Detail info days
Advanced Call Detail info days: Sets the retention period for the Voipmonitor CDR data. You can access them from the call history, using the disposition link
Advanced Call Detail media (pcap and graphs) days
Advanced Call Detail media (pcap and graphs) days: Sets the retention period from the Voipmonitor pcap and graphs
Call history days
Call history days: Sets the retention days for call history, both Simple Call History and Complete Call History
SMS history days
SMS history days: Sets the retention days for SMS History
SMS retention days
SMS retention days: Sets the number of days to keep trying to send an SMS
Call Steps (CEL) history days
Call Steps (CEL) history days: Sets the retention days for the Call Steps data and CEL table
Queue history days
Queue history days: Sets the retention days for the queue history logs
Queue history days (informative data)
Queue history days (informative data): Sets the retention days for the informative events of the queue history, like NO FREE AGENTS and NOT THE RIGHT TIME
Provisioning and event history days
Sets the Provisioning and event history days value for DB Data Retention.
Provisioning feedback days
Sets the Provisioning feedback days value for DB Data Retention.
Activity log history days
Sets the Activity log history days value for DB Data Retention.
Recording holding days
Sets the Recording holding days value for DB Data Retention.
Recording metadata holding days
Sets how many days recording metadata such as transcripts, summaries, sentiment analysis, and AI analysis details remain in rm_recordingmetadatas. Leave empty to follow Recording holding days.
Voicemail message holding days
Sets the Voicemail message holding days value for DB Data Retention.
Fax holding days
Sets the Fax holding days value for DB Data Retention.
IVR log holding days
Sets the IVR log holding days value for DB Data Retention.
Conference log holding days
Sets the Conference log holding days value for DB Data Retention.
Process log holding days
Sets the Process log holding days value for DB Data Retention.
Reports default holding days
Sets the Reports default holding days value for DB Data Retention.
Recording
Recording section of Admin Settings.
Use this section for global call-recording storage, naming, conversion, upload, and post-processing behavior.
Field or option
Purpose
Storage type (Select)
Storage type: Sets the storage backend for call recordings. Data retention limits are applied only to Database backend (for now).
JSON Service Account key (Text area)
Sets the JSON Service Account key value for Recording.
Host (Select)
Host: If your FTP server is not using the standard port 21, you can configure the desired port using a host:port syntax.
User
Sets the User value for Recording.
Password
Sets the Password value for Recording.
Directory
Sets the Directory value for Recording.
Recording name (Select)
Recording name: You can choose the name of the recording. When using a file based recording storage, it is important to add the Random prefix to avoid multiple legs recording to be overwritten
Recording format (Select)
Recording format: Sets the recording format using while capturing the audio during the call. There were multiple reports about audio corruption when using MS GSM audio
Recording conversion (Select)
Recording conversion: After the recording has been capturing and before uploading to the choosen storage, convert to a different format.
Process recording at call end (Select)
Process recording at call end: Sets if to process recording at call end. When using process at call end, the recording is available immediately after the call ends, but system load average is higher, higher database connection slots are used and the call duration recorded is slightly longer) When doing only batch process, there is a low impact on system load, lower database connection slots are used, but recordings are available after the scheduled time
Batch recording processing (Select)
Batch recording process: Sets when to process recording left on the system. If configured, the system tries to process/upload the call recording when call ends, but in case of transfers, the process/upload of the recording can be delayed and it is processed/uploaded in batch
Batch recording dynamic scaling (Select)
Batch recording dynamic scaling: Starts additional upload processes if there are lots of files to be uploaded
Batch recording matching (Select)
Batch recording matching: A call can be split in several legs and several recordings. Normal matching will upload only recordings belonging to the primary leg. Aggressive matching will upload recording from any leg. It is possible it will be uploaded also recording that has been stopped with a feature code.
Unmatched recording (Select)
Unmatched recording: What has to do with recordings not matching any call unique ID. Usually they are additional recordings generated when call are transfered and can be thrown away because they are duplicates.
Multi channel recording (Select)
Multi channel recording: You can record each party audio in a different file
Stereo recording (Select)
Stereo recording: The recording will be a stereo media file with each party in a different audio stream
Early recording (Select)
Early recording: The recording will include any audio before the call is bridged.
Process all recording legs (Select)
Process all recording legs: When enabled, all the recording legs are processed regarding email, transcript, summary and sentimental analysis.
Remove recordings on database expiration (Checkbox)
Remove recordings on database expiration: When the recording metadata is removed from the database, the corresponding recording file is deleted. It doesn't work retroactively.
Media Files
Media Files section of Admin Settings.
Use this section to configure where shared media files are stored.
Field or option
Purpose
Storage type (Select)
Storage type: Sets the storage backend for media files
Host (Select)
Host: If your FTP server is not using the standard port 21, you can configure the desired port using a host:port syntax.
User
Sets the User value for Media Files.
Password
Sets the Password value for Media Files.
Directory
Sets the Directory value for Media Files.
Faxes
Faxes section of Admin Settings.
Use this section for fax storage and fax file retention behavior.
Field or option
Purpose
Storage type (Select)
Storage type: Sets the storage backend for faxes
Host (Select)
Host: If your FTP server is not using the standard port 21, you can configure the desired port using a host:port syntax.
User
Sets the User value for Faxes.
Password
Sets the Password value for Faxes.
Directory
Sets the Directory value for Faxes.
Remove faxes on database expiration (Checkbox)
Remove faxes on database expiration: When the fax metadata is removed from the database, the corresponding fax file is deleted. It doesn't work retroactively.
Billing
Billing section of Admin Settings.
Use this section for billing dashboard visibility and billing alert delivery.
Field or option
Purpose
Dashboard show (Select)
Selects the Dashboard show behavior for Billing.
Alert email
Sets the Alert email value for Billing.
Voice Synthesizer
Voice Synthesizer section of Admin Settings.
Use this section to configure the text-to-speech engine, voice, service endpoint, and credentials.
Field or option
Purpose
Engine (Select)
Selects the Engine behavior for Voice Synthesizer.
Voice (Select)
Selects the Voice behavior for Voice Synthesizer.
Region (Select)
Selects the Region behavior for Voice Synthesizer.
Full Endpoint URL
Full endpoint URL with instance id like https://api.us-east.speech-to-text.watson.cloud.ibm.com/instances/82baccdd-45ee-46ff-ba1a-3cd23425b3c1/v1/synthesize
Voice Engine API username
Sets the Voice Engine API username value for Voice Synthesizer.
Rate/Pitch
Rate/Pitch parameters: You can control the rate and pitch of the voice to be created by entering them separated by a /, like -11/-70
Voice Engine API password
Sets the Voice Engine API password value for Voice Synthesizer.
Speech to Text
The Speech to Text section in Admin > Settings configures the global speech-recognition engine and the background jobs that process recorded calls. Tenant-level settings can override some values, but the global configuration is the fallback used by the PBX when a tenant does not define its own engine or credentials.
The screenshots below use fictional values and were captured from the global Admin Settings form without saving changes.
IBM Watson TTS
Admin Settings Speech to Text configuration for IBM Watson TTS with fictional documentation values.
Field
Meaning
Engine
Selects IBM Watson as the global Speech to Text provider. The historical label includes TTS, but this panel is used for recognition.
Full Endpoint URL
Watson recognition endpoint, including the service instance and recognize path supplied by IBM.
Language
Watson language and model. Choose the model that matches the spoken language and expected audio bandwidth.
Download Languages
Downloads or refreshes the available Watson language list after the endpoint and credentials are configured.
Speech To Text Engine API username
Watson credential username. Many IBM deployments use
apikey as the username.
Speech To Text Engine API password
Watson API key or password.
Transcribe phone call recordings
Schedules batch transcription of recorded calls and selects the node that runs the transcript job.
Transcribe when recording is uploaded
Starts transcript processing immediately after a recording is uploaded, in addition to any scheduled batch processing.
Minimum call time for transcript
Skips recordings shorter than the configured number of seconds.
Test speech recognition
Uploads a WAV file and sends it to the selected engine to verify the global configuration.
Nexiwave
Admin Settings Speech to Text configuration for Nexiwave with fictional documentation values.
Field
Meaning
Engine
Selects Nexiwave as the global Speech to Text provider.
Language
Language sent to Nexiwave for recognition.
Speech To Text Engine API username
Nexiwave account username.
Speech To Text Engine API password
Nexiwave password or API secret.
Transcribe when recording is uploaded
When available for the selected engine, starts transcript processing immediately after recording upload.
Minimum call time for transcript
Skips recordings shorter than this duration.
Test speech recognition
Uploads a WAV file and validates the Nexiwave settings.
Google Cloud Speech to Text
Admin Settings Speech to Text configuration for Google Cloud Speech to Text with fictional documentation values.
Field
Meaning
Engine
Selects Google Cloud Speech to Text as the global recognition provider.
Language
Google recognition language code. Select the primary language expected in recorded calls.
Speech To Text Engine API password
Google API key used when audio is submitted directly without a storage bucket workflow.
JSON Service Account key
Service account JSON used when audio is staged in Google Cloud Storage. The service account must have access to the configured bucket.
Bucket Name
Google Cloud Storage bucket used to store audio before transcription. The bucket must already exist.
Profanity filter
Controls whether Google attempts to mask profanity in returned transcripts.
Transcribe phone call recordings
Schedules transcript processing for recorded calls and selects the processing node.
Transcribe when recording is uploaded
Starts processing immediately after recording upload.
Minimum call time for transcript
Prevents very short recordings from being submitted to Google.
Test speech recognition
Uploads a WAV file to test the Google credentials, language, and bucket/API-key configuration.
AssemblyAI
Admin Settings Speech to Text configuration for AssemblyAI with fictional documentation values.
Field
Meaning
Engine
Selects AssemblyAI as the global Speech to Text provider.
Endpoint server
AssemblyAI API host. Leave empty for the default host, or set a host such as
api.assemblyai.com.
Model
AssemblyAI model used for transcript requests. Choose the model according to accuracy and fallback requirements.
Keyterms Prompt
One key term per line. Use it for tenant names, product names, department names, and PBX terms that should be recognized accurately.
Custom Spelling
One correction per line in the form
heard term:correct spelling. Use it for brand names and technical words.
Language
AssemblyAI language selection. Automatic detection can be used when calls are multilingual or language is not predictable.
Speech To Text Engine API password
AssemblyAI API token.
Transcribe phone call recordings
Schedules transcript processing for recorded calls and selects the processing node.
Transcribe when recording is uploaded
Starts processing immediately after recording upload.
Minimum call time for transcript
Prevents short calls from being sent to AssemblyAI.
Test speech recognition
Uploads a WAV file to test the AssemblyAI endpoint, model, token, and language settings.
GeminiAI
Admin Settings Speech to Text configuration for GeminiAI with fictional documentation values.
Field
Meaning
Engine
Selects GeminiAI for speech recognition through a generative AI model.
Model
Gemini model used for transcription. Choose the model according to the desired balance of speed, cost, and accuracy.
Model command
Instruction sent to the model for the transcription task. Leave it empty to use the default instruction, or provide global guidance such as speaker separation and PBX terminology handling.
Voicemail model command
Instruction sent to GeminiAI when transcribing voicemail messages. Leave it empty to use the regular model command, then the default instruction.
Language
Recognition language option for the GeminiAI request.
Speech To Text Engine API password
Gemini API key.
Transcribe phone call recordings
Schedules transcript processing for recorded calls and selects the processing node.
Transcribe when recording is uploaded
Starts processing immediately after recording upload.
Minimum call time for transcript
Prevents short recordings from being submitted to GeminiAI.
Test speech recognition
Uploads a WAV file and verifies the GeminiAI model, command, key, and language settings.
Operational Notes
Configure provider credentials and run a test upload before enabling automatic transcription jobs.
Use the existing transcript processing node for scheduled jobs. Do not add a node only for documentation examples.
External transcription services can process sensitive call audio. Review privacy, retention, billing, and data-processing requirements before enabling them globally.
Tenant-level Speech to Text settings can override global engine, language, and credentials when a tenant requires different behavior.
Generative Artificial Intelligent chat models
Generative Artificial Intelligent chat models section of Admin Settings.
Use this section to configure AI chat-model access used by summary and analysis features.
Field or option
Purpose
Engine (Select)
Selects the Engine behavior for Generative Artificial Intelligent chat models.
API key
API Key to use
Model
Model: The model for the ChatGPT
Temperature
Temperature: Controls the randomness or creativity of the AI model output. Leave empty to use the provider default.
System content (Text area)
System content: Initialize the system content
Summarize user content (Text area)
Summarize user content: Provide the user content to summarize, use ${TRANSCRIPT} for the transcript
Voicemail summarize user content (Text area)
Voicemail summarize user content: Provide the user content to summarize voicemail messages, use ${TRANSCRIPT} for the transcript. If empty, the summarize user content is used.
Summarize transcribed phone call recordings (Select)
Summarize transcribed phone call recordings: Schedule the summarize for transcribed phone calls
Summarize when recording is transcribed (Checkbox)
Summarize when recording is transcribed: By enabling this, the summarize process will start immediately after the recording is transcribed
Sentimental analysis user content (Text area)
Sentimental analysis user content: Provide the user content to perform sentimental analysis, use ${TRANSCRIPT} for the transcript
Sentimental analyze transcribed phone call recordings (Select)
Sentimental analyze transcribed phone call recordings: Schedule the sentimental analysis for transcribed phone calls
Sentimental analysis when recording is transcribed (Checkbox)
Sentimental analysis when recording is transcribed: By enabling this, the sentimental analysis process will start immediately after the recording is transcribed
Recording processing email notifications (Select)
Controls whether every requested processing email is sent or only the highest requested result for each recipient.
Recording processing email notifications
This global setting controls which emails are sent when transcript, summary, and sentimental analysis processing is requested for the same call. Tenants using System Default inherit this value.
Option
Behavior
Always send the notification
Sends every requested transcript, summary, and sentimental analysis notification. This is used when no value has previously been configured.
Send the notification only for the last process
For each email recipient, sends only the highest requested processing result.
Last-process mode uses this priority: sentimental analysis > summary > transcript. A higher process suppresses a lower email only when email notification was requested for the same recipient. Email matching is case-insensitive, so recipients requested only for a lower process continue to receive that lower-process notification.
For example, if transcript notification is requested for A and B, summary for B and C, and sentimental analysis for C and D, A receives the transcript, B receives the summary, and C and D receive the sentimental analysis.
Suppression is based on the requested processing stage. If a higher process later fails, MiRTA PBX does not send a lower-stage fallback notification.
Fax Protocol
Fax Protocol section of Admin Settings.
Use this section for modem protocol, speed, and ECM defaults used by fax processing.
Field or option
Purpose
Modem Type
Sets the Modem Type value for Fax Protocol.
Minimum Speed
Sets the Minimum Speed value for Fax Protocol.
Maximum Speed
Sets the Maximum Speed value for Fax Protocol.
Error Correction Mode (ECM) (Select)
Selects the Error Correction Mode (ECM) behavior for Fax Protocol.
Outbound Fax Service
Outbound Fax Service section of Admin Settings.
Use this section to control outbound fax retry behavior, protocol choices, DID filtering, and page format defaults.
Field or option
Purpose
Rescheduling delay (minutes)
Sets the Rescheduling delay (minutes) value for Outbound Fax Service.
Max number of attempts
Sets the Max number of attempts value for Outbound Fax Service.
Force codec
Force codec: When dialing out a fax, request only the entered codec
Fax Protocol (Select)
Selects the Fax Protocol behavior for Outbound Fax Service.
Show only Fax DIDs (Select)
Selects the Show only Fax DIDs behavior for Outbound Fax Service.
Fast OnNet Fax processing (Select)
Fast OnNet Fax processing: When a fax is directed to an onnet number, just copy the fax to the destination, without really sending it
Default page format (Select)
Default page format: When a fax is sent and no page format is selected, this one is used
Inbound Fax Service
Inbound Fax Service section of Admin Settings.
Use this section for inbound fax sender identity, detection timing, and generated fax file names.
Field or option
Purpose
Sender Email name
Sender Email name: If no template is defined for the inbound fax service email, this sender email name will be used
Sender Email address
Sender Email address: If no template is defined for the inbound fax service email, this sender email address will be used
Automatic fax detection time
Number of seconds to wait for remote fax tone when DID set to autodetect faxes. It adds a delay in reception of calls when DID set to autodetect faxes.
Fax file name format (Select)
When delivering the fax by email, a different file name format can be used
Mail to Fax Service
Mail to Fax Service section of Admin Settings.
Use this section for network timeout and automatic disable behavior for mail-to-fax processing.
Field or option
Purpose
Network activity timeout
Network activity timeout: Mailboxes are checked serially, this will set the amount of time to wait for any network I/O operation, in seconds
Automatic disable after X failures
Automatic disable after X failures: After configured failures, automatic disable the mailbox, use 0 to disable the feature
Mail to Call Service
Mail to Call Service section of Admin Settings.
Use this section for network timeout and automatic disable behavior for mail-to-call processing.
Field or option
Purpose
Network activity timeout
Network activity timeout: Mailboxes are checked serially, this will set the amount of time to wait for any network I/O operation, in seconds
Automatic disable after X failures
Automatic disable after X failures: After configured failures, automatic disable the mailbox, use 0 to disable the feature
User Authentication - LDAP
User Authentication - LDAP section of Admin Settings.
Use this section to configure LDAP binding and test credentials for external authentication.
Field or option
Purpose
Base DN
Base DN: The base DN, like ou=users,dc=company,dc=local
Account Suffix
Account Suffix: Like ou=sysops
Account Prefix
Account Prefix: Like cn=
Domain Controllers
Domain Controlles: List the domain controllers including the protocol, like ldap://dc1.company.com,ldap://dc2.company.com
Test Username
Test Username: The username will be joined in a string like {Account Prefix}{Username},{Account Suffix},{Base DN}
Test Password
Sets the Test Password value for User Authentication - LDAP.
Conferencing
Conferencing section of Admin Settings.
Use this section for conference email sender defaults.
Field or option
Purpose
Sender Email name
Sets the Sender Email name value for Conferencing.
Sender Email address
Sets the Sender Email address value for Conferencing.
Voicemail
Voicemail section of Admin Settings.
Use this section for voicemail audio format visibility and defaults.
Field or option
Purpose
Audio format configured (Select)
Audio format configured: Set to the audio format chosen in /etc/asterisk/voicemail.conf. This is not for choosing the voicemail audio format, but to make the web interface use the same audio format chosen in the voicemail configuration file.
Voicemail backup
Voicemail backup section of Admin Settings.
Use this section to configure backup storage for voicemail messages.
Field or option
Purpose
Storage type (Select)
Storage type: Sets the storage backend for voicemail backup. There is no data retention limit.
Host (Select)
Host: If your FTP server is not using the standard port 21, you can configure the desired port using a host:port syntax.
User
Sets the User value for Voicemail backup.
Password
Sets the Password value for Voicemail backup.
Directory
Sets the Directory value for Voicemail backup.
Voicemail recording name (Select)
Voicemail recording name: You can choose the name of the recording.
Provisioning
Provisioning section of Admin Settings.
Use this section for provisioning host, blocked provisioning files, and fast-provisioning QR code format.
Field or option
Purpose
Provisioning host name
Provisioning host name: Set the provisioning host name reported in the Configuration/Provisioning/Phones page. If left blank will automatically use the one defined in the theme selected, in the tenant or the host name used to access the web interface.
Blacklisted autoprovisioning files (Text area)
Blacklisted autoprovisioning files: If a file matches one of these regex, then the usual MAC matching is disabled and only a custom file can be served, if available
Fast provisioning QR Code
Fast provisioning QR Code: If enabled in the tenant, create a QR Code in the Configuration/Extensions page to provision the extension on supporting softphones. You can use the following variables: $username, $secret, $macaddress, $password, $http_user and $http_password
Inbound Unassigned DIDs
Inbound Unassigned DIDs section of Admin Settings.
Use this section for alerting and media playback when an inbound DID is not assigned.
Field or option
Purpose
Alert Email address
Sets the Alert Email address value for Inbound Unassigned DIDs.
Media file to play
Sets the Media file to play value for Inbound Unassigned DIDs.
Disabled Tenants
Disabled Tenants section of Admin Settings.
Use this section for the media played when disabled tenants receive or place calls.
Field or option
Purpose
Inbound calls file to play
Sets the Inbound calls file to play value for Disabled Tenants.
Outbound calls file to play
Sets the Outbound calls file to play value for Disabled Tenants.
CSV Exports
CSV Exports section of Admin Settings.
Use this section for CSV delimiter, enclosure, escape, and BOM defaults.
Field or option
Purpose
Delimiter
Sets the Delimiter value for CSV Exports.
Enclosure
Sets the Enclosure value for CSV Exports.
Escape char
Sets the Escape char value for CSV Exports.
BOM sequence (Select)
Selects the BOM sequence behavior for CSV Exports.
Inbound calls
Inbound calls section of Admin Settings.
Use this section for inbound privacy defaults.
Field or option
Purpose
Privacy (Select)
Selects the Privacy behavior for Inbound calls.
Outbound calls
Outbound calls section of Admin Settings.
Use this section for busy or blocked-call media, minimum call time, and failed-call reporting.
Field or option
Purpose
On Busy - media file to play
Sets the On Busy - media file to play value for Outbound calls.
On Do Not Call list - media file to play
Sets the On Do Not Call list - media file to play value for Outbound calls.
Minimum call time in seconds
Minimum call time in second: Enter the minimum call time, in seconds, otherwise the call will be not even started
Failed call reported as (Select)
Failed call reported as: When a call is unroutable or all providers fail to connect, report as
CNAM service
CNAM service section of Admin Settings.
Use this section to configure caller-name lookup, caching, and UTF-8 handling.
Field or option
Purpose
URL/custom AGI script
URL: Enter the CNAM URL using %%NUM%% as placeholder for the number of phone. Or the name of an agi script returning the CNAM value As example for OpenCNAM: https://api.opencnam.com/v2/phone/%%NUM%%?format=pbx&account_sid=ACCOUNT_SID&auth_token=AUTH_TOKEN replacing ACCOUNT_SID and AUTH_TOKEN with the one provided by OpenCNAM
Request only when CallerID name is empty (Checkbox)
Enables or disables Request only when CallerID name is empty.
Allow UTF-8 characters and symbols (Checkbox)
Enables or disables Allow UTF-8 characters and symbols.
Caching (Checkbox)
Enables or disables Caching.
Cache retention (days)
Sets the Cache retention (days) value for CNAM service.
Manage CNAM Cache (Action)
Opens or runs the related administration action.
Switchboard
Switchboard section of Admin Settings.
Use this section for switchboard websocket connection defaults.
Field or option
Purpose
Websocket hostname:port to connect
Websocket hostname:port to connect: This is the fully qualified domain name of server running the AMI Router
SSL Usage (Select)
SSL usage: Here you define if the client javascript application will talk to the host using SSL or not.
WebRTC
WebRTC section of Admin Settings.
Use this section for WebRTC SIP servers, realms, websocket proxies, and softphone user-agent settings.
Field or option
Purpose
Chan_sip WebRTC SIP server
Chan_sip WebRTC server: When authenticating with a chan_sip account, this server will be used for the WebRTC SIP phone.
PJSIP WebRTC SIP server
PJSIP WebRTC server: When authenticating with a PJSIP account, this server will be used for the WebRTC SIP phone.
Chan_sip realm for registration
Chan_sip realm for registration: Server realm to be used by the switchboard extensions to register using chan_sip.
PJSIP realm for registration
PJSIP realm for registration: Server realm to be used by the switchboard extensions to register using PJSIP.
Websocket proxy URL for chan_sip
Websocket proxy URL for chan_sip: This is the websocket proxy URL to use for switchboard extensions to register when using chan_sip.
Websocket proxy URL for PJSIP
Websocket proxy URL for PJSIP: This is the websocket proxy URL to use for switchboard extensions to register when using PJSIP.
Softphone user agent
Softphone user agent: The user agent to report to the system.
SMS
SMS section of Admin Settings.
Use this section for SMS DID filtering and SMS length limits.
Field or option
Purpose
Show CallerID DIDs for SMS (Select)
Show CallerID DIDs for SMS: Permit to Show only DIDs configured to receive SMS
Max SMS length
Max SMS length: Enter the max number of character accepted for an SMS in the portal
Security
Security section of Admin Settings.
Use this section for password visibility, password policy, reCAPTCHA, two-factor authentication, custom extension usernames, web username uniqueness, and session-cookie hardening.
Field or option
Purpose
Hide Password in main screens (Checkbox)
Enables or disables Hide Password in main screens.
Allow to show hidden Password in main screens (Checkbox)
Enables or disables Allow to show hidden Password in main screens.
Use split cost limits (domestic/international) (Checkbox)
Enables or disables Use split cost limits (domestic/international).
WebRTC SSL path
WebRTC SSL path: Enter the full path, usually /etc/asterisk/certificates/yourdomain.pem to allow WebRTC clients. You need to reload the sip module or prune the clients when this is updated
Change password enforcement regex
Change password enforcement regex: Enter the regex to use for passwords entered by the user in the Login/Change Password
Change password enforcement message
Change password enforcement message: Enter the message to use when the passwords entered by the user in the Login/Change Password doesn't meet the required regex
Special characters in auto generated passwords
Special characters in auto generated passwords: List of special characters used in the auto generation of passwords. Some softphones or provisioning templates can't use any character
System password expiration days
System password expiration days: Request a password change for system users after defined days since last change. Leave blank to disable password expiration.
Disable inactive users after days
Automatically disables system users and extension web users when their last successful login is older than the configured number of days. Use 0 to disable future automatic inactivity checks.
Use Google reCAPTCHA (Select)
SSL usage: Use Google reCAPTCHA
reCAPTCHA site key
reCAPTCHA site key: You need to register on google.com and obtain a reCAPTCHA API key for your list of domains
reCAPTCHA secret key
reCAPTCHA secret key: You need to register on google.com and obtain a reCAPTCHA API key for your list of domains
2FA tenant for SMS sending (Select)
Selects the 2FA tenant for SMS sending behavior for Security.
2FA SMS message
2FA SMS message: This is the message delivering the code for 2FA authentication, use %%CODE%% for replace the actual code
2FA SMS callerid
2FA SMS callerid: This is the callerid to use when delivering the code for 2FA authentication
Allow extensions with custom usernames (Checkbox)
Allow extensions with custom usernames: Allow to create extensions with custom usernames.
Requires unique Web usernames (Checkbox)
Require unique Web usernames: Requires extension web usernames to be unique among all the tenants.
Increased Session Cookies security (Checkbox)
Increased Session Cookies security: Activate several restriction on the session cookie usage to increase security.
Inactive-user disablement
Daily housekeeping applies this policy only when Disable inactive users after days is greater than 0. Accounts with no successful login history are ignored, and the built-in admin system user is exempt.
A successful portal login updates the system-user or extension-user timestamp after password, IP filter, two-factor authentication, and password-expiration checks complete. An authorized switchboard login also updates the extension-user timestamp. SIP registration and WebRTC credential requests are not affected and do not update the timestamp.
Changing the setting to 0 stops future automatic disablement but does not restore accounts already disabled. Open the system user or extension, select Re-enable on save, and save. The historical last-login timestamp is retained and the account receives one configured inactivity period of grace.
Logging
Logging section of Admin Settings.
Use this section for extension event logging, provisioning activity logging, device-state logging, latency logging, and PHP error reporting.
Field or option
Purpose
Log Extension Events (Checkbox)
Log Extension Events: Log any change in the extension state, you can review these logs from Status/Peers
Log Provision Activities (Checkbox)
Log Provision Activities: Log any provision request from phones
Device state pedantic commit (Checkbox)
Device state pedantic commit: Rewrite the state of extension at every registration, even if the state has not changed
Device state logging (Checkbox)
Device state logging: Log any devstate activity using syslog
Monitor DID for BLF (Checkbox)
Monitor DID for BLF: Monitor any DID state for BLF
PHP Error reporting (Checkbox)
PHP Error reporting: Show all the bad PHP coding, warnings and errors. You don't need it.
Music On Hold
Music On Hold section of Admin Settings.
Use this section for default music-on-hold selection and streaming mode.
Field or option
Purpose
Default Music On Hold (Select)
Selects the Default Music On Hold behavior for Music On Hold.
Default Music On Hold streaming engine (Select)
Selects the Default Music On Hold streaming engine behavior for Music On Hold.
Music On Hold mode (Select)
Selects the Music On Hold mode behavior for Music On Hold.
Stats
Stats section of Admin Settings.
Use this section for statistics calculation behavior.
Field or option
Purpose
Count transfer as answered (Select)
Agent Activity: Count transferred calls, even parked, as answered calls.
MS Teams integration
MS Teams integration section of Admin Settings.
Use this section for Microsoft Teams integration and OpenSIPS connectivity.
Field or option
Purpose
MS Teams integration (Select)
MS Teams integration: Enable the MS Teams integration. You need to define the MS Teams address in the Admin/Tenant
OpenSIPS socket
OpenSIPS socket: Something like tls:__ip_address__:5067 where the OpenSIPS is listening
OpenSIPS server connection (Select)
OpenSIPS server connection: The server who has the connection to the OpenSIPS server
QueueMetrics API
QueueMetrics API section of Admin Settings.
Use this section for QueueMetrics integration behavior.
Field or option
Purpose
QueueMetrics API (Select)
QueueMetrics API: Enable the QueueMetrics API by sending to QueueMetrics the logs from the selected queues
QueueMetrics delay
QueueMetrics delay: How many milliseconds to wait between two API calls to QueueMetrics
Theming
Theming section of Admin Settings.
Use this section for theme-related certificate and virtual-host defaults.
Field or option
Purpose
Let's Encrypt certificates creation from Admin/Themes page (Checkbox)
Let's Encrypt certificates creation from Admin/Themes page: Allow the system to automatically generate and optionally renew Let's Encrypt certificates
Virtual Host directory
Virtual Host directory: Allow the system to automatically generate virtual host configurations. Usually it is /etc/httpd/conf.d
Virtualhost Template (Text area)
Sets the Virtualhost Template value for Theming.
Queue History Theming
Queue History Theming section of Admin Settings.
Use this section for queue-history filtering behavior.
Field or option
Purpose
Queue History easy filters (Select)
Queue History easy filters: In Status/Queue History show easy filters like in Status/Stats.
Dashboard Theming
Dashboard Theming section of Admin Settings.
Use this section for dashboard chart defaults.
Field or option
Purpose
Call quantity most recent day (Select)
Call quantity most recent day: Most recent day to show in the Call Quantity tab.
Call History Theming
Call History Theming section of Admin Settings.
Use this section for call-history display, filtering, row loading, and preprocessing behavior.
Field or option
Purpose
Call History view (Select)
Call History view: In Status/Call History controls if to show all legs or try to show compact by grouping them.
Call History easy filters (Select)
Call History easy filters: In Status/Call History show easy filters like in Status/Stats.
Call History mobile view (Select)
Call History mobile view: In Status/Call History show a mobile phone optimized view when using a smartphone
Call History destination view (Select)
Call History destination view: In Status/Call History controls how to display the destination number dialed.
Call History row count (Select)
Call History row count: Counting every row in the Call History is slow and most of the time, useless. Using this option you can speed up the counting of rows
Call History number of rows preloaded
Call History number of rows preloaded: Specifies how many rows to preload when loading the Call History
Call History wherelanded preprocessing (Select)
Call history wherelanded preprocessing: Accessing the call history can be slow because the system needs to compute each call real destination. You can schedule a preprocessing to speed up access to Call history
Advanced Customization
Admin Settings Advanced Customization section with the Diversion Host setting shown with fictional documentation data.
Use this section for advanced UI, DID format, tenant visibility, SIP Diversion header host handling, SIP stack, cron server, language, and low-level routing defaults.
Field or option
Purpose
Show status of extension in Configuration/Extensions page (Checkbox)
Enables or disables Show status of extension in Configuration/Extensions page.
Show status of extension in Status/Peers page (Checkbox)
Enables or disables Show status of extension in Status/Peers page.
DID Format (Select)
Selects the DID Format behavior for Advanced Customization.
National form in DID select (Checkbox)
Enables or disables National form in DID select.
National form with no trunk in DID select (Checkbox)
Enables or disables National form with no trunk in DID select.
E.164 form in DID select (Checkbox)
Enables or disables E.164 form in DID select.
E.164 with plus in DID select (Checkbox)
Enables or disables E.164 with plus in DID select.
E.164 with international prefix in DID select (Checkbox)
Enables or disables E.164 with international prefix in DID select.
Show + in DID numbers (Checkbox)
Enables or disables Show + in DID numbers.
Ignores digits after # or ; (Checkbox)
Enables or disables Ignores digits after # or ;.
Admins see all tenants (Checkbox)
Enables or disables Admins see all tenants.
Use advanced filters (Checkbox)
Enables or disables Use advanced filters.
Use filter toolbar (Checkbox)
Enables or disables Use filter toolbar.
Use DIDs storage (Checkbox)
Enables or disables Use DIDs storage.
Use translations (Checkbox)
Enables or disables Use translations.
Use branches and departments (Checkbox)
Enables or disables Use branches and departments.
Alert on NAT IP/port duplicate (Checkbox)
Enables or disables Alert on NAT IP/port duplicate.
Permit HTTP usage (Checkbox)
Enables or disables Permit HTTP usage.
Kill MOH process after 60 minutes (Checkbox)
Enables or disables Kill MOH process after 60 minutes.
SIP Trunk Module (Select)
SIP Trunk Module: Use the defined asterisk module when passing the call from one server to the other
Diversion Host
Diversion Host: Host to use in SIP Diversion headers. Leave empty to use the system name.
Session duration
Session duration is read from php.ini, but it can be set here (in seconds). 1 hour are 3600 seconds.
Lock facilities (queue, parking lots and conference rooms) to the assigned server (Checkbox)
Lock facilityies: When defining a queue, a conference room or a parking lot, you need to assign them to one of your servers. If left to be assigned automatically, they will be run from the first server trying to use it. They will be moved to another server when the server where they are assigned will stop answering. You can lock them to one server, so they will not be reassigned to another server if the server running them will be temporarily not answering.
Queue Stats Reset (Select)
Queue Stats Reset: Reset the Asterisk mantained stats like SLA and SLA2 at midnight.
jqGrid tenant selection (Select)
Selects the jqGrid tenant selection behavior for Advanced Customization.
SIP stack available (Select)
Selects the SIP stack available behavior for Advanced Customization.
Preferred SIP stack (Select)
Selects the Preferred SIP stack behavior for Advanced Customization.
First day in date and time picker (Select)
Selects the First day in date and time picker behavior for Advanced Customization.
LCR Prefix for expansion
Sets the LCR Prefix for expansion value for Advanced Customization.
MAX TTL for calls
MAX TTL for calls: A call can trigger several destinations, each destination can trigger several other destinations. To avoid loops or infinite running calls, a maximal number of steps can be set for any call. By default it is 100.
MAX TTL alert Email
MAX TTL alert Email: When a TTL expires it can be due to a loop. A loop is dangerous because it uses lots of CPU power. You can be noticed when it happens.
Tenant Selector Format (Select)
Selects the Tenant Selector Format behavior for Advanced Customization.
Default cronjob server (Select)
Selects the Default cronjob server behavior for Advanced Customization.
Default campaign server (Select)
Selects the Default campaign server behavior for Advanced Customization.
Default SMS server (Select)
Selects the Default SMS server behavior for Advanced Customization.
Campaign "fast start" delay
Campaign fast start delay: Campaigns to be started are checked every minute. This means, when starting a campaign using a feature code, it can take up to 60 seconds before it really starts. You can configure here a delay in seconds, activating a more fine check for campaign start. Setting to empty, will stop the fast start feature.
Default fax server (Select)
Selects the Default fax server behavior for Advanced Customization.
Available Languages
Sets the Available Languages value for Advanced Customization.
Custom peer status page query
Custom peer status page query: You can provide a query to be executed for each of the peers in peer status, returning a list of fields. Use %%PEERNAME%% for the peer name, like select mailbox as Mailbox,allow as Allow from sipfriends where data-inputname=
Save, Save (Action)
Opens or runs the related administration action.
Administration Links
Administration Links section of Admin Settings.
Use this side panel to open related global administration tools.
Field or option
Purpose
Languages (Action)
Opens the related global administration page.
Codecs (Action)
Opens the related global administration page.
Date and time formats (Action)
Opens the related global administration page.
Ring tones (Action)
Opens the related global administration page.
Regions (Action)
Opens the related global administration page.
Backups (Action)
Opens the related global administration page.
Auto Answers (Action)
Opens the related global administration page.
Digital Faxes (Action)
Opens the related global administration page.
Default Quick shortcuts (Action)
Opens the related global administration page.
Push Notifications (Action)
Opens the related global administration page.
System Messages (Action)
Opens the related global administration page.
SIP Cause Codes (Action)
Opens the related global administration page.
Upgrade and Version
Use this area to check the installed software version, available versions, database schema version, and controlled upgrade or reinstall actions.
Dialing and Internationalization
Configure currency, international prefix, trunk prefix, country code, language, DID matching, caller ID enforcement, and outbound digit restrictions.
Security and Access
Configure global access, API behavior, password rules, tenant visibility, SIP scanner protection, and security-related defaults.
Backups
Use Admin > Settings > Backups to create and maintain system backup schedules. These are global schedules, not tenant schedules. A backup can export system configuration, call history, recording metadata, reports data, custom configuration files, or a combination of these sources.
This page documents the dedicated Backups administration screen. It is separate from the Voicemail backup storage setting inside Admin Settings, which only controls voicemail-message backup storage.
Open the Backups Page
Step
Action
1
Open Admin > Settings from the Global Administration menu.
2
In the Administration Links panel, choose Backups.
3
Use the Backups list to review existing schedules, run a backup manually, or open the Backup form.
Admin Settings Backups list from the current MiRTA PBX application, with operational values sanitized.
Backups List
The Backups list is the operational view for existing backup schedules. It supports sorting, search, pagination, selecting rows for deletion, opening a schedule by clicking its linked fields, and queuing a manual run from the Action column.
Column or control
Description
New Backup
Opens a blank Backup form for creating a new global backup schedule.
Delete Selected
Deletes the selected backup schedules after confirmation. Each deleted schedule also removes the linked background cron definition.
Selection checkbox
Selects one or more backup schedules for bulk deletion.
Name
Schedule name. A red disabled icon beside the name indicates an inactive schedule.
Node
Node that runs the backup job. Use this to keep database dumps and file operations on the intended PBX node.
Scheduled
Human-readable schedule built from month, weekday, day, hour, and minute settings.
Last executed
Shows the last start and end timestamps for the background job.
Directory
Local filesystem directory where backup files are written before optional FTP transfer.
FTP Server
Remote FTP host and directory when FTP storage is configured.
Run backup
Queues the selected schedule for immediate execution. The application displays that the backup has been scheduled and should start within about one minute.
Backup Information
The Information section defines the schedule identity, whether it is active, what data the backup contains, and which node runs the job.
Backup Information section from the current MiRTA PBX application, using unsaved documentation values.
Field
Description
Name
Required schedule name shown in the Backups list and background job history.
Active
Controls whether the scheduled job can run automatically. Inactive schedules remain saved but are not executed by schedule.
Type
Selects the backup content. Available choices include system configuration, call history, recordings metadata, reports data, combined system and call history backups, combined system, call history, and recordings backups, combined system, call history, recordings, and reports data backups, and custom configuration files.
Run from node
Selects the PBX node that executes the backup. Choose a node that has access to the database, local backup directory, and any custom files being archived.
Backup Content Types
Backup content
What is created
System configuration
Creates a system configuration database dump named like
asterisk-YYYY-MM-DD_HH-MM-SS.sql. The recording metadata and reports data tables are excluded from this dump and handled by their own backup choices.
Call history
Creates a call-history database dump named like
asteriskcdrdb-YYYY-MM-DD_HH-MM-SS.sql.
Recordings
Creates a recording metadata database dump named like
asteriskrecordings-YYYY-MM-DD_HH-MM-SS.sql. This backs up the recordings database table; it does not replace the configured storage backup for the actual audio files.
Reports data
Creates a reports data database dump named like
asteriskreportsdata-YYYY-MM-DD_HH-MM-SS.sql.
System configuration then call history
Runs the system configuration dump and then the call-history dump in the same backup job.
System configuration then call history then recordings
Runs the system configuration, call-history, and recording-metadata dumps in the same backup job.
System configuration then call history then recordings and reports data
Runs the combined database backup including system configuration, call history, recording metadata, and reports data.
Custom configuration files
Creates a compressed archive named like
customfiles-YYYY-MM-DD_HH-MM-SS.tar.gz containing the custom system and PBX configuration paths handled by the backup runner.
Schedule
The Schedule section controls when the background job runs. Month, weekday, day, and hour support multiple selections; minute is selected as a single value.
Backup Schedule section from the current MiRTA PBX application, using unsaved documentation values.
Field
Description
Month
Select Every month or one or more specific months.
Weekday
Select Any weekday or one or more weekdays. This is evaluated together with the other schedule fields.
Day
Select Every day or one or more day numbers from 1 through 31.
Hour
Select Every hour or one or more hours from 0 through 23.
Minute
Select Every minute or one minute from 00 through 59. For production backups, prefer a specific low-traffic minute instead of every minute.
Database Access
The backup job uses these credentials when creating database dumps. Store credentials for an account that can read the required MiRTA PBX databases and run from the selected node.
Backup Database access section from the current MiRTA PBX application, with credentials sanitized.
Field
Description
Host
Database host reachable from the selected node. Use the local database address when the backup runs on the database node.
User
Database user used by the dump command.
Password
Database password for the backup user. Treat it as a secret and avoid exposing it in screenshots or support tickets.
Filesystem Backup Storage
Filesystem storage is always the first backup target. The backup runner creates files in the configured local directory and applies local retention by backup type.
Backup Filesystem backup storage section from the current MiRTA PBX application, using documentation paths and retention values.
Field
Description
Directory
Required local directory where backup files are written. The selected node must be able to create the directory if needed and write files into it.
System configuration #files
Required number of local system configuration dump files to keep.
Call history #files
Required number of local call-history dump files to keep.
Recordings #files
Required number of local recording metadata dump files to keep.
Reports data #files
Required number of local reports data dump files to keep.
Custom configuration #files
Required number of local custom configuration archives to keep.
FTP Backup Storage
FTP storage is optional. When an FTP host is configured, the backup runner uploads the generated local backup files to the remote FTP directory and applies the configured remote retention values.
Backup FTP backup storage section from the current MiRTA PBX application, using documentation server values.
Field
Description
Host
FTP server hostname or address. Leave empty to keep backups only in the local filesystem directory.
User
FTP username.
Password
FTP password. Treat it as a secret.
Max data rate
Optional upload limit. Use suffixes such as K, M, or G, for example 10M.
Directory
Remote FTP directory where backup files are uploaded.
Use passive FTP
Keeps passive FTP enabled when checked. Clear it only for FTP servers that require non-passive mode.
System configuration #files
Optional number of remote system configuration dump files to keep.
Call history #files
Optional number of remote call-history dump files to keep.
Recordings #files
Optional number of remote recording metadata dump files to keep.
Reports data #files
Optional number of remote reports data dump files to keep.
Custom configuration #files
Optional number of remote custom configuration archives to keep.
Save
Creates or updates the backup schedule and returns to the Backups list.
Delete
Deletes the current backup schedule after confirmation.
Back
Returns to the Backups list without saving changes.
More Panel
The More panel provides a second entry point for creating a new backup schedule and, when schedules already exist, quick links to open the other saved backup schedules.
Backup More panel from the current MiRTA PBX application, with schedule names sanitized.
Validation and Troubleshooting
Check
What to verify
Manual run
After saving a schedule, use the Run backup action from the Backups list and wait at least one minute for the background runner to pick it up.
Local files
Confirm that new backup files are created in the configured local directory and that old files are pruned according to the retention counts.
Database permissions
If database dumps fail, verify host reachability, username, password, and read permissions on the selected backup content databases.
Filesystem permissions
If no files are created, verify that the selected node can create and write to the configured directory.
FTP transfer
If local files are created but remote transfer fails, verify FTP host, directory, credentials, passive mode, transfer rate, and that the selected node has the FTP client dependency installed.
Background output
For low-level failure details, check the backup runner output log at
/tmp/mirtapbxbackup.out and, when a post-backup hook is installed,
/tmp/mirtapbx-post-backup.log.