📞 Asterisk + FreePBX¶
Asterisk — open-source IP-АТС: принимает и соединяет звонки (SIP и др.). FreePBX — веб-GUI поверх Asterisk: extensions, trunk'и и маршруты без ручного dialplan.
Status: Draft
1. Сущности
| Сущность | Роль |
|---|---|
| Extension | Внутренний номер / endpoint (телефон, softphone) |
| Trunk | Канал к внешнему миру (провайдер, E1, GSM-шлюз) |
| Inbound route | Куда направить входящий звонок с trunk |
| Outbound route | Через какой trunk уйти исходящий по шаблону номера |
| IVR | Голосовое меню («нажмите 1…») |
| Queue | Очередь на группу операторов |
2. Asterisk и FreePBX
| Asterisk | FreePBX | |
|---|---|---|
| Роль | Движок телефонии | GUI и генератор конфигов |
| Настройка | pjsip.conf, dialplan (extensions.conf) |
веб: Extensions, Trunks, Routes |
| Практика | Часто «под капотом» FreePBX | Типичный способ админить АТС |
FreePBX не заменяет Asterisk — управляет им. Без Asterisk звонков нет; без FreePBX можно жить на чистых конфигах.
3. Транки
Trunk — линк АТС ↔ внешняя сеть.
| Тип | Как подключают |
|---|---|
| SIP / PJSIP | IP к провайдеру или другому серверу |
| PRI (E1/T1) | Цифровой поток к оператору (E1 ≈ 30 голосовых каналов) |
| GSM-шлюз | SIM в железе; к Asterisk обычно как SIP-trunk |
| FXO | Аналоговая линия через шлюз/карту |
На собесе достаточно: «trunk = выход наружу; extension = свой внутренний».
4. Маршруты
Inbound — звонок пришёл с trunk → куда:
Trunk → Inbound Route → Extension | IVR | Queue
Outbound — с внутреннего набрали внешний номер → через какой trunk:
Extension → Outbound Route (pattern) → Trunk
Pattern (пример): _7XXXXXXXXXX или +7… — маска набираемого номера. Несколько outbound routes — приоритет и разные trunk'и (городской / мобильный / резерв).
5. Пример схемы
Частый паттерн: входящие по E1, исходящие через GSM-шлюз (мобильная сеть / иной тарифный план).
Оператор (E1/PRI) ──trunk──► Asterisk ──inbound──► IVR / queue / extension
│
Телефон (ext) ──outbound──► GSM-шлюз (SIP-trunk) ──► мобильная сеть
- E1-trunk — входящие без SIM.
- GSM-шлюз — исходящие; к Asterisk регистрируется как SIP.
Конкретная модель шлюза не важна: важны типы trunk и направление маршрутов.
6. Диагностика
CLI Asterisk (asterisk -r или asterisk -rx '…'). Имена команд зависят от chan_sip vs PJSIP.
asterisk -rx "core show channels"
asterisk -rx "pjsip show endpoints"
asterisk -rx "pjsip show contacts"
В FreePBX то же смотрят в Reports / Asterisk Info; для ops удобнее CLI на хосте АТС.
Вопросы
В разработке..