ืคืืจืฉื˜ืื ื“ ืคื•ืŸ FreePBX ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืžื™ื˜ Bitrix24 ืื•ืŸ ืžืขืจ

Bitrix24 ืื™ื– ืึท ืจื™ื–ื™ืง ืงืึทืžื‘ื™ื™ืŸ ื•ื•ืึธืก ืงืึทืžื‘ื™ื™ื ื– CRM, ื•ื•ืึธืจืงืคืœืึธื•ื•, ืึทืงืึทื•ื ื˜ื™ื ื’ ืื•ืŸ ืคื™ืœืข ืื ื“ืขืจืข ื–ืื›ืŸ ื•ื•ืึธืก ืžืึทื ืึทื“ื–ืฉืขืจื– ื˜ืึทืงืข ื•ื•ื™ ืื•ืŸ IT ืฉื˜ืขืงืŸ ื˜ืึธืŸ ื ื™ื˜ ื˜ืึทืงืข ื•ื•ื™. ื“ืขืจ ื˜ื•ื™ืขืจ ืื™ื– ื’ืขื ื™ืฆื˜ ื“ื•ืจืš ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืงืœื™ื™ืŸ ืื•ืŸ ืžื™ื˜ืœ-ืกื™ื™ื–ื“ ืงืึธืžืคึผืึทื ื™ืขืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืงืœื™ื™ืŸ ืงืœื™ื ื™ืงืก, ืžืึทื ื™ืึทืคืึทืงื˜ืฉืขืจืขืจื– ืื•ืŸ ืืคื™ืœื• ืฉื™ื™ื ืงื™ื™ื˜ ืกืึทืœืึทื ื–. ื“ื™ ื”ื•ื™ืคึผื˜ ืคึฟื•ื ืงืฆื™ืข ื•ื•ืึธืก ืžืึทื ืึทื“ื–ืฉืขืจื– "ืœื™ื‘ืข" ืื™ื– ื“ื™ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ ื˜ืขืœืขืคืึธื ื™ ืื•ืŸ CRM, ื•ื•ืขืŸ ืงื™ื™ืŸ ืจื•ืฃ ืื™ื– ื’ืœื™ื™ืš ืจืขืงืึธืจื“ืขื“ ืื™ืŸ CRM, ืงืœื™ืขื ื˜ ืงืึทืจื“ืก ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ, ื•ื•ืขืŸ ื™ื ืงืึทืžื™ื ื’, ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ืขื ืงืœื™ืขื ื˜ ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ืื•ืŸ ืื™ืจ ืงืขื ืขืŸ ื’ืœื™ื™ืš ื–ืขืŸ ื•ื•ืขืจ ืขืจ ืื™ื–, ื•ื•ืึธืก ืขืจ ืื™ื–. ืงืขื ืขืŸ ืคืึทืจืงื•ื™ืคืŸ ืื•ืŸ ื•ื•ื™ ืคื™ืœ ืขืจ ืฉื•ืœื“ื™ืง. ืึธื‘ืขืจ ื˜ืขืœืขืคืึธื ื™ ืคื•ืŸ Bitrix24 ืื•ืŸ ื–ื™ื™ืŸ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ืžื™ื˜ CRM ืงืึธืก ื’ืขืœื˜, ืžืืœ ืึท ืคึผืœืึทืฅ. ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื™ืš ื•ื•ืขื˜ ื–ืึธื’ืŸ ืื™ืจ ื“ื™ ื“ืขืจืคืึทืจื•ื ื’ ืคื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืžื™ื˜ ืึธืคึฟืŸ ืžื›ืฉื™ืจื™ื ืื•ืŸ ื“ื™ ืคืึธืœืงืก IP ืคึผื‘ืงืก Free ืคึผื‘ืงืก, ืื•ืŸ ืื•ื™ืš ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ื™ ืœืึธื’ื™ืง ืคื•ืŸ ื“ื™ ืึทืจื‘ืขื˜ ืคื•ืŸ ืคืึทืจืฉื™ื“ืŸ ื˜ื™ื™ืœืŸ

ืื™ืš ืึทืจื‘ืขื˜ ื•ื•ื™ ืึท ืึทื•ืฆืึธืจืกืขืจ ืื™ืŸ ืึท ืคื™ืจืžืข ื•ื•ืึธืก ืคืืจืงื•ื™ืคื˜ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจ, ื™ื ื˜ืึทื’ืจื™ื™ืฅ IP ื˜ืขืœืขืคืึธื ื™. ื•ื•ืขืŸ ืื™ืš ืื™ื– ื’ืขื•ื•ืขืŸ ื’ืขืคืจืขื’ื˜ ืื•ื™ื‘ ืžื™ืจ ืงืขื ืขืŸ ืคืึธืจืฉืœืึธื’ืŸ ืขืคึผืขืก ืฆื• ื“ืขื ืื•ืŸ ื“ืขื ืคื™ืจืžืข ืฆื• ื•ื™ืกืฉื˜ื™ืžืขืŸ Bitrix24 ืžื™ื˜ ืคึผื‘ืงืก ื•ื•ืึธืก ืงืึทืกื˜ืึทืžืขืจื– ื”ืึธื‘ืŸ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืžื™ื˜ ื•ื•ื™ืจื˜ื•ืึทืœ ืคึผื‘ืงืก ืื•ื™ืฃ ืคืึทืจืฉื™ื“ืŸ VDS ืงืึธืžืคึผืึทื ื™ืขืก, ืื™ืš ื’ืขื’ืื ื’ืขืŸ ืฆื• Google. ืื•ืŸ ืคื•ืŸ ืงื•ืจืก ืขืจ ื”ืื˜ ืžื™ืจ ืึท ืœื™ื ืง ืฆื• ืืจื˜ื™ืงืœ ืื™ืŸ ื”ืื‘, ื•ื•ื• ืขืก ืื™ื– ืึท ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’, ืื•ืŸ ื’ื™ื˜ื”ื•ื‘, ืื•ืŸ ืึทืœืฅ ืžื™ื™ื ื˜ ืฆื• ืึทืจื‘ืขื˜ืŸ. ืึธื‘ืขืจ ื•ื•ืขืŸ ืื™ืจ ืคึผืจื•ึผื•ื•ื˜ ืฆื• ื ื•ืฆืŸ ื“ืขื ืœื™ื™ื–ื•ื ื’, ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก ืึทื– Bitrix24 ืื™ื– ื ื™ื˜ ืžืขืจ ื“ื™ ื–ืขืœื‘ืข ื•ื•ื™ ืคืจื™ืขืจ, ืื•ืŸ ืคื™ืœ ื“ืึทืจืฃ ื–ื™ื™ืŸ ืจื™ื“ืึทืŸ. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, FreePBX ืื™ื– ื ื™ืฉื˜ ืึท ื ืึทืงืขื˜ ืึทืกื˜ืขืจื™ืกืง ืคึฟืึทืจ ืื™ืจ, ื“ืึธ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ื•ื•ื™ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ื™ื– ืคื•ืŸ ื ื•ืฆืŸ ืื•ืŸ ืึท ื›ืึทืจื“ืงืึธืจ ื“ื™ืึทืœืคึผืœืึทืŸ ืื™ืŸ ืงืึธื ืคื™ื’ ื˜ืขืงืขืก.

ืžื™ืจ ืœืขืจื ืขืŸ ื“ื™ ืœืึธื’ื™ืง ืคื•ืŸ ืึทืจื‘ืขื˜

