ášá áá áŽáááá á áážá¥ á¥á á áá«áá
á á©á£áá« ááµá¥ á¥áá° ášáá ááá á¥á°á«áá ᢠááá
á¥á ááá
á©á£áá« Bitrix24 á á°áá áᜠá«áážá áá¢á€ááµ á¥áá²áá ášášáá¹áá áá¢á€ááµ áá á á°áá«á© ášáªá²á€áµ á©á£áá«áᜠáááááµ á ááµ ááá áá
ášá¥ á¥ááœá á¥áá°áá áµá ášá
áá° ááá áá áá áᢠá¥á á á¥ááᥠá¥á± á ááá á°á áá¢
ášá¥á«áá á áááá® á¥áá ááá
áµááá
ááááªááœ, ááá á¥ááŽáµ á¥áá°áá°á«. á¥áª áš PBX (ášá á
á«á¢á áš SIP ááá¥á ááµá°áµ) á¥áª á²á°ááµ ášá²á«áááá áá°áµ (ášáá°áá« ááá, á²áááá) áááá«á - ášá¥áªá áá áá á¥á á áá á
á°á á°ášá°á á¥áá°áá°ášá á°ááŠáœ. ášááááªá«á áá¬áµ á¥á áášá ááááµ ááœáá, ášáá«á á á°ááŠá¹ ááµá¥ á¥á
á áá ááá ááœáá. áš SIP ááµá£á ááááœá ááá¥ááµ á á£á á¥á© áá³áªá« á°áá³á áá sngrep (
ááá á£á ááá© ášá²á«áááá ášááááªá«áá áá¬áµ á¥á» áá ášáááášá°áᣠá áá³ááŽá á áááá ááᣠá¥áªáᜠáá°ááááᣠášá áá«á áá°áá«áᜠ(DTMF)ᣠášá°áá«á© á³á¢ ááá®áœ á¥áá° FollowMeᣠRingGroupᣠIVR á¥á áááœáá¢
á áá¥á£ á¥á á ááµá¥ á«áá
á¥áá° á¥ááá± ášááᣠá á¥ááá¹ ááá áá°áá«áᜠášááááªá«áá¹ áááµ ááµá®áœ áá áá°á«áᣠá¥á á á ááá á áááá®á ášáá«á áá¥áá á á²á áá² á¥á á CallerID áá ááᢠá á°ášáá - á ááá á«á áµ, CallerID - ášáá°áá.
áá ášááá á áá á¥á á©á£áá« á áá á¥á á ááµ áµáá á áá°áá - áá áááµ áá¢á€ááµ áááá£áµ ášá¥áª á¡áµáᜠ(á á°áá³á³á / á°ášá³á³á á áá«á³ áá³áªá«ááœ) á ášá°á áá¥á®áœ (ášááá áµ á¡áµá) ᣠIVR (áá ᣠá°áááá ... á°á«á) áááµ áá ᢠá ááµ á ...)ᣠáááµ á°áª ááœáᜠ(áášááœ)ᣠášáá ááá³ááœá£ áá° ááᜠáá¥á®áœ ááá áá° áááµ (FollowMeᣠForward) ááµá°áááᢠáá áááµ áá á áµááá á¥áª á¥áá°ááá á á¥á á¥áª á²áᣠášáá áá á¥áá°ááááá á áá«á»á ááá³ ááá°á á á£á ášá£áµ ááᢠá á°áá áá»áœá PBX ááµá¥ ášá°ááá°á á¥áª ááááªá« áá³á á¥áá á áá¢
á¥áªá á á°á³á« ááá³ áá° áá¢á€ááµ ášáᣠá áá á á°áá«á© "á áá¶áœ" ááµá¥ á áá°áá«á ááµá¥ ááááᢠášá®ášá¥ á¥áá³ á áá»á á«áá á ááµ áá¥á ášá°á°á£ážá ášáµá¥ááᜠáµá¥áµá¥ ááᣠá¥á«áá³áá±á á á°á°ááá áá¥á áá£áªá«á áááá (ááá«á á¥áª á ááá» á°ášá exten=DID) áá£ááᢠá áá°áá«á ááµáá ááµá¥ á«ááµ áµáááᜠááááá ááá ááœáá - ášááµá¥ á°áá£á«áµ (ááá³á ᣠášááµá¥ á°áááᢠáá°áá - Dial()
áµáá©á á áµááá á - Hangup()
ááá³á áŠáá¬á°á®áœ (IF, ELSE, ExecIF
á¥á ášáá³á°ááµ) ᣠáá° ááᜠášáá
á ááµ á
áᜠáœááá (Goto, GotoIF
), áá° ááᜠá áá¶áœ á á°áá£á«á á¥áª ááá (Gosub, Macro) áœááá. ášá°ááš áááªá« include ОЌÑ_кПМÑекÑÑа
, áµááááœá ášáá á ááµ áá° ášá áá á ááµ áášášá» ášáášááᢠášá°á«á°á±áµ áµáááᜠáá áá áášááááᢠпПÑле ášá áá á ááµ áµááááœ.
ášááªáá¢á€ááµ á á ááá á áááá® ášá°ááá£á á áá±á¥á£ á ááá® á¥á á áááµáá á°áá£á£áªáᜠá á©á á áá«á°áµ á¥á á áá°áá ášá°áá«á© á áá£áŠáœá áá° á áá± á áá«á°áµ ááᢠášFreePBX á¥áªááœá á ááµ á áµá¡á áµ
á¥áªá á ášá°á« ášáá á¥áµáš á³áœ á ááá á ááµ ááµá¥ á«áááᣠá á¥á«áá³áá± á ááµ ááµá¥ á¥áá° ááá® (ááá®)ᣠá°áá£á«áµ (Gosub) ááá áá áážáááªá«áᜠ(áá¶) á«á á¥áªáᜠááá© ááœááᣠáµááá ášáá á«á á¥ááá°áá áá á¥á» ááᢠá áááᥠááµá³áá»áᜠááµá¥ áášá³á°á.
áá°ááá°á PBX ášá°ááá° ášáááá ááµá ášáá á á³áœ áá³á«áᢠá áá°ááá áµ áá á²á áá² á á᪠ááµáá®áœ ááµá¥ ááááá, ááá«á ááá³áᜠáá¥á± ááááµ áá°ášáá£ážáá, ááá ááá á á á°á á°ášá°á ášáá, ášáµáᜠáááá á°ááá¯á. ášá¥á±á£ á áá«á©á 1 á áá«á ááá á ááá áá áá° áá°áá« áŠáá¬á°á®áœ á¡áµá ááá¡á¢ á¥áªá á«áá á áá, áš hangupcal ááá® áá£áá, ášáá« á áá áá© á°áá£á£áªáᜠ(áááá á°áá£á£áª) á«ááá á áá á áá°áá«á ááµá¥ ááá ááµášá á áá»áá.
á áá ášá¥áª áµáá°-ááá ááµá¥ áµá á¥áªá á áááá áášá á CRM ášáµ á¥áááá£áá ᣠáá á³áµ ášáµ á¥áá°áááá ᣠáášá»áá ášáµ á¥áá°áááá á¥á áá° CRM ášá¥áªá áášá áá ááá á áá¥á?
ášáá áµááá¶áœ áá áá á°áµ
PBX á¥á CRM áá á°áµ áááµá áá? á¥ááá á á¥ááá áááµ ááµášá®áœ áá«ášá ááá¥á á¥á ááµá°á¶áœá ášáááá© á¥á á¥ááµ á á¥ááµ ášááá© ááŒá¶áœ á¥á áá®áá«áᜠáážáᢠááááá°á áµááá¶áœ á á£á ášá°ááá°á ášáááá ááááµ á á€áá ááᜠá á©á áá, á¥á á€áá áááœá áááááµ á á£á á³ááá ááááµ HTTP REST áá. áá áá®ášá¥ ááááµ á áá°ááá¢
á®ášá¢áµ ááµá¥ á«ááá¡-
-
AGI - ášá°áá³á°á ášáá áá®áá«ááœ/á á«ááµ á¥áªá£ á ááááµ á á²á«áááá ááµá¥ á¥á á áá ášááᣠá¥áá° á€á°-áá»áááµ á á
phpagi ,PAGI -
á€á€áá á - áááµá°á¶áœ ááááᥠá¥á ášáœáá áµááááœá á ááµáá£áµ ááá áá ášáá°á« ášáœáá TCP á¶á¬áµ ášááµá¥ SMTP áá ááá³á°áá ᣠááµá°á¶áœá áášá³á°á á¥á á¥áªááœá ááµá°á³á°á ááœáá ᣠá€á°-ááœáááµ á á
PAMI - ášá®ášá¢áµ áá áááááµ áááá á á á£á á³ááá
ášá€á€áá á ášáá€áµ áá³á
ááµá°áµá¡ á á²áµ á»áá
áá© áá¥áµ: áá°áá, ááá
á»ááá¡ PJSIP/VMS_pjsip-0000078b
ášá»áá ááá³á¡ 4
ChannelStateDescá¡ á°áá
á°áá áá¥áá¡ 111222
ášá°áá áá³ááá«á¡ 111222
ášá°ááá ááµáá áá¥áá¡
ášá°ááá ášááµáá áµá
áááá¡ en
ááá« á®áµ
á ááµá¡ from-pstn
áá«ááá¡ á€áµ
á
áµáá«: 1
áá©: 1599589046.5244
áááá²á²: 1599589046.5244
-
ARI ášááá±á áµá¥áá ááᣠááá á RESTᣠWebSocketᣠá JSON á áážáµ - ááá áá áµá©áµ á€á°-áá»áááµ á¥á áá á áá«áᜠá«ááµá£ á á£á á¥á© á«áááᣠášá¥á á᪠ášá°áá (
phaparia ,phpari ) áš 3 ááá³áµ á ááµ á á¥áµáá³ážá ááµá¥ ááá.
á¥áª á²ááá áš ARI áá ááµ áá³á
{"á°áááá":"CallMeCallerIDName", "á¥áŽáµ":"111222", "á áááµ":"ChannelVarset", "ášáá áá á°á":"2020-09-09T09:38:36.269+0000", "á»áá":{"áá³áá᫠»á¡Â»1599644315.5334â³á£ «áµá»á¡Â»PJSIP/VMSpjsip-000007b6â³á£ "áááµ"á¡"áá°áá"ᣠ"á°áá"á¡{"áµá"á¡"111222"ᣠ"áá¥á"á¡"111222" }ᣠ"á°áááá·á":{"áµá":""ᣠ"áá¥á" :"" }, "ášááá« á®áµ":"", "áá°áá« áá áµ":{"á ááµ":"from-pstn", "exten":"s", "á áµáá«":2, "áá°áá áªá«name":"Stasis", "áá°áá áªá«data":"áá-ááá" }ᣠ"ášáá¥ášáµ áá":"2020-09-09T09:38:35.926+0000"ᣠ"ááá":"en" }ᣠ"á®ášá¥id":"48:5b:a:aa:aa:aa", "áá°áá áªá«":"áá-ááá"}}
ááŸáµ ááá á áááá»ážáµá£ ášá°áá°á á€áá á áá ášáá¥á«áµ ááµá ááá á ááá»á ášááá°áá ááá³áµ á áá«áµáááážá á°áá£á«áµ ááᢠᚠCRM áá ášááááµ á°áá£á«áµ á¥áá°áášá°áá áážá
-
ášá¥áªáá ááááªá« ᣠášá°áááá áµá áŠá³ áášá³á°á ᣠášá°áá áá³áá᫠ᣠá²á áᲠᣠášááááªá« á¥á ášáášášá» áá ᣠââáááá£áµ ášááá«á ááµá¥ ááᥠ(á áµáá á¥á á CRM á°á áá áá«ášá áááááµ ááááá) á«áá¡ á¢
-
ášá¥áªáá á á áááá© á¥á áášáá±, á á°áááá á áážáµ á«áµááá¡áµ, ááá ášáááá áµá áášá» áášášá» áá á«á³áá.
-
á áá«á ááµá°áµ áá á¥áª áááá© (ášáá®áá«á), ášááµá¥ áá¥á, ášáá áá¥á áá°áá á¥á á«ááááážá
-
á áá«ááŠá³ á ááá áµ (á CRM áá ášáµ) á¥áªááœá á á«áµ-á°á áááµá°ááá áš CRM ᣠá°áá á¡áµáᜠá¥á FollowME áá áááá±
á¥ááá
áá á°áá£á«áµ á á€á€áá á ááá á ARI ááá± ááœááá£ááá áá ARI á¥á áášáááœá áá°á£áᣠá¥á ááµá°á¶áœ ášááᣠá¥á á°áááá®áœ á€á€áá á á ááá á«áá (ááá³á ááá® á¥áªááœá£ ááá® ááµá¥ á°áááá®áœá áááá áᣠášá¥áª áášá»á ášáá®) ááµáµá á áá°ášáá£ážááᢠáµááá
ᣠááµáááá á¥á áµáááá ááµáµáᣠá áá á€á€áá áá á¥ááášá¥ (áá áá á áá á áá°áá)ᢠá á°ášááªá (á¥á© ᣠá«ááá
ášáµ ááá ááœáá ᣠá¥á á°áá á°áᜠáá) - á ááá á¥á« (
áá á°áµá á¥áá°áá á áá°áµ áá
ášá¥á FreePBX áµá ášá¥áªá ááááªá« ᣠášáášášá» áá ᣠââáá¥á®áœ ᣠášá°áááá¡ áááᜠáµáᜠááá á áá ááááµ áá€á€áá á áªáááµ ááµášá á¥áá²áœá á¥áá° ááááªá«áá¹ á°á«á²áᜠá°áá³á³á áᎠá áá áá ášá¥áªáá ááá³ ááµááµ á á£á ááá ááᢠ- á°áááá®áœáá á«áµáá¡ á¥á áááááµ áá€á±á áá°ááµáᢠPAMI áá áá á ááá á áá£áªá« á°áá£á á¥áá²á«á°áá áá áááá¢
áá¥áªá ááááªá« áá ášá¥á«áµáá á°áááá ášáááá áá³á á¥áá á á (s áá© áá¥á á á²á«áááá ááµá¥ á«á ááá ášáááá© á ááµ áášáááá)
[ext-did-custom]
exten => s,1,Set(CallStart=${STRFTIME(epoch,,%s)})
ááá ááµáá áá³á ášá€á€áá á ááµá°áµ
ááµá°áµá¡ á á²áµ á»áá
áá© áá¥áµ: áá°áá, ááá
á»ááá¡ PJSIP/VMS_pjsip-0000078b
ášá»áá ááá³á¡ 4
ChannelStateDescá¡ á°áá
á°áá áá¥áá¡ 111222
ášá°áá áá³ááá«á¡ 111222
ášá°ááá ááµáá áá¥áá¡
ášá°ááá ášááµáá áµá
áááá¡ en
ááá« á®áµ
á ááµá¡ from-pstn
áá«ááá¡ á€áµ
á áµáá«: 1
áá©: 1599589046.5244
áááá²á²: 1599589046.5244
áá°áá áªá«á¡ AppData á ááá á¡
CallStart=1599571046
áááá«á±á FreePBX áááá¹á dimensionion.conf á¥á dimensionion_ áµáááœá ááá¢á°ášááª.conf, áááá á¥áá áááá áµááµ_á¥á.á®á
ášáá á_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 á .conf á áážáµá£ FreePBX á¥áá°ááááá (á áᣠ.ael ááœááᣠáá ááá áµáªá¶áœ á áá°áá á¥á ááááá áá¹ á áá°áá)
-
áášášá»áá á exten=>áž ášááµá¬áµ ááá áá°áµ á hangup_handler á°ááášá¢
-
ášáá áµááªááµ á¥áª áá¥ášáááᣠášá°ášáá© á¥á á¶áœ á¥á ášáá á¥áª áá¥á ExtNum
-
áááá£á á áá° _á¥á á ááµ á°ááµá·á á¥á ášFreePBX áá á®áœá á¥áá³ááá© ááá á¥áá²á«ááµá á«áµáœááá³á - ášááá£á á [ext-á á°ášá-á¥á]ᣠá [áá° ááª-á áááœ-á¥á]
-
ášáá¥á®áœ áá ááá áá«á«á ášáá - ááá áááá°áá áá á¥á áááááµ á¥á ášá áááá© áá áááááµ á¥á» áá ášáá«áµáááá
ááááá á 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 áá° ášá°ááá© ááá®áœ áááá£á á¥á ášáá£á«áµ á°áá£á©á áááááµ ááµá°á¶áœá£ ááµá®áœá£ áá¥á®áœ ááá° á¥á» ášáááááµ áœáá³ áá°á£áá¢
á¥áªá á¥áá°áá£á£ ášááá€ááµá°á ááµá°áµ ášááá [from-pstn] á ááµ ááá® ááá ááᣠášáá« ááá ááµá°á¶áœ á á ááµ ááµá¥ á ááµáá®áœ á á°á á°ášá°á ááá³áᢠá _custom dialplan ááµá¥ ášá°ááá¹áµ ášCallerMeCallerIDName á¥á CallStart á°áááá®áœ áášá á²á°áá°áá£
-
á¥áªá ášáá£á áµ ášá€ááµáŽááœá áá¥á áá ášáááá°áá ášá°á áá áá³ááá« ášáá ášá á°áá£áᢠáá°áá« á¡áµá á¢áááµ? á¥á«áá ááá²á«á ááᣠáááá á¥áª á á ááµ áá ááá á á áá¥á (ááá á°á á á ááµ áá á²á°áá) áááµ á°á« á á°á« á²á°áá á¥áá°á á«á ááá á á áá¥á ? á á¥áááá¹ á°áá áᜠᚠFisrt Available áµááµ á áážá, áµááá á áá áá ááá áœáá ášáá áµá, á ááµ á¥áª á¥á» áá. áá áá³á© á¥áá£áµ áá°á á ááá£áá¢
-
á Bitrix24 ááµá¥ á«áá ášá¥áª áááᣠá°áá£á, CallID á áááá³á, ášáá«á ášá¥áª áááªá«ááœá á¥á áá° áášá»á á áááá áªáááµ áááµášá á«áµáááá. ášá€ááµáŽááœá áá¥á ááá ášá°á áá áá³ááá« á«áµááááá
ášá¥áªá áá¥áá« á áá ášáááá¡ ášááášáµ á°áá£á á°á áá·á ᣠá¥á±á á á°áá³á³á áá ášá¥áªá áá áááá« ááá³á (áµá« áá áá ᣠáááµ ášáá ᣠáµá¬áµ) á¥á á¥áá²áá áá° mp3 ááá ášáááᥠ(á«á) á«ááá³áá¢
ášCallMeIn.php ááá á«áááášá¥ ááµá«áµ áµááá«áµáááá ášSystemD ááµáááªá« ááá áá¥á± á°áá¥á¯áᢠcallme.á áááááµ, á /etc/systemd/system/callme.service ááµá¥ áááᥠá áá áµ
[Unit]
Description=CallMe
[Service]
WorkingDirectory=/var/www/html/callmeplus
ExecStart=/usr/bin/php /var/www/html/callmeplus/CallMeIn.php 2>&1 >>/var/log/callmeplus.log
ExecStop=/bin/kill -WINCH ${MAINPID}
KillSignal=SIGKILL
Restart=on-failure
RestartSec=10s
#ÑÑÑ ÐœÐ°ÐŽÐŸ ÑЌПÑÑеÑÑ,какОе пÑава Ма папкО
#User=www-data #Ubuntu - debian
#User=nginx #Centos
[Install]
WantedBy=multi-user.target
áµááªáá±á áááá á¥á ááµááá ášáášáááá á systemctl ááá á á áááááµ ááá¢
# systemctl enable callme
# systemctl start callme
á ááááá± á¥áá° á áµááááá± (á á á°á áá) á«á±á á¥áá°áá áááá«áᢠášáᢠááá¥ááµ á³á¥á áášá³á°á« á áááááµ ášáµá á áááá áá«á á á«áµáááááᣠphp á¥á» áá ášáá«áµáááá (áá á á á¥ááá áááµ á FeePBX á áááá áá ááá¢) ááá áá ášá¥áª ááááŠáœá á áµá á áááá (á á°ášááªá áš https áá) ááááµ á ááá»áá áµ áá ášá¥áª ááááŠáœá áá³áᥠá áá»ááá¢
á áá áµá á᪠á¥áªáᜠá¥áááááᢠášCallMeOut.php áµááªááµ áááµ á°áá£á«áµ á ááµá¢
-
áš php áµááªááµ á¥á«á á²á°áá°á ášá¥áª ááá³á³áµ (á á«á± Bitrix ááµá¥ á«ááá "á¥áª" ááá áá ááá ášáá®)ᢠá«á áµá á áááá á áá°á«á, á¥á«áá á HTTP POST á á©á ááá áá, á¥á«áá ááµáá°á« ááá
-
á Bitrix ááµá¥ áµá á¥áªá ᣠáá€á¶áœ á¥á ááááŠá¹ ááá¥ááµá¢ á¥áª á²á«áá á (áááµ á¥áª-ááµá¥-á á°á ááá) áá°áá« áá áµ ááµá¥ á á áµáªáµá á°á£ášáš
ášáµá á áááá© ášáá«áµáááá ááááµ ááá®áœ á¥á» áá - ášBitrix áªá®ááµ ááááœá (á HTTPS á á©á) ááášáµ á¥á ášCallMeOut.php áµááªááµ áá°ááᢠá á¥á® ášá°á°á«áá ášFreePBX á áááá áá áá ááœááᣠááá±á áááᜠ/var/www/htmlᣠáá á áááá áá«á ááá ášá°ááš ááááµ áááᜠááœááá¢
ášáµá á áááá
ááááá°á á¥ááµ ášáµá á áááá áááá©á á¥áá°áá (
ášáá«á á áá¶áá²á
áá«áá ášá áá ááá áááµášá á github áá á«á á°ááá á·áᢠáá á áášááµ áá ááµáá³ áá á - áááá ááá á á¥ááœá á¥ášá«áá á¥á«á á£ášáá áá áá ášá°á£ááš á áá ᣠášáá áá áá°á ᣠáá ášáµ á¥á á¥ááŽáµ áášá á¥áá³áá áµ ááá áá ᢠá¥áµá«áá ááá á«á ášááá¢
Docker
áááµááá á áá¥ááµ ááášá ášááá - ášá¶ášá áá á ááµ á áá«á á á - á áá¥ááµ áá«á£ ááá ᩠ᣠáá°áŠáœá áá° áá ááµá¡ ᣠášá
áá¥á®áœ ááááœá á«áážá«áµá± á¥á áááá© (áá
ááµááá ášááµáá áášááµ á«áááµ á LetsEncrypt áá«á£ á«áá á áá«á áá) ášá°ááá¢áŠá¹á áá®áá² áá° FreePBX áᥠá°áášá ááá á¥á» á«áµááááá³á (áá áá°á¥ 88 á°á¥á°ááá)ᣠLetsEncrypt in docker á áá á áááµášáµ
áááá á áášá°á ášáá®áááµ á áá (ášgit clone á áá) ááµá¬áµ á ááŠáµá£ ááá áá ááááªá« áá° ášá®ášá¥ áá á®áœ (ášá®ášá¥ áá á°á) ááá¡ á¥á áá° ááááŠáœ á¥á ášá£á¢á«á á©á áá€á ášáááµá±áµá áááá¶áœ áááá¢
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 á€áá áááœá á á¥áá°ááᣠá á°ááá áá á á¥á® ášá°á°á«áá PBX - ShugarCRM á¥á Vtigerᣠá¥á á á! á á ááá á ááµ ááᢠáá áá áá á³áªá ááᣠá¥á±á á áá áá° github áášá¥á» ášáááááá¢
áá£áá»ááœ
-
á®á± á«á± á github áá áá -
https://github.com/CrezZ/bitrix24-freepbx-php -
ááá ááá áá£á¥á
https://habr.com/ru/post/349316/
ášáááááµ ááµá°á£á á«á¡ ášá¥ááá³á áá ášááá³á°á ááááá ááááµ ááá£á áá á¥á á¥á á ááá áá©áá¢
ááá: hab.com