Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php

НавСрняка Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ· вас, ΠΊΠ°ΠΊ ΠΈ Ρƒ мСня, Π±Ρ‹Π»Π° идСя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΎΠΏΠΈΡˆΡƒ тСхничСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ АВБ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒΡΡ Π½Π° свою идСю, Π° ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΏΡ‚Π°Π½Π½ΠΎΠΉ Π΄ΠΎΡ€ΠΎΠΆΠΊΠ΅, вСдь я Ρ‚ΠΎΠΆΠ΅ пользовался ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Ρ†Π΅Π².

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php

ИдСя ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ трСбования

А Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ всё банально с любви ΠΊ Asterisk (framework для построСния ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ), Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΈΠΈ ΠΈ установок FreePBX (Π²Π΅Π± интСрфСйс для Asterisk). Если потрСбности ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π±Ρ‹Π»ΠΈ Π±Π΅Π· особСнностСй ΠΈ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² возмоТности FreePBX – всё супСр. Вся установка ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»Π° Π·Π° сутки, компания ΠΏΠΎΠ»ΡƒΡ‡Π°Π»Π° Π½Π°ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ АВБ, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ плюс сопровоТдСниС ΠΏΠΎ ТСланию.

Но самыС интСрСсныС Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ нСстандартными ΠΈ Ρ‚ΠΎΠ³Π΄Π° Π±Ρ‹Π»ΠΎ Π½Π΅ Ρ‚Π°ΠΊ сказочно. Asterisk ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠ΅, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π²ΠΈΠ΄Π΅ Π²Π΅Π±-интСрфСйс, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Ρ€Π°Π·Ρ‹ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊ нСбольшая ΠΌΠ΅Π»ΠΎΡ‡ΡŒ ΠΌΠΎΠ³Π»Π° Π·Π°Π½ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ установка всСй ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ АВБ. И Π΄Π΅Π»ΠΎ Π½Π΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π΅Π± интСрфСйс Π΄ΠΎΠ»Π³ΠΎ, Π° скорСС Π΄Π΅Π»ΠΎ Π² особСнностях Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ FreePBX. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ FreePBX Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π»Π°ΡΡŒ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° php4, Π° Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡƒΠΆΠ΅ Π±Ρ‹Π» php5.6Β Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всё ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅.

ПослСднСй ΠΊΠ°ΠΏΠ»Π΅ΠΉ стали графичСскиС Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ схСмы. Когда попытался ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для FreePBX, понял, Ρ‡Ρ‚ΠΎ придётся сущСствСнно Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ ΡƒΠΆΠ΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½ΠΎΠ²ΠΎΠ΅.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ трСбованиями стали:

  • простая настройка, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ доступная Π΄Π°ΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌΡƒ администратору. Π’Π΅ΠΌ самым компаниям Π½Π΅ трСбуСтся обслуТиваниС АВБ Π½Π° нашСй сторонС,
  • лСгкая Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π΅ΡˆΠ°Π»ΠΈΡΡŒ Π·Π° Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ΅ врСмя,
  • удобство ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с АВБ. Π£ FreePBX Π½Π΅ Π±Ρ‹Π»ΠΎ API для измСнСния настроСк, Ρ‚.Π΅. нСльзя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ голосовыС мСню ΠΈΠ· стороннСго прилоТСния, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ API самого Asterisk,
  • opensource – для программистов это ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ для Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΏΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ИдСя Π±ΠΎΠ»Π΅Π΅ быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π»Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вСсь Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» состоял ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ названия всСх основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΡƒΠΆΠ΅ извСстны ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ позволят Ρ€Π΅Π·ΠΊΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ассоциативных массивов со строковыми ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² FreePBX ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ, исслСдовав всю Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ случаС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² банальноС Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ всС свойства, Π΄Π° ΠΈ Ρ†Π΅Π»ΠΎΠΌ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· упростит Тизнь. Плюс наслСдованиС ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мноТСство ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ замСдляло врСмя Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ‡Π΅Π³ΠΎ стоило ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ β€” это Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Если Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ отвСтствСнный Π·Π° Π΄ΠΎΠ·Π²ΠΎΠ½ Π΄ΠΎ сотрудника, Ρ‚ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π·Π²ΠΎΠ½ΠΎΠΊ сотруднику, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΠΊΠΎΠΏΠΈΠΈ. Π’Π°ΠΊ, Ссли Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ, Ρ‚ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ придСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС ΠΈ поиск Β«ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Β» ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста, Π° Π½Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ поиск ΠΏΠΎ всСму ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.

ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ошибки

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π±Ρ‹Π» Π³ΠΎΡ‚ΠΎΠ² ΡƒΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π³ΠΎΠ΄. Вся АВБ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ, Π±Ρ‹Π»Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ, ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ², Π½ΠΎ ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ сам Π²Π΅Π±-интСрфСйс.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php
Π”Π°, идСя построСния Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°ΠΊΠΎΠΉ схСмы Π½Π΅ моя, Π½ΠΎ ΠΎΠ½Π° вСсьма удобная ΠΈ я сдСлал Ρ‚ΠΎΠΆΠ΅ самоС для Asterisk.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ написания модуля, программисты ΡƒΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ:

  • ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π²ΠΎΠ½ΠΊΠ° собствСнный Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° схСмС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² мСню элСмСнтов слСва,
  • ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС страницы для Π²Π΅Π±-интСрфСйса ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свои ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ страницы (Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ страницы это прСдусмотрСл),
  • Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свои настройки Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ основных настроСк ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ с настройками,
  • программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ модуля, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΈ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

