---
id: "freepbx"
type: "component"
kind: "contact-center"
provider: "default"
category: "messaging"
docs: "https://sangomakb.atlassian.net/wiki/spaces/PG/pages/24510614/Queues+Module+User+Guide"
url: "https://localhost:3000/catalogue/components/freepbx"
---

# FreePBX

Web administration GUI over Asterisk with queues, IVR and call recording modules.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [Contact center](https://localhost:3000/catalogue/kinds/contact-center) |
| Category | Messaging |
| Official docs | [https://sangomakb.atlassian.net/wiki/spaces/PG/pages/24510614/Queues+Module+User+Guide](https://sangomakb.atlassian.net/wiki/spaces/PG/pages/24510614/Queues+Module+User+Guide) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `callRecording` | boolean | — | no | false | inherited |
| `callRecordingMode` | enum | `force`, `yes`, `dont-care`, `no`, `never` | no | — | inherited |
| `channelChat` | boolean | — | no | false | **false** |
| `channelVoice` | boolean | — | no | true | **true** |
| `emergencyCalling` | boolean | — | no | false | inherited |
| `managed` | boolean | — | no | false | **false** |
| `maxConcurrentContacts` | integer | — | no | — | inherited |
| `outboundDialing` | boolean | — | no | false | inherited |
| `queueStrategy` | enum | `ringall`, `leastrecent`, `fewestcalls`, `random`, `rrmemory`, `rrordered`, `linear`, `wrandom` | no | "ringall" | inherited |
| `recordingRetentionDays` | integer | — | no | — | inherited |
| `routing` | enum | `fifo`, `skills-based`, `attribute-based` | no | "fifo" | **"fifo"** |
| `telephonyEngine` | enum | `asterisk` | no | "asterisk" | inherited |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 13

- [Cloud Call Center](https://localhost:3000/catalogue/components/alibaba-cloud-call-center.md) `alibaba-cloud-call-center` — alibabacloud
- [Amazon Connect](https://localhost:3000/catalogue/components/aws-connect.md) `aws-connect` — aws
- [Asterisk](https://localhost:3000/catalogue/components/asterisk.md) `asterisk` — default
- [Generic contact center](https://localhost:3000/catalogue/components/contact-center.md) `contact-center` — default
- [Five9](https://localhost:3000/catalogue/components/five9.md) `five9` — default
- [FreeSWITCH](https://localhost:3000/catalogue/components/freeswitch.md) `freeswitch` — default
- [Genesys Cloud CX](https://localhost:3000/catalogue/components/genesys-cloud.md) `genesys-cloud` — default
- [Kamailio](https://localhost:3000/catalogue/components/kamailio.md) `kamailio` — default
- [OpenSIPS](https://localhost:3000/catalogue/components/opensips.md) `opensips` — default
- [Talkdesk CX Cloud](https://localhost:3000/catalogue/components/talkdesk.md) `talkdesk` — default
- [3CX](https://localhost:3000/catalogue/components/threecx.md) `threecx` — default
- [Twilio Flex](https://localhost:3000/catalogue/components/twilio-flex.md) `twilio-flex` — default
- [Google Cloud CCaaS](https://localhost:3000/catalogue/components/google-ccaas.md) `google-ccaas` — gcp

## Use it in a design

```yaml
nodes:
  - { id: "freepbx", component: "freepbx" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# FreePBX: self-hosted open source web GUI that configures Asterisk, with modules for inbound
# routes, queues and call recording ("FreePBX Open Source" documentation). "The default ring
# strategy for queues is ringall", which rings all available agents until one answers ("Queues
# Module User Guide"); recording is a per-queue and per-extension mode chosen from five options
# rather than something the install turns on ("Call Recording walk through").
schemaVersion: "1"
type: "component"
id: "freepbx"
kind: "contact-center"
provider: "default"
docs: "https://sangomakb.atlassian.net/wiki/spaces/PG/pages/24510614/Queues+Module+User+Guide"
defaults:
  managed: false
  channelVoice: true
  channelChat: false
  routing: "fifo"
properties:
  queueStrategy:
    type: "enum"
    values: ["ringall", "leastrecent", "fewestcalls", "random", "rrmemory", "rrordered", "linear", "wrandom"]
    default: "ringall"
  callRecordingMode:
    type: "enum"
    values: ["force", "yes", "dont-care", "no", "never"]
  telephonyEngine:
    type: "enum"
    values: ["asterisk"]
    default: "asterisk"
```

Human page: https://localhost:3000/catalogue/components/freepbx
