FreePBX a thuiscint agus é a chomhtháthú le Bitrix24 agus níos mó

Bitrix24 Is meascán ollmhór é a chomhcheanglaíonn CRM, sreabhadh oibre, cuntasaíocht agus go leor rudaí eile a thaitníonn go mór le bainisteoirí agus nach dtaitníonn an fhoireann TF leo i ndáiríre. Úsáideann go leor cuideachtaí beaga agus meánmhéide an tairseach, lena n-áirítear clinicí beaga, monaróirí agus fiú salons áilleacht. Is í an phríomhfheidhm a bhfuil “grá” ag bainisteoirí uirthi ná comhtháthú na teileafónaíochta agus CRM, nuair a thaifeadtar aon ghlao láithreach i CRM, cruthaítear cártaí cliant, nuair a thagann siad isteach, taispeántar faisnéis faoin gcliant agus is féidir leat a fheiceáil láithreach cé hé, cad é is féidir a dhíol agus cé mhéad atá aige. Ach cosnaíonn teileafónaíocht ó Bitrix24 agus a chomhtháthú le CRM airgead, uaireanta go leor. San alt inseoidh mé duit an taithí a bhaineann le comhtháthú le huirlisí oscailte agus an IP PBX tóir PBX saor in aisce,, agus smaoinigh freisin ar loighic obair na gcodanna éagsúla

Oibrím mar sheachfhoinsitheoir i gcuideachta a dhíolann agus a chumraíonn, a chomhtháthaíonn teileafónaíocht IP. Nuair a fiafraíodh dom an bhféadfaimis rud éigin a thairiscint do seo agus don chuideachta seo Bitrix24 a chomhtháthú le PBXanna atá ag custaiméirí, chomh maith le PBXanna fíorúla ar chuideachtaí VDS éagsúla, chuaigh mé chuig Google. Agus ar ndóigh thug sé nasc dom le alt i habr, áit a bhfuil cur síos, agus github, agus is cosúil go n-oibríonn gach rud. Ach nuair a bhíothas ag iarraidh an réiteach seo a úsáid, d'éirigh sé amach nach bhfuil Bitrix24 mar a bhí roimhe seo a thuilleadh, agus ní mór go leor a athdhéanamh. Ina theannta sin, ní réiltín lom é FreePBX duit, anseo ní mór duit smaoineamh ar conas éascaíocht úsáide agus plean diailithe crua a chomhcheangal i gcomhaid cumraíochta.

Déanaimid staidéar ar loighic na hoibre

Mar sin, do starters, conas ba chóir é go léir ag obair. Nuair a fhaightear glao ón taobh amuigh den PBX (imeacht SIP INVITE ón soláthraí), tosaíonn próiseáil an phlean diailithe (plean diailithe, diailphlean) - na rialacha maidir le cad agus cén ord ba cheart a dhéanamh leis an nglao. Ón gcéad phaicéad, is féidir leat a lán faisnéise a fháil, ar féidir é a úsáid ansin sna rialacha. Uirlis iontach chun staidéar a dhéanamh ar inmheánacha SIP ná an anailísí sngrep (nasc) atá suiteáilte go simplí i dáiltí coitianta trí apt install/yum install agus a leithéidí, ach is féidir é a thógáil ón bhfoinse freisin. Breathnaímid ar an logáil isteach glaonna sngrep

FreePBX a thuiscint agus é a chomhtháthú le Bitrix24 agus níos mó

I bhfoirm shimplithe, ní dhéileálann an dialplan ach leis an gcéad phaicéad, uaireanta freisin le linn an chomhrá, aistrítear glaonna, brúigh cnaipe (DTMF), rudaí suimiúla éagsúla cosúil le FollowMe, RingGroup, IVR agus daoine eile.

Cad atá sa Phacáiste Cuireadh

FreePBX a thuiscint agus é a chomhtháthú le Bitrix24 agus níos mó