НапримСр, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ своё голосовоС мСню:

......
class CPBX_MYIVR extends CPBX_IVR
{
 function __construct()
 {
 parent::__construct();
 $this->_module = "myivr";
 }
}
.....
$myIvrModule = new CPBX_MYIVR();
CPBXEngine::getInstance()->registerModule($myIvrModule,__DIR__); //Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
CPBXEngine::getInstance()->registerModuleExtension($myIvrModule,'ivr',__DIR__); //ΠŸΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ слоТныС внСдрСния принСсли ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π³ΠΎΡ€Π΄ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ разочарования. Π Π°Π΄ΠΎΠ²Π°Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ я ΡƒΠΆΠ΅ смог воспроизвСсти основныС возмоТности FreePBX. Π Π°Π΄ΠΎΠ²Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ людям идСя схСмы ΠΏΡ€ΠΈΡˆΠ»Π°ΡΡŒ ΠΏΠΎ Π΄ΡƒΡˆΠ΅. Π‘Ρ‹Π»ΠΎ Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π½ΠΎ ΠΈ Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ ΡƒΠΆΠ΅ дСлалась ΠΏΡ€ΠΎΡ‰Π΅.

Π Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ стало API для измСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ АВБ β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ совсСм Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ. Π― взял Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, Ρ‡Ρ‚ΠΎ ΠΈ Π²ΠΎ FreePBX, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Apply пСрСсоздаСтся вся конфигурация ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

Выглядит это Ρ‚Π°ΠΊ:

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php
*Π”ΠΈΠ°Π»ΠΏΠ»Π°Π½ β€” ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ(Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ), ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ обрабатываСтся Π·Π²ΠΎΠ½ΠΎΠΊ.

Но ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ API для измСнСния настроСк АВБ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, опСрация примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊ Asterisk слишком долгая ΠΈ рСсурсоСмкая.
Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, нСльзя Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Ρ‚.ΠΊ. ΠΎΠ±Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.
Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, примСняСт всС настройки Π² Ρ‚ΠΎΠΌ числС сдСланныС администратором.

Π’ этой вСрсии, ΠΊΠ°ΠΊ ΠΈ Π² Askozia, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½ΠΎ это всё ΠΏΠΎΠ»ΡƒΠΌΠ΅Ρ€Ρ‹. НСобходимо Π±Ρ‹Π»ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

Вторая вСрсия. Нос Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΠ» хвост увяз

