เดžเด™เตเด™เตพ FreePBX เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ Bitrix24-เด‰เด‚ เดฎเดฑเตเดฑเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดฌเดฟเดŸเตเดฐเดฟเด•เตเดธเต24 CRM, เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต เดซเตเดฒเต‹, เด…เด•เตเด•เต—เดฃเตเดŸเดฟเด‚เด—เต เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เดฎเดพเดจเต‡เดœเตผเดฎเดพเตผเด•เตเด•เต เดถเดฐเดฟเด•เตเด•เตเด‚ เด‡เดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเดคเตเด‚ เดเดŸเดฟ เดœเต€เดตเดจเด•เตเด•เดพเตผเด•เตเด•เต เดถเดฐเดฟเด•เตเด•เตเด‚ เด‡เดทเตเดŸเดชเตเดชเต†เดŸเดพเดคเตเดคเดคเตเดฎเดพเดฏ เดฎเดฑเตเดฑเต เดชเดฒ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดตเดฒเดฟเดฏ เดธเด‚เดฏเต‹เดœเดจเดฎเดพเดฃเต. เดšเต†เดฑเตเด•เดฟเดŸ เด•เตเดฒเดฟเดจเดฟเด•เตเด•เตเด•เตพ, เดจเดฟเตผเดฎเตเดฎเดพเดคเดพเด•เตเด•เตพ, เดฌเตเดฏเต‚เดŸเตเดŸเดฟ เดธเดฒเต‚เดฃเตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเตเตพเดชเตเดชเต†เดŸเต† เดจเดฟเดฐเดตเดงเดฟ เดšเต†เดฑเตเดคเตเด‚ เด‡เดŸเดคเตเดคเดฐเดตเตเดฎเดพเดฏ เด•เดฎเตเดชเดจเดฟเด•เตพ เดˆ เดชเต‹เตผเดŸเตเดŸเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดฎเดพเดจเต‡เดœเตผเดฎเดพเตผ "เดธเตเดจเต‡เดนเดฟเด•เตเด•เตเดจเตเดจ" เดชเตเดฐเดงเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดŸเต†เดฒเดฟเดซเต‹เดฃเดฟ, CRM เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดธเด‚เดฏเต‹เดœเดจเดฎเดพเดฃเต, เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เต‹เตพ เด‰เดŸเตป CRM-เตฝ เดฑเต†เด•เตเด•เต‹เตผเดกเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เด•เตเดฒเดฏเดจเตเดฑเต เด•เดพเตผเดกเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เด‡เตปเด•เดฎเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚, เด…เดตเตป เด†เดฐเดพเดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดŸเดจเดŸเดฟ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚. เด…เดฏเดพเตพเด•เตเด•เต เดตเดฟเดฑเตเดฑเต, เด…เดตเตป เดŽเดคเตเดฐ เด•เดŸเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ Bitrix24-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŸเต†เดฒเดฟเดซเต‹เดฃเดฟเดฏเตเด•เตเด•เตเด‚ CRM-เดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดชเดฃเด‚ เดšเดฟเดฒเดตเดพเด•เตเด‚, เดšเดฟเดฒเดชเตเดชเต‹เตพ เดงเดพเดฐเดพเดณเด‚. เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดžเดพเตป เด“เดชเตเดชเตบ เดŸเต‚เดณเตเด•เดณเตเดฎเดพเดฏเตเดณเตเดณ เดธเด‚เดฏเต‹เดœเดจเดคเตเดคเดฟเดจเตเดฑเต† เด…เดจเตเดญเดตเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดœเดจเดชเตเดฐเดฟเดฏ IP PBX เดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚ FreePBX, เด•เต‚เดŸเดพเดคเต† เดตเดฟเดตเดฟเดง เดญเดพเด—เด™เตเด™เดณเตเดŸเต† เดฏเตเด•เตเดคเดฟเดฏเตเด‚ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเด•

เดเดชเดฟ เดŸเต†เดฒเดฟเดซเต‹เดฃเดฟ เดตเดฟเตฝเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฏ เด’เดฐเต เด•เดฎเตเดชเดจเดฟเดฏเตเดŸเต† เด”เดŸเตเดŸเตโ€Œเดธเต‹เดดเตโ€Œเดธเดฑเดพเดฏเดฟ เดžเดพเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เดฌเดฟเดŸเตเดฐเดฟเด•เตโ€Œเดธเต 24-เดจเต† เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดŸเต† เดชเดฟเดฌเดฟเดŽเด•เตโ€Œเดธเตเด•เดณเตเดฎเดพเดฏเตเด‚ เดตเดฟเดตเดฟเดง เดตเดฟเดกเดฟเดŽเดธเต เด•เดฎเตเดชเดจเดฟเด•เดณเดฟเดฒเต† เดตเต†เตผเดšเตเดตเตฝ เดชเดฟเดฌเดฟเดŽเด•เตโ€Œเดธเตเด•เดณเตเดฎเดพเดฏเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‡เดคเตเด‚ เดˆ เด•เดฎเตเดชเดจเดฟเดฏเตเด‚ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดฎเต‹ เดŽเดจเตเดจเต เดŽเดจเตเดจเต‹เดŸเต เดšเต‹เดฆเดฟเดšเตเดšเดชเตเดชเต‹เตพ, เดžเดพเตป เด—เต‚เด—เดฟเดณเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด…เดฆเตเดฆเต‡เดนเด‚ เดŽเดจเดฟเด•เตเด•เตŠเดฐเต เดฒเดฟเด™เตเด•เต เดคเดจเตเดจเต เดนเดฌเตเดฐเดฟเดฒเต† เดฒเต‡เด–เดจเด‚, เด’เดฐเต เดตเดฟเดตเดฐเดฃเดตเตเด‚ เด—เดฟเดคเตเดคเดฌเตเด‚ เด‰เดณเตเดณเดฟเดŸเดคเตเดคเต, เดŽเดฒเตเดฒเดพเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดžเดพเตป เดˆ เดชเดฐเดฟเดนเดพเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเดชเตเดชเต‹เตพ, Bitrix24 เดฎเตเดฎเตเดชเดคเตเดคเต†เดชเตเดชเต‹เดฒเต†เดฏเดฒเตเดฒเต†เดจเตเดจเตเด‚ เด’เดฐเตเดชเดพเดŸเต เดตเต€เดฃเตเดŸเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเดฟ. เด•เต‚เดŸเดพเดคเต†, FreePBX เด’เดฐเต เดจเด—เตเดจเดฎเดพเดฏ เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเดฎเดฒเตเดฒ; เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เดณเดฟเตฝ เด‰เดชเดฏเต‹เด— เดŽเดณเตเดชเตเดชเดตเตเด‚ เดนเดพเตผเดกเตโ€Œเด•เต‹เตผ เดกเดฏเตฝเดชเตเดฒเดพเดจเตเด‚ เดŽเด™เตเด™เดจเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เดœเต‹เดฒเดฟเดฏเตเดŸเต† เดฏเตเด•เตเดคเดฟ เดชเด เดฟเด•เตเด•เตเดจเตเดจเต

