เบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเปเบเบฑเบ outsourcer เปเบเบเปเบฅเบดเบชเบฑเบเบเบตเปเบเบฒเบเปเบฅเบฐ configure, เบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเปเบเบฅเบฐเบชเบฑเบ IP. เปเบกเบทเปเบญเบเปเบญเบเบเบทเบเบเบฒเบกเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบฐเปเบซเบเบตเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเปเบฅเบฐเบเปเบฅเบดเบชเบฑเบเบเบตเปเปเบเบทเปเบญเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ Bitrix24 เบเบฑเบ PBXs เบเบตเปเบฅเบนเบเบเปเบฒเบกเบต, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบ PBXs virtual เปเบเบเปเบฅเบดเบชเบฑเบ VDS เบเปเบฒเบเป, เบเปเบญเบเปเบเปเปเบเบซเบฒ Google. เปเบฅเบฐเปเบเปเบเบญเบเบฅเบฒเบงเปเบเปเปเบซเปเบเปเบญเบเปเบเบทเปเบญเบกเบเปเป
เบเบงเบเปเบฎเบปเบฒเบชเบถเบเบชเบฒเปเบซเบเบเบปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ
เบเบฑเปเบเบเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเบเบนเปเปเบฅเบตเปเบกเบเบปเปเบ, เบกเบฑเบเบเบงเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเบงเปเบ. เปเบกเบทเปเบญเปเบเปเบฎเบฑเบเบเบฒเบเปเบเบเบฒเบเบเบฒเบเบเบญเบเบขเบนเปเบเบตเป PBX (เปเบซเบเบเบฒเบ SIP INVITE เบเบฒเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบ), เบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบญเบ dialplan (เปเบเบเบเบฒเบเปเบ, dialplan) เปเบฅเบตเปเบกเบเบปเปเบ - เบเบปเบเบฅเบฐเบเบฝเบเบเบญเบเบชเบดเปเบเบเบตเปเปเบฅเบฐเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเปเบฎเบฑเบเปเบเบงเปเบเบเบฑเบเบเบฒเบเปเบ. เบเบฒเบเบเบธเบเบเปเบฒเบญเบดเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบซเบผเบฒเบ, เปเบเบดเปเบเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบเบปเบเบฅเบฐเบเบฝเบ. เปเบเบทเปเบญเบเบกเบทเบเบตเปเบเบตเปเบฅเบตเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบถเบเบชเบฒเบเบฒเบเปเบเบเบญเบ SIP เปเบกเปเบเบเบฒเบเบงเบดเปเบเบฒเบฐ sngrep (
เปเบเบฎเบนเบเปเบเบเบเบตเปเบเปเบฒเบเบเบฒเบ, dialplan เบเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเบเปเบฒเบญเบดเบเปเบเบปเปเบฒเบเบฑเปเบ, เบเบฒเบเบเบฑเปเบเบเปเปเบขเบนเปเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒ, เบเบฒเบเปเบเบเบทเบเปเบญเบ, เบเบฒเบเบเบปเบเบเบธเปเบก (DTMF), เบชเบดเปเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบเปเบฒเบเปเปเบเบฑเปเบ FollowMe, RingGroup, IVR เปเบฅเบฐเบญเบทเปเบเป.
เบชเบดเปเบเบเบตเปเบขเบนเปเปเบเบเบญเบเปเบเบตเบ
เปเบเปเบเบดเบเปเบฅเปเบง, diaalplans เบเปเบฒเบเบเบฒเบเบชเปเบงเบเปเบซเบเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบชเบญเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเปเบฒเบญเบดเบ, เปเบฅเบฐเปเบซเบเบเบปเบเบเบฑเบเบซเบกเบปเบ revolves เบเบฐเบกเบฒเบ DID เปเบฅเบฐ CallerID. DID - เบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเปเบเบซเบฒ, CallerID - เบเบนเปเบเบตเปเปเบเบซเบฒ.
เปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเบเบซเบกเบปเบ, เบเบงเบเปเบฎเบปเบฒเบกเบตเบเปเบฅเบดเบชเบฑเบเปเบฅเบฐเบเปเปเบกเบตเปเบเบฅเบฐเบชเบฑเบเบซเบเบถเปเบ - เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ PBX เบชเปเบงเบเบซเบผเบฒเบเบกเบฑเบเบกเบตเบเบธเปเบกเบเบฒเบเปเบ (เบชเบฝเบเบเบฑเบเบเปเบญเบกเปเบเบฑเบ / เบเบดเบเบเปเปเบเบฑเบเบเบญเบเบญเบธเบเบฐเบเบญเบเบเปเบฒเบเบงเบเบซเบเบถเปเบ) เบขเบนเปเปเบเบเปเบฒเบเบงเบเปเบกเบทเบญเบ (Ring Group), IVR (เบชเบฐเบเบฒเบเบเบต, เบเปเบฒเบเปเบญเบตเปเบเบงเปเบฒ ... เบเบปเบ. one for ...), เปเบเบทเปเบญเบเบเบญเบ (เบเบฐเปเบซเบเบ), เปเบเบทเปเบญเบเปเบเปเบงเบฅเบฒ, เบเบฒเบเบชเบปเปเบเบเปเปเปเบเบซเบฒเบเบปเบงเปเบฅเบเบญเบทเปเบ เบซเบผเบทเปเบเบซเบฒเปเบเบฅ (FollowMe, Forward). เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบกเบฑเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบขเปเบฒเบเบเปเปเบเบฑเบเปเบเบเบงเปเบฒเปเบเบเบฐเปเบเปเบฎเบฑเบเบชเบฒเบเบเบตเปเปเบเปเบเบดเบเปเบฅเบฐเบเบนเปเบเบตเปเบเบฐเบชเบปเบเบเบฐเบเบฒเบเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเปเบเบกเบฒเบฎเบญเบ. เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเปเบเปเบเบเบเบปเบเบเบฐเบเบดเปเบ PBX เบเบญเบเบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒ
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบเบซเบฒเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบเปเบเบปเปเบฒเปเบเปเบ PBX, เบกเบฑเบเบเบฐเปเบเบตเบเบเบฒเบเบเปเบฒเบ Dialplan เปเบ "เบชเบฐเบเบฒเบเบเบฒเบ". เบเปเบฅเบดเบเบปเบเบเบฒเบเบกเบธเบกเปเบเบดเปเบเบเบญเบเบเบฒเบงเปเบกเปเบเบเบธเบเบเปเบฒเบชเบฑเปเบเบเบปเบงเปเบฅเบ, เปเบเปเบฅเบฐเบญเบฑเบเบเบฐเบเบญเบเบเปเบงเบเบเบปเบงเบเบญเบเปเบเบเบซเบกเบฒเบเปเบฅเบเปเบเบญเบญเบ (เบกเบฑเบเบเบทเบเปเบญเบตเปเบเบงเปเบฒ exten, เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบเบฒเบเบเบญเบเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเปเบเบทเปเบญเบเบเบปเปเบ exten=DID). เบเปเบฒเบชเบฑเปเบเบขเบนเปเปเบเปเบชเบฑเปเบ dialplan เบชเบฒเบกเบฒเบเปเบเบฑเบเบญเบฑเบเปเบเบเปเปเบเป - เบซเบเปเบฒเบเบตเปเบเบฒเบเปเบ (เบเบปเบงเบขเปเบฒเบ, เปเบเบซเบฒเบเบนเปเบเบญเบเบเบฒเบเปเบ - Dial()
เบงเบฒเบโเปเบเบฅเบฐโเบชเบฑเบโเบฅเบปเบ - Hangup()
), เบเบนเปเบเบฐเบเบญเบเบเบฒเบเบเบตเปเบกเบตเปเบเบทเปเบญเบเปเบ (IF, ELSE, ExecIF
เปเบฅเบฐโเปเบเบฑเปเบโเบเบฝเบงโเบเบฑเบโ) เบเบฒเบโเบซเบฑเบโเปเบโเบชเบนเปโเบฅเบฐโเบเบฝเบโเบเบฒเบโเบญเบทเปเบเปโเบเบญเบโเบชเบฐโเบเบฒเบโเบเบฒเบโเบเบตเป (Goto, GotoIF
), เบเบฒเบเบซเบฑเบเบเปเบฝเบเปเบเบชเบนเปเบชเบฐเบเบฒเบเบเบฒเบเบญเบทเปเบเปเปเบเบฎเบนเบเปเบเบเบเบฒเบเปเบญเบตเปเบเบเบฑเบเบเบฑเบ (Gosub, Macro). เบเปเบฒเบชเบฑเปเบเปเบเบเบเปเบฒเบเบซเบฒเบ include ะธะผั_ะบะพะฝัะตะบััะฐ
, เปเบเบดเปเบเปเบเบตเปเบกเบเปเบฒเบชเบฑเปเบเบเบฒเบเบเปเบฅเบดเบเบปเบเบญเบทเปเบเปเบเบซเบฒเบเบธเบเบชเบดเปเบเบชเบธเบเบเบญเบเบเปเบฅเบดเบเบปเบเบเบฐเบเบธเบเบฑเบ. เบเปเบฒเบชเบฑเปเบเบเบตเปเบฅเบงเบกเบเปเบฒเบเบเบฐเบเบญเบเบกเบตเบเบทเบเบเบฐเบเบดเบเบฑเบเบชเบฐเปเบซเบกเบต ะฟะพัะปะต เบเปเบฒเบชเบฑเปเบเบเบญเบเบชเบฐเบเบฒเบเบเบฒเบเปเบเบเบฐเบเบธเบเบฑเบ.
เปเบซเบเบเบปเบเบเบฑเบเปเบปเบเบเบญเบ FreePBX เปเบกเปเบเบชเปเบฒเบเบเบถเปเบเบเปเบงเบเบเบฒเบเบฅเบงเบกเปเบญเบปเบฒเบเปเบฅเบดเบเบปเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบปเปเบฒเบกเบฒเปเบเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฑเบเปเบเบเบเปเบฒเบเบเบฒเบเบฅเบงเบกเปเบญเบปเบฒ เปเบฅเบฐเปเบเบซเบฒเบเปเบฒเบเบเบปเบงเบเบฑเบเบเบฒเบ Gosub, Macro เปเบฅเบฐ Handler. เบเบดเบเบฒเบฅเบฐเบเบฒเบชเบฐเบเบฒเบเบเบฒเบเบเบญเบเบเบฒเบเปเบ FreePBX เบเบตเปเปเบเบปเปเบฒเบกเบฒ
เบเบฒเบเปเบญเบตเปเบเบเปเบฒเบเบชเบฐเบเบฒเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบฒเบเปเบเบดเบเบซเบฒเบฅเบธเปเบก, เปเบเปเบเปเบฅเบฐเบชเบฐเบเบฒเบเบเบฒเบเบชเบฒเบกเบฒเบเปเบเบซเบฒเบชเบฐเบเบฒเบเบเบฒเบเบญเบทเปเบเปเปเบเบฑเปเบ: เบกเบฐเบซเบฒเบเบฒเบ (Macro), เบซเบเปเบฒเบเบตเป (Gosub) เบซเบผเบทเบเบฝเบเปเบเปเบเบฒเบเบซเบฑเบเบเปเบฝเบ (Goto), เบเบฑเปเบเบเบฑเปเบเบเบปเปเบเปเบกเปเบเบตเปเปเบเปเบเบดเบเบเบญเบเบชเบดเปเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒเบเบฝเบเปเบเปเบชเบฒเบกเบฒเบ. เบเบทเบเบเบดเบเบเบฒเบกเบขเบนเปเปเบเบเบฑเบเบเบถเบ.
เปเบเบเบงเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบเบเบฐเบเบดเบชเปเบฒเบฅเบฑเบ PBX เบเบปเบเบเบฐเบเบดเปเบกเปเบเบชเบฐเปเบเบเบขเบนเปเบเปเบฒเบเบฅเบธเปเบกเบเบตเป. เปเบกเบทเปเบญเปเบเบซเบฒ, DID เบเบทเบเบเบปเปเบเบซเบฒเบขเบนเปเปเบเปเบชเบฑเปเบเบเบฒเบเบเบตเปเปเบเบปเปเบฒเบกเบฒ, เปเบเบทเปเบญเบเปเบเบเบปเปเบงเบเบฒเบงเบเบทเบเบเบงเบเบชเบญเบเบชเปเบฒเบฅเบฑเบเบกเบฑเบ, เบเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบขเบนเปเปเบเบเปเบฒเบชเบฑเปเบ, เปเบกเบเบนเบชเบฝเบเบเบฐเปเบเบตเบเบเบปเบง. เบเบฒเบเบกเบฑเบ, เปเบเบเบเบฒเบเบเบปเบเบเบธเปเบก 1 เบซเบผเบทเบซเบกเบปเบเปเบงเบฅเบฒ, เบญเบญเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบซเบฒ. เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเปเบโเบชเบดเปเบโเบชเบธเบโเบฅเบปเบ, macro hangupcall เปเบเปโเบเบทเบโเปเบญเบตเปเบ, เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเปโเบกเบตโเบซเบเบฑเบโเบชเบฒโเบกเบฒเบโเปเบฎเบฑเบโเปเบเปโเบขเบนเปโเปเบ dialplan เปเบเป, เบเบปเบโเปเบงเบฑเปเบโเบชเปเบฒโเบฅเบฑเบ handlers เบเบดโเปเบชเบ (hangup handler).
เบเปเบญเบเบเบตเปเบขเบนเปเปเบเบชเบนเบเบเบฒเบเปเบเบซเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบงเบเบชเบฐเบซเบเบญเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเปเบเปเบเบซเบฒ CRM, เบเปเบญเบเบเบตเปเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเบฑเบเบเบถเบ, เบเปเบญเบเบเบตเปเบเบฐเบชเบดเปเบเบชเบธเบเบเบฒเบเบเบฑเบเบเบถเบเปเบฅเบฐเบชเบปเปเบเบกเบฑเบเบเปเบญเบกเบเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบซเบฒ CRM?
เบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฑเบเบฅเบฐเบเบปเบเบเบฒเบเบเบญเบ
เบเบฒเบเปเบเบทเปเบญเบกเปเบเบ PBX เปเบฅเบฐ CRM เปเบกเปเบเบซเบเบฑเบ? เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบฐเปเบเบเบเบฒเบเบเบตเปเปเบเบเบเปเปเบกเบนเบเปเบฅเบฐเปเบซเบเบเบฒเบเบฅเบฐเบซเบงเปเบฒเบเบชเบญเบเปเบเบฅเบฐเบเบฐเบเบญเบกเปเบซเบผเบปเปเบฒเบเบตเปเปเบฅเบฐเบชเบปเปเบเปเบเบซเบฒเบเบฑเบเปเบฅเบฐเบเบฑเบ. เบงเบดเบเบตเบเบปเปเบงเปเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเปเบญเบเบฐเบฅเบฒเบเปเบเบเบฒเบเบชเบทเปเบชเบฒเบเปเบกเปเบเบเปเบฒเบ APIs, เปเบฅเบฐเบงเบดเบเบตเบเบตเปเบเบดเบเบปเบกเบเบตเปเบชเบธเบเปเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ APIs เปเบกเปเบ HTTP REST. เปเบเปเบเปเปเปเบกเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบง.
เบเบฒเบเปเบเบเบฒเบงเปเบกเปเบ:
-
AGI - เบเบฒเบเปเบ synchronous เบเบฑเบเบเบฑเบเบเบฒเปเบเบเบเบฒเบ / เบญเบปเบเบเบฐเบเบญเบเบเบฒเบเบเบญเบ, เบเปเบฒเปเบเปเบชเปเบงเบเปเบซเบเปเปเบกเปเบเบขเบนเปเปเบ dialplan, เบกเบตเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบเบฑเปเบ:
phpagi ,PAGI -
AMI - เปเบเบปเปเบฒเบฎเบฑเบ TCP เบเปเปเบเบงเบฒเบกเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเปเบฝเบงเบเบฑเบเบซเบผเบฑเบเบเบฒเบเบเบญเบเบเบฒเบเบชเบฐเบซเบกเบฑเบเปเบซเบเบเบฒเบเปเบฅเบฐเปเบชเปเบเปเบฒเบชเบฑเปเบเบเปเปเบเบงเบฒเบก, เบเปเบฒเบเบเบทเบเบฑเบ SMTP เบเบฒเบเบเบฒเบเปเบ, เบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบกเปเบซเบเบเบฒเบเปเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเปเบ, เบกเบตเบซเปเบญเบเบชเบฐเบซเบกเบธเบ
PAMI - เบเบตเปเบเบดเบเบปเบกเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ Asterisk
เบเบปเบงเบขเปเบฒเบเบเบปเบเบเบฐเบฅเบดเบ AMI
เปเบซเบเบเบฒเบ: เบเปเบญเบเบเบฒเบเปเบซเบกเป
เบชเบดเบเบเบดเบเบดเปเบชเบ: เปเบ, เบเบฑเบเบซเบกเบปเบ
เบเปเบญเบ: PJSIP/VMS_pjsip-0000078b
เบชเบฐเบเบฒเบเบฐเบเปเบญเบ: 4
ChannelStateDesc: Ring
CallerIDNum: 111222
CallerIDName: 111222
ConnectedLineNum:
เบเบทเปเบชเบฒเบเบเบตเปเปเบเบทเปเบญเบกเบเปเป:
เบเบฒเบชเบฒ: en
เบฅเบฐเบซเบฑเบเบเบฑเบเบเบต:
เปเบเบทเปเบญเปเบ: เบเบฒเบ-pstn
เบเบฐเบซเบเบฒเบ: s
เบเบธเบฅเบดเบกเบฐเบชเบดเบ: 1
เปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ: 1599589046.5244
Linkedid: 1599589046.5244
-
ARI เปเบกเปเบเบเบฒเบเบเบฐเบชเบปเบกเบเบญเบเบเบฑเบเบชเบญเบ, เบเบฑเบเบซเบกเบปเบเปเบเบเบเปเบฒเบ REST, WebSocket, เปเบเบฎเบนเบเปเบเบ JSON - เปเบเปเบกเบตเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบชเบปเบเปเบฅเบฐ wrappers, เบเปเปเบเบตเบซเบผเบฒเบ, offhand เบเบปเบ (
phparia ,phpari ) เปเบเบดเปเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบงเบเปเบเบปเบฒเบเบฐเบกเบฒเบ 3 เบเบตเบเปเบญเบเบซเบเปเบฒเบเบตเป.
เบเบปเบงเบขเปเบฒเบเบเบญเบเบเบปเบเบเบฐเบฅเบดเบ ARI เปเบกเบทเปเบญเบเบฒเบเปเบเบเบทเบเบฅเบดเปเบฅเบตเปเบก
{ "variable":"CallMeCallerIDName", "value":"111222", "type":"ChannelVarset", "timestamp":"2020-09-09T09:38:36.269+0000", "channel":{ "id ยป:ยป1599644315.5334โณ, ยซเบเบทเปยป:ยปPJSIP/VMSpjsip-000007b6โณ, "เบชเบฐเบเบฒเบเบฐ":"เปเบซเบงเบ", "เบเบนเปเปเบ":{ "เบเบทเป":"111222", "number":"111222โณ }, "เปเบเบทเปเบญเบกเบเปเป":{ "เบเบทเป":"", "เบเปเบฒเบเบงเบ" :"" }, "accountcode":"", "dialplan":{ "context":"from-pstn", "exten":"s", "priority":2, "appname":"Stasis", "appdata":"hello-world" }, "creationtime":"2020-09-09T09:38:35.926+0000", "language":"en" }, "เบเบฒเบงid":"48:5b:aa:aa:aa:aa", "application":"hello-world" }
เบเบงเบฒเบกเบเปเปเบชเบฐเบเบงเบเบซเบผเบทเบเบงเบฒเบกเบเปเปเบชเบฐเบเบงเบ, เบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบซเบผเบทเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ API เปเบเบเบชเบฐเปเบเบฒเบฐเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบงเบฝเบเบเบฒเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเปเปเบ. เบงเบฝเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบ CRM เบกเบตเบเบฑเปเบเบเบตเป:
-
เบเบดเบเบเบฒเบกเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเปเบ, เบเปเบญเบเบเบตเปเบกเบฑเบเบเบทเบเปเบญเบ, เบเบถเบ CallerID, DID, เปเบงเบฅเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเบชเบดเปเบเบชเบธเบ, เบเบฒเบเบเบตเบเปเปเบกเบนเบเบเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบต (เปเบเบทเปเบญเบเบปเปเบเบซเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบซเบงเปเบฒเบเปเบเบฅเบฐเบชเบฑเบเปเบฅเบฐเบเบนเปเปเบเป CRM)
-
เปเบฅเบตเปเบกโเบเบปเปเบโเปเบฅเบฐโเบชเบดเปเบโเบชเบธเบโเบเบฒเบโเบเบฑเบโเบเบถเบโเบเบฒเบโเปเบโ, เบเบฑเบโเบเบถเบโเปเบงเปโเปเบโเบฎเบนเบโเปเบเบโเบเบตเปโเบเปเบญเบโเบเบฒเบโ, เปเบเปเบโเบเบฒเบโเปเบโเบเบญเบโเบเปเบฒเบโเบเบญเบโเบเบฒเบโเบเบฑเบโเบเบถเบโเบเบตเปโเปเบเบฅโเปโเบเบฑเปเบโเบขเบนเปโ.
-
เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบเปเบเปเบซเบเบเบฒเบเบเบฒเบเบเบญเบ (เบเบฒเบเปเบเบเบเบฒเบ), เปเบเบซเบฒเปเบเบตเบเบฒเบเปเบ, เปเบเบตเบเบฒเบเบเบญเบเปเบฅเบฐเปเบเบทเปเบญเบกเบเปเปเบเบงเบเปเบเบปเบฒ
-
เบเบฒเบเปเบฅเบทเบญเบ: เบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฑเบ CRM, เบเบธเปเบก dialer เปเบฅเบฐ FollowME เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบญเบเบชเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบกเบตเบชเบฐเบเบฒเบเบเบตเป (เบญเบตเบเบเบฒเบก CRM)
เบงเบฝเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฑเบเบซเบกเบปเบเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเปเบเบเบเปเบฒเบ AMI เบซเบผเบท ARI, เปเบเป ARI เบชเบฐเบซเบเบญเบเบเปเปเบกเบนเบเบซเบเปเบญเบเบซเบผเบฒเบ, เบเปเปเบกเบตเปเบซเบเบเบฒเบเบซเบผเบฒเบ, เบเบปเบงเปเบเบซเบผเบฒเบเบเบตเป AMI เบเบฑเบเบกเบต (เบเบปเบงเบขเปเบฒเบ, เบเบฒเบเปเบเบกเบฐเบซเบฒเบเบฒเบ, เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบงเปเบเบเบฒเบเปเบ macros, เบฅเบงเบกเบเบฑเบเบเบฒเบเบเบฑเบเบเบถเบเบเบฒเบเปเบ) เบเปเปเปเบเปเบเบทเบเบเบดเบเบเบฒเบก. เบเบฑเปเบเบเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบตเปเบเบทเบเบเปเบญเบเปเบฅเบฐเบเบทเบเบเปเบญเบ, เปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบฅเบทเบญเบ AMI เบชเปเบฒเบฅเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบ (เปเบเปเบเปเปเปเบกเปเบเบซเบกเบปเบ). เบเบญเบเบเบฒเบเบเบฑเปเบ (เบเบต, เบเปเบญเบเบเบตเปเบกเบฑเบเบเบฐเบเปเปเบกเบตเบเบตเป, เบเบงเบเปเบฎเบปเบฒเปเบเบฑเบเบเบปเบเบเบตเปเบเบฝเบ) - เปเบเบงเบฝเบเบเบฒเบเบเบปเปเบเบชเบฐเบเบฑเบ (
เบเบฒเบเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบทเบเปเปเป
เปเบเบทเปเบญเปเบซเป FreePBX เบเบญเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบฅเบฒเบเบเบฒเบเบเบฑเบ AMI เบเปเบงเบเบงเบดเบเบตเบเปเบฒเบเปเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเปเบ, เปเบงเบฅเบฒเบชเบดเปเบเบชเบธเบ, เบเบปเบงเปเบฅเบ, เบเบทเปเบเบญเบเปเบเบฅเปเบเบตเปเบเบฑเบเบเบถเบเปเบงเป, เบกเบฑเบเบเปเบฒเบเบเบตเปเบชเบธเบเบเบตเปเบเบฐเบเบดเบเปเบฅเปเปเบฅเบเบฐเปเบงเบฅเบฒเบเบญเบเบเบฒเบเปเบเปเบเบเปเบเป trick เบเบฝเบงเบเบฑเบเบเบฑเบเบเบนเปเบเบฝเบเบเบปเปเบเบชเบฐเบเบฑเบ. - เปเบชเปเบเบปเบงเปเบเบเบญเบเบเปเบฒเบเปเบฅเบฐเบงเบดเปเบเบฒเบฐเบเบปเบเปเบเปเบฎเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบเบเบงเบเปเบเบปเบฒ. PAMI เปเบเบฐ เบเบณ เปเบซเปเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเบเปเบฒเบเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบฑเบเบเบปเบงเบเบญเบ.
เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบงเปเบเบเบญเบเบเปเบฒเบเปเบญเบเบชเปเบฒเบฅเบฑเบเปเบงเบฅเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเปเบ (s เปเบกเปเบเบเบปเบงเปเบฅเบเบเบดเปเบชเบเปเบ dialplan เบเบตเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบญเบเบเบตเปเบเบฐเปเบฅเบตเปเบกเบเบฒเบเบเบปเปเบเบซเบฒ DID)
[ext-did-custom]
exten => s,1,Set(CallStart=${STRFTIME(epoch,,%s)})
เบเบปเบงเบขเปเบฒเบเปเบซเบเบเบฒเบ AMI เบชเปเบฒเบฅเบฑเบเบชเบฒเบเบเบตเป
เปเบซเบเบเบฒเบ: เบเปเบญเบเบเบฒเบเปเบซเบกเป
เบชเบดเบเบเบดเบเบดเปเบชเบ: เปเบ, เบเบฑเบเบซเบกเบปเบ
เบเปเบญเบ: PJSIP/VMS_pjsip-0000078b
เบชเบฐเบเบฒเบเบฐเบเปเบญเบ: 4
ChannelStateDesc: Ring
CallerIDNum: 111222
CallerIDName: 111222
ConnectedLineNum:
เบเบทเปเบชเบฒเบเบเบตเปเปเบเบทเปเบญเบกเบเปเป:
เบเบฒเบชเบฒ: en
เบฅเบฐเบซเบฑเบเบเบฑเบเบเบต:
เปเบเบทเปเบญเปเบ: เบเบฒเบ-pstn
เบเบฐเบซเบเบฒเบ: s
เบเบธเบฅเบดเบกเบฐเบชเบดเบ: 1
เปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ: 1599589046.5244
Linkedid: 1599589046.5244
เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ: เบเบฑเปเบ AppData:
CallStart=1599571046
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ FreePBX เบเบฝเบเบเบฑเบเปเบเบฅเป extention.conf เปเบฅเบฐ extention_additional.conf, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเปเบเบฅเป เบชเปเบงเบเบเบฐเบซเบเบฒเบ_custom.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
เบเบธเบโเบเบฐโเบชเบปเบกโเบเบฑเบโเปเบฅเบฐโเบเบงเบฒเบกโเปเบเบโเบเปเบฒเบโเบเบฒเบ dialplan เบเบปเปเบโเบชเบฐโเบเบฑเบโเบเบญเบโเบเบนเปโเบเบฝเบโเบเบญเบโเบเบปเบโเบเบงเบฒเบกโเบเบปเปเบโเบชเบฐโเบเบฑเบ -
-
Dialplan เปเบเบฎเบนเบเปเบเบ .conf, เบเบฒเบกเบเบตเป FreePBX เบเปเบญเบเบเบฒเบ (เปเบกเปเบเปเบฅเปเบง, เบกเบฑเบเบชเบฒเบกเบฒเบ .ael, เปเบเปเบเปเปเปเบกเปเบเบเบธเบเบฅเบธเปเบ เปเบฅเบฐเบกเบฑเบเบเปเปเบชเบฐเบเบงเบเบชเบฐเปเปเบตเปเบ)
-
เปเบเบเบเบตเปเบเบฐเบเบฐเบกเบงเบเบเบปเบเปเบเบเบญเบเบเปเบฒเบเบเปเบฒเบ exten=>h, เบเบฒเบเบเบฐเบกเบงเบเบเบปเบเปเบเปเบเบทเบเบเปเบฒเบชเบฐเปเบซเบเบตเบเปเบฒเบ hangup_handler, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ FreePBX dialplan เปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบกเบฑเบเปเบเบปเปเบฒเบเบฑเปเบ
-
เปเบเปเปเบเบชเบฒเบเปเบเบชเบฐเบเบฃเบดเบ, เปเบเบตเปเบกเบงเบปเบเบขเบทเบก เปเบฅเบฐเปเบฒเบเปเบฅเบเปเบเบเบฒเบเบเบญเบ ExtNum
-
เบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบทเบเบเปเบฒเบเปเบ _custom contexts เปเบฅเบฐเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเปเปเปเบเบฐเบซเบผเบทเปเบเปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ FreePBX - เบเบฒเปเบเบปเปเบฒเบเปเบฒเบ [ext-did-custom], เบเบฒเบญเบญเบเปเบเบเบเปเบฒเบ [outbound-allroutes-custom]
-
เบเปเปเบกเบตเบเบฒเบเบเบนเบเบกเบฑเบเบเบฑเบเบเบปเบงเปเบฅเบ - เปเบเบฅเปเปเบกเปเบเบเบปเปเบงเปเบเปเบฅเบฐเบเบฝเบเปเบเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเปเบฒเบซเบเบปเบเบเปเบฒเบชเปเบฒเบฅเบฑเบเปเบชเบฑเปเบเบเบฒเบเปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ.
เปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบ, เบเปเบฒเบเบเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบ scripts เปเบ 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, เบเบฒเบเบเบฑเปเบเบญเปเบฒเบ configs เบเบทเบเปเปเป (เบซเบผเบท restart the asterisk)
# astrisk -rv
Connected to Asterisk 16.6.2 currently running on freepbx (pid = 31629)
#freepbx*CLI> dialplan reload
Dialplan reloaded.
#freepbx*CLI> exit
เบเบญเบเบเบตเปเปเบซเปเบเปเบฒเบเปเบ PHP
เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบชเบฐเบเบฃเบดเบ เปเบฅเบฐเบเบฒเบเบชเปเบฒเบเบเปเบฅเบดเบเบฒเบ
เปเบเบทเปเบญเบเบเบฒเบเปเบเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Bitrix 24, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบชเปเบฒเบฅเบฑเบ AMI, เบเปเปเบเปเบฒเบเบเบฒเบเปเบฅเบฐเปเบเปเบเปเบช, เบกเบฑเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบถเบเบชเบฒเบซเบฒเบฅเบทเปเบเบเบเปเบฒเบเบซเบฒเบ. เบเบฒเบง, เปเบกเบทเปเบญ AMI เบเบทเบเปเบเบตเบเปเบเป, เบเบฝเบเปเบเปเปเบเบตเบเบเบญเบเปเบฅเบฐเบเบฑเปเบเปเบกเปเบเบกเบฑเบ. เปเบกเบทเปเบญเบฅเบนเบเบเปเบฒเปเบเบปเปเบฒเบฎเปเบงเบก, เบกเบฑเบเบฎเปเบญเบเบเปเบเบฒเบเบญเบฐเบเบธเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบฅเบนเบเบเปเบฒเบชเบฐเบซเบกเบฑเบเบเบฑเบเปเบซเบเบเบฒเบเบเบตเปเบเปเบฒเปเบเบฑเบ. เปเบซเบเบเบฒเบเปเบเบปเปเบฒเบกเบฒเปเบเบเปเปเบเบงเบฒเบกเบเปเบฒเบกเบฐเบเบฒ, เปเบเบดเปเบ PAMI เบเปเบฝเบเปเบเบฑเบเบงเบฑเบเบเบธเบเบตเปเบกเบตเปเบเบเบชเปเบฒเบเปเบฅเบฐเบชเบฐเบซเบเบญเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฒเบเบปเบเบซเบเปเบฒเบเบตเปเบเบฒเบเบเบฑเปเบเบเบญเบเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบฒเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบ, เบเบฒเบเบชเบฐเบซเบเบฒเบก, เบเบปเบงเปเบฅเบ, เปเบฅเบฐเบญเบทเปเบเป.
เบเบฑเบเบเบตเบเบตเปเบเบฒเบเปเบเปเบเบปเปเบฒเบกเบฒ, เปเบซเบเบเบฒเบ NewExten เบเบฐเบเบทเบเบเบดเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเปเบฅเบดเบเบปเบเบเบญเบเบเปเปเปเบกเป [from-pstn], เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบเบปเปเบฒเปเบเปเบเบฅเปเบฒเบเบฑเบเบเบญเบเบชเบฒเบเปเบเบชเบฐเบเบฒเบเบเบฒเบ. เปเบกเบทเปเบญเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบเบปเบงเปเบ CallMeCallerIDName เปเบฅเบฐ CallStart เบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบ _custom dialplan,
-
เบซเบเปเบฒเบเบตเปเบเบญเบเบเบฒเบเบฎเปเบญเบเบเป UserID เบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบซเบกเบฒเบเปเบฅเบเบเบฒเบกเบชเบฐเบเบธเบเบเบตเปเบเบฒเบเปเบเบกเบฒ. เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฒเบกเบฑเบเปเบเบฑเบเบเบธเปเบก dial-up? เบเปเบฒเบเบฒเบกเปเบกเปเบเบเบฒเบเบเปเบฒเบเบเบฒเบเปเบกเบทเบญเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเบเบฒเบเปเบเปเบเบซเบฒเบเบธเบเบเบปเบเปเบเปเบงเบฅเบฒเบเบฝเบง (เปเบกเบทเปเบญเบเบธเบเบเบปเบเปเบเบซเบฒเปเบเปเบงเบฅเบฒเบเบฝเบง) เบซเบผเบทเบชเปเบฒเบเบเบฒเบกเบเบตเปเปเบเบปเบฒเปเบเบปเปเบฒเปเบเบซเบฒเปเบเปเบงเบฅเบฒเบเบตเปเปเบเบซเบฒเบเบฑเบ? เบฅเบนเบเบเปเบฒเบชเปเบงเบเปเบซเบเปเบกเบตเบเบปเบเบฅเบฐเบเบธเบ Fisrt Available, เบเบฑเปเบเบเบฑเปเบเบเปเปเบกเบตเบเบฑเบเบซเบฒเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเป, เบเบฝเบเปเบเปเปเบเบซเบฒเบเบฝเบงเปเบเบปเปเบฒเบเบฑเปเบ. เปเบเปเบเบฑเบเบซเบฒเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเปเปเบ.
-
เบเบฑเบเบเบฑเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเบฒเบเปเบเปเบ Bitrix24, เปเบเบดเปเบเบชเบปเปเบเบเบทเบ CallID, เปเบเบดเปเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบฅเบฒเบเบเบฒเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบฒเบเปเบเปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเบฑเบเบเบถเบ. เบเปเบญเบเบเบฒเบเปเบฒเบเปเบฅเบเบเบฒเบกเบชเบฐเบเบธเบ เบซเบผเบท UserID
เบซเบผเบฑเบเบเบฒเบเบชเบดเปเบเบชเบธเบเบเบฒเบเปเบ, เบเบฑเบเบเบฑเบเบเบฒเบเบเบฒเบงเปเบซเบผเบเบเบฒเบเบเบฑเบเบเบถเบเปเบกเปเบเปเบญเบตเปเบเบงเปเบฒ, เปเบเบดเปเบเบเปเบญเบกเปเบเบฑเบเบฅเบฒเบเบเบฒเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเปเบ (เบเปเปเบซเบงเปเบฒเบ, เบเปเปเบกเบตเบเปเบฒเบเบญเบ, เบชเปเบฒเปเบฅเบฑเบ), เปเบฅเบฐเบเบฑเบเบเบฒเบงเปเบซเบผเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเบฅเป 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
เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเบเบฒเบเปเบเบตเบเบเบปเบงเบเบญเบ script เปเบเบตเบเบเบทเปเบเบเปเบฒเบ systemctl เบซเบผเบทเบเปเบฅเบดเบเบฒเบ
# systemctl enable callme
# systemctl start callme
เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฐเบเบดเบเปเบเบตเบเบเบปเบงเบกเบฑเบเปเบญเบเบเบฒเบกเบเบงเบฒเบกเบเปเบญเบเบเบฒเบ (เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบฒเบเบเบฑเบเบเปเบญเบ). เบเปเบฅเบดเบเบฒเบเบเบดเบเบเบฒเบก inbox เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเบฑเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบ, เบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบ php (เปเบเบดเปเบเปเบเปเบเบญเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ FeePBX). เปเบเปเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเปเบกเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฑเบเบเบถเบเบเบฒเบเปเบเบเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบ (เบเบฑเบเบเบฑเบ https), เบกเบฑเบเบเบฐเบเปเปเบชเบฒเบกเบฒเบเบเบฑเบเบเบฑเบเบเบถเบเบเบฒเบเปเบเปเบเป.
เบเบญเบเบเบตเปเปเบซเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบญเบญเบ. script CallMeOut.php เบกเบตเบชเบญเบเบซเบเปเบฒเบเบตเป:
-
เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเปเบเปเบกเบทเปเบญเปเบเปเบฎเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเบชเปเบฒเบฅเบฑเบ php script (เบฅเบงเบกเบเบฑเบเบเบฒเบเปเบเปเบเบธเปเบก "Call" เปเบ Bitrix เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ). เบกเบฑเบเบเปเปเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเปเปเบกเบตเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป, เบเบฒเบเบฎเปเบญเบเบเปเปเบกเปเบเปเบเปเบฎเบฑเบเบเปเบฒเบ HTTP POST, เบเปเบฒเบฎเปเบญเบเบเปเบเบฐเบเบญเบเบกเบต token
-
เบเปเปเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบ, เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเปเบฅเบฐเบเบฑเบเบเบถเบเบเบญเบเบกเบฑเบเบขเบนเปเปเบ Bitrix. เบเบทเบเบเบดเบเปเบเบ Asterisk เปเบ dialplan [sub-call-internal-ended] เปเบกเบทเปเบญเบเบฒเบเปเบเบชเบดเปเบเบชเบธเบเบฅเบปเบ
เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบกเปเบเบเปเบญเบเบเบฒเบเบเบฝเบเปเบเปเบชเบญเบเบขเปเบฒเบ - เบเบฒเบเบเบฒเบงเปเบซเบฅเบเปเบเบฅเปเบเบฑเบเบเบถเบ Bitrix (เบเปเบฒเบ HTTPS) เปเบฅเบฐเบเบฒเบเปเบเบซเบฒเบชเบฐเบเบดเบ CallMeOut.php. เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเบเปเบฒโเปเบเปโเปเบเบทเปเบญเบโเปเบกเปโเบเปเบฒเบโเบเบญเบ FreePBX เบเบตเปโเบกเบตโเบขเบนเปโเปเบโ, เปเบเบฅโเปโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบ /var/www/htmlโ, เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเบเบดเบโเบเบฑเปเบโเปเบเบทเปเบญเบโเปเบกเปโเบเปเบฒเบโเบญเบทเปเบโเบซเบผเบทโเบฅเบฐโเบเบธโเปเบชเบฑเปเบโเบเบฒเบโเบเบตเปโเปเบเบโเบเปเบฒเบโเบเบฑเบโ.
เปเบเบตเบเปเบงเบตเปเบงเบฑเบ
เปเบซเปเบญเบญเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบถเบเบชเบฒเปเบญเบเบฐเบฅเบฒเบ (
เบเบฒเบเบเบดเบเบเบฑเปเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ
เบเบปเบงเบเบดเบเบเบฑเปเบเปเบเปเบเบทเบเบเบฑเบเบเบฐเบเบฒเบขเบนเปเปเบ github เปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบดเบเบเบฑเปเบเบเปเบฒเบเบเบถเปเบ. เปเบเปเบกเบฑเบเบเปเบฝเบเบขเบนเปเปเบเบเบฐเบเบฒเบ - เปเบเบเบฐเบเบฐเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบดเบเบเบฑเปเบเบกเบฑเบเบเบฑเบเบซเบกเบปเบเบเปเบงเบเบเบปเบเปเบญเบ, เบเบฑเบเบเบฑเปเบเปเบเปเบซเบผเบฑเบเบเบฒเบ tinkering เบเบฑเบเบชเบดเปเบเบเบฑเบเบซเบกเบปเบเบเบตเป, เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบงเปเบฒเปเบเบทเปเบญเบเบเบฑเบเปเบ, เปเบเปเบเปเบชเปเบฅเบฐเบงเบดเบเบตเบเบฒเบ debug เบกเบฑเบ. เบเบฑเบเบเปเปเบกเบตเบเบปเบงเบเบดเบเบเบฑเปเบเปเบเบทเปเบญ
Docker
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบเบฐเบเบฒเบเบฒเบกเปเบเปเปเบเบขเปเบฒเบเปเบงเบงเบฒ - เบกเบตเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบกเบต Docker - เบชเปเบฒเบเบเบนเปเบเบญเบเปเบเบเปเบเบตเบขเปเบฒเบเปเบงเบงเบฒ, เปเบซเปเบกเบฑเบเบเบญเบเบเบฒเบเบเบญเบ, เปเบฅเบทเปเบญเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบฐเบเบฐเบเบฒเบเบฒเบก (เบเบตเปเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบกเบตเบเปเบญเบ LetsEncrypt, เบเปเบฒเบเปเบฒเบเบกเบตเปเบเบขเบฑเปเบเบขเบทเบเปเบฅเปเบง, เบเปเบฒเบ. เบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบ redirect proxy reverse เบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป FreePBX (เบเบงเบเปเบฎเบปเบฒเปเบซเปเบกเบฑเบเบเบญเบเบญเบทเปเบเปเบกเปเบ 88), LetsEncrypt เปเบ docker เปเบเบเบญเบตเบเปเบชเป
เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบฅเปเปเบเปเบเบเปเบเบตเปเบเบเบเบฒเบเบเบฒเบงเปเบซเบผเบ (เบซเบผเบฑเบเบเบฒเบ git clone), เปเบเปเบเปเบฒเบญเบดเบเปเบเบปเปเบฒเปเบเปเบ configs เบเบฒเบง (เปเบเบเปเบเบตเบเบฒเบง) เปเบฅเบฐเบเบฝเบเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเบเบฑเบเบเบถเบเปเบฅเบฐ 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 APIs เบญเบทเปเบเปเบซเบผเบฒเบเบญเบฑเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเปเบกเปเบ PBX เบเบตเปเบกเบตเบเบฒเบเบเปเปเบชเปเบฒเบเบเบฃเบต - ShugarCRM เปเบฅเบฐ Vtiger, เปเบฅเบฐเปเบกเปเบเปเบฅเปเบง! เปเบกเปเบเปเบฅเปเบง, เบซเบผเบฑเบเบเบฒเบเปเบกเปเบเบเบทเบเบฑเบ. เปเบเปเบเบตเปเปเบกเปเบเปเบฅเบทเปเบญเบเบญเบทเปเบ, เปเบเบดเปเบเบเปเปเบกเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเบญเบฑเบเบฅเบปเบเปเบ github เปเบเบเบเปเบฒเบเบซเบฒเบ.
เปเบญเบเบฐเบชเบฒเบ
-
เบฅเบฐเบซเบฑเบเบเบปเบงเบกเบฑเบเปเบญเบเปเบกเปเบเบขเบนเปเปเบ github -
https://github.com/CrezZ/bitrix24-freepbx-php -
เปเบซเบผเปเบเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบเปเบเปเบ
https://habr.com/ru/post/349316/
เบเบฒเบเบเบฐเบเบดเปเบชเบเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบ: เบเบงเบฒเบกเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบเปเบกเปเบเบชเบปเบกเบกเบธเบเบเบดเบเบฒเบเปเบฅเบฐเบกเบฑเบเบเปเปเปเบกเปเบเบเปเบญเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com