ИдССй для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ стало Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ для Asterisk, Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π±Π°Π·Ρƒ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ прямо Π²ΠΎ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π²ΠΎΠ½ΠΊΠ°. Asterisk ΡƒΠΆΠ΅ ΡƒΠΌΠ΅Π» Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π°Π·Ρ‹, достаточно ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π±Π°Π·Π΅ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° для чтСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ подошла функция REALTIME_HASH.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π½Π΅ понадобилось Π΄Π°ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Asterisk ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ настроСк ΠΈ всС настройки стали ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ сразу ΠΊ Asterisk.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php

ЕдинствСнныС измСнСния Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° – это добавлСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΈ hints. Но это Π±Ρ‹Π»ΠΈ малСнькиС Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Π΅ измСнСния

exten=>101,1,GoSub(β€˜sub-callusers’,s,1(1)); - Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, добавляСтся/измСняСтся Ρ‡Π΅Ρ€Π΅Π· ami

; sub-callusers – ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ функция гСнСрится ΠΏΡ€ΠΈ установкС модуля.
[sub-callusers]
exten =>s,1,Noop()
exten =>s,n,Set(LOCAL(TOUSERID)=${ARG1})
exten =>s,n,ClearHash(TOUSERPARAM)
exten =>s,n,Set(HASH(TOUSERPARAM)=${REALTIME_HASH(rl_users,id,${LOCAL(TOUSERID)})})
exten =>s,n,GotoIf($["${HASH(TOUSERPARAM,id)}"=""]?return)
...

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ строку Π² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π΅ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ami (интСрфСйс управлСния Asterisk) ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСго Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° Π½Π΅ трСбуСтся.

Π’Π°ΠΊ Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с API для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. МоТно Π±Ρ‹Π»ΠΎ Π΄Π°ΠΆΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°ΠΉΡ‚ΠΈ Π² Π±Π°Π·Ρƒ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, врСмя Π΄ΠΎΠ·Π²ΠΎΠ½Π° Π² ΠΏΠΎΠ»Π΅ β€œdialtime” Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π»ΠΈΡ‚ΡŒΡΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ врСмя (Π­Ρ‚ΠΎ Π½Π΅ рСкомСндация ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ, Ρ‚.ΠΊ. для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… API ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ami Π²Ρ‹Π·ΠΎΠ²Ρ‹).

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ слоТныС внСдрСния ΠΎΠΏΡΡ‚ΡŒ принСсли ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π³ΠΎΡ€Π΄ΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π Π°Π΄ΠΎΠ²Π°Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… стала критичСски Π²Π°ΠΆΠ½Ρ‹ΠΌ Π·Π²Π΅Π½ΠΎΠΌ, выросла Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ диска, рисков большС, Π½ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. А Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всё, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-интСрфСйс, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Ρ‡Π΅Ρ€Π΅Π· API ΠΈ ΠΏΡ€ΠΈ этом использовались ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Π΅Π±-интСрфСйс избавился ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ настройки ΠΊ АВБ», ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ администраторы часто Π·Π°Π±Ρ‹Π²Π°Π»ΠΈ.

Π Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ стало услоТнСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π•Ρ‰Ρ‘ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии язык php Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ Π½Π° языкС Asterisk ΠΈ выглядит это ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎ, плюс сам язык Asterisk для написания Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π΅Π½.

Как это выглядСло:

$usersInitSection = $dialplan->createExtSection('usersinit-sub','s');
$usersInitSection
 ->add('',new Dialplanext_gotoif('$["${G_USERINIT}"="1"]','exit'))
 ->add('',new Dialplanext_set('G_USERINIT','1'))
 ->add('',new Dialplanext_gosub('1','s','sub-AddOnAnswerSub','usersconnected-sub'))
 ->add('',new Dialplanext_gosub('1','s','sub-AddOnPredoDialSub','usersinitondial-sub'))
 ->add('',new Dialplanext_set('LOCAL(TECH)','${CUT(CHANNEL(name),/,1)}'))
 ->add('',new Dialplanext_gotoif('$["${LOCAL(TECH)}"="SIP"]','sipdev'))
 ->add('',new Dialplanext_gotoif('$["${LOCAL(TECH)}"="PJSIP"]','pjsipdev'))

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ стал ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π² Π½Π΅Π³ΠΎ Π±Ρ‹Π»ΠΈ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² зависимости ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ вырос. Всё это сильно замСдляло врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ сама ΠΌΡ‹ΡΠ»ΡŒ Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· Π½ΡƒΠΆΠ½ΠΎ Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ Π½Π°Π²ΠΎΠ΄ΠΈΠ»Π° Π³Ρ€ΡƒΡΡ‚ΡŒ.