ืึทื–ื•ื™ ืคึฟืึทืจ ืกื˜ืึทืจื˜ืขืจืก, ื•ื•ื™ ืขืก ื–ืึธืœ ืึทืœืข ืึทืจื‘ืขื˜. ื•ื•ืขืŸ ืึท ืจื•ืฃ ืื™ื– ื‘ืืงื•ืžืขืŸ ืคื•ืŸ ืึทืจื•ื™ืก ื“ื™ ืคึผื‘ืงืก (SIP INVITE ื’ืขืฉืขืขื ื™ืฉ ืคื•ืŸ ื“ืขืจ ืฉืคึผื™ื™ึทื–ืขืจ), ื“ื™ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ื“ื™ ื“ื™ืึทืœืคึผืœืึทืŸ (ืจืขื“ืœ ืคึผืœืึทืŸ, ื“ื™ืึทืœืคึผืœืึทืŸ) ื”ื™ื™ื‘ื˜ - ื“ื™ ื›ึผืœืœื™ื ืคื•ืŸ ื•ื•ืึธืก ืื•ืŸ ืื™ืŸ ื•ื•ืึธืก ืกื“ืจ ืฆื• ื˜ืึธืŸ ืžื™ื˜ ื“ื™ ืจื•ืคืŸ. ืคื•ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืคึผืึทืงืึทื˜, ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ื“ื™ ื›ึผืœืœื™ื. ืึท ื•ื™ืกื’ืขืฆื™ื™ื›ื ื˜ ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ืœืขืจื ืขืŸ ื“ื™ ื™ื ื˜ืขืจื ืึทืœืก ืคื•ืŸ SIP ืื™ื– ื“ื™ ืึทื ืึทืœื™ื–ืขืจ sngrep (ืจื•ื ื’) ื•ื•ืึธืก ืื™ื– ืคืฉื•ื˜ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื™ืŸ ืคืึธืœืงืก ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื– ื“ื•ืจืš ืคื™ื™ื™ืง ื™ื ืกื˜ืึทืœืœ / ื™ืึทื ื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ืŸ ื“ื™ ื•ื•ื™, ืึธื‘ืขืจ ืขืก ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ื’ืขื‘ื•ื™ื˜ ืคึฟื•ืŸ ืžืงื•ืจ. ื–ืืœ ืก ืงื•ืง ืื™ืŸ ื“ื™ ืจื•ืคืŸ ืงืœืึธืฅ ืื™ืŸ sngrep

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ FreePBX ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืžื™ื˜ Bitrix24 ืื•ืŸ ืžืขืจ

ืื™ืŸ ืึท ืกื™ืžืคึผืœืึทืคื™ื™ื“ ืคืึธืจืขื, ื“ื™ ื“ื™ืึทืœืคึผืœืึทืŸ ื”ืึทื ื“ืœื˜ ื‘ืœื•ื™ื– ืžื™ื˜ ื“ืขืจ ืขืจืฉื˜ืขืจ ืคึผืึทืงืึทื˜, ืžืืœ ืื•ื™ืš ื‘ืขืฉืึทืก ื“ื™ ืฉืžื•ืขืก, ืงืึทืœืœืก ื–ืขื ืขืŸ ื˜ืจืึทื ืกืคืขืจื“, ืงื ืขืคึผืœ ื“ืจื™ืงื˜ (DTMF), ืคืึทืจืฉื™ื“ืŸ ื˜ืฉื™ืงืึทื•ื•ืข ื–ืื›ืŸ ื•ื•ื™ FollowMe, RingGroup, IVR ืื•ืŸ ืื ื“ืขืจืข.

ื•ื•ืึธืก ืก ื™ืŸ ื“ื™ ื™ื ื•ื•ื™ื™ื˜ ืคึผืึทืง

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ FreePBX ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืžื™ื˜ Bitrix24 ืื•ืŸ ืžืขืจ

ืึทืงื˜ื•ืึทืœืœื™, ืจื•ื‘ึฟ ืคึผืฉื•ื˜ ื“ื™ืึทืœืคึผืœืึทื ื– ืึทืจื‘ืขื˜ ืžื™ื˜ ื“ื™ ืขืจืฉื˜ืขืจ ืฆื•ื•ื™ื™ ืคืขืœื“ืขืจ, ืื•ืŸ ื“ื™ ื’ืื ืฆืข ืœืึธื’ื™ืง ืจื™ื•ื•ืึทืœื•ื•ื– ืึทืจื•ื DID ืื•ืŸ CallerID. DID - ื•ื•ื•ึผ ืžื™ืจ ืจื•ืคืŸ, CallerID - ื•ื•ืขืจ ืจื•ืคื˜.

ืึธื‘ืขืจ ื ืึธืš ืึทืœืข, ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืคื™ืจืžืข ืื•ืŸ ื ื™ืฉื˜ ืื™ื™ืŸ ื˜ืขืœืขืคืึธืŸ - ื•ื•ืึธืก ืžื™ื˜ืœ ืึทื– ื“ื™ ืคึผื‘ืงืก ืจื•ื‘ึฟ ืžืกืชึผืžื ื”ืื˜ ืจื•ืคืŸ ื’ืจื•ืคึผืขืก (ืกื™ืžืึทืœื˜ื™ื™ื ื™ืึทืก / ืงืึธื ืกืขืงื•ื˜ื™ื•ื•ืข ืจื™ื ื’ื™ื ื’ ืคื•ืŸ ืขื˜ืœืขื›ืข ื“ืขื•ื•ื™ืกืขืก) ืื•ื™ืฃ ืฉื˜ืึธื˜ ื ื•ืžืขืจืŸ (ืจื™ื ื’ ื’ืจื•ืคืข), IVR (ื”ืขืœื, ืื™ืจ ื”ืึธื˜ ื’ืขืจื•ืคึฟืŸ ... ื“ืจื•ืง ืื™ื™ื ืขืจ ืคึฟืึทืจ ...), ืขื ื˜ืคึฟืขืจืŸ ืžืืฉื™ื ืขืŸ (ืคืจืึทืกืขืก), ืฆื™ื™ื˜ ืงืึธื ื“ื™ื˜ื™ืึธื ืก, ืคืึธืจื•ื•ืขืจื“ื™ื ื’ ืฆื• ืื ื“ืขืจืข ื ื•ืžืขืจืŸ ืึธื“ืขืจ ืฆื• ืึท ืฆืขืœ (FollowMe, Forward). ื“ืืก ืžื™ื™ื ื˜ ืื– ืก'ืื™ื– ื–ื™ื™ืขืจ ืฉื•ื•ืขืจ ืฆื• ื‘ืืฉื˜ื™ืžืขืŸ ืืŸ ืืžื‘ื™ื’ื™ื•ืขืœืข ื•ื•ืขืจ ืขืก ื•ื•ืขื˜ ื˜ืืงืข ื‘ืืงื•ืžืขืŸ ื ืจื•ืฃ ืื•ืŸ ืžื™ื˜ ื•ื•ืขืžืขืŸ ื•ื•ืขื˜ ืฉืžื•ืขืกืŸ ื•ื•ืขืŸ ื ืจื•ืฃ ืงื•ืžื˜ ืืŸ. ื“ืึธ ืื™ื– ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ืึท ื˜ื™ืคึผื™ืฉ ืจื•ืคืŸ ืื™ืŸ ื“ื™ ืคึผื‘ืงืก ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืงืœื™ื™ืึทื ืฅ

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ FreePBX ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืžื™ื˜ Bitrix24 ืื•ืŸ ืžืขืจ