I ndáiríre, oibríonn an chuid is mó de dhiailphleananna simplí leis an gcéad dá réimse, agus imríonn an loighic iomlán timpeall DID agus CallerID. AN RAIBH - an áit a bhfuilimid ag glaoch, CallerID - atá ag glaoch.

Ach tar éis an tsaoil, tá cuideachta againn agus ní fón amháin - rud a chiallaíonn gur dócha go bhfuil grúpaí glaonna ag an PBX (fáinneáil comhuaineach / i ndiaidh a chéile ar roinnt feistí) ar uimhreacha cathrach (Ring Group), IVR (Dia duit, d'iarr tú ... Brúigh ceann amháin le haghaidh ...), Meaisíní freagartha (Frásaí), Coinníollacha Ama, Ar Aghaidh chuig uimhreacha eile nó go dtí cill (Lean Me, Ar Aghaidh). Ciallaíonn sé seo go bhfuil sé an-deacair a chinneadh gan athbhrí cé a gheobhaidh glao agus cé leis a mbeidh comhrá nuair a thagann an glao. Seo sampla de thús glao tipiciúil sa PBX dár gcliaint

FreePBX a thuiscint agus é a chomhtháthú le Bitrix24 agus níos mó

Tar éis don ghlao dul isteach sa PBX go rathúil, téann sé tríd an dialphlean i "comhthéacsanna" éagsúla. Is é an comhthéacs ó thaobh réiltín de ná sraith orduithe uimhrithe, a bhfuil scagaire i ngach ceann acu faoin uimhir dhiailithe (tugtar exten air, do ghlao seachtrach ag an gcéim tosaigh exten=DID). Is féidir na horduithe sa líne dialplan a bheith rud ar bith - feidhmeanna inmheánacha (mar shampla, glaoigh ar shíntiúsóir inmheánach - Dial(), cuir an fón síos - Hangup()), oibreoirí coinníollach (IF, ELSE, ExecIF agus a leithéid), aistrithe chuig rialacha eile den chomhthéacs seo (Goto, GotoIF), aistriú go comhthéacsanna eile i bhfoirm glao feidhme (Gosub, Macra). Treoir ar leith include имя_контекста, a chuireann orduithe ó chomhthéacs eile go dtí deireadh an chomhthéacs reatha. Déantar orduithe a chuimsítear trí áireamh a fhorghníomhú i gcónaí tar éis orduithe an chomhthéacs reatha.

Tá loighic iomlán FreePBX bunaithe ar chomhthéacsanna éagsúla a chuimsiú i ngach ceann eile trí láimhseálaithe Gosub, Macra agus Handler a áireamh agus a ghlaoch. Smaoinigh ar chomhthéacs na nglaonna FreePBX atá ag teacht isteach

FreePBX a thuiscint agus é a chomhtháthú le Bitrix24 agus níos mó

Téann an glao trí gach comhthéacs ó bhun go barr ar a seal, i ngach comhthéacs is féidir glaonna a bheith ann chuig comhthéacsanna eile cosúil le macraí (Macra), feidhmeanna (Gosub) nó díreach aistrithe (Goto), agus mar sin ní féidir leis an gcrann fíor ar a dtugtar ach amháin. a rianú sna logs.

Taispeántar thíos gnáthléaráid socraithe do PBX tipiciúil. Nuair a dhéantar glaoch, déantar DID a chuardach ar bhealaí isteach, déantar coinníollacha sealadacha a sheiceáil dó, má tá gach rud in ord, seolfar an roghchlár gutha. Ón é, trí chnaipe 1 a bhrú nó an t-am istigh a bhrú, scoir chuig an ngrúpa oibreoirí diailithe. Tar éis don ghlao críochnú, tugtar an macra hangupcall, agus ina dhiaidh sin ní féidir aon rud a dhéanamh sa dialplan, ach amháin i gcás láimhseálaithe speisialta (láimhseálaí hangup).

FreePBX a thuiscint agus é a chomhtháthú le Bitrix24 agus níos mó

Cén áit san algartam glaonna seo ar cheart dúinn faisnéis a sholáthar faoi thús an ghlao chuig CRM, cá háit le tosú ar an taifeadadh, cén áit ar cheart deireadh a chur leis an taifeadadh agus é a sheoladh mar aon le faisnéis faoin nglao chuig CRM?

Comhtháthú le córais sheachtracha

Cad é comhtháthú PBX agus CRM? Is socruithe agus cláir iad seo a thiontaíonn sonraí agus imeachtaí idir an dá ardán seo agus a sheolann chuig a chéile iad. Is é an bealach is coitianta le córais neamhspleácha cumarsáid a dhéanamh ná trí APIanna, agus is é HTTP REST an bealach is coitianta chun rochtain a fháil ar APIanna. Ach ní le haghaidh réiltín.

Taobh istigh de réiltín tá:

  • AGI - glaoch sioncrónach ar chláir / comhpháirteanna seachtracha, a úsáidtear go príomha sa dialphlean, tá leabharlanna cosúil le phpgi, PAGI

  • AMI - soicéad TCP téacs a oibríonn ar an bprionsabal chun síntiús a íoc le himeachtaí agus orduithe téacs a iontráil, cosúil le SMTP ón taobh istigh, is féidir imeachtaí a rianú agus glaonna a bhainistiú, tá leabharlann ann PAMI - an ceann is mó tóir chun nasc a chruthú le réiltín

Sampla aschur AMI

Imeacht: Cainéal nua
Pribhléid: glaoch, gach
Cainéal: PJSIP/VMS_pjsip-0000078b
Stát Cainéal: 4
ChannelStateDesc: Fáinne
Uimhir aitheantais an ghlaoiteora: 111222
Aitheantais an Chalaora: 111222
ConnectedLineNum:
líneainm nasctha:
Teanga: ga
cód cuntais:
Comhthéacs: ó-pstn
Fairsing: s
Tosaíocht: 1
Uathúil: 1599589046.5244
Nasc: 1599589046.5244

  • Is meascán den dá cheann é ARI, ar fad trí REST, WebSocket, i bhformáid JSON - ach le leabharlanna agus cumhdaigh úra, níl sé an-mhaith, aimsíodh neamhláimhe (phparia, phpari) a tháinig chun bheith ina bhforbairt thart ar 3 bliana ó shin.

Sampla d’aschur ARI nuair a chuirtear tús le glao

{ "variable": "CallMeCallerIDName", "value":" 111222", "cineál": "ChannelVarset", "stampa ama":" 2020-09-09T09:38:36.269+0000", "cainéal":{ "id »:» 1599644315.5334″, «ainm»:»PJSIP/VMSpjsip-000007b6″, "state": "Fáinne", "glaoiteoir":{ "name":" 111222″, "uimhir":" 111222″ }, "nasctha":{ "name":"", "uimhir" : " " }, "cód cuntais" : "", "diaphlean":{ "context": "ó-pstn", "exten":"s", "tosaíocht":2, "aipainm": "Stasis", "appdata": "hello-world" }, "creationtime":" 2020-09-09T09:38:35.926+0000", "teanga": "ga" }, "réiltínid":"48:5b:aa:aa:aa:aa", "iarratas": "Dia-domhan" }

Is iad na tascanna is gá a réiteach a chinnfidh áisiúlacht nó míchaoithiúlacht, an fhéidearthacht nó an dodhéanta oibriú le API ar leith. Is iad seo a leanas na tascanna le haghaidh comhtháthú le CRM:

  • Rianaigh tús an ghlao, áit ar aistríodh é, tarraing amach CallerID, DID, amanna tosaithe agus deiridh, b'fhéidir sonraí ón eolaire (chun nasc a chuardach idir an teileafón agus an t-úsáideoir CRM)

  • Tosaigh agus cuir deireadh le taifeadadh an ghlao, sábháil san fhormáid atá uait, cuir in iúl ag deireadh an taifeadta cá bhfuil an comhad suite

  • Cuir tús le glao ar imeacht seachtrach (ón gclár), cuir glaoch ar uimhir inmheánach, uimhir sheachtrach agus ceangail iad

  • Roghnach: comhtháthú le CRM, grúpaí dialer agus FollowME chun glaonna a aistriú go huathoibríoch mura bhfuil áit ann (de réir CRM)

Is féidir na tascanna seo go léir a réiteach trí AMI nó ARI, ach cuireann ARI faisnéis i bhfad níos lú ar fáil, níl mórán imeachtaí ann, ní dhéantar go leor athróg atá ag AMI fós (mar shampla, macra glaonna, athróga a shocrú taobh istigh de mhacraí, lena n-áirítear taifeadadh glaonna). Dá bhrí sin, le haghaidh rianú ceart agus cruinn, a ligean ar a roghnú AMI do anois (ach ní go hiomlán). Ina theannta sin (bhuel, cá mbeadh sé gan é seo, is daoine leisciúla muid) - sa bhunsaothar (alt i habr) úsáid PAMI. *Ansin ní mór duit iarracht a dhéanamh athscríobh chuig ARI, ach ní ar an bhfíric go n-oibreoidh sé.

Comhtháthú a athchruthú

Ionas go mbeidh ár FreePBX in ann tuairisc a thabhairt do AMI ar bhealaí simplí faoi thús an ghlao, am deiridh, uimhreacha, ainmneacha comhad taifeadta, is fusa fad an ghlao a ríomh ag baint úsáide as an cleas céanna leis na húdair bhunaidh. - cuir isteach do chuid athróg agus parsáil an t-aschur chun iad a bheith i láthair. Molann PAMI é seo a dhéanamh go simplí trí fheidhm scagaire.

Seo sampla de d’athróg féin a shocrú d’am tosaigh an ghlao (is uimhir speisialta í sa diailphlean a dhéantar SULA dtosaítear ar an gcuardach DID)

[ext-did-custom]

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

Imeacht AMI shampla don líne seo

Imeacht: Cainéal nua

Pribhléid: glaoch, gach

Cainéal: PJSIP/VMS_pjsip-0000078b

Stát Cainéal: 4

ChannelStateDesc: Fáinne

Uimhir aitheantais an ghlaoiteora: 111222

Aitheantais an Chalaora: 111222

ConnectedLineNum:

líneainm nasctha:

Teanga: ga

cód cuntais:

Comhthéacs: ó-pstn

Fairsing: s

Tosaíocht: 1

Uathúil: 1599589046.5244

Nasc: 1599589046.5244

Feidhmchlár: Socraigh AppData:

CallStart=1599571046

Toisc go ndéanann FreePBX forscríobh ar na comhaid extention.conf agus extention_extra.conf, úsáidfimid an comhad fairsingiú_saincheaptha.conf

Cód iomlán 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

Gné agus difríocht ó dhiailphlean bunaidh údair an ailt bhunaidh -

  • Dialplan i bhformáid .conf, mar is mian le FreePBX é (tá, is féidir leis .ael, ach níl gach leagan agus níl sé áisiúil i gcónaí)

  • In ionad an deireadh a phróiseáil trí exten=>h, tugadh isteach an phróiseáil trí hangup_handler, toisc gur oibrigh an diailphlean FreePBX leis amháin

  • Teaghrán glaonna scripte seasta, comharthaí athfhriotail curtha leis agus uimhir ghlao seachtrach ExtNum

  • Bogtar an phróiseáil go dtí _comhthéacsanna saincheaptha agus ligeann sé duit gan teagmháil a dhéanamh le cumraíochtaí FreePBX nó iad a chur in eagar - ag teacht isteach trí [ext-rinne-saincheaptha], ag dul amach trí [amach-uilebhealaí-saincheaptha]

  • Níl aon cheangal ar uimhreacha - tá an comhad uilíoch agus ní gá ach é a chumrú don chonair agus don nasc leis an bhfreastalaí

Chun tús a chur leis, ní mór duit freisin scripteanna a rith in AMI trí logáil isteach agus pasfhocal - chuige seo, tá comhad _custom ag FreePBX freisin

bainisteoir_custom.conf comhad

;;  это логин
[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

Ní mór an dá chomhad seo a chur in /etc/asterisk, ansin na cumraíochtaí a léamh arís (nó an réiltín a atosú)

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

Anois, a ligean ar bogadh ar aghaidh go PHP

Scripteanna a thionscnamh agus seirbhís a chruthú

Ós rud é nach bhfuil an scéim chun oibriú le Bitrix 24, seirbhís do AMI, go hiomlán simplí agus trédhearcach, ní mór é a phlé ar leithligh. Réiltín, nuair a bhíonn AMI gníomhachtaithe, go simplí osclaíonn an port agus sin é. Nuair a théann cliant isteach, iarrann sé údarú, ansin liostálann an cliant leis na himeachtaí riachtanacha. Tagann imeachtaí i ngnáth-théacs, a athraíonn PAMI ina rudaí struchtúrtha agus a sholáthraíonn an cumas an fheidhm scagtha a shocrú ach amháin le haghaidh imeachtaí suimiúla, réimsí, uimhreacha, etc.

Chomh luath agus a thagann an glaoch isteach, tá an t-imeacht NewExten fired ag tosú ó chomhthéacs an tuismitheora [ó-pstn], ansin téann gach imeacht in ord na línte sna comhthéacsanna. Nuair a fhaightear faisnéis ó na hathróga CallMeCallerIDName agus CallStart atá sonraithe sa dialphlean _custom, beidh an

  1. Is é an fheidhm atá leis an ID Úsáideora a iarraidh a fhreagraíonn don uimhir síneadh as ar tháinig an glao. Cad a tharlóidh más grúpa diailithe é? Ceist pholaitiúil í, an gá duit glaoch a chruthú do gach duine ag an am céanna (nuair a ghlaonn gach duine ag an am céanna) nó a chruthú mar a ghlaonn siad agus iad ag glaoch ar a seal? Tá an straitéis Fisrt Available ag an chuid is mó de na cliaint, mar sin níl aon fhadhb leis seo, ní gá ach glaoch amháin. Ach ní mór an cheist a réiteach.

  2. Feidhm chláraithe glaonna i Bitrix24, a sheolann an CallID ar ais, a cheanglaítear ansin paraiméadair an ghlao a thuairisciú agus nasc leis an taifeadadh. Teastaíonn uimhir shínte nó ID Úsáideora

FreePBX a thuiscint agus é a chomhtháthú le Bitrix24 agus níos mó

Tar éis dheireadh an ghlao, tugtar an fheidhm íoslódála taifead, a thuairiscíonn ag an am céanna stádas chríochnú an ghlao (Gnóthach, Gan freagra, Rath), agus íoslódálann sé nasc chuig an gcomhad mp3 leis an taifead (más ann dó).

Toisc gur gá don mhodúl CallMeIn.php rith go leanúnach, tá comhad tosaithe SystemD cruthaithe dó seirbhís. glaoim, a chaithfear a chur i /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

tarlaíonn túsú agus seoladh na scripte trí systemctl nó seirbhís

# systemctl enable callme
# systemctl start callme

Atosóidh an tseirbhís í féin de réir mar is gá (i gcás tuairteanna). Ní éilíonn an tseirbhís rianaithe bosca isteach freastalaí gréasáin a shuiteáil, ní gá ach php (atá cinnte ar an bhfreastalaí FeePBX). Ach in éagmais rochtain ar thaifid glaonna tríd an bhfreastalaí Gréasáin (chomh maith le https), ní bheidh sé indéanta éisteacht le taifid glaonna.

Anois, déanaimis labhairt faoi ghlaonna amach. Tá dhá fheidhm ag an script CallMeOut.php:

  • Glao a thionscnamh nuair a fhaightear iarratas ar script php (lena n-áirítear úsáid a bhaint as an gcnaipe "Call" sa Bitrix féin). Ní oibríonn sé gan freastalaí gréasáin, faightear an t-iarratas trí HTTP POST, tá comhartha san iarratas

  • Teachtaireacht faoin nglao, a pharaiméadair agus taifid i Bitrix. Breoslaithe ag Asterisk sa dialplan [fo-ghlao-inmheánach-dar críoch] nuair a thagann deireadh le glao

FreePBX a thuiscint agus é a chomhtháthú le Bitrix24 agus níos mó

Níl gá leis an bhfreastalaí gréasáin ach le haghaidh dhá rud - comhaid taifid Bitrix a íoslódáil (trí HTTPS) agus glaoch ar script CallMeOut.php. Is féidir leat an freastalaí FreePBX ionsuite a úsáid, arb é /var/www/html na comhaid dó, is féidir leat freastalaí eile a shuiteáil nó cosán difriúil a shonrú.

Freastalaí gréasáin

Fágaimis socrú an fhreastalaí gréasáin le haghaidh staidéar neamhspleách (tits, tits, tits). Mura bhfuil fearann ​​agat, is féidir leat triail a bhaint as FreeDomain( https://www.freenom.com/ru/index.html), a thabharfaidh ainm saor in aisce duit do do IP bán (ná déan dearmad calafoirt 80, 443 a chur ar aghaidh tríd an ródaire mura bhfuil an seoladh seachtrach ach air). Má chruthaigh tú fearann ​​DNS díreach, ansin caithfidh tú fanacht (ó 15 nóiméad go 48 uair an chloig) go dtí go mbeidh na freastalaithe go léir luchtaithe. De réir an taithí a bheith ag obair le soláthraithe baile - ó 1 uair go lá.

Uathoibriú suiteála

Forbraíodh suiteálaí ar github chun an tsuiteáil a dhéanamh níos éasca fós. Ach bhí sé réidh ar pháipéar - agus muid á shuiteáil go léir de láimh, ós rud é tar éis tinkering leis seo go léir tháinig sé soiléir cad iad na cairde lena, cé a théann cén áit agus conas é a dhífhabhtú. Níl aon suiteálaí ann fós

dhugaire

Más mian leat an réiteach a thriail go tapa - tá rogha le Docker - coimeádán a chruthú go tapa, tabhair calafoirt dó ar an taobh amuigh, sleamhnaigh na comhaid socruithe agus déan iarracht (is é seo an rogha leis an gcoimeádán LetsEncrypt, má tá teastas agat cheana féin , ní gá duit ach an seachfhreastalaí droim ar ais a atreorú chuig an bhfreastalaí gréasáin FreePBX (thugamar port eile dó 88), LetsEncrypt i docker bunaithe ar An t-alt seo

Ní mór duit an comhad a rith san fhillteán tionscadail íoslódála (tar éis git clone), ach ar dtús téigh isteach sna cumraíochtaí réiltín (fillteán réiltín) agus scríobh na cosáin chuig na taifid agus URL do shuíomh ann

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:

Tá an comhad docker-compose.yaml seo á rith trí

docker-compose up -d

Mura dtosaíonn nginx, tá rud éigin cearr leis an gcumraíocht san fhillteán nginx/ssl_docker.conf

Comhtháthú eile

Agus cén fáth nach gcuirfí roinnt CRM isteach i scripteanna ag an am céanna, shíl muid. Rinneamar staidéar ar roinnt API CRM eile, go háirithe an PBX ionsuite saor in aisce - ShugarCRM agus Vtiger, agus tá! Sea, tá an prionsabal mar an gcéanna. Ach is scéal eile é seo, a uaslódálfaimid níos déanaí chuig an github ar leithligh.

tagairtí

Séanadh: Tá cosúlacht ar bith leis an réaltacht bréige agus ní mise a bhí ann.

Foinse: will.com

Add a comment