Π’Ρ€Π΅Ρ‚ΡŒΡ вСрсия

ИдССй для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ стало Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ Asterisk Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ ΠΈΠ· php, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ FastAGI ΠΈ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π½Π° самом php. FastAGI позволяСт Asterisk, для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π²ΠΎΠ½ΠΊΠ°, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сокСту. ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π»ΠΎΠ³ΠΈΠΊΠ° Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° находится ΡƒΠΆΠ΅ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ Asterisk ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написана Π½Π° любом языкС, Π² ΠΌΠΎΡ‘ΠΌ случаС Π½Π° php.

Π’ΡƒΡ‚ Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ± ΠΈ ошибок. Π“Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являлось, Ρ‡Ρ‚ΠΎ Ρƒ мСня ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ классов/Ρ„Π°ΠΉΠ»ΠΎΠ². На созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Π²Π·Π°ΠΈΠΌΠ½ΡƒΡŽ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΡƒΡ…ΠΎΠ΄ΠΈΠ»ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 1,5 сСкунд, ΠΈ эта Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 Ρ€Π°Π· ΠΈ поэтому поиски Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°Ρ‡Π°Π»ΠΈΡΡŒ с написания сСрвиса Π½Π° php с использованиСм Pthreads. Бпустя нСдСлю экспСримСнтов этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±Ρ‹Π» ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½ ΠΈΠ·-Π·Π° тонкостСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ. ΠžΡ‚ асинхронного программирования Π½Π° php послС мСсяца тСстов Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ простоС, Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ Π»ΡŽΠ±ΠΎΠΌΡƒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ php, Π΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для php синхронныС.

РСшСниСм стал свой ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ сСрвис Π½Π° β€˜ΡΠΈβ€™, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ компилировался с PHPLIB. Он ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всС php Ρ„Π°ΠΉΠ»Ρ‹ АВБ, ΠΆΠ΄Ρ‘Ρ‚, ΠΊΠΎΠ³Π΄Π° всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, добавят коллбэк Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈ ΠΊΠΎΠ³Π΄Π° всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ – ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚. ΠŸΡ€ΠΈ запросС ΠΏΠΎ FastAGI создаётся ΠΏΠΎΡ‚ΠΎΠΊ, Π² Π½Ρ‘ΠΌ воспроизводится копия ΠΈΠ· кэша всСх классов ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ запрос пСрСдаСтся Π² php Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ врСмя ΠΎΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π·Π²ΠΎΠ½ΠΊΠ° Π² наш сСрвис Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Asterisk ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ с 1,5с Π΄ΠΎ 0,05с ΠΈ это врСмя слабо зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php

Π’ ΠΈΡ‚ΠΎΠ³Π΅, врСмя Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ сущСствСнно, ΠΈ я ΠΌΠΎΠ³Ρƒ это ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π΅cь Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ всСх ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° php. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π² php ΡƒΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ написаны ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для получСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· Π±Π°Π·Ρ‹, ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π½ΡƒΠΆΠ½Ρ‹ для отобраТСния Π² Π²Π΅Π±-интСрфСйсС, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΈ это Π³Π»Π°Π²Π½ΠΎΠ΅ – Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками с числами с массивами с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… плюс мноТСство Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ php.

Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° Π² классС модуля Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ dialplanDynamicCall ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ pbxCallRequest Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для взаимодСйствия с Asterisk.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ (Π² php Π΅ΡΡ‚ΡŒ xdebug ΠΈ для нашСго сСрвиса ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚), ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΠΎ шагам просматривая значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Π·Π²ΠΎΠ½ΠΊΠ°ΠΌ

