FreePBX เชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ Bitrix24 เช…เชจเซ‡ เชตเชงเซ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚

เชฌเชฟเชŸเซเชฐเชฟเช•เซเชธ24 เชเช• เชตเชฟเชถเชพเชณ เชธเช‚เชฏเซ‹เชœเชจ เช›เซ‡ เชœเซ‡ CRM, เชตเชฐเซเช•เชซเซเชฒเซ‹, เชเช•เชพเช‰เชจเซเชŸเชฟเช‚เช— เช…เชจเซ‡ เช…เชจเซเชฏ เช˜เชฃเซ€ เชตเชธเซเชคเซเช“เชจเซ‡ เชœเซ‹เชกเซ‡ เช›เซ‡ เชœเซ‡ เชฎเซ‡เชจเซ‡เชœเชฐเซ‹ เช–เชฐเซ‡เช–เชฐ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ IT เชธเซเชŸเชพเชซเชจเซ‡ เช–เชฐเซ‡เช–เชฐ เชชเชธเช‚เชฆ เชจเชฅเซ€. เชชเซ‹เชฐเซเชŸเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช˜เชฃเซ€ เชฌเชงเซ€ เชจเชพเชจเซ€ เช…เชจเซ‡ เชฎเชงเซเชฏเชฎ เช•เชฆเชจเซ€ เช•เช‚เชชเชจเซ€เช“ เชฆเซเชตเชพเชฐเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชจเชพเชจเชพ เช•เซเชฒเชฟเชจเชฟเช•เซเชธ, เช‰เชคเซเชชเชพเชฆเช•เซ‹ เช…เชจเซ‡ เชฌเซเชฏเซเชŸเซ€ เชธเชฒเซเชจเซเชธเชจเซ‹ เชชเชฃ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เชฎเซเช–เซเชฏ เช•เชพเชฐเซเชฏ เช•เซ‡ เชœเซ‡ เชฎเซ‡เชจเซ‡เชœเชฐเซ‹ "เชชเซเชฐเซ‡เชฎ" เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชŸเซ‡เชฒเชฟเชซเซ‹เชจเซ€ เช…เชจเซ‡ CRM เชจเซเช‚ เชเช•เซ€เช•เชฐเชฃ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชˆเชชเชฃ เช•เซ‰เชฒ เชคเชฐเชค เชœ CRM เชฎเชพเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช•เซเชฒเชพเชฏเช‚เชŸ เช•เชพเชฐเซเชกเซเชธ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช‡เชจเช•เชฎเชฟเช‚เช— เชฅเชพเชฏ เช›เซ‡, เช•เซเชฒเชพเชฏเช‚เชŸ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเซ‡ เชคเชฐเชค เชœ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชคเซ‡ เช•เซ‹เชฃ เช›เซ‡, เชคเซ‡ เชถเซเช‚ เช›เซ‡. เชตเซ‡เชšเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เช•เซ‡เชŸเชฒเซเช‚ เชฆเซ‡เชตเซเช‚ เช›เซ‡. เชชเชฐเช‚เชคเซ Bitrix24 เชฅเซ€ เชŸเซ‡เชฒเชฟเชซเซ‹เชจเซ€ เช…เชจเซ‡ เชคเซ‡เชจเชพ CRM เชธเชพเชฅเซ‡ เชธเช‚เช•เชฒเชจ เชฎเชพเชŸเซ‡ เชชเซˆเชธเชพ เช–เชฐเซเชš เชฅเชพเชฏ เช›เซ‡, เช•เซเชฏเชพเชฐเซ‡เช• เช˜เชฃเซ‹. เชฒเซ‡เช–เชฎเชพเช‚ เชนเซเช‚ เชคเชฎเชจเซ‡ เช“เชชเชจ เชŸเซ‚เชฒเซเชธ เช…เชจเซ‡ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ IP PBX เชธเชพเชฅเซ‡ เชธเช‚เช•เชฒเชจ เช•เชฐเชตเชพเชจเซ‹ เช…เชจเซเชญเชต เช•เชนเซ€เชถ เชซเซเชฐเซ€เชชเซ€เชฌเซ€เชเช•เซเชธ, เช…เชจเซ‡ เชตเชฟเชตเชฟเชง เชญเชพเช—เซ‹เชจเชพ เช•เชพเชฐเซเชฏเชจเชพ เชคเชฐเซเช•เชจเซ‡ เชชเชฃ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‹

เชนเซเช‚ เชเชตเซ€ เช•เช‚เชชเชจเซ€เชฎเชพเช‚ เช†เช‰เชŸเชธเซ‹เชฐเซเชธเชฐ เชคเชฐเซ€เช•เซ‡ เช•เชพเชฎ เช•เชฐเซเช‚ เช›เซเช‚ เชœเซ‡ IP เชŸเซ‡เชฒเชฟเชซเซ‹เชจเซ€เชจเซเช‚ เชตเซ‡เชšเชพเชฃ เช…เชจเซ‡ เช—เซ‹เช เชตเชฃเซ€ เช•เชฐเซ‡ เช›เซ‡, เชเช•เซ€เช•เซƒเชค เช•เชฐเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชฎเชจเซ‡ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช•เซ‡ เชถเซเช‚ เช…เชฎเซ‡ เช† เช…เชจเซ‡ เช† เช•เช‚เชชเชจเซ€เชจเซ‡ เช—เซเชฐเชพเชนเช•เซ‹ เชชเชพเชธเซ‡ เชฐเชนเซ‡เชฒเชพ PBXs เชธเชพเชฅเซ‡ เชคเซ‡เชฎเชœ เชตเชฟเชตเชฟเชง VDS เช•เช‚เชชเชจเซ€เช“ เชชเชฐ เชตเชฐเซเชšเซเชฏเซเช…เชฒ PBXs เชธเชพเชฅเซ‡ เชธเช‚เช•เชฒเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เช‚เชˆเช• เช‘เชซเชฐ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช, เชคเซเชฏเชพเชฐเซ‡ เชนเซเช‚ Google เชชเชฐ เช—เชฏเซ‹. เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค เชคเซ‡เชฃเซ‡ เชฎเชจเซ‡ เชเช• เชฒเชฟเช‚เช• เช†เชชเซ€ habr เชฎเชพเช‚ เชฒเซ‡เช–, เชœเซเชฏเชพเช‚ เชตเชฐเซเชฃเชจ เช›เซ‡, เช…เชจเซ‡ เช—เซ€เชฅเชฌ เช›เซ‡, เช…เชจเซ‡ เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชนเซ‹เชฏ เชคเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡. เชชเชฐเช‚เชคเซ เช† เชธเซ‹เชฒเซเชฏเซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช•เซ‡ Bitrix24 เชนเชตเซ‡ เชชเชนเซ‡เชฒเชพ เชœเซ‡เชตเซเช‚ เชจเชฅเซ€, เช…เชจเซ‡ เช˜เชฃเซเช‚ เชฌเชงเซเช‚ เชซเชฐเซ€เชฅเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, เชซเซเชฐเซ€เชชเซ€เชฌเซ€เชเช•เซเชธ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชเช•เชฆเชฎ เชซเซ‚เชฆเชกเซ€ เชจเชฅเซ€, เช…เชนเซ€เช‚ เชคเชฎเชพเชฐเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพ เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชธเชฐเชณเชคเชพ เช…เชจเซ‡ เชนเชพเชฐเซเชกเช•เซ‹เชฐ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเซ‹เชกเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช…เชฎเซ‡ เช•เชพเชฎเชจเชพ เชคเชฐเซเช•เชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเซ€เช เช›เซ€เช

เชคเซ‡เชฅเซ€ เชถเชฐเซ‚เช†เชค เชฎเชพเชŸเซ‡, เชคเซ‡ เชฌเชงเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช. เชœเซเชฏเชพเชฐเซ‡ PBX (เชชเซเชฐเชฆเชพเชคเชพ เชคเชฐเชซเชฅเซ€ SIP INVITE เช‡เชตเซ‡เชจเซเชŸ) เชจเซ€ เชฌเชนเชพเชฐเชฅเซ€ เช•เซ‰เชฒ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจ (เชกเชพเชฏเชฒ เชชเซเชฒเชพเชจ, เชกเชพเชฏเชฒเชชเซเชฒเชพเชจ) เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡ - เช•เซ‰เชฒ เชธเชพเชฅเซ‡ เชถเซเช‚ เช…เชจเซ‡ เช•เชฏเชพ เช•เซเชฐเชฎเชฎเชพเช‚ เช•เชฐเชตเซเช‚ เชคเซ‡เชจเชพ เชจเชฟเชฏเชฎเซ‹. เชชเซเชฐเชฅเชฎ เชชเซ‡เช•เซ‡เชŸเชฎเชพเช‚เชฅเซ€, เชคเชฎเซ‡ เช˜เชฃเซ€ เชฌเชงเซ€ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡เชจเซ‹ เชชเช›เซ€ เชจเชฟเชฏเชฎเซ‹เชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. SIP เชจเชพ เช†เช‚เชคเชฐเชฟเช• เช…เชญเซเชฏเชพเชธ เชฎเชพเชŸเซ‡ เชเช• เช‰เชคเซเชคเชฎ เชธเชพเชงเชจ เช เชตเชฟเชถเซเชฒเซ‡เชทเช• เช›เซ‡ sngrep (ััั‹ะปะบะฐ) เชœเซ‡ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชถเชจเชฎเชพเช‚ apt install/yum install เช…เชจเซ‡ เชคเซ‡เชจเชพ เชœเซ‡เชตเชพ เชฆเซเชตเชพเชฐเชพ เชธเชฐเชณ เชฐเซ€เชคเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชธเซเชคเซเชฐเซ‹เชคเชฎเชพเช‚เชฅเซ€ เชชเชฃ เชฌเชจเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชšเชพเชฒเซ‹ sngrep เชฎเชพเช‚ เช•เซ‹เชฒ เชฒเซ‹เช— เชœเซ‹เชˆเช