เด…เดคเดฟเดจเดพเตฝ เด†เดฆเตเดฏเด‚, เด‡เดคเต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฃเด‚. เดชเตเดฑเดคเตเดคเตเดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เด•เต‹เตพ PBX-เตฝ เดŽเดคเตเดคเตเดฎเตเดชเต‹เตพ (เดฆเดพเดคเดพเดตเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ SIP INVITE เด‡เดตเดจเตเดฑเต), เดกเดฏเตฝเดชเตเดฒเดพเดจเดฟเดจเตเดฑเต† (เดกเดฏเตฝ เดชเตเดฒเดพเตป) เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต - เด•เต‹เดณเตเดฎเดพเดฏเดฟ เดŽเดจเตเดคเต เดšเต†เดฏเตเดฏเดฃเด‚, เดเดคเต เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เดŽเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เตพ. เด†เดฆเตเดฏ เดชเดพเด•เตเด•เดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดงเดพเดฐเดพเดณเด‚ เดตเดฟเดตเดฐเด™เตเด™เตพ เดฒเดญเดฟเด•เตเด•เตเด‚, เด…เดคเต เดชเดฟเดจเตเดจเต€เดŸเต เดจเดฟเดฏเดฎเด™เตเด™เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เดŽเดธเตโ€Œเดโ€ŒเดชเดฟเดฏเตเดŸเต† เด‡เดจเตเดฑเต‡เดฃเดฒเตเด•เตพ เดชเด เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฎเดฟเด•เดšเตเดš เด‰เดชเด•เดฐเดฃเด‚ เด…เดจเดฒเตˆเดธเตผ เด†เดฃเต sngrep (เดฒเดฟเด™เตเด•เต) เด‡เดคเต เดœเดจเดชเตเดฐเดฟเดฏ เดตเดฟเดคเดฐเดฃเด™เตเด™เดณเดฟเตฝ apt install/yum install เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‚เดŸเต† เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดธเต‹เดดเตเดธเต เด•เต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต. sngrep-เดฒเต† เด•เต‹เตพ เดฒเต‹เด—เต เดจเต‹เด•เตเด•เดพเด‚

เดžเด™เตเด™เตพ FreePBX เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ Bitrix24-เด‰เด‚ เดฎเดฑเตเดฑเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดฒเดณเดฟเดคเดฎเดพเดฏ เดฐเต‚เดชเดคเตเดคเดฟเตฝ, เดกเดฏเตฝเดชเตเดฒเดพเตป เด†เดฆเตเดฏ เดชเดพเด•เตเด•เดฑเตเดฑเตเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดŸเดชเต†เดŸเตเด•เดฏเตเดณเตเดณเต‚, เดšเดฟเดฒเดชเตเดชเต‹เตพ เดธเด‚เดญเดพเดทเดฃเดคเตเดคเดฟเดจเดฟเดŸเดฏเดฟเตฝ เด•เต‹เดณเตเด•เตพ, เดฌเดŸเตเดŸเตบ เด…เดฎเตผเดคเตเดคเดฒเตเด•เตพ (DTMF), FollowMe, RingGroup, IVR เดคเตเดŸเด™เตเด™เดฟเดฏ เดฐเดธเด•เดฐเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต.

เด•เตเดทเดฃ เดชเดพเด•เตเด•เต‡เดœเดฟเดจเตเดณเตเดณเดฟเตฝ เดŽเดจเตเดคเดพเดฃเตเดณเตเดณเดคเต