Для любой Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ собранныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ этот Π±Π»ΠΎΠΊ АВБ Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ± ΠΈ ошибок с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Π·Π²ΠΎΠ½ΠΊΠ°ΠΌ – это Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΠ°. Один Π·Π²ΠΎΠ½ΠΎΠΊ = ΠΎΠ΄Π½Π° запись: ΠΊΡ‚ΠΎ Π·Π²ΠΎΠ½ΠΈΠ», ΠΊΡ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ», сколько ΠΏΡ€ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ. Π’ Π±ΠΎΠ»Π΅Π΅ интСрСсных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΠ°, ΠΊΠΎΠ³ΠΎ ΠΈΠ· сотрудников АВБ Π²Ρ‹Π·Ρ‹Π²Π°Π»Π° Π²ΠΎ врСмя Π·Π²ΠΎΠ½ΠΊΠ°. Но всё это Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ лишь Ρ‡Π°ΡΡ‚ΡŒ потрСбностСй.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ трСбованиями стали:

  • ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΡƒ Π·Π²ΠΎΠ½ΠΈΠ»Π° АВБ, Π½ΠΎ ΠΈ ΠΊΡ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ», Ρ‚.ΠΊ. ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π·Π²ΠΎΠ½ΠΊΠΎΠ² это Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ,
  • врСмя Π΄ΠΎ соСдинСния с сотрудником. Π’ΠΎ FreePBX ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… АВБ, Π·Π²ΠΎΠ½ΠΎΠΊ считаСтся ΠΎΡ‚Π²Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΌ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ АВБ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅Ρ‚ Ρ‚Ρ€ΡƒΠ±ΠΊΡƒ. Но для голосового мСню ΡƒΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Ρ‚Ρ€ΡƒΠ±ΠΊΡƒ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ всС Π·Π²ΠΎΠ½ΠΊΠΈ становятся ΠΎΡ‚Π²Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ врСмя оТидания ΠΎΡ‚Π²Π΅Ρ‚Π° становится 0-1 сСкунду. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ врСмя Π΄ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°, Π½ΠΎ врСмя Π΄ΠΎ соСдинСния с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ модулями (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ сам устанавливаСт Ρƒ сСбя это Ρ„Π»Π°Π³. БСйчас это Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΒ», Β«Π’Π½Π΅ΡˆΠ½ΡΡ линия»),
  • для Π±ΠΎΠ»Π΅Π΅ слоТного Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π°, ΠΊΠΎΠ³Π΄Π° Π·Π²ΠΎΠ½ΠΎΠΊ гуляСт ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ, Π½ΡƒΠΆΠ½Π° Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π›ΡƒΡ‡ΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ оказался Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ АВБ сами ΠΎ сСбС ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π·Π²ΠΎΠ½ΠΊΠ°ΠΌ ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π°.

Выглядит это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Для Π½Π°Ρ‡Π°Π»Π° общая информация ΠΎ Π·Π²ΠΎΠ½ΠΊΠ΅(ΠΊΠ°ΠΊ Ρƒ всСх β€” Π½ΠΈΡ‡Π΅Π³ΠΎ особСнного).

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php

  1. ΠŸΠΎΡΡ‚ΡƒΠΏΠΈΠ» Π·Π²ΠΎΠ½ΠΎΠΊ ΠΏΠΎ внСшнСй Π»ΠΈΠ½ΠΈΠΈ «Для тСста» Π² 05:55:52 с Π½ΠΎΠΌΠ΅Ρ€Π° 89295671458 Π½Π° Π½ΠΎΠΌΠ΅Ρ€ 89999999999, Π² ΠΈΡ‚ΠΎΠ³Π΅ Π½Π° Π½Π΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» сотрудник Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ2Β» с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 104. ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠΆΠ΄Π°Π» 60 сСкунд ΠΈ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π» 36 сСкунд.
  2. Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ2Β» Π΄Π΅Π»Π°Π΅Ρ‚ Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π° Π½ΠΎΠΌΠ΅Ρ€ 112 ΠΈ Π½Π° Π½Π΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ сотрудник Β«ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€1Β» спустя 8 сСкунд. Π Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽΡ‚ 14 сСкунд.
  3. ΠšΠ»ΠΈΠ΅Π½Ρ‚Π° пСрСводят Π½Π° Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠ° Β«ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€1Β» Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ 13 сСкунд