FreePBX เชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ Bitrix24 เช…เชจเซ‡ เชตเชงเซ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚

เชธเชฐเชณ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚, เชกเชพเชฏเชฒเชชเซเชฒเชพเชจ เชซเช•เซเชค เชชเซเชฐเชฅเชฎ เชชเซ‡เช•เซ‡เชŸ เชธเชพเชฅเซ‡ เชœ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเซ‡ เช›เซ‡, เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชตเชพเชคเชšเซ€เชค เชฆเชฐเชฎเชฟเชฏเชพเชจ, เช•เซ‰เชฒเซเชธ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เชฅเชพเชฏ เช›เซ‡, เชฌเชŸเชจ เชฆเชฌเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เชกเซ€เชŸเซ€เชเชฎเชเชซ), เชซเซ‹เชฒเซ‹เชฎเซ€, เชฐเชฟเช‚เช—เช—เซเชฐเซเชช, เช†เชˆเชตเซ€เช†เชฐ เช…เชจเซ‡ เช…เชจเซเชฏ เชœเซ‡เชตเซ€ เชตเชฟเชตเชฟเชง เชฐเชธเชชเซเชฐเชฆ เชตเชธเซเชคเซเช“.

Invite Pack เชจเซ€ เช…เช‚เชฆเชฐ เชถเซเช‚ เช›เซ‡

FreePBX เชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ Bitrix24 เช…เชจเซ‡ เชตเชงเซ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚

เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เชธเชฐเชณ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจเซเชธ เชชเซเชฐเชฅเชฎ เชฌเซ‡ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชธเชฎเช—เซเชฐ เชคเชฐเซเช• DID เช…เชจเซ‡ CallerID เชจเซ€ เช†เชธเชชเชพเชธ เชซเชฐเซ‡ เช›เซ‡. DID - เชœเซเชฏเชพเช‚ เช…เชฎเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, CallerID - เช•เซ‹เชฃ เช•เซ‰เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡.

เชชเชฐเช‚เชคเซ เช›เซ‡เชตเชŸเซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เช•เช‚เชชเชจเซ€ เช›เซ‡ เช…เชจเซ‡ เชเช• เชซเซ‹เชจ เชจเชฅเซ€ - เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ PBX เชชเชพเชธเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡ เชถเชนเซ‡เชฐเชจเชพ เชจเช‚เชฌเชฐเซ‹ (เชฐเชฟเช‚เช— เช—เซเชฐเซ‚เชช) เชชเชฐ เช•เซ‰เชฒ เชœเซ‚เชฅเซ‹ (เชเช•เชธเชพเชฅเซ‡ / เชธเชณเช‚เช— เชฐเชฟเช‚เช—เชฟเช‚เช—) เชนเซ‹เชฏ เช›เซ‡, IVR (เชนเซ‡เชฒเซ‹, เชคเชฎเซ‡ เช•เซ‰เชฒ เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹ ... เชฆเชฌเชพเชตเซ‹ เชเช• เชฎเชพเชŸเซ‡ ...), เช†เชจเซเชธเชฐเชฟเช‚เช— เชฎเชถเซ€เชจ (เชถเชฌเซเชฆเชธเชฎเซ‚เชน), เชธเชฎเชฏเชจเซ€ เชถเชฐเชคเซ‹, เช…เชจเซเชฏ เชจเช‚เชฌเชฐเซ‹ เชชเชฐ เช…เชฅเชตเชพ เช•เซ‹เชท เชชเชฐ เชซเซ‹เชฐเชตเชฐเซเชกเชฟเช‚เช— (FollowMe, Forward). เช†เชจเซ‹ เช…เชฐเซเชฅ เช เชฅเชฏเซ‹ เช•เซ‡ เช–เชฐเซ‡เช–เชฐ เช•เซ‹เชจเซ‡ เช•เซ‹เชฒ เช†เชตเชถเซ‡ เช…เชจเซ‡ เช•เซ‹เชฒ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เช•เซ‹เชจเซ€ เชธเชพเชฅเซ‡ เชตเชพเชคเชšเซ€เชค เชฅเชถเซ‡ เชคเซ‡ เช…เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚ เช–เซ‚เชฌ เชœ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. เช…เชนเซ€เช‚ เช…เชฎเชพเชฐเชพ เช—เซเชฐเชพเชนเช•เซ‹เชจเชพ PBX เชฎเชพเช‚ เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‰เชฒเชจเซ€ เชถเชฐเซ‚เช†เชคเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡

FreePBX เชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ Bitrix24 เช…เชจเซ‡ เชตเชงเซ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚

เช•เซ‹เชฒ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชชเซ€เชฌเซ€เชเช•เซเชธเชฎเชพเช‚ เชชเซเชฐเชตเซ‡เชถเซเชฏเชพ เชชเช›เซ€, เชคเซ‡ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชตเชฟเชง "เชธเช‚เชฆเชฐเซเชญเซ‹"เชฎเชพเช‚ เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡. เชซเซ‚เชฆเชกเซ€เชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€ เชธเช‚เชฆเชฐเซเชญ เช เช†เชฆเซ‡เชถเซ‹เชจเซ‹ เช•เซเชฐเชฎเชพเช‚เช•เชฟเชค เชธเชฎเซ‚เชน เช›เซ‡, เชœเซ‡เชฎเชพเช‚เชจเชพ เชชเซเชฐเชคเซเชฏเซ‡เช•เชฎเชพเช‚ เชกเชพเชฏเชฒ เช•เชฐเซ‡เชฒ เชจเช‚เชฌเชฐ เชฆเซเชตเชพเชฐเชพ เชซเชฟเชฒเซเชŸเชฐ เชนเซ‹เชฏ เช›เซ‡ (เชคเซ‡เชจเซ‡ เชเช•เซเชธเชŸเซ‡เชจ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชคเชฌเช•เซเช•เซ‡ เชเช•เซเชธเชŸเชฐเซเชจเชฒ เช•เซ‹เชฒ เชฎเชพเชŸเซ‡ เชเช•เซเชธเชŸเซ‡เชจ=เชกเซ€เช†เชˆเชกเซ€). เชกเชพเชฏเชฒเชชเซเชฒเชพเชจ เชฒเชพเช‡เชจเชฎเชพเช‚ เช†เชฆเซ‡เชถเซ‹ เช•เช‚เชˆเชชเชฃ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ - เช†เช‚เชคเชฐเชฟเช• เช•เชพเชฐเซเชฏเซ‹ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช†เช‚เชคเชฐเชฟเช• เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹ - Dial(), เชซเซ‹เชจ เชจเซ€เชšเซ‡ เชฎเซ‚เช•เซ‹ - Hangup()), เชถเชฐเชคเซ€ เช“เชชเชฐเซ‡เชŸเชฐเซ‹ (IF, ELSE, ExecIF เช…เชจเซ‡ เชคเซ‡เชจเชพ เชœเซ‡เชตเชพ), เช† เชธเช‚เชฆเชฐเซเชญเชจเชพ เช…เชจเซเชฏ เชจเชฟเชฏเชฎเซ‹เชฎเชพเช‚ เชธเช‚เช•เซเชฐเชฎเชฃ (Goto, GotoIF), เชซเช‚เช•เซเชถเชจ เช•เซ‹เชฒ (เช—เซ‹เชธเชฌ, เชฎเซ‡เช•เซเชฐเซ‹) เชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เช…เชจเซเชฏ เชธเช‚เชฆเชฐเซเชญเซ‹เชฎเชพเช‚ เชธเช‚เช•เซเชฐเชฎเชฃ. เชเช• เช…เชฒเช— เชจเชฟเชฐเซเชฆเซ‡เชถ include ะธะผั_ะบะพะฝั‚ะตะบัั‚ะฐ, เชœเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชธเช‚เชฆเชฐเซเชญเชจเชพ เช…เช‚เชคเชฎเชพเช‚ เชฌเซ€เชœเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚เชฅเซ€ เช†เชฆเซ‡เชถเซ‹ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡. เชธเชฎเชพเชตเซ‡เชถ เชฆเซเชตเชพเชฐเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸ เช†เชฆเซ‡เชถเซ‹ เชนเช‚เชฎเซ‡เชถเชพ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ ะฟะพัะปะต เชตเชฐเซเชคเชฎเชพเชจ เชธเช‚เชฆเชฐเซเชญเชจเชพ เช†เชฆเซ‡เชถเซ‹.

เชซเซเชฐเซ€เชชเซ€เชฌเซ€เชเช•เซเชธเชจเซเช‚ เชธเชฎเช—เซเชฐ เชคเชฐเซเช• Gosub, เชฎเซ‡เช•เซเชฐเซ‹ เช…เชจเซ‡ เชนเซ‡เชจเซเชกเชฒเชฐ เชนเซ‡เชจเซเชกเชฒเชฐ เชฆเซเชตเชพเชฐเชพ เชธเชฎเชพเชตเซ‡เชถ เช…เชจเซ‡ เช•เซ‰เชฒ เชฆเซเชตเชพเชฐเชพ เชเช•เชฌเซ€เชœเชพเชฎเชพเช‚ เชตเชฟเชตเชฟเชง เชธเช‚เชฆเชฐเซเชญเซ‹เชจเชพ เชธเชฎเชพเชตเซ‡เชถ เชชเชฐ เชฌเชจเซ‡เชฒ เช›เซ‡. เช‡เชจเช•เชฎเชฟเช‚เช— เชซเซเชฐเซ€เชชเซ€เชฌเซ€เชเช•เซเชธ เช•เซ‰เชฒเซเชธเชจเชพ เชธเช‚เชฆเชฐเซเชญเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‹

