11.3 Що нового — і що в розробці¶
[!IMPORTANT] Посібник націлений на Kamailio 6.1.x (stable-лінія, квітень 2026). Цей додаток перелічує помітні зміни між недавніми мажорними версіями, що було заархівовано, і де шукати, що відбувається у devel-гілці. Це навмисно вказівник — wiki й репо — авторитетні трекери.
Швидка орієнтація у недавніх версіях¶
| Гілка | Статус (травень 2026) | Перший реліз | Що принесла |
|---|---|---|---|
| 6.1.x | Поточний stable | 2026-03-03 | 4 нові модулі, VRF у core, TLS domain match, SHA3-трансформації, нові RPC |
| 6.0.x | Maintained | 2025 | Перша 6.x-лінія — multi-threaded UDP receiving, CMake build, видалено 8 legacy-модулів |
| 5.8.x | Maintained (long-tail) | 2024 | Остання 5.x; багато продакшн-розгортань ще тут |
master (devel) |
→ 6.2.x | — | Активна розробка; in-progress дивитися у GitHub-репо |
У Kamailio немає формального «LTS» — кожна X.Y-лінія maintained приблизно рік після релізу наступного мажора. На практиці оператори таргетять або поточний stable (6.1.x для нових), або одну лінію назад (6.0.x) для консервативності.
Що додало 6.1.x¶
Нові модулі
| Модуль | Призначення |
|---|---|
auth_arnacon |
Автентифікація через Arnacon-протокол |
auth_web3 |
Web3-style автентифікація (wallet-based identity) |
peerstate |
Tracking стану peer'ів по кластеру, доповнює dispatcher-liveness |
ptimer |
Process-level-таймери — більш гранулярний scheduling, ніж глобальний timer |
Заархівовані модулі (переведено у kamailio-archive-репо)
app_java,db_berkeley,db_perlvdb— давно не використовувані інтеграції, які більше не виправдовували maintenance.
Помітні зміни в core
- Підтримка VRF (Virtual Routing and Forwarding) у core-визначеннях сокетів — bind'ити listener у конкретний Linux-VRF.
- TLS connection domain matching — обирати TLS-конфіг per-connection через SNI / SAN.
- SHA3 / Keccak — криптографічні трансформації, доступні у cfg DSL.
- Нові псевдо-змінні
$defv(),$defs(),$iuid— runtime-доступ до defined-значень і per-instance UUID. - RPC
modparam.getn,modparam.setn,modparam.list— повноцінна інтроспекція й runtime-tweaking параметрів модулів (розділ 2.4 покривcfg.*-сімейство; ці — узагальнення). - TCP listen-backlog тепер налаштовується — корисно проти accept-storm.
- Покращення підтримки ARM64 — Kamailio чисто працює на graviton-class-інстансах.
Що змінило 6.0.x (vs 5.x)¶
Це більший розрив. Якщо команда ще на 5.8.x і думає про стрибок — ось куди дивитися:
Архітектурні зміни
- Multi-threaded UDP receiving як опція — worker-модель (розділ 2.1) отримала гібридний режим, де один процес може використовувати кілька потоків для UDP
recvfrom. Не замінює per-message-per-worker-патерн, але зменшує загальну кількість процесів для дуже високого PPS. - CMake build system — замінює старий hand-rolled-Makefile. Новий інвок:
cmake -S . -B build && cmake --build build. Старийmake-workflow ще працює, але CMake тепер рекомендований. - TLS перемігрувало з OpenSSL ENGINE на provider keys для OpenSSL 3.x. Зачіпає кастомні TLS-конфіги, що посилалися на ENGINE-ключі.
Заархівоване у 6.0.x
auth_identity,app_lua_sr,app_sqlang,app_mono— застарілі scripting-bridge'і (Lua тепер черезapp_lua, Python — черезapp_python3і т.д.).db_cassandra— заміщено mainstream-DB-модулями; Cassandra-інтеграції тепер через зовнішні пайплайни.osp,print,print_lib— давно deprecated.
Breaking-зміни конфіга
dialogприбрав підтримку старого параметраdlg_flag— state ставиться черезdlg_manage()-прапори.app_python3видалив legacy compatibility shim'и; скрипти, що таргетили Kamailio 5.x, можуть потребувати дрібних правок.
Що в розробці (master-гілка)¶
Гілка master у github.com/kamailio/kamailio — це місце, де формується 6.2.x. Сторінка wiki kamailio.org/wikidocs/features/new-in-devel/ — авторитетний живий список; оновлюється мейнтейнерами по мірі того, як фічі землять.
Як подивитися, що йде, без неї:
# Свіжі коміти у master
gh repo clone kamailio/kamailio && cd kamailio
git log --oneline master --since="3 months ago" | head -50
# Нові модулі у master vs останній stable-tag
git diff --name-status 6.1.2..master -- src/modules/ | grep '^A' | head -20
# Open PR з лейблом "feature"
gh pr list --repo kamailio/kamailio --label feature --state open
Mailing list sr-dev@lists.kamailio.org несе design-дискусії до того, як код потрапляє у tree; GitHub Discussions — для high-level-роадмеп-питань.
Як розділи посібника співвідносяться з версіями¶
Посібник націлений на Kamailio 6.1.x, і архітектурні концепти стабільні через недавні версії. На що звертати увагу при читанні розділів на іншій версії:
- Процесна модель (2.1) — у 6.0+ додано опційний UDP-receiving-threading-режим, але multi-process-дисципліна без змін.
- Пам'ять (2.2) — вибір аллокатора і розкол
pkg/shmне міняються відколи задовго до 5.x. - Lumps (3.3) — data-lump-машинерія стабільна 15+ років. Source-файли все ще
data_lump.{c,h}. - KEMI (5) —
KSR.*-API forward-compatible; нові біндинги додаються per-release без видалення старих. - Routing engine (3.4) —
reply_routeіonreply_routeобидва існують у кожній сучасній версії; перелік подій дляevent_route[…]зростає з кожним релізом, як модулі додають хуки. htable,dispatcher,dmq(8) — feature-surface зростає; описані архітектурні патерни без змін. Master-лінія додає операційніdmq-knob'и (sl_send,init_with_single, RPC-керування membership'ом,dmq_process_custom()) — див. 8.5 dmq.
Якщо ви побачили поведінку, що суперечить посібнику на актуальній версії — репо виграє: посібник — best-effort, але C-код — авторитетний.
Куди дивитися за розвитком Kamailio¶
- GitHub-репо: kamailio/kamailio — код, issues, PR.
- Wiki: kamailio.org/wikidocs — features-per-version-сторінки, документація модулів.
- Mailing list'и:
sr-users@для ops-питань,sr-dev@для розробки. - Asipto blog (asipto.com) — компанія, що рухає багато з комерційної розробки Kamailio; пости про нові фічі й roadmap.
- Щорічна конференція KamailioWorld — реліз-recap'и й roadmap-доповіді.