เดžเด™เตเด™เตพ FreePBX เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ Bitrix24-เด‰เด‚ เดฎเดฑเตเดฑเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เดฎเดฟเด•เตเด• เดฒเดณเดฟเดคเดฎเดพเดฏ เดกเดฏเตฝเดชเตเดฒเดพเดจเตเด•เดณเตเด‚ เด†เดฆเตเดฏ เดฐเดฃเตเดŸเต เดซเต€เตฝเดกเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดŽเดฒเตเดฒเดพ เดฒเต‹เดœเดฟเด•เตเด•เตเด‚ DID, CallerID เดŽเดจเตเดจเดฟเดตเดฏเต† เดšเตเดฑเตเดฑเดฟเดชเตเดชเดฑเตเดฑเดฟเดฏเดพเดฃเต. DID - เดžเด™เตเด™เตพ เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด•เต‹เดณเตผเดเดกเดฟ - เด†เดฐเดพเดฃเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เดŽเดจเตเดจเดพเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด•เดฎเตเดชเดจเดฟเดฏเตเดฃเตเดŸเต, เด’เดฐเต เดŸเต†เดฒเดฟเดซเต‹เดฃเดฒเตเดฒ - เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ PBX-เดจเต เดจเด—เดฐ เดจเดฎเตเดชเดฑเตเด•เดณเดฟเตฝ (เดฑเดฟเด‚เด—เต เด—เตเดฐเต‚เดชเตเดชเต), IVR (เดนเดฒเต‹, เดจเดฟเด™เตเด™เตพ เดตเดฟเดณเดฟเดšเตเดšเต... เด‡เดคเดฟเดจเดพเดฏเดฟ เด’เดจเตเดจเต เด…เดฎเตผเดคเตเดคเตเด•. ...), เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เตเดจเตเดจ เดฏเดจเตเดคเตเดฐเด™เตเด™เตพ (เดตเดพเด•เตเดฏเด™เตเด™เตพ), เดธเดฎเดฏ เดตเตเดฏเดตเดธเตเดฅเด•เตพ, เดฎเดฑเตเดฑเต เดจเดฎเตเดชเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต‹ เดธเต†เตฝ เดซเต‹เดฃเดฟเดฒเต‡เด•เตเด•เต‹ เด•เตˆเดฎเดพเดฑเตฝ (FollowMe, Forward). เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚, เด†เดฐเดพเดฃเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด•เต‹เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเตเด‚ เด•เต‹เตพ เดตเดฐเตเดฎเตเดชเต‹เตพ เด†เดฐเตเดฎเดพเดฏเดฟ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เดตเดณเดฐเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดŸเต† PBX-เตฝ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เด•เต‹เดณเดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดพ

เดžเด™เตเด™เตพ FreePBX เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ Bitrix24-เด‰เด‚ เดฎเดฑเตเดฑเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

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

เด—เต‹เดธเดฌเต, เดฎเดพเด•เตเดฐเต‹, เดนเดพเตปเดกเตโ€Œเดฒเตผ เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‚เดŸเต† เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเดจเตเดฆเตผเดญเด™เตเด™เตพ เดชเดฐเดธเตเดชเดฐเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเดพเดฃเต เดซเตเดฐเต€เดชเดฟเดฌเดฟเดŽเด•เตโ€Œเดธเดฟเดจเตเดฑเต† เดฎเตเดดเตเดตเตป เดฏเตเด•เตเดคเดฟเดฏเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เด‡เตปเด•เดฎเดฟเด‚เด—เต FreePBX เด•เต‹เดณเตเด•เดณเตเดŸเต† เดธเดจเตเดฆเตผเดญเด‚ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเด•

เดžเด™เตเด™เตพ FreePBX เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ Bitrix24-เด‰เด‚ เดฎเดฑเตเดฑเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เด•เต‹เตพ เดฎเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดพเดดเต‡เด•เตเด•เต เดŽเดฒเตเดฒเดพ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเต, เด“เดฐเต‹ เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเดฒเตเด‚ เดฎเดพเด•เตเดฐเต‹เด•เตพ (เดฎเดพเด•เตเดฐเต‹), เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ (เด—เต‹เดธเดฌเต) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเด‚เด•เตเดฐเดฎเดฃเด™เตเด™เตพ (เด—เต‹เดŸเตเดŸเต‹) เดชเต‹เดฒเตเดณเตเดณ เดฎเดฑเตเดฑเต เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เด•เต‹เดณเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เดพเด‚, เด…เดคเดฟเดจเดพเตฝ เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดฏเดฅเดพเตผเดคเตเดฅ เดตเตƒเด•เตเดทเดคเตเดคเดฟเดจเต เด•เดดเดฟเดฏเตเด‚. เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เดŸเตเดฐเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเด‚.

เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เด“เดซเต€เดธเต PBX-เดจเตเดณเตเดณ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดธเดœเตเดœเต€เด•เดฐเดฃ เดกเดฏเด—เตเดฐเด‚ เดšเตเดตเดŸเต† เด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดตเดฟเดณเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด‡เตปเด•เดฎเดฟเด‚เด—เต เดฑเต‚เดŸเตเดŸเตเด•เดณเดฟเตฝ เดกเดฟเดเดกเดฟ เดคเดฟเดฐเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเต†เดคเดฟเดฐเต† เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด• เดตเตเดฏเดตเดธเตเดฅเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดฒเตเดฒเดพเด‚ เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดตเต‹เดฏเตโ€Œเดธเต เดฎเต†เดจเต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต, เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เดกเดฏเดฒเดฟเด‚เด—เต เด—เตเดฐเต‚เดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เดฌเดŸเตเดŸเตบ 1 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŸเตˆเด‚เด”เดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•. เด•เต‹เตพ เด…เดตเดธเดพเดจเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, hangupcall เดฎเดพเด•เตเดฐเต‹ เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดชเตเดฐเดคเตเดฏเต‡เด• เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เตพ (เดนเดพเด™เตเด•เดชเตเดชเต เดนเดพเตปเดกเตโ€Œเดฒเตผ) เด’เดดเดฟเด•เต† เดกเดฏเตฝเดชเตเดฒเดพเดจเดฟเตฝ เด’เดจเตเดจเตเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.

เดžเด™เตเด™เตพ FreePBX เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ Bitrix24-เด‰เด‚ เดฎเดฑเตเดฑเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดˆ เด•เต‹เตพ เด…เตฝเด—เต‹เดฐเดฟเดคเดคเตเดคเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เดจเดฎเตเดฎเตพ CRM-เดฒเต‡เด•เตเด•เต เด•เต‹เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเตฝเด•เต‡เดฃเตเดŸเดคเต, เดจเดฎเตเดฎเตพ เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เดŽเดตเดฟเดŸเต† เดคเตเดŸเด™เตเด™เดฃเด‚, เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เดŽเดตเดฟเดŸเต† เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดšเตเดšเต CRM-เดฒเต‡เด•เตเด•เต เด•เต‹เดณเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดธเดนเดฟเดคเด‚ เด…เดฏเดฏเตเด•เตเด•เดฃเด‚?

