FreePBX เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ Bitrix24 เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ

เจฌเจฟเจŸเฉเจฐเจฟเจ•เจธ เฉจเฉช เจ‡เฉฑเจ• เจฌเจนเฉเจค เจตเฉฑเจกเจพ เจ•เฉฐเจฌเจพเจˆเจจ เจนเฉˆ เจœเฉ‹ CRM, เจตเจฐเจ•เจซเจฒเฉ‹, เจฒเฉ‡เจ–เจพเจ•เจพเจฐเฉ€ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ เจœเฉ‹ เจชเฉเจฐเจฌเฉฐเจงเจ• เจ…เจธเจฒ เจตเจฟเฉฑเจš เจชเจธเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ IT เจธเจŸเจพเจซ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจชเจธเฉฐเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจชเฉ‹เจฐเจŸเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ›เฉ‹เจŸเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจฎเฉฑเจงเจฎ เจ†เจ•เจพเจฐ เจฆเฉ€เจ†เจ‚ เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ›เฉ‹เจŸเฉ‡ เจ•เจฒเฉ€เจจเจฟเจ•, เจจเจฟเจฐเจฎเจพเจคเจพ เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจธเฉเฉฐเจฆเจฐเจคเจพ เจธเฉˆเจฒเฉ‚เจจ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเจจเฅค เจฎเฉเฉฑเจ– เจ•เจพเจฐเจœ เจœเฉ‹ เจชเฉเจฐเจฌเฉฐเจงเจ•เจพเจ‚ เจจเฉ‚เฉฐ "เจชเจฟเจ†เจฐ" เจ•เจฐเจฆเจพ เจนเฉˆ เจ‰เจน เจŸเฉˆเจฒเฉ€เจซเฉ‹เจจเฉ€ เจ…เจคเฉ‡ เจธเฉ€เจ†เจฐเจเจฎ เจฆเจพ เจเจ•เฉ€เจ•เจฐเจฃ เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจตเฉ€ เจ•เจพเจฒ เจคเฉเจฐเฉฐเจค เจธเฉ€เจ†เจฐเจเจฎ เจตเจฟเฉฑเจš เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เจพเจฐเจก เจฌเจฃเจพเจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจœเจฆเฉ‹เจ‚ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡, เจ—เจพเจนเจ• เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‰เจน เจ•เฉŒเจฃ เจนเฉˆ, เจ‰เจน เจ•เฉ€ เจนเฉˆเฅค เจตเฉ‡เจš เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจธเจฆเจพ เจ•เจฟเฉฐเจจเจพ เจฌเจ•เจพเจ‡เจ† เจนเฉˆเฅค เจชเจฐ Bitrix24 เจคเฉ‹เจ‚ เจŸเฉˆเจฒเฉ€เจซเฉ‹เจจเฉ€ เจ…เจคเฉ‡ CRM เจจเจพเจฒ เจ‡เจธ เจฆเฉ‡ เจเจ•เฉ€เจ•เจฐเจจ เจฒเจˆ เจชเฉˆเจธเจพ เจ–เจฐเจš เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ•เจˆ เจตเจพเจฐ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพเฅค เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ“เจชเจจ เจŸเฉ‚เจฒเจธ เจ…เจคเฉ‡ เจชเฉเจฐเจธเจฟเฉฑเจง เจ†เจˆเจชเฉ€ เจชเฉ€เจฌเฉ€เจเจ•เจธ เจจเจพเจฒ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจ…เจจเฉเจญเจต เจฌเจพเจฐเฉ‡ เจฆเฉฑเจธเจพเจ‚เจ—เจพ เจซเฉเจฐเฉ€เจชเฉ€เจฌเฉ€เจเจ•เจธ, เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจฆเฉ‡ เจ•เฉฐเจฎ เจฆเฉ‡ เจคเจฐเจ• 'เจคเฉ‡ เจตเฉ€ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ‹

เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจ…เจœเจฟเจนเฉ€ เจ•เฉฐเจชเจจเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ†เจŠเจŸเจธเฉ‹เจฐเจธเจฐ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจœเฉ‹ IP เจŸเฉˆเจฒเฉ€เจซเฉ‹เจจเฉ€ เจจเฉ‚เฉฐ เจตเฉ‡เจšเจฆเฉ€ เจ…เจคเฉ‡ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจฎเฉˆเจจเฉ‚เฉฐ เจชเฉเฉฑเจ›เจฟเจ† เจ—เจฟเจ† เจ•เจฟ เจ•เฉ€ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจ…เจคเฉ‡ เจ‡เจธ เจ•เฉฐเจชเจจเฉ€ เจจเฉ‚เฉฐ เจฌเจฟเจŸเฉเจฐเจฟเจ•เจธ 24 เจจเฉ‚เฉฐ เจชเฉ€เจฌเฉ€เจเจ•เจธ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฒเจˆ เจ•เฉเจ เจชเฉ‡เจธเจผ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจ—เจพเจนเจ•เจพเจ‚ เจ•เฉ‹เจฒ เจนเจจ, เจจเจพเจฒ เจนเฉ€ เจตเฉฑเจ–-เจตเฉฑเจ– VDS เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ 'เจคเฉ‡ เจตเจฐเจšเฉเจ…เจฒ เจชเฉ€เจฌเฉ€เจเจ•เจธ เจฆเฉ‡ เจจเจพเจฒ, เจฎเฉˆเจ‚ เจ—เฉ‚เจ—เจฒ 'เจคเฉ‡ เจ—เจฟเจ†เฅค เจ…เจคเฉ‡ เจฌเฉ‡เจธเจผเจ• เจ‰เจธเจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฒเจฟเฉฐเจ• เจฆเจฟเฉฑเจคเจพ habr เจตเจฟเฉฑเจš เจฒเฉ‡เจ–, เจœเจฟเฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจตเจฐเจฃเจจ เจนเฉˆ, เจ…เจคเฉ‡ github, เจ…เจคเฉ‡ เจธเจญ เจ•เฉเจ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจœเจพเจชเจฆเจพ เจนเฉˆ. เจชเจฐ เจœเจฆเฉ‹เจ‚ เจ‡เจธ เจนเฉฑเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ เจ—เจˆ, เจคเจพเจ‚ เจ‡เจน เจชเจคเจพ เจšเจฒเจฟเจ† เจ•เจฟ Bitrix24 เจนเฉเจฃ เจชเจนเจฟเจฒเจพเจ‚ เจตเจฐเจ—เจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจนเฉเจค เจ•เฉเจ เจฆเฉเจฌเจพเจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ. เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจซเฉเจฐเฉ€เจชเฉ€เจฌเฉ€เจเจ•เจธ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจ•เฉ‹เจˆ เจจเฉฐเจ—เฉ€ เจคเจพเจฐเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เฉฑเจฅเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‹เจ‚ เจตเจฟเฉฑเจš เจ†เจธเจพเจจเฉ€ เจ…เจคเฉ‡ เจนเจพเจฐเจกเจ•เฉ‹เจฐ เจกเจพเจ‡เจฒเจชเจฒเฉˆเจจ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจœเฉ‹เฉœเจฟเจ† เจœเจพเจตเฉ‡เฅค

เจ…เจธเฉ€เจ‚ เจ•เฉฐเจฎ เจฆเฉ‡ เจคเจฐเจ• เจฆเจพ เจ…เจงเจฟเจเจจ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚

เจ‡เจธ เจฒเจˆ เจธเจผเฉเจฐเฉ‚เจ†เจค เจ•เจฐเจจ เจตเจพเจฒเจฟเจ†เจ‚ เจฒเจˆ, เจ‡เจน เจธเจญ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ. เจœเจฆเฉ‹เจ‚ PBX (เจชเฉเจฐเจฆเจพเจคเจพ เจคเฉ‹เจ‚ SIP INVITE เจˆเจตเฉˆเจ‚เจŸ) 'เจคเฉ‡ เจฌเจพเจนเจฐเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจพเจฒ เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจกเจพเจ‡เจฒเจชเจฒเจพเจจ (เจกเจพเจ‡เจฒ เจชเจฒเจพเจจ, เจกเจพเจ‡เจฒเจชเจฒเจพเจจ) เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ - เจ•เจพเจฒ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉ€ เจ…เจคเฉ‡ เจ•เจฟเจธ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจ•เจฐเจจเจพ เจนเฉˆ เจฆเฉ‡ เจจเจฟเจฏเจฎเฅค เจชเจนเจฟเจฒเฉ‡ เจชเฉˆเจ•เฉ‡เจŸ เจคเฉ‹เจ‚, เจคเฉเจธเฉ€เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเฉ‹ เจซเจฟเจฐ เจจเจฟเจฏเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ. SIP เจฆเฉ‡ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เจงเจฟเจเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจธเจพเจงเจจ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจนเฉˆ sngrep (เจฒเจฟเฉฐเจ•) เจœเฉ‹ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ apt install/yum install เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจธเจฟเฉฑเจง เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฐเฉ‹เจค เจคเฉ‹เจ‚ เจตเฉ€ เจฌเจฃเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ†เจ“ sngrep เจตเจฟเฉฑเจš เจ•เจพเจฒ เจฒเฉŒเจ— เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ

FreePBX เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ Bitrix24 เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ

เจ‡เฉฑเจ• เจธเจฐเจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจกเจพเจ‡เจฒเจชเจฒเจพเจจ เจธเจฟเจฐเจซ เจชเจนเจฟเจฒเฉ‡ เจชเฉˆเจ•เฉ‡เจŸ เจจเจพเจฒ เจนเฉ€ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ•เจˆ เจตเจพเจฐ เจ—เฉฑเจฒเจฌเจพเจค เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจ•เจพเจฒเจพเจ‚ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจฌเจŸเจจ เจฆเจฌเจพเจ‰เจฃ (เจกเฉ€เจŸเฉ€เจเจฎเจเจซ), เจ•เจˆ เจฆเจฟเจฒเจšเจธเจช เจšเฉ€เจœเจผเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ FollowMe, RingGroup, IVR เจ…เจคเฉ‡ เจนเฉ‹เจฐเฅค

เจ‡เจจเจตเจพเจˆเจŸ เจชเฉˆเจ• เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ•เฉ€ เจนเฉˆ

FreePBX เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ Bitrix24 เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ

เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจธเจญ เจคเฉ‹เจ‚ เจธเจงเจพเจฐเจจ เจกเจพเจ‡เจฒเจชเจฒเจพเจจเจธ เจชเจนเจฟเจฒเฉ‡ เจฆเฉ‹ เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจธเจพเจฐเจพ เจคเจฐเจ• DID เจ…เจคเฉ‡ CallerID เจฆเฉเจ†เจฒเฉ‡ เจ˜เฉเฉฐเจฎเจฆเจพ เจนเฉˆเฅค เจกเฉ€เจ†เจˆเจกเฉ€ - เจœเจฟเฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ•เจพเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚, เจ•เจพเจฒเจฐเจ†เจˆเจกเฉ€ - เจ•เฉŒเจฃ เจ•เจพเจฒ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค

เจชเจฐ เจ†เจ–เจผเจฐเจ•เจพเจฐ, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ•เฉฐเจชเจจเฉ€ เจนเฉˆ เจจเจพ เจ•เจฟ เจ‡เฉฑเจ• เจซเจผเฉ‹เจจ - เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจชเฉ€เจฌเฉ€เจเจ•เจธ เจ•เฉ‹เจฒ เจธเจผเจนเจฟเจฐ เจฆเฉ‡ เจจเฉฐเจฌเจฐเจพเจ‚ (เจฐเจฟเฉฐเจ— เจ—เจฐเฉเฉฑเจช), เจ†เจˆเจตเฉ€เจ†เจฐ (เจนเฉˆเจฒเฉ‹, เจคเฉเจธเฉ€เจ‚ เจ•เจพเจฒ เจ•เฉ€เจคเฉ€ เจนเฉˆ ... เจฆเจฌเจพเจ“ เจ‡เฉฑเจ• เจฒเจˆ ...), เจ‰เฉฑเจคเจฐ เจฆเฉ‡เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจฎเจธเจผเฉ€เจจเจพเจ‚ (เจตเจพเจ•เจพเจ‚เจธเจผ), เจธเจฎเฉ‡เจ‚ เจฆเฉ€เจ†เจ‚ เจธเจผเจฐเจคเจพเจ‚, เจฆเฉ‚เจœเฉ‡ เจจเฉฐเจฌเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจœเจพเจ‚ เจ•เจฟเจธเฉ‡ เจธเฉˆเฉฑเจฒ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฃเจพ (เจซเจพเจฒเฉ‹เจฎเฉ€, เจ…เฉฑเจ—เฉ‡)เฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆ เจ•เจฟ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เจพเจฒ เจ•เจฟเจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจ•เจพเจฒ เจ†เจ‰เจฃ 'เจคเฉ‡ เจ•เจฟเจธ เจจเจพเจฒ เจ—เฉฑเจฒเจฌเจพเจค เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ‡เฉฑเจฅเฉ‡ เจธเจพเจกเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจฆเฉ‡ PBX เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ†เจฎ เจ•เจพเจฒ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจฆเจพ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ

FreePBX เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ Bitrix24 เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ

เจ•เจพเจฒ เจฆเฉ‡ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• PBX เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เจน เจตเฉฑเจ–-เจตเฉฑเจ– "เจชเฉเจฐเจธเฉฐเจ—เจพเจ‚" เจตเจฟเฉฑเจš เจกเจพเจ‡เจฒเจชเจฒเจพเจจ เจฆเฉเจ†เจฐเจพ เจฏเจพเจคเจฐเจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค Asterisk เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚ เจธเฉฐเจฆเจฐเจญ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉฐเจ–เจฟเจ†เจฌเฉฑเจง เจธเฉˆเฉฑเจŸ เจนเฉˆ, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจตเจฟเฉฑเจš เจกเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจจเฉฐเจฌเจฐ เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจซเจฟเจฒเจŸเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆ (เจ‡เจธ เจจเฉ‚เฉฐ เจเจ•เจธเจŸเฉˆเจจ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉœเจพเจ… exten=DID 'เจคเฉ‡ เจ‡เฉฑเจ• เจฌเจพเจนเจฐเฉ€ เจ•เจพเจฒ เจฒเจˆ)เฅค เจกเจพเจ‡เจฒเจชเจฒเฉˆเจจ เจฒเจพเจˆเจจ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจ•เฉเจ เจตเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ - เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจซเฉฐเจ•เจธเจผเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ—เจพเจนเจ• เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‹ - Dial(), เจซเจผเฉ‹เจจ เจนเฉ‡เจ เจพเจ‚ เจฐเฉฑเจ–เฉ‹ - Hangup()), เจ•เฉฐเจกเฉ€เจธเจผเจจเจฒ เจ“เจชเจฐเฉ‡เจŸเจฐ (IF, ELSE, ExecIF เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚), เจ‡เจธ เจธเฉฐเจฆเจฐเจญ เจฆเฉ‡ เจนเฉ‹เจฐ เจจเจฟเจฏเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€ (Goto, GotoIF), เจซเฉฐเจ•เจธเจผเจจ เจ•เจพเจฒ (เจ—เฉ‹เจธเจฌ, เจฎเฉˆเจ•เจฐเฉ‹) เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฆเฉ‚เจœเฉ‡ เจธเฉฐเจฆเจฐเจญเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เฅค เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจจเจฟเจฐเจฆเฉ‡เจธเจผ include ะธะผั_ะบะพะฝั‚ะตะบัั‚ะฐ, เจœเฉ‹ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจฆเจฐเจญ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจธเฉฐเจฆเจฐเจญ เจคเฉ‹เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆเฅค เจธเจผเจพเจฎเจฒ เจฐเจพเจนเฉ€เจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจนเจฎเฉ‡เจธเจผเจพ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ ะฟะพัะปะต เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจฆเจฐเจญ เจฆเฉ‡ เจนเฉเจ•เจฎ.

FreePBX เจฆเจพ เจธเจพเจฐเจพ เจคเจฐเจ• เจ—เฉ‹เจธเจฌ, เจฎเฉˆเจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจนเฉˆเจ‚เจกเจฒเจฐ เจนเฉˆเจ‚เจกเจฒเจฐ เจฆเฉเจ†เจฐเจพ เจธเจผเจพเจฎเจฒ เจ…เจคเฉ‡ เจ•เจพเจฒ เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจธเฉฐเจฆเจฐเจญเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ 'เจคเฉ‡ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ†เจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ FreePBX เจ•เจพเจฒเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ 'เจคเฉ‡ เจ—เฉŒเจฐ เจ•เจฐเฉ‹

FreePBX เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ Bitrix24 เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ

เจ•เจพเจฒ เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš เจ‰เฉฑเจชเจฐ เจคเฉ‹เจ‚ เจนเฉ‡เจ เจพเจ‚ เจคเฉฑเจ• เจธเจพเจฐเฉ‡ เจธเฉฐเจฆเจฐเจญเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜เจฆเฉ€ เจนเฉˆ, เจนเจฐเฉ‡เจ• เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจฎเฉˆเจ•เจฐเฉ‹เจœเจผ (เจฎเฉˆเจ•เจฐเฉ‹), เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ (เจ—เฉ‹เจธเจฌ) เจœเจพเจ‚ เจ•เฉ‡เจตเจฒ เจชเจฐเจฟเจตเจฐเจคเจจ (เจ—เฉ‹เจŸเฉ‹) เจตเจฐเจ—เฉ‡ เจนเฉ‹เจฐ เจชเฉเจฐเจธเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจœเจฟเจธเจจเฉ‚เฉฐ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ‰เจธ เจฆเจพ เจ…เจธเจฒ เจฐเฉเฉฑเจ– เจนเฉ€ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฒเจพเจ— เจตเจฟเฉฑเจš เจŸเจฐเฉˆเจ• เจ•เฉ€เจคเจพ เจœเจพ.

เจ‡เฉฑเจ• เจ†เจฎ PBX เจฒเจˆ เจ‡เฉฑเจ• เจ†เจฎ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจšเจฟเฉฑเจคเจฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ•เจพเจฒ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡, เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจฐเฉ‚เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจกเฉ€เจ†เจˆเจกเฉ€ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ…เจธเจฅเจพเจˆ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเฉ‡เจ•เจฐ เจธเจญ เจ•เฉเจ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจนเฉˆ, เจคเจพเจ‚ เจตเฉŒเจ‡เจธ เจฎเฉ€เจจเฉ‚ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚, เจฌเจŸเจจ 1 เจœเจพเจ‚ เจŸเจพเจˆเจฎเจ†เจ‰เจŸ เจฆเจฌเจพ เจ•เฉ‡, เจกเจพเจ‡เจฒเจฟเฉฐเจ— เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจฆเฉ‡ เจธเจฎเฉ‚เจน เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจœเจพเจ“เฅค เจ•เจพเจฒ เจ–เจคเจฎ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจนเฉˆเจ‚เจ—เจ…เฉฑเจชเจ•เจพเจฒ เจฎเฉˆเจ•เจฐเฉ‹ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจกเจพเจ‡เจฒเจชเจฒเจพเจจ เจตเจฟเฉฑเจš เจตเจฟเจธเจผเฉ‡เจธเจผ เจนเฉˆเจ‚เจกเจฒเจฐ (เจนเฉˆเจ‚เจ—เจ…เฉฑเจช เจนเฉˆเจ‚เจกเจฒเจฐ) เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

FreePBX เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ Bitrix24 เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ

เจ‡เจธ เจ•เจพเจฒ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจตเจฟเฉฑเจš เจธเจพเจจเฉ‚เฉฐ CRM เจจเฉ‚เฉฐ เจ•เจพเจฒ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ•เจฟเฉฑเจฅเฉ‡ เจธเจชเจฒเจพเจˆ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ, เจฐเจฟเจ•เจพเจฐเจกเจฟเฉฐเจ— เจ•เจฟเฉฑเจฅเฉ‡ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเฉ€ เจนเฉˆ, เจฐเจฟเจ•เจพเจฐเจกเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจ•เจฟเฉฑเจฅเฉ‡ เจ–เจคเจฎ เจ•เจฐเจจเจพ เจนเฉˆ เจ…เจคเฉ‡ CRM เจจเฉ‚เฉฐ เจ•เจพเจฒ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจญเฉ‡เจœเจฃเจพ เจนเฉˆ?

เจฌเจพเจนเจฐเฉ€ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจเจ•เฉ€เจ•เจฐเจฃ

PBX เจ…เจคเฉ‡ CRM เจเจ•เฉ€เจ•เจฐเจฃ เจ•เฉ€ เจนเฉˆ? เจ‡เจน เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจนเจจ เจœเฉ‹ เจ‡เจนเจจเจพเจ‚ เจฆเฉ‹ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจกเฉ‡เจŸเจพ เจ…เจคเฉ‡ เจ‡เจตเฉˆเจ‚เจŸเจธ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฆเฉ‡ เจนเจจเฅค เจธเฉเจคเฉฐเจคเจฐ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฒเจˆ เจธเฉฐเจšเจพเจฐ เจ•เจฐเจจ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจ†เจฎ เจคเจฐเฉ€เจ•เจพ APIs เจฆเฉเจ†เจฐเจพ เจนเฉˆ, เจ…เจคเฉ‡ APIs เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจชเฉเจฐเจธเจฟเฉฑเจง เจคเจฐเฉ€เจ•เจพ HTTP REST เจนเฉˆเฅค เจชเจฐ เจคเจพเจฐเฉ‡ เจฒเจˆ เจจเจนเฉ€เจ‚เฅค

เจคเจพเจฐเฉ‡ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจนเฉˆ:

  • AGI - เจฌเจพเจนเจฐเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚/เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸเจธ เจฆเฉ€ เจธเจฎเจ•เจพเจฒเฉ€ เจ•เจพเจฒ, เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ เจกเจพเจ‡เจฒเจชเจฒเจพเจจ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ‡เฉฑเจฅเฉ‡ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจนเจจ phpagi, PAGI

  • AMI - เจ‡เฉฑเจ• เจŸเฉˆเจ•เจธเจŸ TCP เจธเจพเจ•เจŸ เจœเฉ‹ เจ‡เจตเฉˆเจ‚เจŸเจธ เจฆเฉ€ เจ—เจพเจนเจ•เฉ€ เจฒเฉˆเจฃ เจ…เจคเฉ‡ เจŸเฉˆเจ•เจธเจŸ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจพเจ–เจฒ เจ•เจฐเจจ เจฆเฉ‡ เจธเจฟเจงเจพเจ‚เจค 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เฉฐเจฆเจฐเฉ‹เจ‚ SMTP เจตเจฐเจ—เจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ˜เจŸเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจŸเจฐเฉˆเจ• เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจพเจฒเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจนเฉˆ PAMI - Asterisk เจจเจพเจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจชเฉเจฐเจธเจฟเฉฑเจง เจนเฉˆ

AMI เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ‰เจฆเจพเจนเจฐเจจ

เจ‡เจตเฉˆเจ‚เจŸ: เจจเจตเจพเจ‚ เจšเฉˆเจจเจฒ
เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐ: เจ•เจพเจฒ, เจธเจญ
เจšเฉˆเจจเจฒ: PJSIP/VMS_pjsip-0000078b
เจšเฉˆเจจเจฒ เจธเจฅเจฟเจคเฉ€: 4
ChannelStateDesc: เจฐเจฟเฉฐเจ—
เจ•เจพเจฒเจฐ ID เจจเฉฐเจฌเจฐ: 111222
เจ•เจพเจฒเจฐ เจ†เจˆเจกเฉ€ เจจเจพเจฎ: 111222
ConnectedLineNum:
เจœเฉเฉœเจฟเจ† เจฒเจพเจˆเจจเจจเจพเจฎ:
เจญเจพเจธเจผเจพ: en
เจ–เจพเจคเจพ เจ•เฉ‹เจก:
เจธเฉฐเจฆเจฐเจญ: from-pstn
เจตเจฟเจธเจฅเจพเจฐ: เจธ
เจคเจฐเจœเฉ€เจน: 1
เจตเจฟเจฒเฉฑเจ–เจฃ: 1599589046.5244
เจฒเจฟเฉฐเจ•เจกเจฟเจก: 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", "เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ":"เจนเฉˆเจฒเฉ‹-เจตเจฐเจฒเจก" }

เจธเจนเฉ‚เจฒเจค เจœเจพเจ‚ เจ…เจธเฉเจตเจฟเจงเจพ, เจ•เจฟเจธเฉ‡ เจ–เจพเจธ API เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจœเจพเจ‚ เจ…เจธเฉฐเจญเจตเจคเจพ เจ‰เจนเจจเจพเจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค CRM เจจเจพเจฒ เจเจ•เฉ€เจ•เจฐเจฃ เจฒเจˆ เจ•เฉฐเจฎ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจ…เจจเฉเจธเจพเจฐ เจนเจจ:

  • เจ•เจพเจฒ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจจเฉ‚เฉฐ เจŸเฉเจฐเฉˆเจ• เจ•เจฐเฉ‹, เจœเจฟเฉฑเจฅเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจ•เจพเจฒเจฐเจ†เจˆเจกเฉ€, เจกเฉ€เจ†เจˆเจกเฉ€, เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ…เจคเฉ‡ เจ…เฉฐเจค เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฌเจพเจนเจฐ เจ•เฉฑเจขเฉ‹, เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ (เจซเฉ‹เจจ เจ…เจคเฉ‡ CRM เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจตเจฟเจšเจ•เจพเจฐ เจ•เจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจ เจฒเจˆ)

  • เจ•เจพเจฒ เจฆเฉ€ เจฐเจฟเจ•เจพเจฐเจกเจฟเฉฐเจ— เจธเจผเฉเจฐเฉ‚ เจ…เจคเฉ‡ เจ–เจคเจฎ เจ•เจฐเฉ‹, เจ‡เจธเจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเฉ‹, เจฐเจฟเจ•เจพเจฐเจกเจฟเฉฐเจ— เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจธเฉ‚เจšเจฟเจค เจ•เจฐเฉ‹ เจ•เจฟ เจซเจพเจˆเจฒ เจ•เจฟเฉฑเจฅเฉ‡ เจธเจฅเจฟเจค เจนเฉˆ

  • เจ•เจฟเจธเฉ‡ เจฌเจพเจนเจฐเฉ€ เจ‡เจตเฉˆเจ‚เจŸ (เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจคเฉ‹เจ‚) 'เจคเฉ‡ เจ‡เฉฑเจ• เจ•เจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹, เจ‡เฉฑเจ• เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจจเฉฐเจฌเจฐ, เจ‡เฉฑเจ• เจฌเจพเจนเจฐเฉ€ เจจเฉฐเจฌเจฐ 'เจคเฉ‡ เจ•เจพเจฒ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเฉ‹

  • เจตเจฟเจ•เจฒเจชเจฟเจ•: เจธเจฅเจพเจจ เจฆเฉ€ เจ…เจฃเจนเฉ‹เจ‚เจฆ เจตเจฟเฉฑเจš เจ•เจพเจฒเจพเจ‚ เจฆเฉ‡ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจฒเจˆ CRM, เจกเจพเจ‡เจฒเจฐ เจธเจฎเฉ‚เจนเจพเจ‚ เจ…เจคเฉ‡ FollowME เจจเจพเจฒ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เจฐเฉ‹ (เจธเฉ€เจ†เจฐเจเจฎ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ)

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

เจเจ•เฉ€เจ•เจฐเจฃ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจ–เฉ‹เจœเจฃเจพ

เจธเจพเจกเฉ‡ เจซเฉเจฐเฉ€เจชเฉ€เจฌเฉ€เจเจ•เจธ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค, เจธเจฎเจพเจชเจคเฉ€ เจธเจฎเฉ‡เจ‚, เจจเฉฐเจฌเจฐเจพเจ‚, เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฎ เจฌเจพเจฐเฉ‡ เจธเจงเจพเจฐเจจ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเจพเจฒ AMI เจจเฉ‚เฉฐ เจฐเจฟเจชเฉ‹เจฐเจŸ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจ…เจธเจฒ เจฒเฉ‡เจ–เจ•เจพเจ‚ เจตเจพเจ‚เจ— เจนเฉ€ เจšเจพเจฒ เจตเจฐเจค เจ•เฉ‡ เจ•เจพเจฒ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเจจเจพ เจธเจญ เจคเฉ‹เจ‚ เจ†เจธเจพเจจ เจนเฉˆเฅค - เจ†เจชเจฃเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเจพเจ–เจฒ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฒเจˆ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจชเจพเจฐเจธ เจ•เจฐเฉ‹เฅค PAMI เจ‡เจน เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจซเจฟเจฒเจŸเจฐ เจซเฉฐเจ•เจธเจผเจจ เจฐเจพเจนเฉ€เจ‚ เจ•เจฐเจจ เจฆเจพ เจธเฉเจเจพเจ… เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจฅเฉ‡ เจ•เจพเจฒ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ (s เจกเจพเจ‡เจฒเจชเจฒเจพเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจจเฉฐเจฌเจฐ เจนเฉˆ เจœเฉ‹ DID เจ–เฉ‹เจœ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ)

[ext-did-custom]

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

เจ‡เจธ เจฒเจพเจˆเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ AMI เจ‡เจตเฉˆเจ‚เจŸ

เจ‡เจตเฉˆเจ‚เจŸ: เจจเจตเจพเจ‚ เจšเฉˆเจจเจฒ

เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐ: เจ•เจพเจฒ, เจธเจญ

เจšเฉˆเจจเจฒ: PJSIP/VMS_pjsip-0000078b

เจšเฉˆเจจเจฒ เจธเจฅเจฟเจคเฉ€: 4

ChannelStateDesc: เจฐเจฟเฉฐเจ—

เจ•เจพเจฒเจฐ ID เจจเฉฐเจฌเจฐ: 111222

เจ•เจพเจฒเจฐ เจ†เจˆเจกเฉ€ เจจเจพเจฎ: 111222

ConnectedLineNum:

เจœเฉเฉœเจฟเจ† เจฒเจพเจˆเจจเจจเจพเจฎ:

เจญเจพเจธเจผเจพ: en

เจ–เจพเจคเจพ เจ•เฉ‹เจก:

เจธเฉฐเจฆเจฐเจญ: from-pstn

เจตเจฟเจธเจฅเจพเจฐ: เจธ

เจคเจฐเจœเฉ€เจน: 1

เจตเจฟเจฒเฉฑเจ–เจฃ: 1599589046.5244

เจฒเจฟเฉฐเจ•เจกเจฟเจก: 1599589046.5244

เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ: เจเจชเจกเจพเจŸเจพ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹:

เจ•เจพเจฒเจธเจŸเจพเจฐเจŸ=1599571046

เจ•เจฟเจ‰เจ‚เจ•เจฟ FreePBX extention.conf เจ…เจคเฉ‡ extention_ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฐเจพเจˆเจŸ เจ•เจฐเจฆเจพ เจนเฉˆextra.conf, เจ…เจธเฉ€เจ‚ เจซเจพเจˆเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจตเจฟเจธเจฅเจพเจฐ_เจ•เจธเจŸเจฎ.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 เจฆเฉเจ†เจฐเจพ เจ…เฉฐเจค เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจ เจฆเฉ€ เจฌเจœเจพเจ, เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจจเฉ‚เฉฐ hangup_handler เจฆเฉเจ†เจฐเจพ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ FreePBX เจกเจพเจ‡เจฒเจชเจฒเจพเจจ เจธเจฟเจฐเจซ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจธเฉ€เฅค

  • เจธเจฅเจฟเจฐ เจธเจ•เฉเจฐเจฟเจชเจŸ เจ•เจพเจฒ เจธเจŸเฉเจฐเจฟเฉฐเจ—, เจ•เฉ‹เจŸเจธ เจ…เจคเฉ‡ เจฌเจพเจนเจฐเฉ€ เจ•เจพเจฒ เจจเฉฐเจฌเจฐ 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 เจตเฉฑเจฒ เจตเจงเฉ€เจ

เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจฌเจฃเจพเจ‰เจฃเจพ

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฌเจฟเจŸเฉเจฐเจฟเจ•เจธ 24, AMI เจฒเจˆ เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ, เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€ เจธเจ•เฉ€เจฎ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจฐเจฒ เจ…เจคเฉ‡ เจชเจพเจฐเจฆเจฐเจธเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจตเฉฑเจ–เจฐเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจšเจฐเจšเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค Asterisk, เจœเจฆเฉ‹เจ‚ AMI เจเจ•เจŸเฉ€เจตเฉ‡เจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจฌเจธ เจชเฉ‹เจฐเจŸ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฌเฉฑเจธ เจนเฉ‹ เจ—เจฟเจ†เฅค เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ‡เจน เจ…เจงเจฟเจ•เจพเจฐ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ, เจซเจฟเจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจธเจฎเจพเจ—เจฎเจพเจ‚ เจฆเฉ€ เจ—เจพเจนเจ•เฉ€ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจตเฉˆเจ‚เจŸเจธ เจชเจฒเฉ‡เจจ เจŸเฉˆเจ•เจธเจŸ เจตเจฟเฉฑเจš เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ, เจœเจฟเจธเจจเฉ‚เฉฐ PAMI เจธเจŸเฉเจฐเจ•เจšเจฐเจก เจ†เจฌเจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจฟเจฐเจซ เจฆเจฟเจฒเจšเจธเจชเฉ€, เจ–เฉ‡เจคเจฐเจพเจ‚, เจจเฉฐเจฌเจฐเจพเจ‚ เจ†เจฆเจฟ เจฆเฉ€เจ†เจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจฒเจˆ เจซเจฟเจฒเจŸเจฐเจฟเฉฐเจ— เจซเฉฐเจ•เจธเจผเจจ เจธเฉˆเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจœเจฟเจตเฉ‡เจ‚ เจนเฉ€ เจ•เจพเจฒ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ, NewExten เจ‡เจตเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจชเฉ‡เจฐเฉˆเจ‚เจŸ [from-pstn] เจธเฉฐเจฆเจฐเจญ เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจซเจฟเจฐ เจธเจพเจฐเฉ€เจ†เจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจธเฉฐเจฆเจฐเจญเจพเจ‚ เจตเจฟเฉฑเจš เจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจšเจฒเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจœเจฆเฉ‹เจ‚ CallMeCallerIDName เจ…เจคเฉ‡ CallStart เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจœเฉ‹ _custom dialplan เจตเจฟเฉฑเจš เจฆเจฐเจธเจพเจ เจ—เจ เจนเจจ,

  1. เจ‰เจธ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจจเฉฐเจฌเจฐ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจฏเฉ‚เจœเจผเจฐ เจ†เจˆเจกเฉ€ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจจ เจฆเจพ เจ•เจพเจฐเจœ เจœเจฟเฉฑเจฅเฉ‡ เจ•เจพเจฒ เจ†เจˆ เจธเฉ€เฅค เจ•เฉ€ เจœเฉ‡ เจ‡เจน เจ‡เฉฑเจ• เจกเจพเจ‡เจฒ-เจ…เฉฑเจช เจ—เจฐเฉเฉฑเจช เจนเฉˆ? เจธเจตเจพเจฒ เจฐเจพเจœเจจเฉ€เจคเจฟเจ• เจนเฉˆ, เจ•เฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเจฐ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เจพเจฒ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ (เจœเจฆเฉ‹เจ‚ เจนเจฐ เจ•เฉ‹เจˆ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ) เจœเจพเจ‚ เจœเจฆเฉ‹เจ‚ เจ‰เจน เจตเจพเจฐเฉ€-เจตเจพเจฐเฉ€ เจ•เจพเจฒ เจ•เจฐเจฆเฉ‡ เจนเจจ เจคเจพเจ‚ เจ‰เจธ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ? เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ—เจพเจนเจ•เจพเจ‚ เจ•เฉ‹เจฒ Fisrt Available เจฐเจฃเจจเฉ€เจคเฉ€ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ‡เจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจธเจฎเฉฑเจธเจฟเจ† เจจเจนเฉ€เจ‚ เจนเฉˆ, เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ•เจพเจฒเฅค เจชเจฐ เจฎเจธเจฒเจพ เจนเฉฑเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

  2. Bitrix24 เจตเจฟเฉฑเจš เจ•เจพเจฒ เจฐเจœเจฟเจธเจŸเฉเจฐเฉ‡เจธเจผเจจ เจซเฉฐเจ•เจธเจผเจจ, เจœเฉ‹ CallID เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธเจจเฉ‚เฉฐ เจซเจฟเจฐ เจ•เจพเจฒ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจ…เจคเฉ‡ เจฐเจฟเจ•เจพเจฐเจกเจฟเฉฐเจ— เจฒเจˆ เจ‡เฉฑเจ• เจฒเจฟเฉฐเจ• เจฆเฉ€ เจฐเจฟเจชเฉ‹เจฐเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจจเฉฐเจฌเจฐ เจœเจพเจ‚ เจฏเฉ‚เจœเจผเจฐ เจ†เจˆเจกเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ

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 เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจŸเฉ‹เจ•เจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆ

  • เจฌเจฟเจŸเฉเจฐเจฟเจ•เจธ เจตเจฟเฉฑเจš เจ•เจพเจฒ, เจ‡เจธเจฆเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจ…เจคเฉ‡ เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจฌเจพเจฐเฉ‡ เจธเฉเจจเฉ‡เจนเจพเฅค เจ‡เฉฑเจ• เจ•เจพเจฒ เจ–เจคเจฎ เจนเฉ‹เจฃ 'เจคเฉ‡ [เจธเจฌ-เจ•เจพเจฒ-เจ‡เฉฐเจŸเจฐเจจเจฒ-เจเจ‚เจก] เจกเจพเจ‡เจฒเจชเจฒเจพเจจ เจตเจฟเฉฑเจš เจเจธเจŸเฉ‡เจฐเจฟเจธเจ• เจฆเฉเจ†เจฐเจพ เจซเจพเจ‡เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ†

FreePBX เจจเฉ‚เฉฐ เจธเจฎเจเจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ Bitrix24 เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ

เจตเฉˆเจฌ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจฆเฉ‹ เจšเฉ€เจœเจผเจพเจ‚ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจนเฉˆ - เจฌเจฟเจŸเจฐเจฟเจ•เจธ เจฐเจฟเจ•เจพเจฐเจก เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจเจพ (HTTPS เจฐเจพเจนเฉ€เจ‚) เจ…เจคเฉ‡ CallMeOut.php เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจเจพเฅค เจคเฉเจธเฉ€เจ‚ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจซเฉเจฐเฉ€เจชเฉ€เจฌเฉ€เจเจ•เจธ เจธเจฐเจตเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจจเฉเจนเจพเจ‚ เจฒเจˆ เจซเจพเจˆเจฒเจพเจ‚ /var/www/html เจนเจจ, เจคเฉเจธเฉ€เจ‚ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจธเจฐเจตเจฐ เจธเจฅเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจพเจ‚ เจ•เฉ‹เจˆ เจตเฉฑเจ–เจฐเจพ เจฎเจพเจฐเจ— เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ

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

เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจ†เจŸเฉ‹เจฎเฉ‡เจธเจผเจจ

เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจตเฉ€ เจ†เจธเจพเจจ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ github 'เจคเฉ‡ เจ‡เฉฑเจ• เจ‡เฉฐเจธเจŸเจพเจฒเจฐ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจชเจฐ เจ‡เจน เจ•เจพเจ—เจœเจผ 'เจคเฉ‡ เจจเจฟเจฐเจตเจฟเจ˜เจจ เจธเฉ€ - เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เจน เจธเจญ เจ•เฉเจ เจนเฉฑเจฅเฉ€เจ‚ เจธเจฅเจพเจชเจค เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธ เจธเจญ เจจเจพเจฒ เจŸเจฟเฉฐเจ•เจฐ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจ•เจฟเจธ เจจเจพเจฒ เจฆเฉ‹เจธเจคเฉ€ เจนเฉˆ, เจ•เฉŒเจฃ เจ•เจฟเฉฑเจฅเฉ‡ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐเจจเจพ เจนเฉˆ. เจ…เจœเฉ‡ เจคเฉฑเจ• เจ•เฉ‹เจˆ เจ‡เฉฐเจธเจŸเจพเจฒเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ

เจกเฉŒเจ•เจฐ

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจœเจฒเจฆเฉ€ เจนเฉฑเจฒ เจจเฉ‚เฉฐ เจ…เจœเจผเจฎเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ - เจกเฉŒเจ•เจฐ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจช เจนเฉˆ - เจคเฉเจฐเฉฐเจค เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฌเจฃเจพเจ“, เจ‡เจธเจจเฉ‚เฉฐ เจฌเจพเจนเจฐเฉ‹เจ‚ เจชเฉ‹เจฐเจŸ เจฆเจฟเจ“, เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฒเจฟเจช เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹ (เจ‡เจน 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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