Ndisebenza njenge-outsourcer kwinkampani ethengisa kwaye iqwalasele, idibanisa i-IP telephony. Xa ndabuzwa ukuba sinokunikela ngantoni kule nkampani kwaye le nkampani idibanise i-Bitrix24 kunye nee-PBX abanazo abathengi, kunye nee-PBX ezibonakalayo kwiinkampani ezahlukeneyo ze-VDS, ndaya kuGoogle. Kwaye ngokuqinisekileyo wandinika ikhonkco
Sifunda ingqiqo yomsebenzi
Ke kubaqalayo, kufuneka isebenze njani yonke. Xa ifowuni ifunyenwe ngaphandle kwi-PBX (i-SIP MEME isiganeko esivela kumnikezeli), ukuqhutyelwa kwe-dialplan (isicwangciso sokudayela, i-dialplan) iqala - imigaqo yento kunye nendlela yokwenza umnxeba. Ukususela kwipakethi yokuqala, unokufumana ulwazi oluninzi, olunokuthi lusetyenziswe kwimigaqo. Isixhobo esihle kakhulu sokufunda i-internals ye-SIP yi-analyzer sngrep (
Kwifom eyenziwe lula, i-dialplan ijongene kuphela nepakethi yokuqala, ngamanye amaxesha kwakhona ngexesha lencoko, iifowuni zidluliswa, ukucofa amaqhosha (i-DTMF), izinto ezahlukeneyo ezinomdla ezifana ne-FollowMe, i-RingGroup, i-IVR kunye nabanye.
Yintoni engaphakathi kwiPhekhi yokumema
Ngokwenyani, uninzi lweeplani ezilula zisebenza kunye nemimandla emibini yokuqala, kwaye yonke ingqiqo ijikeleza i-DID kunye ne-CallerID. YENZA - apho sibiza khona, i-CallerID - ngubani ofowunayo.
Kodwa emva kwayo yonke loo nto, sinenkampani kwaye akukho fowuni enye - oku kuthetha ukuba i-PBX inokwenzeka ukuba inamaqela omnxeba (ngaxeshanye / ukukhala okulandelelanayo kwezixhobo ezininzi) kwiinombolo zedolophu (iQela leRing), i-IVR (Molo, ubize ... Cofa ... enye ye ...), Ukuphendula oomatshini (Amabinzana), Iimeko zeXesha, Ukudlulisela kwamanye amanani okanye kwiseli (FollowMe, Phambili). Oku kuthetha ukuba kunzima kakhulu ukumisela ngokucacileyo ukuba ngubani oza kufumana umnxeba kwaye ngubani oya kuba nencoko naye xa umnxeba ufika. Nanku umzekelo wesiqalo somnxeba oqhelekileyo kwi-PBX yabathengi bethu
Emva kokuba ifowuni ingene ngempumelelo kwi-PBX, ihamba nge-diaplan "kwimixholo" eyahlukeneyo. Umxholo ngokwembono ye-Asterisk liqela elinenombolo lemiyalelo, nganye inesihluzo ngenombolo edayelweyo (ibizwa ngokuba yi-exten, yocingo lwangaphandle kwinqanaba lokuqala exten=DID). Imiyalelo kumgca we-diaplan ingaba nantoni na - imisebenzi yangaphakathi (umzekelo, biza umrhumeli wangaphakathi - Dial()
, beka ifowuni phantsi - Hangup()
), abasebenzi abanemiqathango (IF, ELSE, ExecIF
kunye nokunye), utshintsho ukuya kweminye imithetho yalo mxholo (Goto, GotoIF
), ukutshintshela kweminye imixholo ngendlela yobizo lomsebenzi (Gosub, Macro). Umyalelo owahlukileyo include имя_контекста
, eyongeza imiyalelo ukusuka komnye umxholo ukuya ekupheleni komxholo wangoku. Imiyalelo ebandakanyiweyo ngokuquka isoloko iphunyezwa после imiyalelo yomxholo wangoku.
Yonke ingqiqo ye-FreePBX yakhelwe ekufakweni kweemeko ezahlukeneyo komnye nomnye ngokubandakanya kunye nokufowuna ngeGosub, Macro kunye nabaPhathi be-Handler. Cinga ngomxholo weefowuni ze-FreePBX ezingenayo
Umnxeba uhamba kuzo zonke iimeko ukusuka phezulu ukuya ezantsi ngokulandelelana, kumxholo ngamnye kunokubakho iifowuni kwezinye iimeko ezifana ne-macros (Macro), imisebenzi (Gosub) okanye utshintsho nje (Goto), ngoko ke umthi wokwenyani wento ebizwa ngokuba unokuphela. ukulandelelwa kwiilog.
Umzobo wokuseta oqhelekileyo wePBX uboniswe ngezantsi. Xa ubiza, i-DID ikhangelwe kwiindlela ezingenayo, iimeko zesikhashana zihlolwe kuyo, ukuba yonke into ilungile, imenyu yezwi iqaliswe. Ukusuka kuyo, ngokucofa iqhosha 1 okanye ixesha lokuphuma, phuma kwiqela labasebenzi bokucofa. Emva kokuphela komnxeba, i-hangupcall macro ibizwa ngokuba, emva koko akukho nto inokwenziwa kwi-dialplan, ngaphandle kwabaphathi abakhethekileyo (i-hangup handler).
Apho kule algorithm yokufowuna kufuneka sinikezele ngolwazi malunga nokuqala komnxeba kwiCRM, apho ungaqala khona ukurekhoda, apho ukugqiba ukurekhoda kwaye uyithumele kunye nolwazi malunga nokufowunela kwiCRM?
Ukudityaniswa neenkqubo zangaphandle
Yintoni ukuhlanganiswa kwe-PBX kunye neCRM? Ezi ziseto kunye neenkqubo eziguqula idatha kunye neziganeko phakathi kwezi ziqonga zimbini kwaye zithumele omnye komnye. Indlela eqhelekileyo yeenkqubo ezizimeleyo zokunxibelelana nge-APIs, kwaye eyona ndlela idumileyo yokufikelela kwi-APIs yi-HTTP REST. Kodwa hayi ngeenkwenkwezi.
Ngaphakathi kweAsterisk yile:
-
I-AGI - i-synchronous call yeenkqubo zangaphandle / amacandelo, asetyenziswa ikakhulu kwi-diaplan, kukho amathala eencwadi afana
phpagi ,PAGI -
I-AMI - isicatshulwa se-TCP socket esebenza kumgaqo wokubhalisa kwiziganeko kunye nokufaka imiyalelo yombhalo, ifana ne-SMTP evela ngaphakathi, inokulandelela imicimbi kunye nokulawula iifowuni, kukho ilayibrari.
PAMI -eyona idumileyo ekudaleni uqhagamshelwano neAsterisk
Umzekelo wemveliso ye-AMI
Umsitho: Isitishi esitsha
Lubabalo: bizani nonke
Ijelo: PJSIP/VMS_pjsip-0000078b
Ilizwe lesijelo: 4
ChannelStateDesc: Ring
Inombolo yoMnxeba: 111222
I-CallerIDName: 111222
ConnectedLineNum:
igama lomgca elidityanisiweyo:
Ulwimi: en
ikhowudi yeakhawunti:
Umxholo: ukusuka-pstn
Yandisa: s
Kuqala: 1
Eyodwa: 1599589046.5244
Ikhonkco: 1599589046.5244
-
I-ARI ngumxube wazo zombini, zonke nge-REST, iWebSocket, kwifomathi ye-JSON - kodwa ngamathala eencwadi amatsha kunye nezisongelo, azilunganga kakhulu, zifunyenwe ngaphandle (
phparia ,phpari ) eyaba kuphuhliso lwabo malunga neminyaka emi-3 eyadlulayo.
Umzekelo wemveliso ye-ARI xa umnxeba uqaliswa
{ "variable":"CallMeCallerIDName", "value":"111222", "type":"ChannelVarset", "timestamp":"2020-09-09T09:38:36.269+0000", "channel":{ "id »:»1599644315.5334″, «igama»:»PJSIP/VMSpjsip-000007b6″, "state":"Rring", "caller":{ "name":"111222″, "number":"111222″ }, "connected":{"igama":"", "inombolo" :"" }, "accountcode":"", "dialplan":{ "context":"from-pstn", "exten":"s", "priority":2, "appigama":"Stasis", "appdata":"molo-world" }, "ixesha lokudalwa":"2020-09-09T09:38:35.926+0000", "ulwimi":"en" }, "asteriskid":"48:5b:aa:aa:aa:aa", "application":"molo-world"}
Ukulungeleka okanye ukuphazamiseka, ukuba kunokwenzeka okanye akunakwenzeka ukusebenza kunye ne-API ethile kuchongwa yimisebenzi efuna ukusonjululwa. Imisebenzi yokudibanisa neCRM imi ngolu hlobo lulandelayo:
-
Landela isiqalo somnxeba, apho idluliselwe khona, khupha i-CallerID, DID, ukuqala kunye namaxesha okuphela, mhlawumbi idatha evela kulawulo (ukukhangela uxhulumaniso phakathi kwefowuni kunye nomsebenzisi weCRM)
-
Qala kwaye uphelise ukurekhodwa kwefowuni, yigcine kwifomathi oyifunayo, yazisa ekupheleni kokurekhoda apho ifayile ikhona.
-
Qalisa umnxeba kwisiganeko sangaphandle (ukusuka kwiprogram), fowunela inombolo yangaphakathi, inombolo yangaphandle kwaye udibanise
-
Ukhetho: dibanisa neCRM, amaqela okucofa kunye ne-FollowME yokudluliselwa kweefowuni ngokuzenzekelayo ngokungabikho kwendawo (ngokweCRM)
Yonke le misebenzi inokusombululwa nge-AMI okanye i-ARI, kodwa i-ARI inikezela ngolwazi oluncinci kakhulu, akukho ziganeko ezininzi, ezininzi izinto eziguquguqukayo ezisenayo i-AMI (umzekelo, iifowuni ze-macro, ukuseta izinto eziguquguqukayo ngaphakathi kwee-macros, kubandakanywa ukurekhoda kweefowuni) azilandelwa. Ke ngoko, ukulandelela ngokuchanekileyo nangokuchanekileyo, masikhethe i-AMI okwangoku (kodwa hayi ngokupheleleyo). Ukongeza (kakuhle, bekuya kuba phi ngaphandle koku, singabantu abonqenayo) - kumsebenzi wokuqala (
Ukubuyisela ukuhlanganiswa
Ukuze i-FreePBX yethu ikwazi ukubika kwi-AMI ngeendlela ezilula malunga nokuqala kwefowuni, ixesha lokuphela, amanani, amagama eefayile ezirekhodiweyo, kulula ukubala ixesha lomnxeba usebenzisa iqhinga elifanayo njengababhali bokuqala. - ngenisa izinto eziguquguqukayo kwaye ucazulule iziphumo zobukho bazo. I-PAMI icebisa ukwenza oku ngokulula ngomsebenzi wokucoca.
Nanku umzekelo wokucwangcisa okwakho ukwahluka kwixesha lokuqala lomnxeba (s linani elikhethekileyo kwiplani yokucofa eyenziwa PHAMBI kokuqalisa uphendlo lwe-DID)
[ext-did-custom]
exten => s,1,Set(CallStart=${STRFTIME(epoch,,%s)})
Umzekelo isiganeko se-AMI kulo mgca
Umsitho: Isitishi esitsha
Lubabalo: bizani nonke
Ijelo: PJSIP/VMS_pjsip-0000078b
Ilizwe lesijelo: 4
ChannelStateDesc: Ring
Inombolo yoMnxeba: 111222
I-CallerIDName: 111222
ConnectedLineNum:
igama lomgca elidityanisiweyo:
Ulwimi: en
ikhowudi yeakhawunti:
Umxholo: ukusuka-pstn
Yandisa: s
Kuqala: 1
Eyodwa: 1599589046.5244
Ikhonkco: 1599589046.5244
Isicelo: Seta i-AppData:
CallStart=1599571046
Kuba iFreePBX ibhala ngaphezulu i- extention.conf kunye neefayile zobukhulu_extra.conf, siya kusebenzisa ifayile ukwandiswa_siko.conf
Ikhowudi epheleleyo ye 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
Uphawu kunye nomahluko ukusuka kwi-dialplan yokuqala yababhali benqaku lokuqala -
-
I-Dialplan kwi-.conf ifomathi, njengoko i-FreePBX iyifunayo (ewe, ingakwazi .ael, kodwa ayizizo zonke iinguqulelo kwaye ayisoloko ilungile)
-
Endaweni yokuqhubekeka isiphelo nge exten=>h, ukuqhubela phambili kwavezwa nge hangup_handler, kuba iFreePBX dialplan isebenze ngayo kuphela.
-
Umtya wokufowuna weskripthi esilungisiweyo, iikowuti ezongeziweyo kunye nenombolo yomnxeba yangaphandle ExtNum
-
Uqhubekeko lusiwa _custom imixholo kwaye ikuvumela ukuba ungachukumisi okanye uhlele iFreePBX configs - engenayo nge [ext-yenza-isiko], ephumayo [eziphumayo-zonke iindlela-isiko]
-
Akukho kubophelela kwamanani - ifayile yeyomhlaba wonke kwaye ifuna kuphela ukuqwalasela umendo kunye nekhonkco kumncedisi.
Ukuze uqalise, kufuneka usebenzise izikripthi kwi-AMI ngokungena kunye negama lokugqitha - kule nto, iFreePBX nayo inefayile ye_custom.
manager_custom.conf ifayile
;; это логин
[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
Zombini ezi fayile kufuneka zibekwe kwi/etc/asterisk, emva koko ufunde kwakhona uqwalaselo (okanye uqalise kwakhona iinkwenkwezi)
# astrisk -rv
Connected to Asterisk 16.6.2 currently running on freepbx (pid = 31629)
#freepbx*CLI> dialplan reload
Dialplan reloaded.
#freepbx*CLI> exit
Ngoku masiqhubele phambili kwi-PHP
Ukuqalisa izikripthi kunye nokudala inkonzo
Ekubeni iskimu sokusebenza kunye ne-Bitrix 24, inkonzo ye-AMI, ayilula kwaye icacile, kufuneka ixoxwe ngokwahlukileyo. I-asterisk, xa i-AMI ivuliwe, ivula ngokulula izibuko kwaye yiyo loo nto. Xa umxhasi ejoyina, ucela ukugunyazwa, ngoko umxhasi ubhalisa kwiziganeko eziyimfuneko. Iziganeko ziza kumbhalo ocacileyo, apho i-PAMI iguqulela kwizinto ezicwangcisiweyo kwaye inika amandla okuseta umsebenzi wokucoca kuphela kwiziganeko ezinomdla, amasimi, amanani, njl.
Ngokukhawuleza ukuba ifowuni ingene, isiganeko se-NewExten sigxothwa ukusuka kumzali [ukusuka kwi-pstn] umxholo, emva koko zonke iziganeko zihamba ngokulandelelana kwemigca kwiimeko. Xa ulwazi lufunyenwe kwiCallMeCallerIDName kunye neCallStart eguquguqukayo echazwe kwi- _custom diaplan, i
-
Umsebenzi wokucela i-UserID ehambelana nenombolo yokwandisa apho umnxeba uze khona. Kuthekani ukuba liqela lokucofa? Umbuzo wezopolitiko, ngaba kufuneka wenze umnxeba kuye wonke umntu ngexesha elinye (xa wonke umntu efowuna kanye) okanye udale njengoko befowuna xa befowuna? Uninzi lwabathengi banecebo leFisrt elifumanekayo, ke akukho ngxaki ngale nto, inye kuphela iminxeba. Kodwa umba kufuneka usonjululwe.
-
Umsebenzi wokubhalisa umnxeba kwi-Bitrix24, ebuyisela i-CallID, efunekayo ukuba ichaze iiparamitha zefowuni kunye nekhonkco ekurekhodweni. Ifuna inombolo yolwandiso okanye i-UserID
Emva kokuphela kwefowuni, umsebenzi wokukhuphela irekhodi ubizwa ngokuba, ngexesha elifanayo libika ubume bokugqitywa kwefowuni (Busy, Akukho mpendulo, Impumelelo), kwaye kwakhona ukhuphela ikhonkco kwifayile ye-mp3 kunye nerekhodi (ukuba ikhona).
Ngenxa yokuba imodyuli yeCallMeIn.php kufuneka iqhube ngokuqhubekayo, ifayile yokuqalisa ye-SystemD yenzelwe yona callme.inkonzo, ekufuneka ifakwe kuyo /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
ukuqaliswa kunye nokuqaliswa kweskripthi kwenzeka nge-systemctl okanye inkonzo
# systemctl enable callme
# systemctl start callme
Inkonzo iya kuziqalisa kwakhona njengoko kufuneka (kwimeko yontlitheko). Inkonzo yokulandelela i-inbox ayifuni umncedisi wewebhu ukuba afakwe, kuphela i-php efunekayo (leyo ngokuqinisekileyo ikwi-server ye-FeePBX). Kodwa ngokungabikho kokufikelela kwiirekhodi zokufowuna nge-Web server (kunye ne-https), akuyi kuba nako ukumamela iirekhodi zokufowuna.
Ngoku makhe sithethe ngeminxeba ephumayo. I-CallMeOut.php script inemisebenzi emibini:
-
Ukuqaliswa kwefowuni xa isicelo sifunyenwe kwiscript sephp (kuquka ukusebenzisa iqhosha elithi "Call" kwiBitrix ngokwayo). Ayisebenzi ngaphandle komncedisi wewebhu, isicelo sifunyenwe nge-HTTP POST, isicelo siqulethe uphawu
-
Umyalezo malunga nomnxeba, iiparamitha zayo kunye neerekhodi kwi-Bitrix. Ikhutshwe yiAsterisk kwi [sub-call-internal-ended] dialplan xa umnxeba uphela
Umncedisi wewebhu ufuneka kuphela kwizinto ezimbini - ukukhuphela iifayile zerekhodi zeBitrix (nge-HTTPS) kwaye ubize i-CallMeOut.php script. Ungasebenzisa iseva ye-FreePBX eyakhelwe-ngaphakathi, iifayile eziye /var/www/html, ungafaka enye iseva okanye ucacise indlela eyahlukileyo.
Umncedisi wewebhu
Masishiye ukuseta iseva yewebhu ukuze sifunde ngokuzimeleyo (
Ufakelo oluzenzekelayo
Isifakeli siphuhlisiwe kwi-github ukwenza ukufakela kube lula. Kodwa yayigudileyo ephepheni-ngelixa siyifakela yonke ngesandla, kuba emva kokuphonononga yonke le nto yacaca gca ukuba yintoni na abahlobo, ngubani oya phi kunye nendlela yokuyilungisa. Akukho mfaki okwangoku
Docker
Ukuba ufuna ukuzama isisombululo ngokukhawuleza - kukho ukhetho ngeDocker - yenza ngokukhawuleza isikhongozeli, usinike izibuko ngaphandle, tyibiliza iifayile zezicwangciso kwaye uzame (olu khetho kunye ne-LetsEncrypt container, ukuba sele unesatifikethi. Idinga nje ukubuyisela umva iproxy kwi-FreePBX umncedisi wewebhu (siyinike enye izibuko yi 88), LetsEncrypt kwidocker esekwe
Kufuneka usebenzise ifayile kwifolda yeprojekthi ekhutshelweyo (emva kwe-git clone), kodwa kuqala ungene kwi-asterisk configs (incwadi yeenkwenkwezi) kwaye ubhale iindlela kwiirekhodi kunye ne-URL yendawo yakho apho.
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:
Le docker-compose.yaml ifayile iqhutywa nge
docker-compose up -d
Ukuba nginx ayiqalisi, kukho into engalunganga ngoqwalaselo kwi nginx/ssl_docker.conf ulawulo.
Okunye ukudityaniswa
Kwaye kutheni ungafaki iCRM kwizikripthi ngaxeshanye, sacinga. Sifunde ezinye ii-API zeCRM ezininzi, ngakumbi i-PBX eyakhelwe-ngaphakathi yasimahla-ShugarCRM kunye neVtiger, kwaye ewe! ewe, umgaqo uyafana. Kodwa eli lelinye ibali, esiya kuthi kamva sililayishe kwi-github ngokwahlukileyo.
iimbekiselo
-
Ikhowudi ngokwayo ikwi-github -
https://github.com/CrezZ/bitrix24-freepbx-php -
Inqaku lomthombo wembewu
https://habr.com/ru/post/349316/
Ukuziphendulela: Nakuphi na ukufana nenyani yinyani kwaye yayingendim.
umthombo: www.habr.com