เดฌเดพเดนเตเดฏ เดธเด‚เดตเดฟเดงเดพเดจเด™เตเด™เดณเตเดฎเดพเดฏเตเดณเตเดณ เดธเด‚เดฏเต‹เดœเดจเด‚

เดŽเดจเตเดคเดพเดฃเต PBX, CRM เดธเด‚เดฏเต‹เดœเดจเด‚? เดˆ เดฐเดฃเตเดŸเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดกเดพเดฑเตเดฑเดฏเตเด‚ เด‡เดตเดจเตเดฑเตเด•เดณเตเด‚ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด…เดต เดชเดฐเดธเตเดชเดฐเด‚ เด…เดฏเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เดณเตเดฎเดพเดฃเต เด‡เดต. เดธเตเดตเดคเดจเตเดคเตเดฐ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เต เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เดจเดŸเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏ เดฎเดพเตผเด—เตเด—เด‚ เด’เดฐเต API เดตเดดเดฟเดฏเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† API เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดœเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏ เดฎเดพเตผเด—เตเด—เด‚ HTTP REST เด†เดฃเต. เดชเด•เตเดทเต‡ เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเดคเตเดคเดฟเดจเดฒเตเดฒ.

เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เด‰เดฃเตเดŸเต:

  • เดŽเดœเดฟเด - เดฌเดพเดนเตเดฏ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เดณเตเดŸเต†/เด˜เดŸเด•เด™เตเด™เดณเตเดŸเต† เดธเดฟเตปเด•เตเดฐเดฃเดธเต เด•เต‹เตพ, เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ เดกเดฏเตฝเดชเตเดฒเดพเดจเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เด‰เดฃเตเดŸเต phpagi, PAGI

  • เด‡เดตเดจเตเดฑเตเด•เตพ เดธเดฌเตโ€Œเดธเตโ€Œเด•เตเดฐเตˆเดฌเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดŸเต†เด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเต เด•เดฎเดพเตปเดกเตเด•เตพ เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เดคเดคเตเดตเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดŸเต†เด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเต เดŸเดฟเดธเดฟเดชเดฟ เดธเต‹เด•เตเด•เดฑเตเดฑเดพเดฃเต เดŽเดŽเด‚เด, เด…เด•เดคเตเดคเต เดจเดฟเดจเตเดจเต เดŽเดธเตเดŽเด‚เดŸเดฟเดชเดฟเดฏเต‹เดŸเต เดธเดพเดฎเตเดฏเดฎเตเดฃเตเดŸเต, เด‡เดตเดจเตเดฑเตเด•เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ เด•เต‹เดณเตเด•เตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚, เด’เดฐเต เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดฃเตเดŸเต. เดชเดพเดฎเดฟ - เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเดตเตเดฎเดพเดฏเดฟ เด’เดฐเต เด•เดฃเด•เตเดทเตป เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดœเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏเดคเต

เด‰เดฆเดพเดนเดฐเดฃเด‚ AMI เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต

เด‡เดตเดจเตเดฑเต: เดชเตเดคเดฟเดฏ เดšเดพเดจเตฝ
เดชเตเดฐเดคเตเดฏเต‡เด•เดพเดตเด•เดพเดถเด‚: เดตเดฟเดณเดฟเด•เตเด•เตเด•, เดŽเดฒเตเดฒเดพเด‚
เดšเดพเดจเตฝ: PJSIP/VMS_pjsip-0000078b
เดšเดพเดจเตฝเดธเตเดฑเตเดฑเต‡เดฑเตเดฑเต: 4
ChannelStateDesc: เดฑเดฟเด‚เด—เต
เด•เต‹เดณเตผ เดเดกเดฟ เดจเดฎเตเดชเตผ: 111222
เด•เต‹เดณเตผเดเดกเดฟเดฏเตเดŸเต† เดชเต‡เดฐเต: 111222
ConnectedLineNum:
ConnectedLineName:
เดญเดพเดท: en
เด…เด•เตเด•เต—เดฃเตเดŸเต เด•เต‹เดกเต:
เดธเดจเตเดฆเตผเดญเด‚: from-pstn
เดตเดฟเดธเตเดคเดพเดฐเด‚: เดŽเดธเต
เดฎเตเตปโ€Œเด—เดฃเดจ: 1
เด…เดฆเตเดตเดฟเดคเต€เดฏ: 1599589046.5244
เดฒเดฟเด™เตเด•เตเดกเดฟเดกเต: 1599589046.5244

  • JSON เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ REST, WebSocket เดตเดดเดฟเดฏเตเดณเตเดณ เด‡เดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เด…เดคเดฟเตปเดฑเต†เดฏเตเด‚ เด’เดฐเต เดฎเดฟเดถเตเดฐเดฟเดคเดฎเดพเดฃเต ARI - เดŽเดจเตเดจเดพเตฝ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเดฟเดฒเตเด‚ เดฑเดพเดชเตเดชเดฑเตเด•เดณเดฟเดฒเตเด‚ เด‡เดคเต เดตเดณเดฐเต† เดฎเดฟเด•เดšเตเดšเดคเดฒเตเดฒ, เดžเด™เตเด™เตพ เด…เดคเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ (phparia, phpari) เดเด•เดฆเต‡เดถเด‚ 3 เดตเตผเดทเด‚ เดฎเตเดฎเตเดชเต เด…เดตเดฐเตเดŸเต† เดตเดฟเด•เดธเดจเดคเตเดคเดฟเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต.