FreePBX เชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ Bitrix24 เช…เชจเซ‡ เชตเชงเซ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚

เช•เซ‰เชฒ เช‰เชชเชฐเชฅเซ€ เชจเซ€เชšเซ‡ เชธเซเชงเซ€เชจเชพ เชคเชฎเชพเชฎ เชธเช‚เชฆเชฐเซเชญเซ‹เชฎเชพเช‚ เชฌเชฆเชฒเชพเชฎเชพเช‚ เชชเชธเชพเชฐ เชฅเชพเชฏ เช›เซ‡, เชฆเชฐเซ‡เช• เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชฎเซ‡เช•เซเชฐเซ‹ (เชฎเซ‡เช•เซเชฐเซ‹), เชซเช‚เช•เซเชถเชจเซเชธ (เช—เซ‹เชธเชฌ) เช…เชฅเชตเชพ เชซเช•เซเชค เชธเช‚เช•เซเชฐเชฎเชฃเซ‹ (เช—เซ‹เชŸเซ‹) เชœเซ‡เชตเชพ เช…เชจเซเชฏ เชธเช‚เชฆเชฐเซเชญเซ‹เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชคเซ‡เชฅเซ€ เชœเซ‡เชจเซ‡ เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡ เชคเซ‡เชจเซเช‚ เชตเชพเชธเซเชคเชตเชฟเช• เชตเซƒเช•เซเชท เชซเช•เซเชค เชฒเซ‰เช—เชฎเชพเช‚ เชŸเซเชฐเซ…เช• เช•เชฐเซ‹.

เชฒเชพเช•เซเชทเชฃเชฟเช• PBX เชฎเชพเชŸเซ‡ เชฒเชพเช•เซเชทเชฃเชฟเช• เชธเซ‡เชŸเช…เชช เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เชจเซ€เชšเซ‡ เชฌเชคเชพเชตเซ‡เชฒ เช›เซ‡. เช•เซ‰เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เช‡เชจเช•เชฎเชฟเช‚เช— เชฐเซ‚เชŸเซเชธเชฎเชพเช‚ เชกเซ€เช†เชˆเชกเซ€ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เช…เชธเซเชฅเชพเชฏเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“ เชคเชชเชพเชธเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‹ เชฌเชงเซเช‚ เชตเซเชฏเชตเชธเซเชฅเชฟเชค เชนเซ‹เชฏ, เชคเซ‹ เชตเซ‰เช‡เชธ เชฎเซ‡เชจเซ‚ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡เชฎเชพเช‚เชฅเซ€, เชฌเชŸเชจ 1 เช…เชฅเชตเชพ เชธเชฎเชฏ เชธเชฎเชพเชชเซเชคเชฟ เชฆเชฌเชพเชตเซ€เชจเซ‡, เชกเชพเชฏเชฒเชฟเช‚เช— เช“เชชเชฐเซ‡เชŸเชฐเซเชธเชจเชพ เชœเซ‚เชฅเชฎเชพเช‚เชฅเซ€ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเซ‹. เช•เซ‰เชฒ เชธเชฎเชพเชชเซเชค เชฅเชฏเชพ เชชเช›เซ€, เชนเซ‡เช‚เช—เช…เชชเช•เซ‰เชฒ เชฎเซ‡เช•เซเชฐเซ‹เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจเชฎเชพเช‚ เช–เชพเชธ เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ (เชนเซ‡เช‚เช—เช…เชช เชนเซ‡เชจเซเชกเชฒเชฐ) เชธเชฟเชตเชพเชฏ เช•เช‚เชˆ เช•เชฐเซ€ เชถเช•เชพเชคเซเช‚ เชจเชฅเซ€.

FreePBX เชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ Bitrix24 เช…เชจเซ‡ เชตเชงเซ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚

เช† เช•เซ‹เชฒ เชเชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชฎเชพเช‚ เช†เชชเชฃเซ‡ เชธเซ€เช†เชฐเชเชฎเชจเซ‡ เช•เซ‹เชฒเชจเซ€ เชถเชฐเซ‚เช†เชค เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เช•เซเชฏเชพเช‚เชฅเซ€ เช†เชชเชตเซ€ เชœเซ‹เชˆเช, เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช— เช•เซเชฏเชพเช‚เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเชตเซเช‚, เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช— เช•เซเชฏเชพเช‚ เชธเชฎเชพเชชเซเชค เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เช•เซ‹เชฒ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡ เชธเซ€เช†เชฐเชเชฎเชจเซ‡ เชฎเซ‹เช•เชฒเชตเซ€ เชœเซ‹เชˆเช?

เชฌเชพเชนเซเชฏ เชธเชฟเชธเซเชŸเชฎเซ‹ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เชฐเชฃ

PBX เช…เชจเซ‡ CRM เชเช•เซ€เช•เชฐเชฃ เชถเซเช‚ เช›เซ‡? เช† เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เช…เชจเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธ เช›เซ‡ เชœเซ‡ เช† เชฌเซ‡ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชตเชšเซเชšเซ‡ เชกเซ‡เชŸเชพ เช…เชจเซ‡ เช‡เชตเซ‡เชจเซเชŸเซเชธเชจเซ‡ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชเช•เชฌเซ€เชœเชพเชจเซ‡ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡. เชธเซเชตเชคเช‚เชคเซเชฐ เชธเชฟเชธเซเชŸเชฎเซ‹ เชฎเชพเชŸเซ‡ เชตเชพเชคเชšเซ€เชค เช•เชฐเชตเชพเชจเซ€ เชธเซŒเชฅเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชค API เชฆเซเชตเชพเชฐเชพ เช›เซ‡, เช…เชจเซ‡ API เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเซ€ เชธเซŒเชฅเซ€ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชฐเซ€เชค HTTP REST เช›เซ‡. เชชเชฐเช‚เชคเซ เชซเซ‚เชฆเชกเซ€ เชฎเชพเชŸเซ‡ เชจเชนเซ€เช‚.

เชซเซ‚เชฆเชกเซ€เชจเซ€ เช…เช‚เชฆเชฐ เช›เซ‡:

  • AGI - เชฌเชพเชนเซเชฏ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธ/ เช˜เชŸเช•เซ‹เชจเซ‹ เชธเชฟเช‚เช•เซเชฐเชจเชธ เช•เซ‹เชฒ, เชœเซ‡ เชฎเซเช–เซเชฏเชคเซเชตเซ‡ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจเชฎเชพเช‚ เชตเชชเชฐเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเช‚ เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹ เช›เซ‡ เชœเซ‡เชฎ เช•เซ‡ phpagi, PAGI

  • AMI - เชเช• เชŸเซ‡เช•เซเชธเซเชŸ TCP เชธเซ‹เช•เซ‡เชŸ เชœเซ‡ เช‡เชตเซ‡เชจเซเชŸเซเชธ เชชเชฐ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌ เช•เชฐเชตเชพ เช…เชจเซ‡ เชŸเซ‡เช•เซเชธเซเชŸ เช†เชฆเซ‡เชถเซ‹ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเชพ เชธเชฟเชฆเซเชงเชพเช‚เชค เชชเชฐ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เช…เช‚เชฆเชฐเชฅเซ€ SMTP เชœเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡, เช‡เชตเซ‡เชจเซเชŸเซเชธเชจเซ‡ เชŸเซเชฐเซ…เช• เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซ‰เชฒเซเชธเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชคเซเชฏเชพเช‚ เชเช• เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช›เซ‡. PAMI - เชเชธเซเชŸเชฐเชฟเชธเซเช• เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชถเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เชตเชงเซ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ

AMI เช†เช‰เชŸเชชเซเชŸ เช‰เชฆเชพเชนเชฐเชฃ

เช‡เชตเซ‡เชจเซเชŸ: เชจเชตเซ€ เชšเซ‡เชจเชฒ
เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐ: เช•เซ‰เชฒ เช•เชฐเซ‹, เชฌเชงเชพ
เชšเซ‡เชจเชฒ: PJSIP/VMS_pjsip-0000078b
เชšเซ‡เชจเชฒ เชธเซเชฅเชฟเชคเชฟ: 4
ChannelStateDesc: เชฐเชฟเช‚เช—
CallerIDNum: 111222
เช•เซ‰เชฒเชฐ ID เชจเชพเชฎ: 111222
ConnectedLineNum:
เชœเซ‹เชกเชพเชฏเซ‡เชฒ เชฐเซ‡เช–เชพเชจเชพเชฎ:
เชญเชพเชทเชพ: en
เชเช•เชพเช‰เชจเซเชŸ เช•เซ‹เชก:
เชธเช‚เชฆเชฐเซเชญ: เชฎเชพเช‚เชฅเซ€-pstn
เชตเชฟเชธเซเชคเชฐเชฃ: เชเชธ
เช…เช—เซเชฐเชคเชพ: 1
เช…เชจเชจเซเชฏ: 1599589046.5244
Linkedid: 1599589046.5244

  • ARI เช เชฌเช‚เชจเซ‡เชจเซเช‚ เชฎเชฟเชถเซเชฐเชฃ เช›เซ‡, เชฌเชงเซเช‚ เชœ REST, WebSocket เชฆเซเชตเชพเชฐเชพ, JSON เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ - เชชเชฐเช‚เชคเซ เชคเชพเชœเซ€ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เช…เชจเซ‡ เชฐเซ‡เชชเชฐ เชธเชพเชฅเซ‡, เช–เซ‚เชฌ เชธเชพเชฐเซ€ เชจเชฅเซ€, เช‘เชซเชนเซ‡เชจเซเชก เชฎเชณเซ€ (phparia, phpari) เชœเซ‡ เชฒเช—เชญเช— 3 เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ เชคเซ‡เชฎเชจเชพ เชตเชฟเช•เชพเชธเชฎเชพเช‚ เชฌเชจเซเชฏเซเช‚ เชนเชคเซเช‚.