ื ืึธืš ื“ืขืจ ืจื•ืฃ ื”ืฆืœื—ื” ืงื•ืžื˜ ืื™ืŸ ื“ื™ ืคึผื‘ืงืก, ืขืก ื˜ืจืึทื•ื•ืึทืœื– ื“ื•ืจืš ื“ื™ ื“ื™ืึทืœืคึผืœืึทืŸ ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข "ืงืึธื ื˜ืขืงืกืฅ". ื“ืขืจ ืงืึธื ื˜ืขืงืกื˜ ืคึฟื•ืŸ ื“ื™ ืคื•ื ื˜ ืคื•ืŸ ืžื™ื™ื ื•ื ื’ ืคื•ืŸ ืึทืกื˜ืขืจื™ืกืง ืื™ื– ืึท ื’ืขืฆื™ื™ืœื˜ ื’ืึทื ื’ ืคื•ืŸ ืงืึทืžืึทื ื“ื–, ื™ืขื“ืขืจ ืคื•ืŸ ื•ื•ืึธืก ื›ึผื•ืœืœ ืึท ืคื™ืœื˜ืขืจ ื“ื•ืจืš ื“ื™ ื“ื™ื™ืึทืœื“ ื ื•ืžืขืจ (ืขืก ืื™ื– ื’ืขืจื•ืคืŸ ืขืงืกื˜ืขืŸ, ืคึฟืึทืจ ืึท ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืจื•ืคืŸ ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ ื‘ื™ื ืข exten=DID). ื“ื™ ืงืึทืžืึทื ื“ื– ืื™ืŸ ื“ื™ ื“ื™ืึทืœืคึผืœืึทืŸ ืฉื•ืจื” ืงืขื ืขืŸ ื–ื™ื™ืŸ ืขืคึผืขืก - ื™ื ืขืจืœืขืš ืคืึทื ื’ืงืฉืึทื ื– (ืœืžืฉืœ, ืจื•ืคืŸ ืึทืŸ ื™ื ืขืจืœืขืš ืึทื‘ืึธื ืขื ื˜ - Dial(), ืฉื˜ืขืœืŸ ืึทืจืึธืคึผ ื“ื™ ื˜ืขืœืขืคืึธืŸ - Hangup()), ืงืึทื ื“ื™ืฉืึทื ืึทืœ ืึธืคึผืขืจื™ื™ื˜ืขืจื– (IF, ELSE, ExecIF ืื•ืŸ ื“ื™ ื•ื•ื™), ื˜ืจืึทื ื–ื™ืฉืึทื ื– ืฆื• ืื ื“ืขืจืข ื›ึผืœืœื™ื ืคื•ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ (Goto, GotoIF), ื™ื‘ืขืจื’ืึทื ื’ ืฆื• ืื ื“ืขืจืข ืงืึทื ื˜ืขืงืกืฅ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท ืคื•ื ืงืฆื™ืข ืจื•ืคืŸ (ื’ืึธืกื•ื‘, ืžืึทืงืจืึธื•). ื ื‘ืื–ื•ื ื“ืขืจืข ื“ื™ืจืขืงื˜ื™ื•ื• include ะธะผั_ะบะพะฝั‚ะตะบัั‚ะฐ, ื•ื•ืึธืก ืžื•ืกื™ืฃ ืงืึทืžืึทื ื“ื– ืคื•ืŸ ืืŸ ืื ื“ืขืจ ืงืึธื ื˜ืขืงืกื˜ ืฆื• ื“ื™ ืกื•ืฃ ืคื•ืŸ ื“ืขื ืงืจืึทื ื˜ ืงืึธื ื˜ืขืงืกื˜. ืงืึทืžืึทื ื“ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื•ืจืš ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื–ืขื ืขืŸ ืฉื˜ืขื ื“ื™ืง ืขืงืกืึทืงื™ื•ื˜ืึทื“ ื ืึธืš ืงืึทืžืึทื ื“ื– ืคื•ืŸ ื“ืขื ืงืจืึทื ื˜ ืงืึธื ื˜ืขืงืกื˜.

ื“ื™ ื’ืื ืฆืข ืœืึธื’ื™ืง ืคื•ืŸ FreePBX ืื™ื– ื’ืขื‘ื•ื™ื˜ ืื•ื™ืฃ ื“ื™ ื™ื ืงืœื•ื–ืฉืึทืŸ ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืงืึทื ื˜ืขืงืกืฅ ืื™ืŸ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ ื“ื•ืจืš ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืื•ืŸ ืจื•ืคืŸ ื“ื•ืจืš Gosub, Macro ืื•ืŸ Handler ื”ืึทื ื“ืœืขืจืก. ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ื™ ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ื™ื ืงืึทืžื™ื ื’ FreePBX ืงืึทืœืœืก

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ FreePBX ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืžื™ื˜ Bitrix24 ืื•ืŸ ืžืขืจ

ื“ืขืจ ืจื•ืฃ ื’ื™ื™ื˜ ื“ื•ืจืš ืึทืœืข ืงืึทื ื˜ืขืงืกืฅ ืคื•ืŸ ืฉืคึผื™ืฅ ืฆื• ื“ื ืึธ ืื™ืŸ ืงืขืจ, ืื™ืŸ ื™ืขื“ืขืจ ืงืึธื ื˜ืขืงืกื˜ ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืจื•ืคื˜ ืฆื• ืื ื“ืขืจืข ืงืึทื ื˜ืขืงืกืฅ ื•ื•ื™ ืžืึทืงืจืึธืก (ืžืึทืงืจืึธ), ืคืึทื ื’ืงืฉืึทื ื– (ื’ืึธืกื•ื‘) ืึธื“ืขืจ ื ืึธืจ ื˜ืจืึทื ื–ื™ืฉืึทื ื– (ื’ืึธื˜ืึธ), ืึทื–ื•ื™ ื“ืขืจ ืขืžืขืก ื‘ื•ื™ื ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขืจื•ืคืŸ ืงืขื ืขืŸ ื‘ืœื•ื™ื– ื–ื™ื™ืŸ ื˜ืจืึทืงื˜ ืื™ืŸ ื“ื™ ืœืึธื’ืก.

ื ื˜ื™ืคึผื™ืฉ ืกืขื˜ืึทืคึผ ื“ื™ืึทื’ืจืึทืžืข ืคึฟืึทืจ ืึท ื˜ื™ืคึผื™ืฉ ืคึผื‘ืงืก ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ืื•ื ื˜ืŸ. ื•ื•ืขืŸ ืื™ืจ ืจื•ืคืŸ, DID ืื™ื– ื’ืขื–ื•ื›ื˜ ืื™ืŸ ื™ื ืงืึทืžื™ื ื’ ืจื•ืฅ, ืฆื™ื™ึทื˜ื•ื•ื™ื™ึทืœื™ืง ื˜ื ืึธื™ื ื–ืขื ืขืŸ ืึธืคึผื’ืขืฉื˜ืขืœื˜ ืคึฟืึทืจ ืขืก, ืื•ื™ื‘ ืึทืœืฅ ืื™ื– ืื™ืŸ ืกื“ืจ, ื“ื™ ืงื•ืœ ืžืขื ื™ื• ืื™ื– ืœืึธื ื˜ืฉื˜. ืคื•ืŸ ืขืก, ื“ื•ืจืš ื“ืจื™ื ื’ืœืขืš ืงื ืขืคึผืœ 1 ืึธื“ืขืจ ื˜ื™ื™ืžืึทื•ื˜, ื’ื™ื™ืŸ ืฆื• ื“ื™ ื’ืจื•ืคึผืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ื™ืœื™ื ื’ ืึธืคึผืขืจื™ื™ื˜ืขืจื–. ื ืึธืš ื“ื™ ืจื•ืคืŸ ืขื ื“ืก, ื“ื™ ื”ืึทื ื’ื•ืคึผืงืึทืœืœ ืžืึทืงืจืึธื• ืื™ื– ื’ืขืจื•ืคืŸ, ื ืึธืš ื•ื•ืึธืก ื’ืึธืจื ื™ืฉื˜ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ืื™ืŸ ื“ื™ ื“ื™ืึทืœืคึผืœืึทืŸ, ืึทื—ื•ืฅ ืคึฟืึทืจ ืกืคึผืขืฆื™ืขืœ ื”ืึทื ื“ืœืขืจืก (ื”ืึทื ื’ืึทืคึผ ื”ืึทื ื“ืœืขืจ).

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ FreePBX ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืžื™ื˜ Bitrix24 ืื•ืŸ ืžืขืจ

ื•ื•ื•ึผ ืื™ืŸ ื“ืขื ืจื•ืคืŸ ืึทืœื’ืขืจื™ื“ืึทื ื–ืึธืœ ืžื™ืจ ืฆื•ืฉื˜ืขืœืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ ืจื•ืคืŸ ืฆื• CRM, ื•ื•ื• ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืจืขืงืึธืจื“ื™ื ื’, ื•ื•ื• ืฆื• ืขื ื“ื™ืงืŸ ื“ื™ ืจืขืงืึธืจื“ื™ื ื’ ืื•ืŸ ืฉื™ืงืŸ ืขืก ืžื™ื˜ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ืจื•ืคืŸ ืฆื• CRM?

ื™ื ื˜ืขื’ืจืึทื˜ื™ืึธืŸ ืžื™ื˜ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืกื™ืกื˜ืขืžืขืŸ

