Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Asterisk 24, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΠ’Π‘, ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π³Π»Π°ΡΠΎΠ²Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ, VoIP ΡΠ»ΡΠ·ΠΎΠ²Π΅, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π½Π° IVR ΡΠΈΡΡΠ΅ΠΌΠΈ (Π³Π»Π°ΡΠΎΠ²ΠΎ ΠΌΠ΅Π½Ρ), Π³Π»Π°ΡΠΎΠ²Π° ΠΏΠΎΡΠ°, ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΈ ΠΊΠΎΠ»-ΡΠ΅Π½ΡΡΠΎΠ²Π΅. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GPLv2.
Asterisk 24 Π΅ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (LTS), Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π΄Π°Π²Π°Ρ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈΡΠ΅ Π·Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° LTS Π²Π΅ΡΡΠΈΡ Asterisk 22 ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄ΠΎ ΠΎΠΊΡΠΎΠΌΠ²ΡΠΈ 2029 Π³ΠΎΠ΄ΠΈΠ½Π°, Π° Π½Π° Π²Π΅ΡΡΠΈΡ Asterisk 20 Π΄ΠΎ ΠΎΠΊΡΠΎΠΌΠ²ΡΠΈ 2027 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΠ½Π΅ΡΠΎ Π½Π° LTS Π²Π΅ΡΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ΠΎ ΠΊΡΠΌ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°.
Π‘ΡΠ΅Π΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Asterisk 24:
- Π ΠΌΠΎΠ΄ΡΠ»Π° res_pjsip, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° VoIP ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° SIP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ PJSIP ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ DNS ΠΈΠΌΠ΅Π½Π°, ΡΠ΅Π³Π° ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ, Π°ΠΊΠΎ Π΅ ΡΡΠΏΡΠ»ΠΎ Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈ ΠΏΠΎΠ½Π΅ Π΅Π΄Π½Π° ΡΠ²ΡΡΠ·Π°Π½Π° DNS Π·Π°ΠΏΠΈΡ SRV, A ΠΈΠ»ΠΈ AAAA.
- Π ΠΌΠΎΠ΄ΡΠ»Π° res_prometheus ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΈ Β«channels_detail_metrics_enabledΒ» ΠΈ Β«bridges_detail_metrics_enabledΒ» Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΅ΠΊΡΠΏΠΎΡΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Prometheus Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π·Π° ΠΊΠ°Π½Π°Π»ΠΈΡΠ΅ (βasterisk_channels_stateβ, βasterisk_channels_duration_secondsβ) ΠΈ ΠΌΠΎΡΡΠΎΠ²Π΅ΡΠ΅ (βasterisk_bridges_channels_countβ).
- Π ΠΏΡΠΎΡΠΈΠ»Π° Π½Π° ΠΌΠΎΡΡΠ° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ConfBridge Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«announcementsΒ», Ρ ΠΊΠΎΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΎΠ±ΡΠΈΡΠ΅ Π°Π½ΠΎΠ½ΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΡΠΏΠ΅ΡΡΡΠ²Π° Π΅Π΄ΠΈΠ½ ΠΊΠ°Π½Π°Π» ΠΈ Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ taskprocessor.
- Π ΠΌΠΎΠ΄ΡΠ»Π° chan_websocket Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π½Π΅Π±ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΊΠ°Π΄ΡΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ ΠΈΠΌ ΠΎΡ WebSocket ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ITSP ΠΏΠΎ IP Π°Π΄ΡΠ΅Ρ ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° TLS Ρ SRTP.
- Π websocket_client.conf Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Β«write_timeoutΒ» Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ Π·Π°ΠΏΠΈΡ ΠΏΡΠ΅Π΄ΠΈ Π²ΡΡΡΠ°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠ°.
- Π ΡΡΠ΅Π΄ΡΡΠ²Π°ΡΠ° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (res_geolocation) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠΊΡΠΈΠΏΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Alembic Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ geoloc_location ΠΈ geoloc_profile.
- Π ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ast_websocket_client_options Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅ write_timeout Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ Π·Π°ΠΏΠΈΡ Π² Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ.
- Π ΡΡΠ±ΠΈΡΠΈΠ΅ΡΠΎ MEDIA_START Π² chan_websocket ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° passthrough ΠΈ unbuffered, ΠΎΡΡΠ°Π·ΡΠ²Π°ΡΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π½Π°Π»Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