เด’เดฐเต เด•เต‹เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ ARI เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเดฟเดจเตเดฑเต† เด‰เดฆเดพเดนเดฐเดฃเด‚

{ "variable":"CallMeCallerIDName", "value":"111222โ€ณ, "type":"ChannelVarset", "timestamp":"2020-09-09T09:38:36.269+0000โ€ณ, "idnel":{ " ":"1599644315.5334โ€ณ, "เดชเต‡เดฐเต":"PJSIP/VMSpjsip-000007b6โ€ณ, "state":"เดฑเดฟเด‚เด—เต", "เด•เต‹เดณเตผ":{ "name":"111222โ€ณ, "number":"111222โ€ณ }, "connected":{ "name":"", "number" :"" }, "accountcode":"", "dialplan":{ "context":"from-pstn", "exten":"s", "priority":2, "appเดชเต‡เดฐเต":"เดธเตเดฑเตเดฑเดพเดธเดฟเดธเต", "เด†เดชเตเดชเตdata":"hello-world" }, "creationtime":"2020-09-09T09:38:35.926+0000โ€ณ, "เดญเดพเดท":"ru" }, "เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเด‚"เดเดกเดฟ":"48:5b:aa:aa:aa:aa", "เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป":"เดนเดฒเต‹-เดตเต‡เตพเดกเต" }

เดธเต—เด•เดฐเตเดฏเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดธเต—เด•เดฐเตเดฏเด‚, เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• API เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดธเดพเดงเตเดฏเดค เดŽเดจเตเดจเดฟเดต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเต‡เดฃเตเดŸ เดœเต‹เดฒเดฟเด•เตพ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเต. CRM-เดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดšเตเดฎเดคเดฒเด•เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดตเดฏเดพเดฃเต:

  • เด•เต‹เดณเดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เด‚ เดŸเตเดฐเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด•, เด…เดคเต เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดŸเดคเต, เด•เต‹เดณเตผเดเดกเดฟ, เดกเดฟเดเดกเดฟ, เด†เดฐเด‚เดญ เดธเดฎเดฏเดตเตเด‚ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจ เดธเดฎเดฏเดตเตเด‚, เด’เดฐเตเดชเด•เตเดทเต‡ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ (เดซเต‹เดฃเตเด‚ CRM เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป)

  • เด’เดฐเต เด•เต‹เตพ เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเตผเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•, เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เด…เดคเต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•, เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเดฎเตเดชเต‹เตพ เดซเดฏเตฝ เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต†เดจเตเดจเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•

  • เด’เดฐเต เดฌเดพเดนเตเดฏ เด‡เดตเดจเตเดฑเต (เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเตฝ เดจเดฟเดจเตเดจเต) เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เด’เดฐเต เด•เต‹เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•, เด’เดฐเต เด†เดจเตเดคเดฐเดฟเด• เดจเดฎเตเดชเตผ, เด’เดฐเต เดฌเดพเดนเตเดฏ เดจเดฎเตเดชเตผ เดŽเดจเตเดจเดฟเดต เดตเดฟเดณเดฟเดšเตเดšเต เด…เดตเดฏเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

  • เด“เดชเตเดทเดฃเตฝ: เด“เดซเต€เดธเดฟเดจเต เดชเตเดฑเดคเตเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด•เต‹เดณเตเด•เตพ เดธเตเดตเดฏเดฎเต‡เดต เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ CRM, เดกเดฏเดฒเดฟเด‚เด—เต เด—เตเดฐเต‚เดชเตเดชเตเด•เตพ, FollowME เดŽเดจเตเดจเดฟเดตเดฏเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด• (CRM เดตเดฟเดตเดฐเด™เตเด™เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต)

เดˆ เดŸเดพเดธเตเด•เตเด•เตเด•เดณเต†เดฒเตเดฒเดพเด‚ AMI เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ ARI เดตเดดเดฟ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เดŽเดจเตเดจเดพเตฝ ARI เดตเดณเดฐเต† เด•เตเดฑเดšเตเดšเต เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต, เดจเดฟเดฐเดตเดงเดฟ เด‡เดตเดจเตเดฑเตเด•เตพ เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ, เด•เต‚เดŸเดพเดคเต† AMI-เดฏเตเดŸเต† เดชเดฒ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเด‚ เดŸเตเดฐเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฎเดพเด•เตเดฐเต‹ เด•เต‹เดณเตเด•เตพ, เดฎเดพเด•เตเดฐเต‹เด•เตพเด•เตเด•เตเดณเตเดณเดฟเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เตเด•, เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เด•เต‹เดณเตเด•เตพ เด‰เตพเดชเตเดชเต†เดŸเต†). เด…เดคเดฟเดจเดพเตฝ, เด•เตƒเดคเตเดฏเดตเตเด‚ เด•เตƒเดคเตเดฏเดตเตเดฎเดพเดฏ เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เดฟเดจเดพเดฏเดฟ, เดžเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ AMI เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด‚ (เดŽเดจเตเดจเดพเตฝ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด…เดฒเตเดฒ). เด•เต‚เดŸเดพเดคเต† (เดถเดฐเดฟ, เด‡เดคเต เด•เต‚เดŸเดพเดคเต† เดžเด™เตเด™เตพ เดŽเดตเดฟเดŸเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เดžเด™เตเด™เตพ เดฎเดŸเดฟเดฏเดจเตเดฎเดพเดฐเดพเดฃเต) - เดฏเดฅเดพเตผเดคเตเดฅ เดธเตƒเดทเตเดŸเดฟเดฏเดฟเตฝ (เดนเดฌเตเดฐเดฟเดฒเต† เดฒเต‡เด–เดจเด‚) PAMI เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•. *เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด…เดคเต เดŽเด†เตผเดเดฏเดฟเตฝ เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดฟเดฒเตเดฒ.

เดธเด‚เดฏเต‹เดœเดจเด‚ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเต

เดžเด™เตเด™เดณเตเดŸเต† FreePBX-เดจเต เด•เต‹เดณเดฟเดจเตเดฑเต† เด†เดฐเด‚เดญเด‚, เด…เดตเดธเดพเดจ เดธเดฎเดฏเด‚, เดจเดฎเตเดชเดฑเตเด•เตพ, เดฑเต†เด•เตเด•เต‹เตผเดกเต เดšเต†เดฏเตเดค เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดชเต‡เดฐเตเด•เตพ, เด•เต‹เดณเดฟเดจเตเดฑเต† เดฆเตˆเตผเด˜เตเดฏเด‚ เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดฐเต€เดคเดฟเดฏเดฟเตฝ AMI- เดฏเดฟเตฝ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเดฟเดจเต, เดเดฑเตเดฑเดตเตเด‚ เดŽเดณเตเดชเตเดชเดฎเตเดณเตเดณ เดฎเดพเตผเด—เตเด—เด‚ เด…เดคเต เดคเดจเตเดจเต†เดฏเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต. เด’เดฑเดฟเดœเดฟเดจเตฝ เดฐเดšเดฏเดฟเดคเดพเด•เตเด•เดณเดพเดฏเดฟ เดŸเตเดฐเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด• - เดจเดฟเด™เตเด™เดณเตเดŸเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดจเตฝเด•เดฟ เด…เดตเดฏเตเดŸเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเด•. เด’เดฐเต เดซเดฟเตฝเดŸเตเดŸเตผ เดซเด‚เด—เตโ€Œเดทเดจเดฟเดฒเต‚เดŸเต† เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป PAMI เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เต‹เดณเดฟเดจเตเดฑเต† เด†เดฐเด‚เดญ เดธเดฎเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดพ (เดกเดฟเดเดกเดฟ เดธเต†เตผเดšเตเดšเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดค เดกเดฏเตฝเดชเตเดฒเดพเดจเดฟเดฒเต† เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดจเดฎเตเดชเดฑเดพเดฃเต s)

[ext-did-custom]

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

เดˆ เดฒเตˆเดจเดฟเดจเตเดณเตเดณ เด‰เดฆเดพเดนเดฐเดฃเด‚ AMI เด‡เดตเดจเตเดฑเต

เด‡เดตเดจเตเดฑเต: เดชเตเดคเดฟเดฏ เดšเดพเดจเตฝ

เดชเตเดฐเดคเตเดฏเต‡เด•เดพเดตเด•เดพเดถเด‚: เดตเดฟเดณเดฟเด•เตเด•เตเด•, เดŽเดฒเตเดฒเดพเด‚

เดšเดพเดจเตฝ: PJSIP/VMS_pjsip-0000078b

เดšเดพเดจเตฝเดธเตเดฑเตเดฑเต‡เดฑเตเดฑเต: 4

ChannelStateDesc: เดฑเดฟเด‚เด—เต

เด•เต‹เดณเตผ เดเดกเดฟ เดจเดฎเตเดชเตผ: 111222

เด•เต‹เดณเตผเดเดกเดฟเดฏเตเดŸเต† เดชเต‡เดฐเต: 111222

ConnectedLineNum:

ConnectedLineName:

เดญเดพเดท: en

เด…เด•เตเด•เต—เดฃเตเดŸเต เด•เต‹เดกเต:

เดธเดจเตเดฆเตผเดญเด‚: from-pstn

เดตเดฟเดธเตเดคเดพเดฐเด‚: เดŽเดธเต

เดฎเตเตปโ€Œเด—เดฃเดจ: 1

เด…เดฆเตเดตเดฟเดคเต€เดฏ: 1599589046.5244

เดฒเดฟเด™เตเด•เตเดกเดฟเดกเต: 1599589046.5244

เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป: AppData เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•:

เด•เต‹เตพเดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเต=1599571046

เด•เดพเดฐเดฃเด‚ FreePBX extension.conf, Expention_ เดซเดฏเดฒเตเด•เตพ เดชเตเดจเดฐเดพเดฒเต‡เด–เดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเตextra.conf, เดžเด™เตเด™เตพ เดซเดฏเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚_เด‡เดšเตเด›เดพเดจเตเดธเตƒเดคเด‚.conf

เดชเต‚เตผเดฃเตเดฃ เด•เต‹เดกเต extension_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