ื•ื•ืึธืก ืื™ื– PBX ืื•ืŸ CRM ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ? ื“ืึธืก ื–ืขื ืขืŸ ืกืขื˜ื˜ื™ื ื’ืก ืื•ืŸ ืžื’ื™ืœื” ื•ื•ืึธืก ื’ืขืจ ื“ืึทื˜ืŸ ืื•ืŸ ื’ืขืฉืขืขื ื™ืฉืŸ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืฆื•ื•ื™ื™ ืคึผืœืึทื˜ืคืึธืจืžืก ืื•ืŸ ืฉื™ืงืŸ ื–ื™ื™ ืฆื• ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ. ื“ื™ ืžืขืจืกื˜ ืคึผืจืึธืกื˜ ื•ื•ืขื’ ืคึฟืึทืจ ืคืจื™ื™ึท ืกื™ืกื˜ืขืžืขืŸ ืฆื• ื™ื‘ืขืจื’ืขื‘ืŸ ืื™ื– ื“ื•ืจืš ืึทืคึผื™ืก, ืื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ื•ื•ืขื’ ืฆื• ืึทืงืกืขืก API ืื™ื– HTTP REST. ืึธื‘ืขืจ ื ื™ืฉื˜ ืคึฟืึทืจ ืึทืกื˜ืขืจื™ืกืง.

ื™ืŸ ืึทืกื˜ืขืจื™ืกืง ืื™ื–:

  • AGI - ืกื™ื ื˜ืฉืจืึธื ืึธื•ืก ืจื•ืคืŸ ืคื•ืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืžื’ื™ืœื” / ืงืึทืžืคึผืึธื•ื ืึทื ืฅ, ื“ืขืจ ื”ื•ื™ืคึผื˜ ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ ื“ื™ืึทืœืคึผืœืึทืŸ, ืขืก ื–ืขื ืขืŸ ืœื™ื™ื‘ืจืขืจื™ื– ื•ื•ื™ phpagi, PAGI

  • AMI - ืึท ื˜ืขืงืกื˜ TCP ื›ืึธืœืขืœ ื•ื•ืึธืก ืึทืจื‘ืขื˜ ืื•ื™ืฃ ื“ืขื ืคึผืจื™ื ืฆื™ืคึผ ืคื•ืŸ ืึทื‘ืึธื ื™ืจืŸ ืฆื• ื’ืขืฉืขืขื ื™ืฉืŸ ืื•ืŸ ืึทืจื™ื™ึทืŸ ื˜ืขืงืกื˜ ืงืึทืžืึทื ื“ื–, ืจื™ื–ืขืžื‘ืึทืœื– SMTP ืคึฟื•ืŸ ืื™ื ืขื•ื•ื™ื™ื ื™ืง, ืงืขื ืขืŸ ืฉืคึผื•ืจ ื’ืขืฉืขืขื ื™ืฉืŸ ืื•ืŸ ืคื™ืจืŸ ืงืึทืœืœืก, ืขืก ืื™ื– ืึท ื‘ื™ื‘ืœื™ืึธื˜ืขืง PAMI - ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ืคึฟืึทืจ ืฉืืคืŸ ืึท ืงืฉืจ ืžื™ื˜ ืึทืกื˜ืขืจื™ืกืง

AMI ืจืขื–ื•ืœื˜ืึทื˜ ื‘ื™ื™ึทืฉืคึผื™ืœ

ื’ืขืฉืขืขื ื™ืฉ: ื ื™ื• ืงืึทื ืึทืœ
ืคึผืจื™ื•ื•ื™ืœืขื’ื™ืข: ืจื•ืคืŸ, ืึทืœืข
ืงืึทื ืึทืœ: PJSIP/VMS_pjsip-0000078b
ืงืึทื ืึทืœ ืฉื˜ืึทื˜: 4
ChannelStateDesc: ืจื™ื ื’
ืงืึทืœืœืขืจ ื™ื“ื ื•ื: 111222
ืงืึทืœืœืขืจ ื™ื™ื“ืŸ ื ืึธืžืขืŸ: 111222
ืงืึธื ื ืขืงื˜ืขื“ ืœื™ื ื™ืข ื ื•ืžืขืจ:
ืงืึธื ื ืขืงื˜ืขื“ ืฉื•ืจื” ื ืึธืžืขืŸ:
ืฉืคึผืจืึทืš: ืขืŸ
ื—ืฉื‘ื•ืŸ ืงืึธื“:
ืงืึธื ื˜ืขืงืกื˜: ืคึฟื•ืŸ-ืคึผืกื˜ืŸ
ืขืงืกื˜ืขืŸ: ืก
ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜: 1
ื™ื™ื ืฆื™ืง: 1599589046.5244
ืœื™ื ืงืขื“ืขื“: 1599589046.5244

  • ARI ืื™ื– ืึท ื’ืขืžื™ืฉ ืคื•ืŸ ื‘ื™ื™ื“ืข, ืึทืœืข ื“ื•ืจืš REST, WebSocket, ืื™ืŸ JSON ืคึฟืึธืจืžืึทื˜ - ืึธื‘ืขืจ ืžื™ื˜ ืคืจื™ืฉ ืœื™ื™ื‘ืจืขืจื™ื– ืื•ืŸ ืจืึทืคึผืขืจื–, ื ื™ืฉื˜ ื–ื™ื™ืขืจ ื’ื•ื˜, ืึธืคืึทื ื“ ื’ืขืคึฟื•ื ืขืŸ (phparia, phpari) ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืืจืŸ ืื™ืŸ ื–ื™ื™ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื•ื•ืขื’ืŸ ืงืกื ื•ืžืงืก ื™ืึธืจืŸ ืฆื•ืจื™ืง.

ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ARI ืจืขื–ื•ืœื˜ืึทื˜ ื•ื•ืขืŸ ืึท ืจื•ืคืŸ ืื™ื– ื™ื ื™ืฉื™ื™ื™ื˜ื™ื“

