ืืื ืึทืจืืขื ืืื ืึท ืึทืืฆืึธืจืกืขืจ ืืื ืึท ืคืืจืืข ืืืึธืก ืคืืจืงืืืคื ืืื ืงืึทื ืคืืืืขืจ, ืื ืืึทืืจืืืฅ IP ืืขืืขืคืึธื ื. ืืืขื ืืื ืืื ืืขืืืขื ืืขืคืจืขืื ืืืื ืืืจ ืงืขื ืขื ืคืึธืจืฉืืึธืื ืขืคึผืขืก ืฆื ืืขื ืืื ืืขื ืคืืจืืข ืฆื ืืืกืฉืืืืขื Bitrix24 ืืื ืคึผืืงืก ืืืึธืก ืงืึทืกืืึทืืขืจื ืืึธืื, ืืื ืืขืืื ื ืืื ืืื ืืืืจืืืึทื ืคึผืืงืก ืืืืฃ ืคืึทืจืฉืืื VDS ืงืึธืืคึผืึทื ืืขืก, ืืื ืืขืืื ืืขื ืฆื Google. ืืื ืคืื ืงืืจืก ืขืจ ืืื ืืืจ ืึท ืืื ืง ืฆื
ืืืจ ืืขืจื ืขื ืื ืืึธืืืง ืคืื ืึทืจืืขื
ืึทืืื ืคึฟืึทืจ ืกืืึทืจืืขืจืก, ืืื ืขืก ืืึธื ืึทืืข ืึทืจืืขื. ืืืขื ืึท ืจืืฃ ืืื ืืืงืืืขื ืคืื ืึทืจืืืก ืื ืคึผืืงืก (SIP INVITE ืืขืฉืขืขื ืืฉ ืคืื ืืขืจ ืฉืคึผืืึทืืขืจ), ืื ืคึผืจืึทืกืขืกืื ื ืคืื ืื ืืืึทืืคึผืืึทื (ืจืขืื ืคึผืืึทื, ืืืึทืืคึผืืึทื) ืืืืื - ืื ืึผืืืื ืคืื ืืืึธืก ืืื ืืื ืืืึธืก ืกืืจ ืฆื ืืึธื ืืื ืื ืจืืคื. ืคืื ืืขืจ ืขืจืฉืืขืจ ืคึผืึทืงืึทื, ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืึท ืคึผืืึทืฅ ืคืื ืืื ืคึฟืึธืจืืึทืฆืืข, ืืืึธืก ืงืขื ืขื ืืืื ืืขืืืืื ื ืืื ืื ืึผืืืื. ืึท ืืืกืืขืฆืืืื ื ืืขืฆืืึทื ืคึฟืึทืจ ืืขืจื ืขื ืื ืื ืืขืจื ืึทืืก ืคืื SIP ืืื ืื ืึทื ืึทืืืืขืจ sngrep (
ืืื ืึท ืกืืืคึผืืึทืคืืื ืคืึธืจืขื, ืื ืืืึทืืคึผืืึทื ืืึทื ืืื ืืืืื ืืื ืืขืจ ืขืจืฉืืขืจ ืคึผืึทืงืึทื, ืืื ืืืื ืืขืฉืึทืก ืื ืฉืืืขืก, ืงืึทืืืก ืืขื ืขื ืืจืึทื ืกืคืขืจื, ืงื ืขืคึผื ืืจืืงื (DTMF), ืคืึทืจืฉืืื ืืฉืืงืึทืืืข ืืืื ืืื FollowMe, RingGroup, IVR ืืื ืื ืืขืจืข.
ืืืึธืก ืก ืื ืื ืื ืืืืื ืคึผืึทืง
ืึทืงืืืึทืืื, ืจืืึฟ ืคึผืฉืื ืืืึทืืคึผืืึทื ื ืึทืจืืขื ืืื ืื ืขืจืฉืืขืจ ืฆืืืื ืคืขืืืขืจ, ืืื ืื ืืื ืฆืข ืืึธืืืง ืจืืืืึทืืืื ืึทืจืื DID ืืื CallerID. DID - ืืืึผ ืืืจ ืจืืคื, CallerID - ืืืขืจ ืจืืคื.
ืึธืืขืจ ื ืึธื ืึทืืข, ืืืจ ืืึธืื ืึท ืคืืจืืข ืืื ื ืืฉื ืืืื ืืขืืขืคืึธื - ืืืึธืก ืืืื ืึทื ืื ืคึผืืงืก ืจืืึฟ ืืกืชึผืื ืืื ืจืืคื ืืจืืคึผืขืก (ืกืืืึทืืืืื ืืึทืก / ืงืึธื ืกืขืงืืืืืืข ืจืื ืืื ื ืคืื ืขืืืขืืข ืืขืืืืกืขืก) ืืืืฃ ืฉืืึธื ื ืืืขืจื (ืจืื ื ืืจืืคืข), IVR (ืืขืื, ืืืจ ืืึธื ืืขืจืืคึฟื ... ืืจืืง ืืืื ืขืจ ืคึฟืึทืจ ...), ืขื ืืคึฟืขืจื ืืืฉืื ืขื (ืคืจืึทืกืขืก), ืฆืืื ืงืึธื ืืืืืึธื ืก, ืคืึธืจืืืขืจืืื ื ืฆื ืื ืืขืจืข ื ืืืขืจื ืึธืืขืจ ืฆื ืึท ืฆืขื (FollowMe, Forward). ืืืก ืืืื ื ืื ืก'ืืื ืืืืขืจ ืฉืืืขืจ ืฆื ืืืฉืืืืขื ืื ืืืืืืืืขืืข ืืืขืจ ืขืก ืืืขื ืืืงืข ืืืงืืืขื ื ืจืืฃ ืืื ืืื ืืืขืืขื ืืืขื ืฉืืืขืกื ืืืขื ื ืจืืฃ ืงืืื ืื. ืืึธ ืืื ืึท ืืืืฉืคึผืื ืคืื ืื ืึธื ืืืื ืคืื ืึท ืืืคึผืืฉ ืจืืคื ืืื ืื ืคึผืืงืก ืคืื ืืื ืืืขืจ ืงืืืืึทื ืฅ
ื ืึธื ืืขืจ ืจืืฃ ืืฆืืื ืงืืื ืืื ืื ืคึผืืงืก, ืขืก ืืจืึทืืืึทืื ืืืจื ืื ืืืึทืืคึผืืึทื ืืื ืคืึทืจืฉืืืขื ืข "ืงืึธื ืืขืงืกืฅ". ืืขืจ ืงืึธื ืืขืงืกื ืคึฟืื ืื ืคืื ื ืคืื ืืืื ืื ื ืคืื ืึทืกืืขืจืืกืง ืืื ืึท ืืขืฆืืืื ืืึทื ื ืคืื ืงืึทืืึทื ืื, ืืขืืขืจ ืคืื ืืืึธืก ืึผืืื ืึท ืคืืืืขืจ ืืืจื ืื ืืืืึทืื ื ืืืขืจ (ืขืก ืืื ืืขืจืืคื ืขืงืกืืขื, ืคึฟืึทืจ ืึท ืคืื ืืจืืืกื ืืืง ืจืืคื ืืื ืืขืจ ืขืจืฉื ืืื ืข exten=DID). ืื ืงืึทืืึทื ืื ืืื ืื ืืืึทืืคึผืืึทื ืฉืืจื ืงืขื ืขื ืืืื ืขืคึผืขืก - ืื ืขืจืืขื ืคืึทื ืืงืฉืึทื ื (ืืืฉื, ืจืืคื ืึทื ืื ืขืจืืขื ืึทืืึธื ืขื ื - Dial()
, ืฉืืขืื ืึทืจืึธืคึผ ืื ืืขืืขืคืึธื - Hangup()
), ืงืึทื ืืืฉืึทื ืึทื ืึธืคึผืขืจืืืืขืจื (IF, ELSE, ExecIF
ืืื ืื ืืื), ืืจืึทื ืืืฉืึทื ื ืฆื ืื ืืขืจืข ืึผืืืื ืคืื ืืขื ืงืึธื ืืขืงืกื (Goto, GotoIF
), ืืืขืจืืึทื ื ืฆื ืื ืืขืจืข ืงืึทื ืืขืงืกืฅ ืืื ืื ืคืึธืจืขื ืคืื ืึท ืคืื ืงืฆืืข ืจืืคื (ืืึธืกืื, ืืึทืงืจืึธื). ื ืืืืื ืืขืจืข ืืืจืขืงืืืื include ะธะผั_ะบะพะฝัะตะบััะฐ
, ืืืึธืก ืืืกืืฃ ืงืึทืืึทื ืื ืคืื ืื ืื ืืขืจ ืงืึธื ืืขืงืกื ืฆื ืื ืกืืฃ ืคืื ืืขื ืงืจืึทื ื ืงืึธื ืืขืงืกื. ืงืึทืืึทื ืื ืึทืจืืึทื ืืขืจืขืื ื ืืืจื ืึทืจืืึทื ื ืขืืขื ืืขื ืขื ืฉืืขื ืืืง ืขืงืกืึทืงืืืืึทื ื ืึธื ืงืึทืืึทื ืื ืคืื ืืขื ืงืจืึทื ื ืงืึธื ืืขืงืกื.
ืื ืืื ืฆืข ืืึธืืืง ืคืื FreePBX ืืื ืืขืืืื ืืืืฃ ืื ืื ืงืืืืฉืึทื ืคืื ืคืึทืจืฉืืืขื ืข ืงืึทื ืืขืงืกืฅ ืืื ืืขืืขืจ ืื ืืขืจืขืจ ืืืจื ืึทืจืืึทื ื ืขืืขื ืืื ืจืืคื ืืืจื Gosub, Macro ืืื Handler ืืึทื ืืืขืจืก. ืืึทืืจืึทืืื ืื ืงืึธื ืืขืงืกื ืคืื ืื ืงืึทืืื ื FreePBX ืงืึทืืืก
ืืขืจ ืจืืฃ ืืืื ืืืจื ืึทืืข ืงืึทื ืืขืงืกืฅ ืคืื ืฉืคึผืืฅ ืฆื ืื ืึธ ืืื ืงืขืจ, ืืื ืืขืืขืจ ืงืึธื ืืขืงืกื ืขืก ืงืขื ืขื ืืืื ืจืืคื ืฆื ืื ืืขืจืข ืงืึทื ืืขืงืกืฅ ืืื ืืึทืงืจืึธืก (ืืึทืงืจืึธ), ืคืึทื ืืงืฉืึทื ื (ืืึธืกืื) ืึธืืขืจ ื ืึธืจ ืืจืึทื ืืืฉืึทื ื (ืืึธืืึธ), ืึทืืื ืืขืจ ืขืืขืก ืืืื ืคืื ืืืึธืก ืืื ืืขืจืืคื ืงืขื ืขื ืืืืื ืืืื ืืจืึทืงื ืืื ืื ืืึธืืก.
ื ืืืคึผืืฉ ืกืขืืึทืคึผ ืืืึทืืจืึทืืข ืคึฟืึทืจ ืึท ืืืคึผืืฉ ืคึผืืงืก ืืื ืืขืืืืื ืืื ืื. ืืืขื ืืืจ ืจืืคื, DID ืืื ืืขืืืื ืืื ืื ืงืึทืืื ื ืจืืฅ, ืฆืืึทืืืืืึทืืืง ืื ืึธืื ืืขื ืขื ืึธืคึผืืขืฉืืขืื ืคึฟืึทืจ ืขืก, ืืืื ืึทืืฅ ืืื ืืื ืกืืจ, ืื ืงืื ืืขื ืื ืืื ืืึธื ืืฉื. ืคืื ืขืก, ืืืจื ืืจืื ืืืขื ืงื ืขืคึผื 1 ืึธืืขืจ ืืืืืึทืื, ืืืื ืฆื ืื ืืจืืคึผืข ืคืื โโโโืืืืืื ื ืึธืคึผืขืจืืืืขืจื. ื ืึธื ืื ืจืืคื ืขื ืืก, ืื ืืึทื ืืืคึผืงืึทืื ืืึทืงืจืึธื ืืื ืืขืจืืคื, ื ืึธื ืืืึธืก ืืึธืจื ืืฉื ืงืขื ืขื ืืืื ืืขืืื ืืื ืื ืืืึทืืคึผืืึทื, ืึทืืืฅ ืคึฟืึทืจ ืกืคึผืขืฆืืขื ืืึทื ืืืขืจืก (ืืึทื ืืึทืคึผ ืืึทื ืืืขืจ).
ืืืึผ ืืื ืืขื ืจืืคื ืึทืืืขืจืืืึทื ืืึธื ืืืจ ืฆืืฉืืขืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืื ืึธื ืืืื ืคืื ืื ืจืืคื ืฆื 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 ืคึฟืึทืจ ืืืฆื (ืึธืืขืจ ื ืืฉื ืืึธืจ). ืืื ืืขืจืฆื (ื ื, ืืื ืืืึธืื ืขืก ืืืื ืึธื ืืขื, ืืืจ ืืขื ืขื ืคืืื ืืขื ืืฉื) - ืืื ืืขืจ ืึธืจืืืื ืขื ืึทืจืืขื (
ืจืืื ืืืขื ืืื ื ืื ืึทืืจืืืฉืึทื
ืึผืื ืืื ืืืขืจ 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 ืืืึทืืคึผืืึทื, ืื
-
ืื ืคึฟืื ืงืฆืืข ืคืื โโืืขืื ืื UserID ืงืึธืจืึทืกืคึผืึทื ืืื ื ืฆื ืื ืคืึทืจืืขื ืืขืจืื ื ื ืืืขืจ ืืื ืื ืจืืคื ืืขืงืืืขื. ืืืึธืก ืืืื ืขืก ืืื ืึท ืืืึทื-ืึทืจืืืฃ ืืจืืคึผืข? ืื ืคืจืืืข ืืื ืคืืืืืืฉืข, ืืืจืฃ ืืขื ืืืื ื ืจืืฃ ืฆื ืืขืื ืืืื ืืื (ืืืขื ืืขืืขืจ ืจืืคื ืืื ืืืื) ืืืขืจ ืฉืืคื ืืื ืืขื ืจืืคื ืืืขื ืืขื ืจืืคื ืืื ืืจืื? ืจืืึฟ ืงืืืืึทื ืฅ ืืึธืื ืื 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
ืื ืืืืึทืืืืึทืืืึธื ืืื ืงืึทืืขืจ ืคืื ืื ืฉืจืืคื ืึทืงืขืจื ืืืจื ืกืืกืืขืืงืื ืึธืืขืจ ืกืขืจืืืืก
# systemctl enable callme
# systemctl start callme
ืื ืกืขืจืืืืก ืืืขื ืจืืกืืึทืจื ืืื ืืื ืืืจืฃ (ืืื ืคืึทื ืคืื ืงืจืึทืฉืื). ืื ืื ืืึธืงืก ืืจืึทืงืื ื ืืื ืกื ืืื ื ืืฉื ืืึทืจืคื ืึท ืืืขื ืกืขืจืืืขืจ ืฆื ืืืื ืืื ืกืืึทืืืจื, ื ืึธืจ ืคืคึผ ืืื ืืืจืฃ (ืืืึธืก ืืื ืืืฉืืืื ืืืืฃ ืื FeePBX ืกืขืจืืืขืจ). ืึธืืขืจ ืืื ืืขืจ ืึทืืืขืง ืคืื ืึทืงืกืขืก ืฆื ืจืืคื ืจืขืงืึธืจืืก ืืืจื ืื ืืืขื ืกืขืจืืืขืจ (ืืืื ืืื https), ืขืก ืืืขื ื ืื ืืืื ืืขืืืขื ืฆื ืืขืจื ืฆื ืจืืคื ืจืขืงืึธืจืืก.
ืืืฆื ืืึธืื ืก ืจืขืื ืืืขืื ืึทืืืืึธืืื ื ืจืืคื. ืื CallMeOut.php ืฉืจืืคื ืืื ืฆืืืื ืคืึทื ืืงืฉืึทื ื:
-
ืึธื ืืืื ืคืื ืึท ืจืืฃ ืืืขื ืึท ืืงืฉื ืืื ืืืงืืืขื ืคึฟืึทืจ ืึท ืคืคึผ ืฉืจืืคื (ืึทืจืืึทื ืืขืจืขืื ื ื ืืฆื ืื "ืจืืคื" ืงื ืขืคึผื ืืื ืื ืืืืจืืงืก ืืื). ืขืก ืืื ื ืืฉื ืึทืจืืขืื ืึธื ืึท ืืืขื ืกืขืจืืืขืจ, ืื ืืขืื ืืื ืืืงืืืขื ืืืจื HTTP POST, ืื ืืขืื ืึผืืื ืึท ืกืืืขื
-
ืึธื ืืึธื ืืืขืื ืื ืจืืคื, ืืืึทื ืคึผืึทืจืึทืืขืืขืจืก ืืื ืจืขืงืึธืจืืก ืืื ืืืืจืืงืก. ืคืืืขืจื ืืืจื ืึทืกืืขืจืืกืง ืืื ืื [ืกืึทื-ืจืืคื-ืื ืขืจืืขื-ืขื ืืืงื] ืืืึทืืคึผืืึทื ืืืขื ืึท ืจืืคื ืขื ืืก
ืืขืจ ืืืขื ืกืขืจืืืขืจ ืืื ืืืจืฃ ืืืืื ืคึฟืึทืจ ืฆืืืื ืืื ืื - ืืึทืื ืืึธืืืื ื ืืืืจืืงืก ืจืขืงืึธืจื ืืขืงืขืก (ืืืจื ืืืืคึผืก) ืืื ืจืืคื ืื CallMeOut.php ืฉืจืืคื. ืืืจ ืงืขื ืขื ื ืืฆื ืื ืืขืืืื-ืืื FreePBX ืกืขืจืืืขืจ, ืื ืืขืงืขืก ืคึฟืึทืจ ืืืึธืก ืืขื ืขื /var/www/html, ืืืจ ืงืขื ืขื ืื ืกืืึทืืืจื ืื ืื ืืขืจ ืกืขืจืืืขืจ ืึธืืขืจ ืกืคึผืขืฆืืคืืฆืืจื ืึท ืึทื ืืขืจืฉ ืืจื.
ืืืขื ืกืขืจืืืขืจ
ืืึธืืืจ ืืึธืื ืื ืืืขื ืกืขืจืืืขืจ ืกืขืืึทืคึผ ืคึฟืึทืจ ืคืจืืึท ืืขืจื ืขื (
ืื ืกืืึทืืืจืื ื ืึธืืึทืืืืฉืึทื
ืึทื ืื ืกืืึทืืืขืจ ืืื ืืขืืืขืืึธืคึผืขื ืืืืฃ ืืืืืื ืฆื ืืึทืื ืื ืื ืกืืึทืืืจืื ื ืืคืืื ืืจืื ืืขืจ. ืืืขืจ ืขืก ืืื ืืขืืืขื ืืืึทื ืืืืฃ ืคึผืึทืคึผืืจ - ืืฉืขืช ืืืจ ืืขื ืขื ืื ืกืืึธืืื ื ืขืก ืึทืืข ืืึทื ืืืึทืื, ืืื ื ื ืึธื ืืื ืืงืื ื ืืื ืึทืืข ืืขื ืขืก ืืื ืืขืืืืจื ืงืจืืกืืึทื ืงืืึธืจ ืืืึธืก ืืื ืคืจืขื ืื ืืื ืืืขืืขื, ืืืขืจ ืืืื ืืื ืืื ืืื ืฆื ืืืืึทื ืขืก. ืขืก ืืื ื ืึธื ืงืืื ืื ืกืืึธืืขืจ
ืืึธืงืงืขืจ
ืืืื ืืืจ ืืืืื ืืขืฉืืืื ื ืคึผืจืืืืจื ืื ืืืืืื ื - ืขืก ืืื ืึทื ืึธืคึผืฆืืข ืืื ืืึธืงืขืจ - ืืึทืื ืึท ืงืึทื ืืืื ืขืจ ืืขืฉืืืื ื, ืืขืื ืขืก ืคึผืึธืจืฅ ืฆื ืื ืึทืจืืืก, ืฆืขืื ืื ืกืขืืืื ืืก ืืขืงืขืก ืืื ืคึผืจืืืืจื (ืืึธืก ืืื ืื ืึธืคึผืฆืืข ืืื ืื 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, ืืื ืืึธ! ืืึธ, ืืขืจ ืคึผืจืื ืฆืืคึผ ืืื ืืขืจ ืืขืืืืงืขืจ. ืึธืืขืจ ืืึธืก ืืื ืื ืื ืืขืจ ืืขืฉืืืืข, ืืืึธืก ืืืจ ืืืขืื ืฉืคึผืขืืขืจ ืฆืืคึฟืขืืืงืขืจ ืฆื ืื ืืืืืื ืกืขืคึผืขืจืึทืืื.
ืจืขืคึฟืขืจืขื ืฆื
-
ืืขืจ ืงืึธื ืืื ืืื ืืืืฃ ืืืืืื -
https://github.com/CrezZ/bitrix24-freepbx-php -
ืืงืืจ ืึทืจืืืงื ืคึฟืึทืจ ืืืืืขื
https://habr.com/ru/post/349316/
ืึธืคึผืืืืงืขื ืื ื: ืงืืื ืืขืจืึธืื ืงืืึทื ืฆื ืืขืจ ืคืึทืงื ืืื ืคืืงืืืฉืึทืก ืืื ืขืก ืืื ื ืืฉื ืืื.
ืืงืืจ: www.habr.com