เดฏเดฅเดพเตผเดคเตเดฅ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดšเดฏเดฟเดคเดพเด•เตเด•เดณเตเดŸเต† เดฏเดฅเดพเตผเดคเตเดฅ เดกเดฏเตฝเดชเตเดฒเดพเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเดตเดฟเดถเต‡เดทเดคเดฏเตเด‚ เดตเตเดฏเดคเตเดฏเดพเดธเดตเตเด‚ -

  • FreePBX เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต† .conf เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดกเดฏเตฝเดชเตเดฒเดพเตป เดšเต†เดฏเตเดฏเตเด• (เด…เดคเต†, เด‡เดคเดฟเดจเต .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 เดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚

เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด’เดฐเต เดธเต‡เดตเดจเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

AMI-เดฏเตเดŸเต† เดธเต‡เดตเดจเดฎเดพเดฏ Bitrix 24-เดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดธเตเด•เต€เด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดฒเดณเดฟเดคเดตเตเด‚ เดธเตเดคเดพเดฐเตเดฏเดตเตเดฎเดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเดพเตฝ, เด…เดคเต เดชเตเดฐเดคเตเดฏเต‡เด•เด‚ เดšเตผเดšเตเดšเดšเต†เดฏเตเดฏเดฃเด‚. เด†เดธเตเดฑเตเดฑเดฑเดฟเดธเตเด•เต, AMI เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดชเต‹เตผเดŸเตเดŸเต เดคเตเดฑเด•เตเด•เตเดจเตเดจเต, เด…เดคเตเดฐเดฎเดพเดคเตเดฐเด‚. เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดšเต‡เดฐเตเดฎเตเดชเต‹เตพ, เด…เดคเต เด…เด‚เด—เต€เด•เดพเดฐเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เด•เตเดฒเดฏเดจเตเดฑเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เด‡เดตเดจเตเดฑเตเด•เตพ เดธเดฌเตโ€Œเดธเตโ€Œเด•เตเดฐเตˆเดฌเตเดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดตเดจเตเดฑเตเด•เตพ เดชเตเดฒเต†เดฏเดฟเตป เดŸเต†เด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเดฟเดฒเดพเดฃเต เดตเดฐเตเดจเตเดจเดคเต, เด…เดคเต PAMI เด˜เดŸเดจเดพเดชเดฐเดฎเดพเดฏ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเดพเดฏเดฟ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เด‡เดตเดจเตเดฑเตเด•เตพ, เดซเต€เตฝเดกเตเด•เตพ, เดจเดฎเตเดชเดฑเตเด•เตพ เดฎเตเดคเดฒเดพเดฏเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเด‚ เด’เดฐเต เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เดซเด‚เด—เตโ€Œเดทเตป เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด’เดฐเต เด•เต‹เตพ เดตเดจเตเดจเดพเดฒเตเดŸเตป, เดจเตเดฏเต‚เดŽเด•เตเดธเตเดฑเตเดฑเตป เด‡เดตเดจเตเดฑเต เดชเดพเดฐเดจเตเดฑเต เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต [from-pstn], เดคเตเดŸเตผเดจเตเดจเต เดŽเดฒเตเดฒเดพ เด‡เดตเดจเตเดฑเตเด•เดณเตเด‚ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเดฒเต† เดตเดฐเดฟเด•เดณเตเดŸเต† เด•เตเดฐเดฎเดคเตเดคเดฟเตฝ เดชเดฟเดจเตเดคเตเดŸเดฐเตเดจเตเดจเต. เดกเดฏเตฝเดชเตเดฒเดพเดจเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณ _เด•เดธเตเดฑเตเดฑเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฟเดตเดฐเด™เตเด™เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, CallMeCallerIDName, CallStart เดŽเดจเตเดจเดฟเดต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต

  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-เด‰เด‚ เดฎเดฑเตเดฑเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดฐเดฃเตเดŸเต เด•เดพเดฐเตเดฏเด™เตเด™เตพเด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดตเต†เดฌเต เดธเต†เตผเดตเตผ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเต‚ - Bitrix (HTTPS เดตเดดเดฟ) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เดซเดฏเดฒเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•, CallMeOut.php เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดตเดฟเดณเดฟเด•เตเด•เตเด•. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป FreePBX เดธเต†เตผเดตเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เดซเดฏเดฒเตเด•เตพ /var/www/html, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดฑเตเดฑเตŠเดฐเต เดธเต†เตผเดตเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เดชเดพเดคเตเดคเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเด‚.

เดตเต†เดฌเต เดธเต†เตผเดตเตผ

เดธเตเดตเดคเดจเตเดคเตเดฐ เดชเด เดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดตเต†เดฌเต เดธเต†เตผเดตเตผ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดตเดฟเดŸเดพเด‚ (เดŸเตˆเดฑเตเดฑเตเด•เตพ, เดŸเตˆเดฑเตเดฑเตเด•เตพ, เดŸเตˆเดฑเตเดฑเตเด•เตพ). เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดกเตŠเดฎเต†เดฏเตเตป เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดซเตเดฐเต€เดกเตŠเดฎเต†เดฏเตเตป เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚( https://www.freenom.com/ru/index.html), เด‡เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดตเตˆเดฑเตเดฑเต เดเดชเดฟเด•เตเด•เต เดธเต—เดœเดจเตเดฏเดฎเดพเดฏเดฟ เด’เดฐเต เดชเต‡เดฐเต เดจเตฝเด•เตเด‚ (เดฌเดพเดนเตเดฏ เดตเดฟเดฒเดพเดธเด‚ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ เดฑเต‚เดŸเตเดŸเดฑเดฟเดฒเต‚เดŸเต† 80, 443 เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เด•เตˆเดฎเดพเดฑเดพเตป เดฎเดฑเด•เตเด•เดฐเตเดคเต). เดจเดฟเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ เด’เดฐเต DNS เดกเตŠเดฎเต†เดฏเตโ€Œเตป เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดŽเดฒเตเดฒเดพ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดตเดฐเต† เดจเดฟเด™เตเด™เตพ (15 เดฎเดฟเดจเดฟเดฑเตเดฑเต เดฎเตเดคเตฝ 48 เดฎเดฃเดฟเด•เตเด•เต‚เตผ เดตเดฐเต†) เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด—เดพเตผเดนเดฟเด• เดชเต‡เดฏเตโ€Œเดฎเต†เดจเตเดฑเต เดฆเดพเดคเดพเด•เตเด•เดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดš เด…เดจเตเดญเดตเดคเตเดคเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ - 1 เดฎเดฃเดฟเด•เตเด•เต‚เตผ เดฎเตเดคเตฝ XNUMX เดฎเดฃเดฟเด•เตเด•เต‚เตผ เดตเดฐเต†.

เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเตเดฑเต† เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป

เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เด•เต‚เดŸเตเดคเตฝ เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เด—เดฟเดคเตเดคเดฌเดฟเตฝ เด’เดฐเต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเดฑเดฟเดจเตเดฑเต† เดตเดฟเด•เดธเดจเด‚ เด†เดฐเด‚เดญเดฟเดšเตเดšเต. เดชเด•เตเดทเต‡ เด…เดคเต เด•เดŸเดฒเดพเดธเดฟเตฝ เดฎเดฟเดจเตเดธเดฎเดพเตผเดจเตเดจเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต - เดžเด™เตเด™เตพ เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดธเตเดตเดฎเต‡เดงเดฏเดพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เด‡เดคเต†เดฒเตเดฒเดพเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏ เดถเต‡เดทเด‚, เด†เดฐเดพเดฃเต เด†เดฐเตเดฎเดพเดฏเดฟ เดšเด™เตเด™เดพเดคเตเดคเด‚, เด†เดฐเดพเดฃเต เดŽเดตเดฟเดŸเต† เดชเต‹เด•เตเดจเตเดจเต, เดŽเด™เตเด™เดจเต† เดกเต€เดฌเด—เต เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ. เด‡เดคเตเดตเดฐเต† เด’เดฐเต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเดฑเตเด‚ เด‡เดฒเตเดฒ (

เดกเต‹เด•เตเด•เตผ

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเต‡เด—เดคเตเดคเดฟเตฝ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดกเต‹เด•เตเด•เดฑเดฟเตฝ เด’เดฐเต เด“เดชเตเดทเตป เด‰เดฃเตเดŸเต - เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เด’เดฐเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•, เด…เดคเดฟเดจเต เดฌเดพเดนเตเดฏ เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เดจเตฝเด•เตเด•, เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เตพ เดคเดฟเดฐเตเด•เตเด•, เดถเตเดฐเดฎเดฟเด•เตเด•เตเด• (เด‡เดคเต LetsEncrypt เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเดณเตเดณ เด’เดฐเต เด“เดชเตเดทเดจเดพเดฃเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เด’เดฐเต เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเต เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดฎเดพเดคเตเดฐเด‚ เดซเตเดฐเต€เดชเดฟเดฌเดฟเดŽเด•เตเดธเต เดตเต†เดฌเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เดฑเดฟเดตเต‡เดดเตเดธเต เดชเตเดฐเต‹เด•เตเดธเดฟ เดฑเต€เดกเดฏเดฑเด•เตเดŸเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต (เดžเด™เตเด™เตพ เด‡เดคเต เดฎเดฑเตเดฑเตŠเดฐเต เดชเต‹เตผเดŸเตเดŸเดฟเดจเต เดจเตฝเด•เดฟ 88 เด†เดฃเต), เดกเต‹เด•เตเด•เดฑเดฟเตฝ เดฒเต†เดฑเตเดฑเตเดธเตเดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดˆ เดฒเต‡เด–เดจเด‚

เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตโ€Œเดค เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เดซเต‹เตพเดกเดฑเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดซเดฏเตฝ เดฑเตบ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต (เดœเดฟเดฑเตเดฑเต เด•เตเดฒเต‹เดฃเดฟเดจเต เดถเต‡เดทเด‚), เดŽเดจเตเดจเดพเตฝ เด†เดฆเตเดฏเด‚ เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจ เด•เต‹เตบเดซเดฟเด—เดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต (เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจ เดซเต‹เตพเดกเตผ) เดชเต‹เดฏเดฟ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตˆเดฑเตเดฑเดฟเดจเตเดฑเต† เดŽเตปเดŸเตเดฐเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ 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-เด•เตพ เดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เดณเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดคเตเดคเดคเต, เดžเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเดšเตเดšเต. เดฎเดฑเตเดฑเต CRM-เด•เดณเตเดŸเต† เดจเดฟเดฐเดตเดงเดฟ API-เด•เตพ เดžเด™เตเด™เตพ เดชเด เดฟเดšเตเดšเต, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เดšเดฟเดฒ PBX-เด•เดณเดฟเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดš เดธเต—เดœเดจเตเดฏเดฎเดพเดฏเดต - ShugarCRM, Vtiger, เด…เดคเต†! เด…เดคเต†, เดคเดคเตเดตเด‚ เด’เดจเตเดจเตเดคเดจเตเดจเต†เดฏเดพเดฃเต. เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดฎเดฑเตเดฑเตŠเดฐเต เดธเตเดฑเตเดฑเต‹เดฑเดฟเดฏเดพเดฃเต, เด…เดคเต เดžเด™เตเด™เตพ เดชเดฟเดจเตเดจเต€เดŸเต GitHub-เดฒเต‡เด•เตเด•เต เดชเตเดฐเดคเตเดฏเต‡เด•เด‚ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด‚.

เดฑเต†เดซเดฑเตปเดธเตเด•เตพ

  • เด•เต‹เดกเต เดคเดจเตเดจเต† เด—เดฟเดคเตเดคเดฌเดฟเดฒเดพเดฃเต - https://github.com/CrezZ/bitrix24-freepbx-php

  • เดคเตเดŸเด•เตเด•เด•เตเด•เดพเตผเด•เตเด•เตเดณเตเดณ เดชเตเดฐเดพเดฐเด‚เดญ เดฒเต‡เด–เดจเด‚ https://habr.com/ru/post/349316/

เดจเดฟเดฐเดพเด•เดฐเดฃเด‚: เดฏเดพเดฅเดพเตผเดคเตเดฅเตเดฏเดตเตเดฎเดพเดฏเดฟ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเดพเดฎเตเดฏเดคเด•เตพ เดธเดพเด™เตเด•เตฝเดชเตเดชเดฟเด•เดฎเดพเดฃเต, เด…เดคเต เดžเดพเดจเดฒเตเดฒ,

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•