{"variable":"CallMeCallerIDName", "value":"111222", "type":"ChannelVarset", "timestamp":"2020-09-09T09:38:36.269+0000", "channel":{"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:5ื‘:ืึทืึท:ืึท:ืึท:ืึท", "ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ":"ื”ืขืœื-ื•ื•ืขืœื˜"}

ืงืึทื ื•ื•ื™ื ื™ืึทื ืก ืึธื“ืขืจ ื™ื ืงืึทื ื•ื•ื™ื ื™ืึทื ืก, ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืึธื“ืขืจ ื™ืžืคึผืึธืกื™ื‘ื™ืœื™ื˜ื™ ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืึทืคึผื™ ื–ืขื ืขืŸ ื‘ืืฉืœืืกืŸ ื“ื•ืจืš ื“ื™ ื˜ืึทืกืงืก ื•ื•ืึธืก ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืกืึทืœื•ื•ื“. ื“ื™ ื˜ืึทืกืงืก ืคึฟืึทืจ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ืžื™ื˜ CRM ื–ืขื ืขืŸ ื•ื•ื™ ื’ื™ื™ื˜:

  • ืฉืคึผื•ืจ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ ืจื•ืคืŸ, ื•ื•ื• ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื˜ืจืึทื ืกืคืขืจื“, ืฆื™ืขืŸ ืื•ื™ืก CallerID, DID, ืึธื ื”ื™ื™ื‘ ืื•ืŸ ืกื•ืฃ ืฆื™ื™ื˜, ืืคึฟืฉืจ ื“ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ (ืฆื• ื–ื•ื›ืŸ ืคึฟืึทืจ ืึท ืงืฉืจ ืฆื•ื•ื™ืฉืŸ ื“ื™ ื˜ืขืœืขืคืึธืŸ ืื•ืŸ ื“ื™ CRM ื‘ืึทื ื™ืฆืขืจ)

  • ืึธื ื”ื™ื™ื‘ ืื•ืŸ ืกื•ืฃ ื“ื™ ืจืขืงืึธืจื“ื™ื ื’ ืคื•ืŸ ื“ื™ ืจื•ืคืŸ, ื”ื™ื˜ ืขืก ืื™ืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืคึฟืึธืจืžืึทื˜, ืžื™ื˜ื˜ื™ื™ืœืŸ ืื™ืŸ ื“ื™ ืกื•ืฃ ืคื•ืŸ ื“ื™ ืจืขืงืึธืจื“ื™ื ื’ ื•ื•ื• ื“ื™ ื˜ืขืงืข ืื™ื– ืœื™ื’ืŸ

  • ืึธื ื”ื™ื™ื‘ืŸ ืึท ืจื•ืฃ ืื•ื™ืฃ ืึท ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื’ืขืฉืขืขื ื™ืฉ (ืคื•ืŸ ื“ื™ ืคึผืจืึธื’ืจืึทื), ืจื•ืคืŸ ืึทืŸ ื™ื ืขืจืœืขืš ื ื•ืžืขืจ, ืึท ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื ื•ืžืขืจ ืื•ืŸ ืคืึทืจื‘ื™ื ื“ืŸ ื–ื™ื™

  • ืึธืคึผื˜ื™ืึธื ืึทืœ: ื•ื™ืกืฉื˜ื™ืžืขืŸ ืžื™ื˜ CRM, ื“ื™ืึทืœืขืจ ื’ืจื•ืคึผืขืก ืื•ืŸ FollowME ืคึฟืึทืจ ืึธื˜ืึทืžืึทื˜ื™ืง ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคื•ืŸ ืงืึทืœืœืก ืื™ืŸ ื“ืขืจ ืึทื•ื•ืขืง ืคื•ืŸ ืึท ืคึผืœืึทืฅ (ืœื•ื™ื˜ CRM)

ืึทืœืข ื“ื™ ื˜ืึทืกืงืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืกืึทืœื•ื•ื“ ื“ื•ืจืš AMI ืึธื“ืขืจ ARI, ืึธื‘ืขืจ ARI ื’ื™ื˜ ืคื™ืœ ื•ื•ื™ื™ื ื™ืงืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืขืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืคื™ืœืข ื’ืขืฉืขืขื ื™ืฉืŸ, ืคื™ืœืข ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื•ื•ืึธืก AMI ื ืึธืš ื”ืื˜ (ืœืžืฉืœ, ืžืึทืงืจืึธื• ืงืึทืœืœืก, ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื™ืŸ ืžืึทืงืจืึธืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืจื•ืคืŸ ืจืขืงืึธืจื“ื™ื ื’) ื–ืขื ืขืŸ ื ื™ืฉื˜ ื˜ืจืึทืงื˜. ื“ืขืจื™ื‘ืขืจ, ืคึฟืึทืจ ืจื™ื›ื˜ื™ืง ืื•ืŸ ืคึผื™ื ื˜ืœืขืš ื˜ืจืึทืงื™ื ื’, ืœืึธื–ืŸ ืื•ื ื“ื– ืงืœื™ื™ึทื‘ืŸ AMI ืคึฟืึทืจ ืื™ืฆื˜ (ืึธื‘ืขืจ ื ื™ืฉื˜ ื’ืึธืจ). ืื™ืŸ ื“ืขืจืฆื• (ื ื•, ื•ื•ื• ื•ื•ืึธืœื˜ ืขืก ื–ื™ื™ืŸ ืึธืŸ ื“ืขื, ืžื™ืจ ื–ืขื ืขืŸ ืคื•ื™ืœ ืžืขื ื˜ืฉืŸ) - ืื™ืŸ ื“ืขืจ ืึธืจื™ื’ื™ื ืขืœ ืึทืจื‘ืขื˜ (ืืจื˜ื™ืงืœ ืื™ืŸ ื”ืื‘) ื ื•ืฆืŸ PAMI. *ื“ืขืจื ืึธืš ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืจื™ืจื™ื™ื˜ ืฆื• ARI, ืึธื‘ืขืจ ื ื™ืฉื˜ ื“ื™ ืคืึทืงื˜ ืึทื– ืขืก ื•ื•ืขื˜ ืึทืจื‘ืขื˜ืŸ.

ืจื™ื™ื ื•ื•ืขื ื˜ื™ื ื’ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ

ื›ึผื“ื™ ืื•ื ื“ื–ืขืจ FreePBX ื–ืึธืœ ืงืขื ืขืŸ ื‘ืึทืจื™ื›ื˜ ืฆื• AMI ืื™ืŸ ืคึผืฉื•ื˜ ื•ื•ืขื’ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ ืจื•ืคืŸ, ืกื•ืฃ ืฆื™ื™ื˜, ื ื•ืžืขืจืŸ, ื ืขืžืขืŸ ืคื•ืŸ ืจืขืงืึธืจื“ืขื“ ื˜ืขืงืขืก, ืขืก ืื™ื– ื™ื–ื™ืึทืกื˜ ืฆื• ืจืขื›ืขื ืขืŸ ื“ื™ ื’ืขื“ื•ื™ืขืจ ืคื•ืŸ ื“ื™ ืจื•ืคืŸ ืžื™ื˜ ื“ื™ ื–ืขืœื‘ืข ื˜ืจื™ืง ื•ื•ื™ ื“ื™ ืึธืจื™ื’ื™ื ืขืœ ืžื—ื‘ืจื™ื. - ืึทืจื™ื™ึทืŸ ื“ื™ื™ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืื•ืŸ ืคึผืึทืจืก ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคึฟืึทืจ ื–ื™ื™ืขืจ ื‘ื™ื™ึทื–ื™ื™ึทืŸ. PAMI ืกืึทื’ื“ื–ืฉืขืกืฅ ืฆื• ื˜ืึธืŸ ื“ืึธืก ืคืฉื•ื˜ ื“ื•ืจืš ืึท ืคื™ืœื˜ืขืจ ืคื•ื ืงืฆื™ืข.

ื“ืึธ ืื™ื– ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืคึฟืึทืจ ื“ื™ ืึธื ื”ื™ื™ื‘ ืฆื™ื™ื˜ ืคื•ืŸ ื“ื™ ืจื•ืคืŸ (ืก ืื™ื– ืึท ืกืคึผืขืฆื™ืขืœ ื ื•ืžืขืจ ืื™ืŸ ื“ื™ ื“ื™ืึทืœืคึผืœืึทืŸ ื•ื•ืึธืก ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืื™ื™ื“ืขืจ ืื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ื“ืขื ื–ื•ื›ืŸ)

[ext-did-custom]

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

ืึท ื‘ื™ื™ืฉืคึผื™ืœ AMI ื’ืขืฉืขืขื ื™ืฉ ืคึฟืึทืจ ื“ืขื ืฉื•ืจื”

ื’ืขืฉืขืขื ื™ืฉ: ื ื™ื• ืงืึทื ืึทืœ

ืคึผืจื™ื•ื•ื™ืœืขื’ื™ืข: ืจื•ืคืŸ, ืึทืœืข

ืงืึทื ืึทืœ: PJSIP/VMS_pjsip-0000078b

ืงืึทื ืึทืœ ืฉื˜ืึทื˜: 4

ChannelStateDesc: ืจื™ื ื’

ืงืึทืœืœืขืจ ื™ื“ื ื•ื: 111222

ืงืึทืœืœืขืจ ื™ื™ื“ืŸ ื ืึธืžืขืŸ: 111222

ืงืึธื ื ืขืงื˜ืขื“ ืœื™ื ื™ืข ื ื•ืžืขืจ:

ืงืึธื ื ืขืงื˜ืขื“ ืฉื•ืจื” ื ืึธืžืขืŸ:

ืฉืคึผืจืึทืš: ืขืŸ

ื—ืฉื‘ื•ืŸ ืงืึธื“:

ืงืึธื ื˜ืขืงืกื˜: ืคึฟื•ืŸ-ืคึผืกื˜ืŸ

ืขืงืกื˜ืขืŸ: ืก

ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜: 1

ื™ื™ื ืฆื™ืง: 1599589046.5244

ืœื™ื ืงืขื“ืขื“: 1599589046.5244

ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ: ืฉื˜ืขืœืŸ ืึทืคึผืคึผื“ืึทื˜ืึท:

CallStart = 1599571046

ื•ื•ื™ื™ึทืœ ืคืจืขืขืคึผื‘ืงืก ืึธื•ื•ื•ืขืจืจื™ื™ืฅ ื“ื™ ืขืงืกื˜ืขื ืกื™ืึธืŸ.ืงืึธื ืฃ ืื•ืŸ ืขืงืกื˜ืขื ืกื™ืึธืŸ_ ื˜ืขืงืขืกadditional.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 ื•ื•ื™ืœ ืขืก (ื™ืึธ, ืขืก ืงืขื ืขืŸ .ืึทืขืœ, ืึธื‘ืขืจ ื ื™ื˜ ืึทืœืข ื•ื•ืขืจืกื™ืขืก ืื•ืŸ ืขืก ืื™ื– ื ื™ื˜ ืฉื˜ืขื ื“ื™ืง ื‘ืึทืงื•ื•ืขื)

  • ืึทื ืฉื˜ืึธื˜ ืคึผืจืึทืกืขืกื™ื ื’ ื“ื™ ืกื•ืฃ ื“ื•ืจืš exten=>h, ืคึผืจืึทืกืขืกื™ื ื’ ืื™ื– ื‘ืึทืงืขื ืขื  ื“ื•ืจืš ื”ืึทื ื’ื•ืคึผ_ื”ืึทื ื“ืœืขืจ, ื•ื•ื™ื™ึทืœ ื“ื™ FreePBX ื“ื™ืึทืœืคึผืœืึทืŸ ื’ืขืืจื‘ืขื˜ ื‘ืœื•ื™ื– ืžื™ื˜ ืื™ื

  • ืคืึทืจืคืขืกื˜ื™ืงื˜ ืฉืจื™ืคื˜ ืจื•ืคืŸ ืฉื˜ืจื™ืงืœ, ืฆื•ื’ืขื’ืขื‘ืŸ ืงื•ื•ืึธื˜ืขืก ืื•ืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืจื•ืคืŸ ื ื•ืžืขืจ ืขืงืกื˜ื ื•ื

  • ืคึผืจืึทืกืขืกื™ื ื’ ืื™ื– ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• _ืงืึทืกื˜ืึทื ืงืึทื ื˜ืขืงืกืฅ ืื•ืŸ ืึทืœืึทื•ื– ืื™ืจ ื ื™ืฉื˜ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืึธื“ืขืจ ืจืขื“ืึทื’ื™ืจืŸ FreePBX ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– - ื™ื ืงืึทืžื™ื ื’ ื“ื•ืจืš [ืขืงืกื˜-ื”ืื˜-ืงืึทืกื˜ืึทืžื™ื™ื–ื“], ืึทืจื•ื™ืกื’ืึทื ื’ ื“ื•ืจืš [ืึทื•ื˜ื‘ืึทื•ื ื“-ืึทืœืจืึธื•ื˜ืขืก-ืžื ื”ื’]

  • ืงื™ื™ืŸ ื‘ื™ื™ื ื“ื™ื ื’ ืฆื• ื ื•ืžืขืจืŸ - ื“ื™ ื˜ืขืงืข ืื™ื– ื•ื ื™ื•ื•ืขืจืกืึทืœ ืื•ืŸ ื ืึธืจ ื“ืึทืจืฃ ื–ื™ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ืคึฟืึทืจ ื“ื™ ื“ืจืš ืื•ืŸ ืœื™ื ืง ืฆื• ื“ื™ ืกืขืจื•ื•ืขืจ

ืฆื• ืึธื ื”ื™ื™ื‘ืŸ, ืื™ืจ ืื•ื™ืš ื“ืึทืจืคึฟืŸ ืฆื• ืœื•ื™ืคืŸ ืกืงืจื™ืคึผืก ืื™ืŸ AMI ื“ื•ืจืš ืœืึธื’ื™ืŸ ืื•ืŸ ืคึผืึทืจืึธืœ - ืคึฟืึทืจ ื“ืขื, FreePBX ืื•ื™ืš ื”ืื˜ ืึท _custom ื˜ืขืงืข

manager_custom.conf ื˜ืขืงืข

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

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

ื‘ื™ื™ื“ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ื˜ืขืงืขืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ /etc/asterisk, ืื•ืŸ ืœื™ื™ืขื ืขืŸ ื“ื™ ืงืึธื ืคื™ื’ืก (ืึธื“ืขืจ ืจื™ืกื˜ืึทืจื˜ ื“ื™ ืึทืกื˜ืขืจื™ืกืง)

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

ืื™ืฆื˜ ืœืึธื–ืŸ ืื•ื ื“ื– ืžืึทืš ืื•ื™ืฃ ืฆื• PHP

ื™ื ื™ืฉืึทืœื™ื–ื™ื ื’ ืกืงืจื™ืคึผืก ืื•ืŸ ืฉืึทืคึฟืŸ ืึท ื“ื™ื ืกื˜

ื–ื™ื ื˜ ื“ื™ ืกื›ืขืžืข ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ Bitrix 24, ืึท ื“ื™ื ืกื˜ ืคึฟืึทืจ ืึทืžื™, ืื™ื– ื ื™ืฉื˜ ืœืขื’ืึทืžืจืข ืคึผืฉื•ื˜ ืื•ืŸ ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜, ืขืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ื“ื™ืกืงืึทืกื˜ ืกืขืคึผืขืจืึทื˜ืœื™. ืึทืกื˜ืขืจื™ืกืง, ื•ื•ืขืŸ ืึทืžื™ ืื™ื– ืึทืงื˜ื™ื•ื•ื™ื™ื˜ื™ื“, ืคืฉื•ื˜ ืขืคืขื ืขืŸ ื“ื™ ืคึผืึธืจื˜ ืื•ืŸ ืึทื– ืก ืขืก. ื•ื•ืขืŸ ืึท ืงืœื™ืขื ื˜ ื“ื–ืฉื•ื™ื ืฅ, ืขืก ืจื™ืงื•ื•ืขืก ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ, ื“ืขืจ ืงืœื™ืขื ื˜ ืึทื‘ืึธื ื™ืจืŸ ืฆื• ื“ื™ ื ื™ื™ื˜ื™ืง ื’ืขืฉืขืขื ื™ืฉืŸ. ื’ืขืฉืขืขื ื™ืฉืŸ ืงื•ืžืขืŸ ืื™ืŸ ืงืœืึธืจ ื˜ืขืงืกื˜, ื•ื•ืึธืก PAMI ืงืึทื ื•ื•ืขืจืฅ ืื™ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ืึทื‘ื“ื–ืฉืขืงืฅ ืื•ืŸ ื’ื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ืคึฟื™ืœื˜ืจื™ืจื•ื ื’ ืคื•ื ืงืฆื™ืข ื‘ืœื•ื™ื– ืคึฟืึทืจ ื’ืขืฉืขืขื ื™ืฉืŸ ืคื•ืŸ ืื™ื ื˜ืขืจืขืก, ืคืขืœื“ืขืจ, ื ื•ืžืขืจืŸ, ืขื˜ืง.

ื•ื•ื™ ื‘ืึทืœื“ ื•ื•ื™ ื“ืขืจ ืจื•ืฃ ืงื•ืžื˜, ื“ื™ NewExten ื’ืขืฉืขืขื ื™ืฉ ืื™ื– ืคื™ื™ืขืจื“ ืกื˜ืึทืจื˜ื™ื ื’ ืคื•ืŸ ื“ื™ ืคืึธื˜ืขืจ [from-pstn] ืงืึธื ื˜ืขืงืกื˜, ืื•ืŸ ืึทืœืข ื’ืขืฉืขืขื ื™ืฉืŸ ื’ื™ื™ืŸ ืื™ืŸ ื“ื™ ืกื“ืจ ืคื•ืŸ ื“ื™ ืฉื•ืจื•ืช ืื™ืŸ ื“ื™ ืงืึทื ื˜ืขืงืกืฅ. ื•ื•ืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืื™ื– ื‘ืืงื•ืžืขืŸ ืคื•ืŸ ื“ื™ CallMeCallerIDName ืื•ืŸ CallStart ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ _custom ื“ื™ืึทืœืคึผืœืึทืŸ, ื“ื™

  1. ื“ื™ ืคึฟื•ื ืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื‘ืขื˜ืŸ ื“ื™ UserID ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืฆื• ื“ื™ ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ื ื•ืžืขืจ ื•ื•ื• ื“ื™ ืจื•ืคืŸ ื’ืขืงื•ืžืขืŸ. ื•ื•ืึธืก ืื•ื™ื‘ ืขืก ืื™ื– ืึท ื“ื™ืึทืœ-ืึทืจื•ื™ืฃ ื’ืจื•ืคึผืข? ื“ื™ ืคืจืื’ืข ืื™ื– ืคืืœื™ื˜ื™ืฉืข, ื“ืืจืฃ ืžืขืŸ ืžืื›ืŸ ื ืจื•ืฃ ืฆื• ื™ืขื“ืŸ ืื™ื™ื ืžืืœ (ื•ื•ืขืŸ ื™ืขื“ืขืจ ืจื•ืคื˜ ื–ื™ืš ืื™ื™ืŸ) ืื“ืขืจ ืฉืืคืŸ ื•ื•ื™ ืžืขืŸ ืจื•ืคื˜ ื•ื•ืขืŸ ืžืขืŸ ืจื•ืคื˜ ืื™ืŸ ื“ืจื™ื™? ืจื•ื‘ึฟ ืงืœื™ื™ืึทื ืฅ ื”ืึธื‘ืŸ ื“ื™ Fisrt Available ืกื˜ืจืึทื˜ืขื’ื™ืข, ืึทื–ื•ื™ ืขืก ืื™ื– ืงื™ื™ืŸ ืคึผืจืึธื‘ืœืขื ืžื™ื˜ ื“ืขื, ื ืึธืจ ืื™ื™ื ืขืจ ืจื•ืคื˜. ืื‘ืขืจ ื“ื™ ืขื ื™ืŸ ื“ืึทืจืฃ ื–ื™ื™ืŸ ืกืึทืœื•ื•ื“.

  2. ื“ื™ ืจื•ืคืŸ ืจืขื’ื™ืกื˜ืจืึทืฆื™ืข ืคึฟื•ื ืงืฆื™ืข ืื™ืŸ Bitrix24, ื•ื•ืึธืก ืงืขืจื˜ ื“ื™ CallID, ื•ื•ืึธืก ืื™ื– ืคืืจืœืื ื’ื˜ ืฆื• ื‘ืึทืจื™ื›ื˜ ื“ื™ ืจื•ืคืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ืŸ ืึท ืœื™ื ืง ืฆื• ื“ื™ ืจืขืงืึธืจื“ื™ื ื’. ืจื™ืงื•ื•ื™ื™ืจื– ืึธื“ืขืจ ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ื ื•ืžืขืจ ืึธื“ืขืจ UserID

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ FreePBX ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืžื™ื˜ Bitrix24 ืื•ืŸ ืžืขืจ

ื ืึธืš ื“ืขื ืกื•ืฃ ืคื•ืŸ ื“ื™ ืจื•ืคืŸ, ื“ื™ ืจืขืงืึธืจื“ ืืจืืคืงืืคื™ืข ืคึฟื•ื ืงืฆื™ืข ืื™ื– ื’ืขืจื•ืคึฟืŸ, ื•ื•ืึธืก ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืจื™ืคึผืึธืจืฅ ื“ื™ ืกื˜ืึทื˜ื•ืก ืคื•ืŸ ื“ื™ ืจื•ืฃ ืงืึทืžืคึผืœื™ืฉืึทืŸ (ืคืึทืจื ื•ืžืขืŸ, ืงื™ื™ืŸ ืขื ื˜ืคืขืจ, ื”ืฆืœื—ื”), ืื•ืŸ ืื•ื™ืš ื“ืึทื•ื ืœืึธื•ื“ื– ืึท ืœื™ื ืง ืฆื• ื“ื™ mp3 ื˜ืขืงืข ืžื™ื˜ ื“ื™ ืจืขืงืึธืจื“ (ืื•ื™ื‘ ืงื™ื™ืŸ).

ื•ื•ื™ื™ึทืœ ื“ื™ CallMeIn.php ืžืึธื“ื•ืœืข ื“ืึทืจืฃ ืงืึทื ื˜ื™ื ื™ื•ืึทืกืœื™ ืœื•ื™ืคืŸ, ืึท SystemD ืกื˜ืึทืจื˜ืึทืคึผ ื˜ืขืงืข ืื™ื– ื‘ืืฉืืคืŸ ืคึฟืึทืจ ืื™ื callme.service, ื•ื•ืึธืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ืฉื˜ืขืœืŸ ืื™ืŸ /etc/systemd/system/callme.service

[Unit]
Description=CallMe

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

Restart=on-failure
RestartSec=10s

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

[Install]
WantedBy=multi-user.target

ื™ื ื™ื˜ื™ืึทืœื™ื–ืึทื˜ื™ืึธืŸ ืื•ืŸ ืงืึทื˜ืขืจ ืคื•ืŸ ื“ื™ ืฉืจื™ืคื˜ ืึทืงืขืจื– ื“ื•ืจืš ืกื™ืกื˜ืขืžืงื˜ืœ ืึธื“ืขืจ ืกืขืจื•ื•ื™ืก

# systemctl enable callme
# systemctl start callme

ื“ื™ ืกืขืจื•ื•ื™ืก ื•ื•ืขื˜ ืจื™ืกื˜ืึทืจื˜ ื–ื™ืš ื•ื•ื™ ื“ืืจืฃ (ืื™ืŸ ืคืึทืœ ืคื•ืŸ ืงืจืึทืฉื™ื–). ื“ื™ ื™ื ื‘ืึธืงืก ื˜ืจืึทืงื™ื ื’ ื“ื™ื ืกื˜ ื˜ื•ื˜ ื ื™ืฉื˜ ื“ืึทืจืคืŸ ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ ืฆื• ื–ื™ื™ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ, ื ืึธืจ ืคืคึผ ืื™ื– ื“ืืจืฃ (ื•ื•ืึธืก ืื™ื– ื‘ืืฉื˜ื™ืžื˜ ืื•ื™ืฃ ื“ื™ FeePBX ืกืขืจื•ื•ืขืจ). ืึธื‘ืขืจ ืื™ืŸ ื“ืขืจ ืึทื•ื•ืขืง ืคื•ืŸ ืึทืงืกืขืก ืฆื• ืจื•ืคืŸ ืจืขืงืึธืจื“ืก ื“ื•ืจืš ื“ื™ ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ (ืื•ื™ืš ืžื™ื˜ https), ืขืก ื•ื•ืขื˜ ื ื™ื˜ ื–ื™ื™ืŸ ืžืขื’ืœืขืš ืฆื• ื”ืขืจืŸ ืฆื• ืจื•ืคืŸ ืจืขืงืึธืจื“ืก.

ืื™ืฆื˜ ืœืึธื–ืŸ ืก ืจืขื“ืŸ ื•ื•ืขื’ืŸ ืึทื•ื˜ื’ืึธื•ื™ื ื’ ืจื•ืคื˜. ื“ื™ CallMeOut.php ืฉืจื™ืคื˜ ื”ืื˜ ืฆื•ื•ื™ื™ ืคืึทื ื’ืงืฉืึทื ื–:

  • ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ืึท ืจื•ืฃ ื•ื•ืขืŸ ืึท ื‘ืงืฉื” ืื™ื– ื‘ืืงื•ืžืขืŸ ืคึฟืึทืจ ืึท ืคืคึผ ืฉืจื™ืคื˜ (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื ื™ืฆืŸ ื“ื™ "ืจื•ืคืŸ" ืงื ืขืคึผืœ ืื™ืŸ ื“ื™ ื‘ื™ื˜ืจื™ืงืก ื–ื™ืš). ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ ืึธืŸ ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ, ื“ื™ ื‘ืขื˜ืŸ ืื™ื– ื‘ืืงื•ืžืขืŸ ื“ื•ืจืš HTTP POST, ื“ื™ ื‘ืขื˜ืŸ ื›ึผื•ืœืœ ืึท ืกื™ืžืขืŸ

  • ืึธื ื–ืึธื’ ื•ื•ืขื’ืŸ ื“ื™ ืจื•ืคืŸ, ื–ื™ื™ึทืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ืŸ ืจืขืงืึธืจื“ืก ืื™ืŸ ื‘ื™ื˜ืจื™ืงืก. ืคื™ื™ืขืจื“ ื“ื•ืจืš ืึทืกื˜ืขืจื™ืกืง ืื™ืŸ ื“ื™ [ืกืึทื‘-ืจื•ืคืŸ-ื™ื ืขืจืœืขืš-ืขื ื“ื™ืงื˜] ื“ื™ืึทืœืคึผืœืึทืŸ ื•ื•ืขืŸ ืึท ืจื•ืคืŸ ืขื ื“ืก

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ FreePBX ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืขืก ืžื™ื˜ Bitrix24 ืื•ืŸ ืžืขืจ

ื“ืขืจ ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ ืื™ื– ื“ืืจืฃ ื‘ืœื•ื™ื– ืคึฟืึทืจ ืฆื•ื•ื™ื™ ื˜ื™ื ื’ื– - ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’ ื‘ื™ื˜ืจื™ืงืก ืจืขืงืึธืจื“ ื˜ืขืงืขืก (ื“ื•ืจืš ื”ื˜ื˜ืคึผืก) ืื•ืŸ ืจื•ืคืŸ ื“ื™ CallMeOut.php ืฉืจื™ืคื˜. ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ FreePBX ืกืขืจื•ื•ืขืจ, ื“ื™ ื˜ืขืงืขืก ืคึฟืึทืจ ื•ื•ืึธืก ื–ืขื ืขืŸ /var/www/html, ืื™ืจ ืงืขื ืขืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ืืŸ ืื ื“ืขืจ ืกืขืจื•ื•ืขืจ ืึธื“ืขืจ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืึทื ื“ืขืจืฉ ื“ืจืš.

ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ

ืœืึธืžื™ืจ ืœืึธื–ืŸ ื“ื™ ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ ืกืขื˜ืึทืคึผ ืคึฟืึทืจ ืคืจื™ื™ึท ืœืขืจื ืขืŸ (tyts, tyts, tyts). ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืึท ืคืขืœื“, ืื™ืจ ืงืขื ืขืŸ ืคึผืจื•ื‘ื™ืจืŸ FreeDomain ( https://www.freenom.com/ru/index.html), ื•ื•ืึธืก ื•ื•ืขื˜ ื’ืขื‘ืŸ ืื™ืจ ืึท ืคืจื™ื™ ื ืึธืžืขืŸ ืคึฟืึทืจ ื“ื™ื™ืŸ ื•ื•ื™ื™ึทืก IP (ื˜ืึธืŸ ื ื™ื˜ ืคืึทืจื’ืขืกืŸ ืฆื• ืคืึธืจื•ื™ืก ืคึผืึธืจืฅ 80, 443 ื“ื•ืจืš ื“ื™ ืจืึทื•ื˜ืขืจ ืื•ื™ื‘ ื“ื™ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืึทื“ืจืขืก ืื™ื– ื‘ืœื•ื™ื– ืื•ื™ืฃ ืขืก). ืื•ื™ื‘ ืื™ืจ ื ืึธืจ ื‘ืืฉืืคืŸ ืึท ื“ื ืก ืคืขืœื“, ืื™ืจ ื”ืึธื‘ืŸ ืฆื• ื•ื•ืึทืจื˜ืŸ (ืคื•ืŸ 15 ืžื™ื ื•ื˜ ืฆื• 48 ืฉืขื”) ื‘ื™ื– ืึทืœืข ืกืขืจื•ื•ืขืจืก ื–ืขื ืขืŸ ืœืึธื•ื“ื™ื“. ืœื•ื™ื˜ ืฆื• ื“ืขืจ ื“ืขืจืคืึทืจื•ื ื’ ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื“ื™ื ืขืจ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื– - ืคื•ืŸ 1 ืฉืขื” ืฆื• ืึท ื˜ืึธื’.

ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ

ืึทืŸ ื™ื ืกื˜ืึทืœืœืขืจ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืื•ื™ืฃ ื’ื™ื˜ื”ื•ื‘ ืฆื• ืžืึทื›ืŸ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืืคื™ืœื• ื’ืจื™ื ื’ืขืจ. ืื‘ืขืจ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื’ืœืึทื˜ ืื•ื™ืฃ ืคึผืึทืคึผื™ืจ - ื‘ืฉืขืช ืžื™ืจ ื–ืขื ืขืŸ ื™ื ืกื˜ืึธืœื™ื ื’ ืขืก ืึทืœืข ืžืึทื ื™ื•ืึทืœื™, ื–ื™ื ื˜ ื ืึธืš ื˜ื™ื ื’ืงื™ื ื’ ืžื™ื˜ ืึทืœืข ื“ืขื ืขืก ืื™ื– ื’ืขื•ื•ืืจืŸ ืงืจื™ืกื˜ืึทืœ ืงืœืึธืจ ื•ื•ืึธืก ืื™ื– ืคืจืขื ื“ื– ืžื™ื˜ ื•ื•ืขืžืขืŸ, ื•ื•ืขืจ ื’ื™ื™ื˜ ื•ื•ื• ืื•ืŸ ื•ื•ื™ ืฆื• ื“ื™ื‘ืึทื’ ืขืก. ืขืก ืื™ื– ื ืึธืš ืงื™ื™ืŸ ื™ื ืกื˜ืึธืœืขืจ

ื“ืึธืงืงืขืจ

ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœื˜ ื’ืขืฉื•ื•ื™ื ื“ ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ ืœื™ื™ื–ื•ื ื’ - ืขืก ืื™ื– ืึทืŸ ืึธืคึผืฆื™ืข ืžื™ื˜ ื“ืึธืงืขืจ - ืžืึทื›ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ื’ืขืฉื•ื•ื™ื ื“, ื’ืขื‘ืŸ ืขืก ืคึผืึธืจืฅ ืฆื• ื“ื™ ืึทืจื•ื™ืก, ืฆืขื˜ืœ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ื˜ืขืงืขืก ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ (ื“ืึธืก ืื™ื– ื“ื™ ืึธืคึผืฆื™ืข ืžื™ื˜ ื“ื™ LetsEncrypt ืงืึทื ื˜ื™ื™ื ืขืจ, ืื•ื™ื‘ ืื™ืจ ืฉื•ื™ืŸ ื”ืึธื‘ืŸ ืึท ื‘ืึทื•ื•ื™ื™ึทื–ืŸ , ืื™ืจ ื ืึธืจ ื“ืึทืจืคึฟืŸ ืฆื• ืจื™ื“ืขืจืขืงื˜ ื“ื™ ืคืึทืจืงืขืจื˜ ืคึผืจืึทืงืกื™ ืฆื• ื“ื™ FreePBX ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ (ืžื™ืจ ื’ืขื’ืขื‘ืŸ ืขืก ืืŸ ืื ื“ืขืจ ืคึผืึธืจื˜ ืื™ื– 88), LetsEncrypt ืื™ืŸ ื“ืึธืงืงืขืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืืจื˜ื™ืงืœ

ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื•ื™ืคืŸ ื“ื™ ื˜ืขืงืข ืื™ืŸ ื“ื™ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ืคึผืจื•ื™ืขืงื˜ ื˜ืขืงืข (ื ืึธืš ื’ื™ื˜ ืงืœืึธื•ืŸ), ืึธื‘ืขืจ ืขืจืฉื˜ืขืจ ืึทืจื™ื™ึทืŸ ื“ื™ ืึทืกื˜ืขืจื™ืกืง ืงืึธื ืคื™ื’ืก (ืึทืกื˜ืขืจื™ืกืง ื˜ืขืงืข) ืื•ืŸ ืฉืจื™ื™ึทื‘ืŸ ื“ื™ ืคึผืึทื˜ืก ืฆื• ื“ื™ ืจืขืงืึธืจื“ืก ืื•ืŸ ื“ื™ 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, ืกืคึผืขืฆื™ืขืœ ื“ื™ ืคืจื™ื™ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืคึผื‘ืงืก - ShugarCRM ืื•ืŸ Vtiger, ืื•ืŸ ื™ืึธ! ื™ืึธ, ื“ืขืจ ืคึผืจื™ื ืฆื™ืคึผ ืื™ื– ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ. ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ืืŸ ืื ื“ืขืจ ื’ืขืฉื™ื›ื˜ืข, ื•ื•ืึธืก ืžื™ืจ ื•ื•ืขืœืŸ ืฉืคึผืขื˜ืขืจ ืฆื•ืคึฟืขืœื™ืงืขืจ ืฆื• ื“ื™ ื’ื™ื˜ื”ื•ื‘ ืกืขืคึผืขืจืึทื˜ืœื™.

ืจืขืคึฟืขืจืขื ืฆืŸ

ืึธืคึผืœื™ื™ืงืขื ื•ื ื’: ืงื™ื™ืŸ ื’ืขืจืึธื˜ื ืงื™ื™ึทื˜ ืฆื• ื“ืขืจ ืคืึทืงื˜ ืื™ื– ืคื™ืงื˜ื™ืฉืึทืก ืื•ืŸ ืขืก ืื™ื– ื ื™ืฉื˜ ืื™ืš.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’