เชœเซเชฏเชพเชฐเซ‡ เช•เซ‰เชฒ เชถเชฐเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ ARI เช†เช‰เชŸเชชเซเชŸเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ

{ "variable":"CallMeCallerIDName", "value":"111222", "type":"ChannelVarset", "timestamp":"2020-09-09T09:38:36.269+0000", "เชšเซ‡เชจเชฒ":{ "id ยป:ยป1599644315.5334โ€ณ, ยซเชจเชพเชฎยป:ยปPJSIP/VMSpjsip-000007b6โ€ณ, "เชธเซเชŸเซ‡เชŸ":"เชฐเชฟเช‚เช—", "เช•เซ‹เชฒเชฐ":{ "เชจเชพเชฎ":"111222โ€ณ, "เชจเช‚เชฌเชฐ":"111222โ€ณ }, "เชœเซ‹เชกเชพเชฏเซ‡เชฒ":{ "เชจเชพเชฎ":"", "เชจเช‚เชฌเชฐ" :"" }, "accountcode":"", "dialplan":{ "context":"from-pstn", "exten":"s", "priority":2, "appname":"เชธเซเชŸเซ‡เชธเซ€เชธ", "เชเชชdata":"hello-world" }, "creationtime":"2020-09-09T09:38:35.926+0000", "language":"en" }, "เชซเซ‚เชฆเชกเซ€id":"48:5b:aa:aa:aa:aa", "application":"hello-world" }

เชธเช—เชตเชก เช…เชฅเชตเชพ เช…เชธเซเชตเชฟเชงเชพ, เชšเซ‹เช•เซเช•เชธ API เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพ เช…เชฅเชตเชพ เช…เชถเช•เซเชฏเชคเชพ เชคเซ‡ เช•เชพเชฐเซเชฏเซ‹ เชฆเซเชตเชพเชฐเชพ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‡ เชนเชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. CRM เชธเชพเชฅเซ‡ เชเช•เซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡เชจเชพ เช•เชพเชฐเซเชฏเซ‹ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เช›เซ‡:

  • เช•เซ‰เชฒเชจเซ€ เชถเชฐเซ‚เช†เชคเชจเซ‡ เชŸเซเชฐเซ…เช• เช•เชฐเซ‹, เชœเซเชฏเชพเช‚ เชคเซ‡ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เชฅเชฏเซเช‚ เชนเชคเซเช‚, เช•เซ‰เชฒเชฐเช†เชˆเชกเซ€, เชกเซ€เช†เชˆเชกเซ€, เชชเซเชฐเชพเชฐเช‚เชญ เช…เชจเซ‡ เชธเชฎเชพเชชเซเชคเชฟ เชธเชฎเชฏ, เช•เชฆเชพเชš เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เช–เซ‡เช‚เชšเซ‹ (เชซเซ‹เชจ เช…เชจเซ‡ CRM เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชตเชšเซเชšเซ‡ เชœเซ‹เชกเชพเชฃ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡)

  • เช•เซ‰เชฒเชจเซเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช— เชถเชฐเซ‚ เช•เชฐเซ‹ เช…เชจเซ‡ เชธเชฎเชพเชชเซเชค เช•เชฐเซ‹, เชคเซ‡เชจเซ‡ เช‡เชšเซเช›เชฟเชค เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชธเชพเชšเชตเซ‹, เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช—เชจเชพ เช…เช‚เชคเซ‡ เชœเชพเชฃ เช•เชฐเซ‹ เช•เซ‡ เชซเชพเช‡เชฒ เช•เซเชฏเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡.

  • เชฌเชพเชนเซเชฏ เช‡เชตเซ‡เชจเซเชŸ (เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฎเชพเช‚เชฅเซ€) เชชเชฐ เช•เซ‰เชฒ เชถเชฐเซ‚ เช•เชฐเซ‹, เช†เช‚เชคเชฐเชฟเช• เชจเช‚เชฌเชฐ, เชฌเชพเชนเซเชฏ เชจเช‚เชฌเชฐ เชชเชฐ เช•เซ‰เชฒ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ‹

  • เชตเซˆเช•เชฒเซเชชเชฟเช•: เชธเซเชฅเชณเชจเซ€ เช—เซ‡เชฐเชนเชพเชœเชฐเซ€เชฎเชพเช‚ เช•เซ‹เชฒเชจเชพ เชธเซเชตเชšเชพเชฒเชฟเชค เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เชฎเชพเชŸเซ‡ CRM, เชกเชพเชฏเชฒเชฐ เชœเซ‚เชฅเซ‹ เช…เชจเซ‡ FollowME เชธเชพเชฅเซ‡ เชธเช‚เช•เชฒเชจ เช•เชฐเซ‹ (เชธเซ€เช†เชฐเชเชฎ เช…เชจเซเชธเชพเชฐ)

เช† เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเซ‹ AMI เช…เชฅเชตเชพ ARI เชฆเซเชตเชพเชฐเชพ เช‰เช•เซ‡เชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ ARI เช˜เชฃเซ€ เช“เช›เซ€ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเช‚ เช˜เชฃเซ€ เช‡เชตเซ‡เชจเซเชŸเซเชธ เชจเชฅเซ€, AMI เชชเชพเชธเซ‡ เชนเชœเซ เชชเชฃ เช˜เชฃเชพ เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒเซเชธ เช›เซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเซ‡เช•เซเชฐเซ‹ เช•เซ‰เชฒเซเชธ, เชฎเซ‡เช•เซเชฐเซ‹เชจเซ€ เช…เช‚เชฆเชฐ เชตเซ‡เชฐเซ€เชเชฌเชฒ เชธเซ‡เชŸ เช•เชฐเชตเชพ, เช•เซ‰เชฒ เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช— เชธเชนเชฟเชค) เชŸเซเชฐเซ‡เช• เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เชธเชพเชšเชพ เช…เชจเซ‡ เชธเชšเซ‹เชŸ เชŸเซเชฐเซ‡เช•เชฟเช‚เช— เชฎเชพเชŸเซ‡, เชšเชพเชฒเซ‹ เชนเชฎเชฃเชพเช‚ เชฎเชพเชŸเซ‡ AMI เชชเชธเช‚เชฆ เช•เชฐเซ€เช (เชชเชฐเช‚เชคเซ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชจเชนเซ€เช‚). เชตเชงเซเชฎเชพเช‚ (เชธเชพเชฐเซเช‚, เช† เชตเชฟเชจเชพ เชคเซ‡ เช•เซเชฏเชพเช‚ เชนเชถเซ‡, เช…เชฎเซ‡ เช†เชณเชธเซ เชฒเซ‹เช•เซ‹ เช›เซ€เช) - เชฎเซ‚เชณ เช•เชพเชฐเซเชฏเชฎเชพเช‚ (habr เชฎเชพเช‚ เชฒเซ‡เช–) PAMI เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. *เชชเช›เซ€ เชคเชฎเชพเชฐเซ‡ ARI เชชเชฐ เชซเชฐเซ€เชฅเซ€ เชฒเช–เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเช•เซ€เช•เชค เช เชจเชฅเซ€ เช•เซ‡ เชคเซ‡ เช•เชพเชฎ เช•เชฐเชถเซ‡.

เชเช•เซ€เช•เชฐเชฃ เชชเซเชจเชƒเชถเซ‹เชง

เช…เชฎเชพเชฐเชพ เชซเซเชฐเซ€เชชเซ€เชฌเซ€เชเช•เซเชธ เช•เซ‰เชฒเชจเซ€ เชถเชฐเซ‚เช†เชค, เชธเชฎเชพเชชเซเชคเชฟ เชธเชฎเชฏ, เชจเช‚เชฌเชฐเซ‹, เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ‡เชฒเซ€ เชซเชพเช‡เชฒเซ‹เชจเชพ เชจเชพเชฎ เชตเชฟเชถเซ‡ เชธเชฐเชณ เชฐเซ€เชคเซ‡ AMI เชจเซ‡ เชœเชพเชฃ เช•เชฐเซ€ เชถเช•เซ‡ เชคเซ‡ เชฎเชพเชŸเซ‡, เชฎเซ‚เชณ เชฒเซ‡เช–เช•เซ‹ เชœเซ‡เชตเซ€ เชœ เชฏเซเช•เซเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‰เชฒเชจเซ€ เช…เชตเชงเชฟเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเซ€ เชธเซŒเชฅเซ€ เชธเชฐเชณ เช›เซ‡. - เชคเชฎเชพเชฐเชพ เชšเชฒเซ‹ เชฆเชพเช–เชฒ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชนเชพเชœเชฐเซ€ เชฎเชพเชŸเซ‡ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เชชเชพเชฐเซเชธ เช•เชฐเซ‹. PAMI เชซเช•เซเชค เชซเชฟเชฒเซเชŸเชฐ เชซเช‚เช•เซเชถเชจ เชฆเซเชตเชพเชฐเชพ เช† เช•เชฐเชตเชพเชจเซเช‚ เชธเซ‚เชšเชจ เช•เชฐเซ‡ เช›เซ‡.

เช•เซ‰เชฒเชจเชพ เชชเซเชฐเชพเชฐเช‚เชญ เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชšเชฒ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช…เชนเซ€เช‚ เช›เซ‡ (เชกเชพเชฏเชฒเชชเซเชฒเชพเชจเชฎเชพเช‚ เชเช• เชตเชฟเชถเชฟเชทเซเชŸ เชจเช‚เชฌเชฐ เช›เซ‡ เชœเซ‡ DID เชถเซ‹เชง เชถเชฐเซ‚ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡)

[ext-did-custom]

exten => s,1,Set(CallStart=${STRFTIME(epoch,,%s)})

เช† เชฒเชพเช‡เชจ เชฎเชพเชŸเซ‡ AMI เช‡เชตเซ‡เชจเซเชŸเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ

เช‡เชตเซ‡เชจเซเชŸ: เชจเชตเซ€ เชšเซ‡เชจเชฒ

เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐ: เช•เซ‰เชฒ เช•เชฐเซ‹, เชฌเชงเชพ

เชšเซ‡เชจเชฒ: PJSIP/VMS_pjsip-0000078b

เชšเซ‡เชจเชฒ เชธเซเชฅเชฟเชคเชฟ: 4

ChannelStateDesc: เชฐเชฟเช‚เช—

CallerIDNum: 111222

เช•เซ‰เชฒเชฐ ID เชจเชพเชฎ: 111222

ConnectedLineNum:

เชœเซ‹เชกเชพเชฏเซ‡เชฒ เชฐเซ‡เช–เชพเชจเชพเชฎ:

เชญเชพเชทเชพ: en

เชเช•เชพเช‰เชจเซเชŸ เช•เซ‹เชก:

เชธเช‚เชฆเชฐเซเชญ: เชฎเชพเช‚เชฅเซ€-pstn

เชตเชฟเชธเซเชคเชฐเชฃ: เชเชธ

เช…เช—เซเชฐเชคเชพ: 1

เช…เชจเชจเซเชฏ: 1599589046.5244

Linkedid: 1599589046.5244

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ: เชเชชเชกเซ‡เชŸเชพ เชธเซ‡เชŸ เช•เชฐเซ‹:

เช•เซ‰เชฒเชธเซเชŸเชพเชฐเซเชŸ=1599571046

เช•เชพเชฐเชฃ เช•เซ‡ FreePBX extention.conf เช…เชจเซ‡ extention_ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เช“เชตเชฐเชฐเชพเช‡เชŸ เช•เชฐเซ‡ เช›เซ‡extra.conf, เช†เชชเชฃเซ‡ เชซเชพเชˆเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ เชตเชฟเชธเซเชคเชฐเชฃ_เชตเซˆเชตเชฟเชงเซเชฏเชชเซ‚เชฐเซเชฃ.เช•เชจเชซ

extention_custom.conf เชจเซ‹ เชธเช‚เชชเซ‚เชฐเซเชฃ เช•เซ‹เชก

[globals]	
;; ะŸั€ะพะฒะตั€ัŒั‚ะต ะฟัƒั‚ะธ ะธ ะฟั€ะฐะฒะฐ ะฝะฐ ะฟะฐะฟะบะธ - ัŽะทะตั€ asterisk ะดะพะปะถะตะฝ ะธะผะตั‚ัŒ ะฟั€ะฐะฒะฐ ะฝะฐ ะทะฐะฟะธััŒ
;; ะกัŽะดะฐ ะฑัƒะดะตั‚ ะฟะธัะฐั‚ัŒัั ั€ะฐะทะณะพะฒะพั€ั‹
WAV=/var/www/html/callme/records/wav 
MP3=/var/www/html/callme/records/mp3

;; ะŸะพ ัั‚ะธะผ ะฟัƒั‚ัะผ ะฑัƒะดะตั‚ ะฒะพัะฟั€ะพะธะทะฒะพะดะธั‚ัั ะธ ัะบะฐั‡ะธะฒะฐั‚ัŒัั ะทะฐะฟะธััŒ
URLRECORDS=https://www.host.ru/callmeplus/records/mp3

;; ะะดั€ะตั ะดะปั ะบะฐะปะฑะตะบะฐ ะฟั€ะธ ะธัั…ะพะดัั‰ะตะผ ะฒั‹ะทะพะฒะต
URLPHP=https://www.host.ru/callmeplus

;; ะ”ะฐ ะฟะธัˆะตะผ ั€ะฐะทะณะพะฒะพั€ั‹
RECORDING=1

;; ะญั‚ะพ ะผะฐะบั€ะพั ะดะปั ะทะฐะฟะธัะธ ั€ะฐะทะณะพะฒะพั€ะพะฒ ะฒ ะฝะฐัˆัƒ ะฟะฐะฟะบัƒ. 
;; ะœะพะถะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะธ ัะธัั‚ะตะผะฝัƒัŽ ะทะฐะฟะธััŒ, ะฝะพ ะฟะพะบะฐ ะฟัƒัั‚ัŒ ะฑัƒะดะตั‚ ัั‚ะฐ - 
;; ะพะฝะฐ ั€ะฐะฑะพั‚ะฐะตั‚
[recording]
exten => ~~s~~,1,Set(LOCAL(calling)=${ARG1})
exten => ~~s~~,2,Set(LOCAL(called)=${ARG2})
exten => ~~s~~,3,GotoIf($["${RECORDING}" = "1"]?4:14)
exten => ~~s~~,4,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${calling}-${called})
exten => ~~s~~,5,Set(datedir=${STRFTIME(${EPOCH},,%Y/%m/%d)})
exten => ~~s~~,6,System(mkdir -p ${MP3}/${datedir})
exten => ~~s~~,7,System(mkdir -p ${WAV}/${datedir})
exten => ~~s~~,8,Set(monopt=nice -n 19 /usr/bin/lame -b 32  --silent "${WAV}/${datedir}/${fname}.wav"  "${MP3}/${datedir}/${fname}.mp3" && rm -f "${WAV}/${fname}.wav" && chmod o+r "${MP3}/${datedir}/${fname}.mp3")
exten => ~~s~~,9,Set(FullFname=${URLRECORDS}/${datedir}/${fname}.mp3)
exten => ~~s~~,10,Set(CDR(filename)=${fname}.mp3)
exten => ~~s~~,11,Set(CDR(recordingfile)=${fname}.wav)
exten => ~~s~~,12,Set(CDR(realdst)=${called})
exten => ~~s~~,13,MixMonitor(${WAV}/${datedir}/${fname}.wav,b,${monopt})
exten => ~~s~~,14,NoOp(Finish if_recording_1)
exten => ~~s~~,15,Return()