Но это Π²Π΅Ρ€ΡˆΠΈΠ½Π° айсбСрга, ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π²ΠΎΠ½ΠΊΠ° ΠΏΠΎ АВБ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ я 7 Π»Π΅Ρ‚ создавал АВБ Π½Π° Π±Π°Π·Π΅ Asterisk ΠΈ Php

Вся информация прСдставляСтся Π² Π²ΠΈΠ΄Π΅ влоТСнности Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²:

  1. ΠŸΠΎΡΡ‚ΡƒΠΏΠΈΠ» Π·Π²ΠΎΠ½ΠΎΠΊ ΠΏΠΎ внСшнСй Π»ΠΈΠ½ΠΈΠΈ «Для тСста» Π² 05:55:52 с Π½ΠΎΠΌΠ΅Ρ€Π° 89295671458 Π½Π° Π½ΠΎΠΌΠ΅Ρ€ 89999999999.
  2. Π’ 05:55:53 внСшняя линия отправляСт Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π° Π’Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ схСму Β«testΒ»
  3. Π’ΠΎ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π²ΠΎΠ½ΠΊΠ° ΠΏΠΎ схСмС вызываСтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Β«Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Β», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π²ΠΎΠ½ΠΎΠΊ находится 16 сСкунд. Π­Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.
  4. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Β«Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Β» отправляСт Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π° отвСтствСнного Π·Π° Π½ΠΎΠΌΠ΅Ρ€ (ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°) сотрудника Β«ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€1Β» ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° 5 сСкунд. ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ».
  5. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Β«Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Β» отправляСт Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡƒ Β«ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ КОРП». Π­Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ направлСния (сидят Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅) ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° 11 сСкунд.
  6. Π“Ρ€ΡƒΠΏΠΏΠ° Β«ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ КОРП» Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сотрудников Β«ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€1, ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€2, ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€3Β» ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ 11 сСкунд. ΠžΡ‚Π²Π΅Ρ‚Π° Π½Π΅Ρ‚.
  7. Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. И схСма Π·Π²ΠΎΠ½ΠΎΠΊ отправляСт Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Β«Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° ΠΈΠ· 1с». Π’ΠΎΠΆΠ΅ написанный ΠΏΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π’ΡƒΡ‚ Π·Π²ΠΎΠ½ΠΎΠΊ обрабатывался 0 сСкунд.
  8. Π‘Ρ…Π΅ΠΌΠ° отправляСт Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π° голосовоС мСню «Осн с Π΄ΠΎΠ½Π°Π±ΠΎΡ€ΠΎΠΌΒ». ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π² Π½Ρ‘ΠΌ ΠΏΡ€ΠΎΠΆΠ΄Π°Π» 31 сСкунду, Π΄ΠΎΠ½Π°Π±ΠΎΡ€Π° Π½Π΅ Π±Ρ‹Π»ΠΎ.
  9. Π‘Ρ…Π΅ΠΌΠ° отправляСт Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π° Π“Ρ€ΡƒΠΏΠΏΡƒ Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΠΈΒ», Π³Π΄Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠΆΠ΄Π°Π» 12 сСкунд.
  10. Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ вызываСтся ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ 2 сотрудника Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ1Β» ΠΈ Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ2Β» ΠΈ спустя 12 сСкунд ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ сотрудник Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ2Β». ΠžΡ‚Π²Π΅Ρ‚ Π½Π° Π²Ρ‹Π·ΠΎΠ² дублируСтся Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ2Β», ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ схСмы ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ2Β» ΠΈ Π½Π° Π·Π²ΠΎΠ½ΠΎΠΊ ΠΏΠΎ внСшнСй Π»ΠΈΠ½ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Β«Π‘Π΅ΠΊΡ€Π΅Ρ‚Π°Ρ€ΡŒ2Β».

