Skip to main content

Extension Management

Extensions connect agents, devices, or bots to RustPBX. This chapter covers creation, bulk administration, and protection controls.

1. Extension model

  • Core fields: number, display name, department, SIP password or certificate bundle.
  • Policy fields: concurrency limit, outbound permissions, media parameters (DTMF mode, RTP ports, codec order).
  • Related objects: queues, billing templates, and frequency limits (models/frequency_limit.rs).

(Insert an “Extension list” screenshot.)

2. Creating an extension

  1. Console → Extensions → Create.
  2. Fill basic information and select an authentication method:
    • Password: auto-generate or manually supply a strong secret.
    • Certificate: pair with WebRTC clients.
  3. Configure calling permissions—black/white lists and domestic vs. international dialing policies.
  4. Save and distribute the credentials to the assigned device.

File / script import

For bulk onboarding, call the API or insert rows that match models/extension.rs, then refresh caches.

3. Registration & devices

  • SIP softphones: enter server address, extension, and password; import certificates when TLS/SRTP is required.
  • Desk phones: use auto-provision templates or manual configuration; restrict allowed IP ranges.
  • WebRTC clients: leverage static/phone_jssip.html or phone_sipjs.html samples to establish secure browser sessions.

(Insert a WebRTC phone screenshot.)

4. Security & limits

  • Frequency limits: define policies in models/frequency_limit.rs, attach them via the console to mitigate abusive dialing.
  • ACL: coordinate with config/acl/ to restrict IP or network access.
  • Login alerts: enable failed-login alerts in Diagnostics; spike detection can auto-block offending IPs.

5. Operational routines

TaskRecommended approach
Password rotationReset in bulk every quarter via API scripts
Status reviewDiagnostics → SIP registrations to find long-offline extensions
Mass firmware/config updatesUse vendor provision servers so devices reboot and fetch new templates
DecommissioningDisable from the extension detail page and remove queue/skill bindings

6. Common issues

  • Cannot register: verify password, proxy port, device clock, TLS certificate, and ACL rules.
  • Call fails: confirm routing rules allow the extension to dial out and ensure frequency limits were not tripped.
  • Poor audio: lower codec complexity, enable QoS on the device, or move the media server closer to the user.

Applying these practices keeps extensions secure, observable, and aligned with routing/queue policies.