;; ะญั‚ะพ ะพัะฝะพะฒะฝะพะน ะบะพะฝั‚ะตะบัั‚ ะดะปั ะฝะฐั‡ะฐะปะฐ ั€ะฐะทะณะพะฒะพั€ะฐ
[ext-did-custom]

;; ะญั‚ะพ ั…ัƒะปะธะณะฐะฝัั‚ะฒะพ, ะดะตะปะฐั‚ัŒ ัั‚ะพ ั‚ะฐะบ ะธ ะทะดะตััŒ, ะฝะพ ั€ะฐะฑะพั‚ะฐะตั‚ - ะดะพะฑะฐะฒะปัะตะผ ะบ ะฝะพะผะตั€ัƒ '8'
exten =>  s,1,Set(CALLERID(num)=8${CALLERID(num)})

;; ะขัƒั‚ ะฒััะบะธะต ะฟะตั€ะตะผะตะฝะฝั‹ะต ะดะปั ัะบั€ะธะฟั‚ะฐ
exten =>  s,n,Gosub(recording,~~s~~,1(${CALLERID(number)},${EXTEN}))
exten =>  s,n,ExecIF(${CallMeCallerIDName}?Set(CALLERID(name)=${CallMeCallerIDName}):NoOp())
exten =>  s,n,Set(CallStart=${STRFTIME(epoch,,%s)})
exten =>  s,n,Set(CallMeDISPOSITION=${CDR(disposition)})

;; ะกะฐะผะพะต ะณะปะฐะฒะฝะพะต! ะžะฑั€ะฐะฑะพั‚ั‡ะธะบ ะพะบะพะฝั‡ะฐะฝะธั ั€ะฐะทะณะพะฒะพั€ะฐ. 
;; ะžะฑั‹ั‡ะฝั‹ะต ะฟัƒั‚ะธ ะพะฑั€ะฐะฑะพั‚ะบะธ ะบะพะฝั†ะฐ ั‡ะตั€ะตะท (exten=>h,1,ั‡ั‚ะพั‚ะพั‚ัƒั‚) ะฒ FreePBX ะฝะต ั€ะฐะฑะพั‚ะฐัŽั‚ - Macro(hangupcall,) ะฒัะต ะฟะพั€ั‚ะธั‚. 
;; ะŸะพัั‚ะพะผัƒ ะฒะตัˆะฐะตะผ Hangup_Handler ะฝะฐ ะพะบะพะฝั‡ะฐะฝะธะต ะทะฒะพะฝะบะฐ
exten => s,n,Set(CHANNEL(hangup_handler_push)=sub-call-from-cid-ended,s,1(${CALLERID(num)},${EXTEN}))

;; ะžะฑั€ะฐะฑะพั‚ั‡ะธะบ ะพะบะพะฝั‡ะฐะฝะธั ะฒั…ะพะดัั‰ะตะณะพ ะฒั‹ะทะพะฒะฐ
[sub-call-from-cid-ended]