ИмСнно сохранСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΡ… влоТСнности ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹. ΠžΡ‚Ρ‡Ρ‘Ρ‚ ΠΏΠΎ голосовому мСню ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, насколько ΠΎΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… сотрудниками Π·Π²ΠΎΠ½ΠΊΠ°Ρ… с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π²ΠΎΠ½ΠΎΠΊ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΈ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚ Π½Π΅ считаСтся ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ, ΠΈ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это Π±Ρ‹Π» Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ, ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ взял Ρ€Π°Π½ΡŒΡˆΠ΅, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‚ΠΎΠΆΠ΅ Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ.

Π’Π°ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π·ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ насколько ΠΎΠ½Π° эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‚Π²Π΅Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎ часам. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, насколько ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ соСдинСниС с отвСтствСнным ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ, анализируя ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ послС соСдинСния с ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ.

Π’ Ρ‚ΠΎΠΌ числС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ достаточно Π½Π΅Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ исслСдования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ часто Π½ΠΎΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² Π±Π°Π·Π΅, Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ исходящих Π·Π²ΠΎΠ½ΠΊΠΎΠ² являСтся пСрСадрСсациСй Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ.

Π§Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅?

Для обслуТивания АВБ Π½Π΅ трСбуСтся спСциалист, с этим справляСтся самый ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ администратор – ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Для Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ спСциалисты с ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎΠΉ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ достаточно Π·Π½Π°Π½ΠΈΠΉ php, Ρ‚.ΠΊ. ΡƒΠΆΠ΅ написаны ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ для sip ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, ΠΈ для ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΠΈ для Π²Ρ‹Π·ΠΎΠ²Π° сотрудника ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π•ΡΡ‚ΡŒ класс ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° для Asterisk. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ модуля ΠΌΠΎΠΆΠ΅Ρ‚ (ΠΈ ΠΏΠΎ-Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ΅Π½) Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. И знания Asterisk ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Ссли ΠΊΠ»ΠΈΠ΅Π½Ρ‚ просит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ страницу с ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½ΠΎΠ²Ρ‹ΠΌ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠΌ. Но ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сторонниС программисты Ρ…ΠΎΡ‚ΡŒ ΠΈ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ, Π½ΠΎ Π±Π΅Π· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ покрытия коммСнтариями Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽΡ‚ сСбя Π½Π΅ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ, поэтому Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ ΠΊΡƒΠ΄Π° Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ.

ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚:

  • ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ возмоТности ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π·Π²ΠΎΠ½ΠΊΠ°,
  • Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ Π² Π²Π΅Π±-интСрфСйс,
  • ΠΏΡ€ΠΎΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ любого ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ»ΠΈ просто Π±Ρ‹Ρ‚ΡŒ слСгка ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ,
  • Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свои настройки Π² шаблон настроСк Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Настройки АВБ Ρ‡Π΅Ρ€Π΅Π· API. Как описано Π²Ρ‹ΡˆΠ΅, всС настройки хранятся Π² Π±Π°Π·Π΅ ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π°, поэтому Ρ‡Π΅Ρ€Π΅Π· API ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ всС настройки АВБ. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ API Π½Π΅ пСрСсоздаётся конфигурация ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ насколько ΠΌΠ½ΠΎΠ³ΠΎ Ρƒ вас настроСк ΠΈ сотрудников. API запросы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстро ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°.

АВБ сохраняСт всС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со Π·Π²ΠΎΠ½ΠΊΠ°ΠΌΠΈ с Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ (оТидания/Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π°), влоТСнностями ΠΈ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… АВБ (сотрудник, Π³Ρ€ΡƒΠΏΠΏΠ°, внСшняя линия, Π° Π½Π΅ ΠΊΠ°Π½Π°Π», Π½ΠΎΠΌΠ΅Ρ€). Π­Ρ‚ΠΎ позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ большая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ – ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ дальшС ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ врСмя. Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΎ нюансов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоит ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΠΎΠ², Π½ΠΎ ΠΎΡ‚ создания 3-Π΅ΠΉ вСрсии ΠΏΡ€ΠΎΡˆΡ‘Π» ΡƒΠΆΠ΅ Π³ΠΎΠ΄ ΠΈ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ идСя Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Основной минус 3-ΠΉ вСрсии – это Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ рСсурсы, Π½ΠΎ Π·Π° удобство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ всСгда ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ ΠΈ приходится ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com