;; ะกะพะพะฑั‰ะฐะตะผ ะพ ะทะฝะฐั‡ะตะฝะธัั… ะฟั€ะธ ะบะพะฝั†ะต ะทะฒะพะฝะบะฐ
exten => s,1,Set(CDR_PROP(disable)=true)
exten => s,n,Set(CallStop=${STRFTIME(epoch,,%s)})
exten => s,n,Set(CallMeDURATION=${MATH(${CallStop}-${CallStart},int)})

;; ะกั‚ะฐั‚ัƒั ะฒั‹ะทะพะฒะฐ - ะžั‚ะฒะตั‚, ะฝะต ะพั‚ะฒะตั‚...
exten => s,n,Set(CallMeDISPOSITION=${CDR(disposition)})
exten => s,n,Return


;; ะžะฑั€ะฐะฑะพั‚ั‡ะธะบ ะธัั…ะพะดัั‰ะธั… ะฒั‹ะทะพะฒะพะฒ - ะฒัะต ะฐะฝะฐะปะพะณะธั‡ะตะฝะพ
[outbound-allroutes-custom]

;; ะ—ะฐะฟะธััŒ
exten => _.,1,Gosub(recording,~~s~~,1(${CALLERID(number)},${EXTEN}))
;; ะŸะตั€ะตะผะตะฝะฝั‹ะต
exten => _.,n,Set(__CallIntNum=${CALLERID(num)})
exten => _.,n,Set(CallExtNum=${EXTEN})
exten => _.,n,Set(CallStart=${STRFTIME(epoch,,%s)})
exten => _.,n,Set(CallmeCALLID=${SIPCALLID})

;; ะ’ะตัˆะฐะตะผ Hangup_Handler ะฝะฐ ะพะบะพะฝั‡ะฐะฝะธะต ะทะฒะพะฝะบะฐ
exten => _.,n,Set(CHANNEL(hangup_handler_push)=sub-call-internal-ended,s,1(${CALLERID(num)},${EXTEN}))

;; ะžะฑั€ะฐะฑะพั‚ั‡ะธะบ ะพะบะพะฝั‡ะฐะฝะธั ะธัั…ะพะดัั‰ะตะณะพ ะฒั‹ะทะพะฒะฐ
[sub-call-internal-ended]

;; ะฟะตั€ะตะผะตะฝะฝั‹ะต
exten => s,1,Set(CDR_PROP(disable)=true)
exten => s,n,Set(CallStop=${STRFTIME(epoch,,%s)})
exten => s,n,Set(CallMeDURATION=${MATH(${CallStop}-${CallStart},int)})
exten => s,n,Set(CallMeDISPOSITION=${CDR(disposition)})

;; ะ’ั‹ะทะพะฒ ัะบั€ะธะฟั‚ะฐ, ะบะพั‚ะพั€ั‹ะน ัะพะพะฑั‰ะธั‚ ะพ ะทะฒะพะฝะบะต ะฒ CRM - ัั‚ะพ ะธัั…ะพะดัั‰ะธะน, 
;; ั‚ะฐะบ ั‡ั‚ะพ ะฟะพ ั„ะฐะบั‚ัƒ ะพะบะพะฝั‡ะฐะฝะธั
exten => s,n,System(curl -s ${URLPHP}/CallMeOut.php --data action=sendcall2b24 --data ExtNum=${CallExtNum} --data call_id=${SIPCALLID} --data-urlencode FullFname='${FullFname}' --data CallIntNum=${CallIntNum} --data CallDuration=${CallMeDURATION} --data-urlencode CallDisposition='${CallMeDISPOSITION}')
exten => s,n,Return

เชฎเซ‚เชณ เชฒเซ‡เช–เชจเชพ เชฒเซ‡เช–เช•เซ‹เชจเชพ เชฎเซ‚เชณ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจเชฅเซ€ เชตเชฟเชถเซ‡เชทเชคเชพ เช…เชจเซ‡ เชคเชซเชพเชตเชค -

  • .conf เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจ เช•เชฐเซ‹, เชœเซ‡เชฎ เช•เซ‡ FreePBX เช‡เชšเซเช›เซ‡ เช›เซ‡ (เชนเชพ, เชคเซ‡ .ael เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชจเชฅเซ€ เช…เชจเซ‡ เชคเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เช…เชจเซเช•เซ‚เชณ เชจเชฅเซ€)

  • exten=>h เชฆเซเชตเชพเชฐเชพ เช…เช‚เชคเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡, เชนเซ‡เช‚เช—เช…เชช_เชนเซ‡เชจเซเชกเชฒเชฐ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชถเชฐเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชซเซเชฐเซ€เชชเซ€เชฌเซ€เชเช•เซเชธ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชœ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชนเชคเซเช‚.

  • เชธเซเชฅเชฟเชฐ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช•เซ‰เชฒ เชธเซเชŸเซเชฐเชฟเช‚เช—, เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เช…เชตเชคเชฐเชฃ เช…เชจเซ‡ เชฌเชพเชนเซเชฏ เช•เซ‰เชฒ เชจเช‚เชฌเชฐ ExtNum

  • เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ _เช•เชธเซเชŸเชฎ เชธเช‚เชฆเชฐเซเชญเซ‹เชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชจเซ‡ FreePBX เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“เชจเซ‡ เชธเซเชชเชฐเซเชถ เช…เชฅเชตเชพ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ - [ เชฎเชพเชฐเชซเชคเซ‡ เช‡เชจเช•เชฎเชฟเช‚เช—ext-did- custom], เช†เช‰เชŸเช—เซ‹เช‡เช‚เช— เชฎเชพเชฐเชซเชคเซ‡ [เช†เช‰เชŸเชฌเชพเช‰เชจเซเชก-เช“เชฒเชฐเซ‚เชŸเซเชธ-เช•เชธเซเชŸเชฎ]

  • เชจเช‚เชฌเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ เชจเชฅเซ€ - เชซเชพเช‡เชฒ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชซเช•เซเชค เชชเชพเชฅ เช…เชจเซ‡ เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เชฒเชฟเช‚เช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡

เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชฒเซ‹เช—เชฟเชจ เช…เชจเซ‡ เชชเชพเชธเชตเชฐเซเชก เชฆเซเชตเชพเชฐเชพ AMI เชฎเชพเช‚ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชชเชฃ เชœเชฐเซ‚เชฐ เช›เซ‡ - เช† เชฎเชพเชŸเซ‡, FreePBX เชชเชพเชธเซ‡ _custom เชซเชพเช‡เชฒ เชชเชฃ เช›เซ‡

manager_custom.conf เชซเชพเช‡เชฒ

;;  ัั‚ะพ ะปะพะณะธะฝ
[callmeplus]
;; ัั‚ะพ ะฟะฐั€ะพะปัŒ
secret = trampampamturlala
deny = 0.0.0.0/0.0.0.0

;; ั ั€ะฐะฑะพั‚ะฐัŽ ั ะปะพะบะฐะปัŒะฝะพะน ะผะฐัˆะธะฝะพะน - ะฝะพ ะตัะปะธ ะฝะฐะดะพ, ะผะพะถะฝะพ ะธ ะดั€ัƒะณะธะต ะฟั€ะพะฟะธัะฐั‚ัŒ
permit = 127.0.0.1/255.255.255.255
read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
write = system,call,agent,log,verbose,user,config,command,reporting,originate

เช† เชฌเช‚เชจเซ‡ เชซเชพเชˆเชฒเซ‹ /etc/asterisk เชฎเชพเช‚ เชฎเซ‚เช•เชตเซ€ เชœเซ‹เชˆเช, เชชเช›เซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“ เชซเชฐเซ€เชฅเซ€ เชตเชพเช‚เชšเซ‹ (เช…เชฅเชตเชพ เชซเซ‚เชฆเชกเซ€ เชชเซเชจเชƒเชถเชฐเซ‚ เช•เชฐเซ‹)

# astrisk -rv
  Connected to Asterisk 16.6.2 currently running on freepbx (pid = 31629)
#freepbx*CLI> dialplan reload
     Dialplan reloaded.
#freepbx*CLI> exit

เชนเชตเซ‡ เชšเชพเชฒเซ‹ PHP เชชเชฐ เชœเชˆเช

เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชถเชฐเซ‚ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เช…เชจเซ‡ เชธเซ‡เชตเชพ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

Bitrix 24 เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ, AMI เชฎเชพเชŸเซ‡เชจเซ€ เชธเซ‡เชตเชพ, เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเชฐเชณ เช…เชจเซ‡ เชชเชพเชฐเชฆเชฐเซเชถเช• เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชคเซ‡เชจเซ€ เช…เชฒเช—เชฅเซ€ เชšเชฐเซเชšเชพ เชฅเชตเซ€ เชœเซ‹เชˆเช. เชซเซ‚เชฆเชกเซ€, เชœเซเชฏเชพเชฐเซ‡ AMI เชธเช•เซเชฐเชฟเชฏ เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชซเช•เซเชค เชชเซ‹เชฐเซเชŸ เช–เซ‹เชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฌเชธ. เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชœเซ‹เชกเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เช…เชงเชฟเช•เซƒเชคเชคเชพเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡, เชชเช›เซ€ เช•เซเชฒเชพเชฏเช‚เชŸ เชœเชฐเซ‚เชฐเซ€ เช‡เชตเซ‡เชจเซเชŸเซเชธเชฎเชพเช‚ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌ เช•เชฐเซ‡ เช›เซ‡. เช‡เชตเซ‡เชจเซเชŸเซเชธ เชธเชพเชฆเชพ เชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชจเซ‡ PAMI เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชฐเซเชšเชฟ, เช•เซเชทเซ‡เชคเซเชฐเซ‹, เชธเช‚เช–เซเชฏเชพเช“ เชตเช—เซ‡เชฐเซ‡เชจเซ€ เช˜เชŸเชจเชพเช“ เชฎเชพเชŸเซ‡ เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เชซเช‚เช•เซเชถเชจ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡.

เช•เซ‰เชฒ เช†เชตเซ‡ เช•เซ‡ เชคเชฐเชค เชœ, NewExten เช‡เชตเซ‡เชจเซเชŸ เชชเซ‡เชฐเซ‡เชจเซเชŸ [from-pstn] เชธเช‚เชฆเชฐเซเชญเชฅเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡, เชชเช›เซ€ เชฌเชงเซ€ เช‡เชตเซ‡เชจเซเชŸเซเชธ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชฒเซ€เชŸเซ€เช“เชจเชพ เช•เซเชฐเชฎเชฎเชพเช‚ เชœเชพเชฏ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ _เช•เชธเซเชŸเชฎ เชกเชพเชฏเชฒเชชเซเชฒเชพเชจเชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค CallMeCallerIDName เช…เชจเซ‡ CallStart เชšเชฒเซ‹เชฎเชพเช‚เชฅเซ€ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡,

  1. เชœเซเชฏเชพเช‚ เช•เซ‰เชฒ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹ เชคเซ‡ เชเช•เซเชธเชŸเซ‡เชจเซเชถเชจ เชจเช‚เชฌเชฐเชจเซ‡ เช…เชจเซเชฐเซ‚เชช UserID เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเชตเชพเชจเซเช‚ เช•เชพเชฐเซเชฏ. เชœเซ‹ เชคเซ‡ เชกเชพเชฏเชฒ-เช…เชช เชœเซ‚เชฅ เชนเซ‹เชฏ เชคเซ‹ เชถเซเช‚? เชชเซเชฐเชถเซเชจ เชฐเชพเชœเช•เซ€เชฏ เช›เซ‡, เชถเซเช‚ เชคเชฎเชพเชฐเซ‡ เชเช• เชœ เชธเชฎเชฏเซ‡ เชฆเชฐเซ‡เช•เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (เชœเซเชฏเชพเชฐเซ‡ เชฆเชฐเซ‡เช• เชเช• เชœ เชธเชฎเชฏเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡) เช…เชฅเชตเชพ เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡เช“ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เช“ เชœเซ‡เชฎ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชฎ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡? เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธ เชชเชพเชธเซ‡ Fisrt Available เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพ เชนเซ‹เชฏ เช›เซ‡, เชคเซ‡เชฅเซ€ เช†เชฎเชพเช‚ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชจเชฅเซ€, เชฎเชพเชคเซเชฐ เชเช• เช•เซ‰เชฒเซเชธ. เชชเชฐเช‚เชคเซ เชธเชฎเชธเซเชฏเชพเชจเซ‹ เช‰เช•เซ‡เชฒ เชฒเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

  2. Bitrix24 เชฎเชพเช‚ เช•เซ‰เชฒ เชจเซ‹เช‚เชงเชฃเซ€ เช•เชพเชฐเซเชฏ, เชœเซ‡ CallID เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เช•เซ‰เชฒ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช…เชจเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช—เชจเซ€ เชฒเชฟเช‚เช•เชจเซ€ เชœเชพเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชจเช‚เชฌเชฐ เช…เชฅเชตเชพ UserID เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡

FreePBX เชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ Bitrix24 เช…เชจเซ‡ เชตเชงเซ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚

เช•เซ‰เชฒเชจเชพ เช…เช‚เชค เชชเช›เซ€, เชฐเซ‡เช•เซ‹เชฐเซเชก เชกเชพเช‰เชจเชฒเซ‹เชก เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชเช• เชธเชพเชฅเซ‡ เช•เซ‰เชฒ เชชเซ‚เชฐเซเชฃ เชฅเชตเชพเชจเซ€ เชธเซเชฅเชฟเชคเชฟเชจเซ€ เชœเชพเชฃ เช•เชฐเซ‡ เช›เซ‡ (เชตเซเชฏเชธเซเชค, เช•เซ‹เชˆ เชœเชตเชพเชฌ เชจเชฅเซ€, เชธเชซเชณเชคเชพ), เช…เชจเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชก (เชœเซ‹ เช•เซ‹เชˆ เชนเซ‹เชฏ เชคเซ‹) เชธเชพเชฅเซ‡ mp3 เชซเชพเช‡เชฒเชจเซ€ เชฒเชฟเช‚เช• เชชเชฃ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡ เช›เซ‡.

เช•เชพเชฐเชฃ เช•เซ‡ CallMeIn.php เชฎเซ‹เชกเซเชฏเซเชฒเชจเซ‡ เชธเชคเชค เชšเชพเชฒเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชเช• SystemD เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชซเชพเช‡เชฒ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. callme.service, เชœเซ‡ /etc/systemd/system/callme.service เชฎเชพเช‚ เชฎเซ‚เช•เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡

[Unit]
Description=CallMe

[Service]
WorkingDirectory=/var/www/html/callmeplus
ExecStart=/usr/bin/php /var/www/html/callmeplus/CallMeIn.php 2>&1 >>/var/log/callmeplus.log
ExecStop=/bin/kill -WINCH ${MAINPID}
KillSignal=SIGKILL

Restart=on-failure
RestartSec=10s

#ั‚ัƒั‚ ะฝะฐะดะพ ัะผะพั‚ั€ะตั‚ัŒ,ะบะฐะบะธะต ะฟั€ะฐะฒะฐ ะฝะฐ ะฟะฐะฟะบะธ
#User=www-data  #Ubuntu - debian
#User=nginx #Centos

[Install]
WantedBy=multi-user.target

เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ€ เชถเชฐเซ‚เช†เชค เช…เชจเซ‡ เชชเซเชฐเช•เซเชทเซ‡เชชเชฃ systemctl เช…เชฅเชตเชพ เชธเซ‡เชตเชพ เชฆเซเชตเชพเชฐเชพ เชฅเชพเชฏ เช›เซ‡

# systemctl enable callme
# systemctl start callme

เชธเซ‡เชตเชพ เชœเชฐเซ‚เชฐ เชฎเซเชœเชฌ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เชฅเชถเซ‡ (เช•เซเชฐเซ‡เชถเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚). เช‡เชจเชฌเซ‹เช•เซเชธ เชŸเซเชฐเซ‡เช•เชฟเช‚เช— เชธเซ‡เชตเชพเชจเซ‡ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชซเช•เซเชค phpเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (เชœเซ‡ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ FeePBX เชธเชฐเซเชตเชฐ เชชเชฐ เช›เซ‡). เชชเชฐเช‚เชคเซ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ (https เชธเชพเชฅเซ‡ เชชเชฃ) เชฆเซเชตเชพเชฐเชพ เช•เซ‰เชฒ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธเชจเซ€ เชเช•เซเชธเซ‡เชธเชจเซ€ เช—เซ‡เชฐเชนเชพเชœเชฐเซ€เชฎเชพเช‚, เช•เซ‰เชฒ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชธเชพเช‚เชญเชณเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชถเซ‡ เชจเชนเซ€เช‚.

เชนเชตเซ‡ เช†เช‰เชŸเช—เซ‹เช‡เช‚เช— เช•เซ‹เชฒ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เช. CallMeOut.php เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฌเซ‡ เช•เชพเชฐเซเชฏเซ‹ เช›เซ‡:

  • เชœเซเชฏเชพเชฐเซ‡ php เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฎเชพเชŸเซ‡ เชตเชฟเชจเช‚เชคเซ€ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เช•เซ‰เชฒเชจเซ€ เชถเชฐเซ‚เช†เชค (เชฌเชฟเชŸเซเชฐเชฟเช•เซเชธเชฎเชพเช‚ เชœ "เช•เซ‰เชฒ" เชฌเชŸเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชธเชนเชฟเชค). เชคเซ‡ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชตเชฟเชจเชพ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€, เชตเชฟเชจเช‚เชคเซ€ HTTP POST เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡, เชตเชฟเชจเช‚เชคเซ€เชฎเชพเช‚ เชŸเซ‹เช•เชจ เชนเซ‹เชฏ เช›เซ‡

  • Bitrix เชฎเชพเช‚ เช•เซ‰เชฒ, เชคเซ‡เชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช…เชจเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชก เชตเชฟเชถเซ‡ เชธเช‚เชฆเซ‡เชถ. เชœเซเชฏเชพเชฐเซ‡ เช•เซ‰เชฒ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ [เชธเชฌ-เช•เซ‰เชฒ-เช‡เชจเซเชŸเชฐเชจเชฒ-เชเชจเซเชกเซ‡เชก] เชกเชพเชฏเชฒเชชเซเชฒเชพเชจเชฎเชพเช‚ เชเชธเซเชŸเชฐเชฟเชธเซเช• เชฆเซเชตเชพเชฐเชพ เชซเชพเชฏเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡

FreePBX เชจเซ‡ เชธเชฎเชœเชตเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ Bitrix24 เช…เชจเซ‡ เชตเชงเซ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚

เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชฎเชพเชคเซเชฐ เชฌเซ‡ เชตเชธเซเชคเซเช“ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ - Bitrix เชฐเซ‡เช•เซ‹เชฐเซเชก เชซเชพเช‡เชฒเซ‹ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเซ€ (HTTPS เชฆเซเชตเชพเชฐเชพ) เช…เชจเซ‡ CallMeOut.php เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเซ€. เชคเชฎเซ‡ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชซเซเชฐเซ€เชชเซ€เชฌเซ€เชเช•เซเชธ เชธเชฐเซเชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡ เชซเชพเช‡เชฒเซ‹ เชฎเชพเชŸเซ‡ /var/www/html เช›เซ‡, เชคเชฎเซ‡ เชฌเซ€เชœเซเช‚ เชธเชฐเซเชตเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชฅเชตเชพ เช…เชฒเช— เชชเชพเชฅเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ

เชšเชพเชฒเซ‹ เชธเซเชตเชคเช‚เชคเซเชฐ เช…เชญเซเชฏเชพเชธ เชฎเชพเชŸเซ‡ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชธเซ‡เชŸเช…เชช เช›เซ‹เชกเซ€เช (tyts, tyts, tyts). เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชกเซ‹เชฎเซ‡เชจ เชจเชฅเซ€, เชคเซ‹ เชคเชฎเซ‡ FreeDomain ( https://www.freenom.com/ru/index.html), เชœเซ‡ เชคเชฎเชจเซ‡ เชคเชฎเชพเชฐเชพ เชธเชซเซ‡เชฆ IP เชฎเชพเชŸเซ‡ เชฎเชซเชค เชจเชพเชฎ เช†เชชเชถเซ‡ (เชœเซ‹ เชฌเชพเชนเซเชฏ เชธเชฐเชจเชพเชฎเซเช‚ เชซเช•เซเชค เชคเซ‡เชจเชพ เชชเชฐ เชนเซ‹เชฏ เชคเซ‹ เชฐเชพเช‰เชŸเชฐ เชฆเซเชตเชพเชฐเชพ เชชเซ‹เชฐเซเชŸ 80, 443 เชซเซ‹เชฐเชตเชฐเซเชก เช•เชฐเชตเชพเชจเซเช‚ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚). เชœเซ‹ เชคเชฎเซ‡ เชนเชฎเชฃเชพเช‚ เชœ DNS เชกเซ‹เชฎเซ‡เชจ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชฌเชงเชพ เชธเชฐเซเชตเชฐเซเชธ เชฒเซ‹เชก เชฅเชพเชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชฐเชพเชน เชœเซ‹เชตเซ€ เชชเชกเชถเซ‡ (15 เชฎเชฟเชจเชฟเชŸเชฅเซ€ 48 เช•เชฒเชพเช• เชธเซเชงเซ€). เช˜เชฐเซ‡เชฒเซ เชชเซเชฐเชฆเชพเชคเชพเช“ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเชพ เช…เชจเซเชญเชต เช…เชจเซเชธเชพเชฐ - 1 เช•เชฒเชพเช•เชฅเซ€ เชเช• เชฆเชฟเชตเชธ เชธเซเชงเซ€.

เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช“เชŸเซ‹เชฎเซ‡เชถเชจ

เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจเชจเซ‡ เชตเชงเซ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช—เซ€เชฅเชฌ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒเชฐ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซ‡ เช•เชพเช—เชณ เชชเชฐ เชธเชฐเชณ เชนเชคเซเช‚ - เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชคเซ‡ เชฌเชงเซเช‚ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, เช•เชพเชฐเชฃ เช•เซ‡ เช† เชฌเชงเชพ เชธเชพเชฅเซ‡ เชŸเชฟเช‚เช•เชฐ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชคเซ‡ เชธเซเชชเชทเซเชŸ เชฅเชˆ เช—เชฏเซเช‚ เช›เซ‡ เช•เซ‡ เช•เซ‹เชจเซ€ เชธเชพเชฅเซ‡ เชฎเชฟเชคเซเชฐเซ‹ เชถเซเช‚ เช›เซ‡, เช•เซ‹เชฃ เช•เซเชฏเชพเช‚ เชœเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชคเซ‡เชจเซ‡ เชกเซ€เชฌเช— เช•เชฐเชตเซเช‚. เชนเชœเซ€ เชธเซเชงเซ€ เช•เซ‹เชˆ เช‡เชจเซเชธเซเชŸเซ‹เชฒเชฐ เชจเชฅเซ€

Docker

เชœเซ‹ เชคเชฎเซ‡ เชเชกเชชเชฅเซ€ เช‰เช•เซ‡เชฒ เช…เชœเชฎเชพเชตเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹เชต เชคเซ‹ - เชกเซ‹เช•เชฐ เชธเชพเชฅเซ‡ เชเช• เชตเชฟเช•เชฒเซเชช เช›เซ‡ - เชเชกเชชเชฅเซ€ เช•เชจเซเชŸเซ‡เชจเชฐ เชฌเชจเชพเชตเซ‹, เชคเซ‡เชจเซ‡ เชฌเชนเชพเชฐ เชชเซ‹เชฐเซเชŸ เช†เชชเซ‹, เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชธเซเชฒเชฟเชช เช•เชฐเซ‹ เช…เชจเซ‡ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‹ (เช† LetsEncrypt เช•เชจเซเชŸเซ‡เชจเชฐ เชธเชพเชฅเซ‡เชจเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡, เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เช›เซ‡, เชคเซ‹ เชคเชฎเซ‡ เชซเช•เซเชค เชฐเชฟเชตเชฐเซเชธ เชชเซเชฐเซ‹เช•เซเชธเซ€เชจเซ‡ เชซเซเชฐเซ€เชชเซ€เชฌเซ€เชเช•เซเชธ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชชเชฐ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชฌเซ€เชœเซเช‚ เชชเซ‹เชฐเซเชŸ เช†เชชเซเชฏเซเช‚ เช›เซ‡ 88), LetsEncrypt in docker เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช† เชฒเซ‡เช–

เชคเชฎเชพเชฐเซ‡ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡เชฒ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชซเชพเช‡เชฒ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (เช—เซ€เชŸ เช•เซเชฒเซ‹เชจ เชชเช›เซ€), เชชเชฐเช‚เชคเซ เชชเชนเซ‡เชฒเชพ เชเชธเซเชŸเชฐเชฟเชธเซเช• เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“ (เชซเซ‚เชฆเชกเซ€ เชซเซ‹เชฒเซเชกเชฐ) เชฎเชพเช‚ เชœเชพเช“ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชธเชพเช‡เชŸเชจเชพ URL เชฎเชพเชŸเซ‡เชจเชพ เชชเชพเชฅ เชฒเช–เซ‹.

version: '3.3'
services:
  nginx:
    image: nginx:1.15-alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/ssl_docker.conf:/etc/nginx/conf.d/ssl_docker.conf
  certbot:
    image: certbot/certbot
  freepbx:
    image: flaviostutz/freepbx
    ports:
      - 88:80 # ะดะปั ะฝะฐัั‚ั€ะพะนะบะธ
      - 5060:5060/udp
      - 5160:5160/udp
      - 127.0.0.1:5038:5038 # ะดะปั CallMeOut.php
#      - 3306:3306
      - 18000-18100:18000-18100/udp
    restart: always
    environment:
      - ADMIN_PASSWORD=admin123
    volumes:
      - backup:/backup
      - recordings:/var/spool/asterisk/monitor
      - ./callme:/var/www/html/callme
      - ./systemd/callme.service:/etc/systemd/system/callme.conf
      - ./asterisk/manager_custom.conf:/etc/asterisk/manager_custom.conf
      - ./asterisk/extensions_custom.conf:/etc/asterisk/extensions_custom.conf
#      - ./conf/startup.sh:/startup.sh

volumes:
  backup:
  recordings:

เช† docker-compose.yaml เชซเชพเช‡เชฒ เชฎเชพเชฐเชซเชคเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡

docker-compose up -d

เชœเซ‹ nginx เชถเชฐเซ‚ เชฅเชคเซเช‚ เชจเชฅเซ€, เชคเซ‹ เชชเช›เซ€ nginx/ssl_docker.conf เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช—เซ‹เช เชตเชฃเซ€เชฎเชพเช‚ เช•เช‚เชˆเช• เช–เซ‹เชŸเซเช‚ เช›เซ‡.

เช…เชจเซเชฏ เชเช•เซ€เช•เชฐเชฃ

เช…เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชธเซ€เช†เชฐเชเชฎเชจเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธเชฎเชพเช‚ เช•เซ‡เชฎ เชจ เชฎเซ‚เช•เชถเซ‹, เช…เชฎเซ‡ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚. เช…เชฎเซ‡ เช…เชจเซเชฏ เช˜เชฃเชพ CRM API เชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเซเชฏเซ‹, เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชซเซเชฐเซ€ เชฌเชฟเชฒเซเชŸ-เช‡เชจ PBX - ShugarCRM เช…เชจเซ‡ Vtiger, เช…เชจเซ‡ เชนเชพ! เชนเชพ, เชธเชฟเชฆเซเชงเชพเช‚เชค เชธเชฎเชพเชจ เช›เซ‡. เชชเชฐเช‚เชคเซ เช† เชฌเซ€เชœเซ€ เชตเชพเชฐเซเชคเชพ เช›เซ‡, เชœเซ‡เชจเซ‡ เช†เชชเชฃเซ‡ เชชเช›เซ€เชฅเซ€ เช—เซ€เชฅเชฌ เชชเชฐ เช…เชฒเช—เชฅเซ€ เช…เชชเชฒเซ‹เชก เช•เชฐเซ€เชถเซเช‚.

เชธเช‚เชฆเชฐเซเชญเซ‹

เช…เชธเซเชตเซ€เช•เชฐเชฃ: เชตเชพเชธเซเชคเชตเชฟเช•เชคเชพ เชธเชพเชฅเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเชพเชฎเซเชฏเชคเชพ เช•เชพเชฒเซเชชเชจเชฟเช• เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชนเซเช‚ เชจเชนเซ‹เชคเซ‹.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