Kunzwisisa FreePBX uye kuisanganisa neBitrix24 nezvimwe

Bitrix24 musanganiswa wakakura unosanganisa CRM, kufambiswa kwebasa, accounting uye zvimwe zvinhu zvakawanda izvo mamaneja anonyatsoda uye vashandi veIT havadi chaizvo. Iyo portal inoshandiswa neakawanda emakambani madiki uye epakati nepakati, kusanganisira makiriniki madiki, vagadziri uye kunyange runako salon. Basa guru iro mamaneja "vanoda" ndiko kubatanidzwa kwefoni uye CRM, kana chero kufona kwakarekodhwa muCRM, makadhi evatengi anogadzirwa, kana achipinda, ruzivo nezve mutengi runoratidzwa uye unogona kuona nekukurumidza kuti ndiani, chii chaanoita. anogona kutengesa uye kuti ane chikwereti chakadii. Asi runhare kubva kuBitrix24 uye kubatanidzwa kwayo neCRM kunoda mari, dzimwe nguva yakawanda. Muchinyorwa ini ndichakuudza chiitiko chekubatanidza nematurusi akavhurika uye yakakurumbira IP PBX YemaharaPBX, uye fungawo pfungwa yebasa rezvikamu zvakasiyana-siyana

Ini ndinoshanda sekunze mune imwe kambani inotengesa uye inogadzirisa, inobatanidza IP telephony. Pandakabvunzwa kana taigona kupa chimwe chinhu kune iyi uye kambani iyi kubatanidza Bitrix24 nePBXs iyo vatengi vanayo, pamwe chete neiyo chaiyo PBXs pamakambani akasiyana eVDS, ndakaenda kuGoogle. Uye zvechokwadi akandipa link chinyorwa muna habr, apo pane tsanangudzo, uye github, uye zvinhu zvose zvinoratidzika kushanda. Asi pakuedza kushandisa mhinduro iyi, zvakazoitika kuti Bitrix24 haisisina kufanana nekare, uye zvakawanda zvinoda kugadziriswa. Mukuwedzera, FreePBX haisi asterisk isina chinhu kwauri, pano iwe unofanirwa kufunga nezve nzira yekubatanidza nyore kushandisa uye hardcore dialplan mumafaira ekugadzirisa.

Tinodzidza pfungwa yebasa

Saka kune vanotanga, kuti zvese zvinofanirwa kushanda sei. Kana foni yagamuchirwa kubva kunze kwePBX (SIP INVITE chiitiko kubva kumupi), kugadziriswa kwedhiyabhorosi (dial plan, dialplan) inotanga - mitemo yei uye nenzira ipi yekuita nekufona. Kubva pakiti yekutanga, unogona kuwana ruzivo rwakawanda, runogona kushandiswa mumitemo. Chishandiso chakanakisa chekudzidza zvemukati zveSIP ndiyo analyzer sngrep (ссылка) iyo inongomisikidzwa mukugovewa kwakakurumbira kuburikidza neapt install/yum install nezvimwe zvakadaro, asi inogonawo kuvakwa kubva kunobva. Ngatitarisei pane yekufona log in sngrep

Kunzwisisa FreePBX uye kuisanganisa neBitrix24 nezvimwe

Mune chimiro chakarerutswa, iyo dialplan inobata chete neyekutanga pakiti, dzimwe nguva zvakare panguva yekukurukurirana, mafoni anotamiswa, mabhatani mabhatani (DTMF), zvakasiyana-siyana zvinonakidza zvinhu seFollowMe, RingGroup, IVR nevamwe.

Chii chiri mukati meInvite Pack

Kunzwisisa FreePBX uye kuisanganisa neBitrix24 nezvimwe

Chaizvoizvo, akawanda akareruka dialplans anoshanda neminda miviri yekutanga, uye iyo pfungwa yese inotenderera DID neCallerID. DID - kwatiri kufona, CallerID - ndiani ari kufona.

Asi mushure mezvose, isu tine kambani uye kwete foni imwe - zvinoreva kuti iyo PBX ingangove ine mapoka ekufona (panguva imwe chete / inoteedzana kurira kwemidziyo yakati wandei) panhamba dzeguta (Ring Group), IVR (Mhoro, iwe wafona ... Press imwe ye ...), Kupindura muchina (Prases), Nguva Mamiriro, Kuendesa kune dzimwe nhamba kana kune sero (FollowMe, Pamberi). Izvi zvinoreva kuti zvakaoma kuona kuti ndiani achagamuchira runhare uye kuti ndiani achataura naye kana runhare rwasvika. Heino muenzaniso wekutanga kwekufona kwakajairika muPBX yevatengi vedu

Kunzwisisa FreePBX uye kuisanganisa neBitrix24 nezvimwe

Mushure mekufona kwabudirira kupinda muPBX, inofamba nedhialplan mune akasiyana "context". Mamiriro ezvinhu kubva pakuona kweAsterisk i nhamba yemirairo yemirairo, imwe neimwe ine sefa nenhamba yakadanwa (inonzi exten, yekudanwa kwekunze padanho rekutanga exten=DID). Iyo mirairo mumutsara we dialplan inogona kuve chero - yemukati mabasa (semuenzaniso, fonera munyoreri wemukati - Dial(), isa foni pasi - Hangup()), mashandisirwo anodiwa (IF, ELSE, ExecIF nezvimwe zvakadaro), shanduko kune mimwe mitemo yechirevo ichi (Goto, GotoIF), shanduko kune mamwe mamiriro muchimiro chebasa rekufona (Gosub, Macro). Murairo wakasiyana include имя_контекста, iyo inowedzera mirairo kubva kune imwe mamiriro kusvika kumagumo emamiriro ezvinhu aripo. Mirairo inosanganisirwa kuburikidza nekusanganisira inogara ichiitwa после mirairo yemamiriro azvino.

Iyo yese pfungwa yeFreePBX yakavakirwa pakubatanidzwa kweakasiyana mamiriro mukati meumwe neumwe kuburikidza nekusanganisira uye kufona kuburikidza neGosub, Macro uye Handler vanobata. Funga nezve mamiriro ekupinda FreePBX mafoni

Kunzwisisa FreePBX uye kuisanganisa neBitrix24 nezvimwe

Iko kufona kunofamba nemukati mese kubva kumusoro kusvika kuzasi zvichichinjana, mune imwe neimwe mamiriro panogona kuve nekufona kune mamwe mamiriro senge macros (Macro), mabasa (Gosub) kana kungochinja (Goto), saka muti chaiwo weunonzi unogona chete. kurondwa mumatanda.

Yakajairika setup dhizaini yeyakajairika PBX inoratidzwa pazasi. Paunenge uchifona, DID inotsvakwa munzira dzinopinda, mamiriro enguva pfupi anotariswa, kana zvese zvakarongeka, menyu yezwi inotangwa. Kubva pairi, nekudzvanya bhatani 1 kana nguva yekupera, buda kune boka revanodaira vanoshanda. Mushure mekudanwa kwapera, hangupcall macro inodanwa, mushure mezvo hapana chinogona kuitwa mu dialplan, kunze kweakakosha mabati (hangup handler).

Kunzwisisa FreePBX uye kuisanganisa neBitrix24 nezvimwe

Ndekupi mune ino yekufona algorithm yatinofanira kupa ruzivo nezve kutanga kwekufona kuCRM, kwekutanga kurekodha, kwekugumisira kurekodha uye kutumira pamwe neruzivo nezve kufona kuCRM?

Kubatanidzwa nekunze maitiro

Chii chinonzi PBX uye CRM kubatanidzwa? Aya ndiwo marongero uye zvirongwa zvinoshandura data nezviitiko pakati pemapuratifomu maviri aya uye otumira kune mumwe nemumwe. Nzira yakajairika yemasisitimu akazvimirira ekutaurirana ndeye APIs, uye nzira inonyanya kufarirwa yekuwana maAPI ndeyeHTTP REST. Asi kwete yeasterisk.

Mukati meAsterisk ndeiyi:

  • AGI - synchronous call kune ekunze zvirongwa / zvikamu, zvinoshandiswa zvakanyanya mu dialplan, kune maraibhurari akafanana phpagi, PAGI

  • AMI - chinyorwa cheTCP socket chinoshanda pamusimboti wekunyorera kune zviitiko uye kupinda mameseji mirairo, yakafanana neSMTP kubva mukati, inogona kuteedzera zviitiko uye kubata mafoni, kune raibhurari. PAMI - inonyanya kufarirwa pakugadzira kubatana neAsterisk

AMI yekubuda muenzaniso

Chiitiko: New channel
Ropafadzo: danai mose
Chiteshi: PJSIP/VMS_pjsip-0000078b
Channel State: 4
ChannelStateDesc: Ring
CallerIDNum: 111222
CallerIDZita: 111222
YakabatanidzwaLineNum:
yakabatana linename:
Mutauro: en
account code:
Context: kubva-pstn
Wedzera: s
Chinonyanya kukosha: 1
Yakasiyana: 1599589046.5244
Linkedd: 1599589046.5244

  • ARI musanganiswa wezvose zviri zviviri, zvese kuburikidza neREST, WebSocket, muJSON fomati - asi nemaraibhurari matsva nemaputi, asina kunyatsonaka, akawanikwa akawanikwa (phparia, phpari) izvo zvakava mukukura kwavo makore matatu apfuura.

Muenzaniso wekubuda kweARI kana kufona kwatangwa

{ "variable":"CallMeCallerIDName", "value":"111222", "type":"ChannelVarset", "timestamp":"2020-09-09T09:38:36.269+0000", "chiteshi":{ "id »:»1599644315.5334″, «zita»:»PJSIP/VMSpjsip-000007b6″, "state":"Ring", "caller":{ "zita":"111222″, "nhamba":"111222″ }, "yakabatana":{"zita":"", "nhamba" :"" }, "accountcode":"", "dialplan":{ "context":"from-pstn", "exten":"s", "priority":2, "appzita":"Stasis", "appdata":"mhoro-nyika" }, "nguva yekusika":"2020-09-09T09:38:35.926+0000", "mutauro":"en" }, "asteriskid":"48:5b:aa:aa:aa:aa", "application":"hello-world" }

Kureruka kana kusagadzikana, mukana kana kusagoneka kwekushanda neimwe API inotemwa nemabasa anoda kugadziriswa. Iwo mabasa ekubatanidzwa neCRM ndeaya anotevera:

  • Tevera kutanga kwekufona, kwayakaendeswa, dhonza CallerID, DID, kutanga uye kupera nguva, pamwe data kubva kudhairekitori (kutsvaga chinongedzo pakati pefoni nemushandisi weCRM)

  • Tanga uye pedzisa kurekodha kwekufona, chengetedza mune yaunoda fomati, zivisa pakupera kwekurekodha uko faira iri.

  • Tanga kufona pane chiitiko chekunze (kubva kuchirongwa), fonera nhamba yemukati, nhamba yekunze uye ubatanidze

  • Inesarudzo: batanidza neCRM, mapoka edhiyabhorosi uye FollowME yekuendesa otomatiki mafoni pasina nzvimbo (maererano neCRM)

Ese aya mabasa anogona kugadziriswa kuburikidza neAMI kana ARI, asi ARI inopa ruzivo rushoma, hapana zviitiko zvakawanda, zvakawanda zvakasiyana izvo AMI ichine (semuenzaniso, macro mafoni, kuseta zvinosiyana mukati ma macros, kusanganisira kufona kurekodha) hazviteverwi. Naizvozvo, yekutevera uye kwakaringana yekutevera, ngatisarudze AMI ikozvino (asi kwete zvizere). Mukuwedzera (zvakanaka, zvingave kupi pasina izvi, isu tiri vanhu vane usimbe) - mubasa rekutanga (chinyorwa muna habr) shandisa PAMI. *Ipapo iwe unofanirwa kuyedza kunyora zvakare kuARI, asi kwete chokwadi chekuti ichashanda.

Reinventing kubatanidzwa

Kuti FreePBX yedu ikwanise kuudza AMI nenzira dzakareruka nezvekutanga kwekufona, nguva yekupedzisira, manhamba, mazita emafaira akarekodhwa, zviri nyore kuverenga nguva yekufona uchishandisa hunyengeri hwakafanana nevanyori vekutanga. - pinza zvimiro zvako uye patsanura zvinobuda zvekuvapo kwavo. PAMI inokurudzira kuita izvi zviri nyore kuburikidza nesefa basa.

Heino muenzaniso wekuseta yako yega shanduko yenguva yekutanga kufona (s inhamba yakakosha mudhiyabhorosi inoitwa USATI watanga kutsvaga kweDID)

[ext-did-custom]

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

Muenzaniso AMI chiitiko chemutsara uyu

Chiitiko: New channel

Ropafadzo: danai mose

Chiteshi: PJSIP/VMS_pjsip-0000078b

Channel State: 4

ChannelStateDesc: Ring

CallerIDNum: 111222

CallerIDZita: 111222

YakabatanidzwaLineNum:

yakabatana linename:

Mutauro: en

account code:

Context: kubva-pstn

Wedzera: s

Chinonyanya kukosha: 1

Yakasiyana: 1599589046.5244

Linkedd: 1599589046.5244

Chishandiso: Seta AppData:

CallStart=1599571046

Nekuti FreePBX inodarika iyo extention.conf uye extention_ mafaerakuwedzera.conf, tichashandisa faira kureba_tsika.conf

Kodhi yakazara 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

Chimiro uye musiyano kubva kune yekutanga dialplan yevanyori vechinyorwa chekutanga -

  • Dialplan in .conf format, sekuda kunoita FreePBX (hongu, inogona .ael, asi kwete shanduro dzose uye haisi nyore nguva dzose)

  • Panzvimbo pekugadzirisa magumo kuburikidza exten => h, kugadzirisa kwakaunzwa kuburikidza hangup_handler, nekuti iyo FreePBX dialplan yakashanda nayo chete.

  • Yakagadziriswa script yekufona tambo, yakawedzera makotesheni uye yekunze nhamba yekufona ExtNum

  • Kugadziriswa kunoendeswa kune _custom mamiriro uye inobvumidza iwe kuti usabata kana kugadzirisa FreePBX configs - inouya kuburikidza ne [ext-did-custom], kubuda kuburikidza [kubuda-zvese-tsika]

  • Hapana chinosunga kune manhamba - iyo faira ndeyepasirese uye inongoda kugadzirirwa nzira uye chinongedzo kune server.

Kuti utange, iwe zvakare unofanirwa kumhanyisa zvinyorwa muAMI nekupinda uye password - kune izvi, FreePBX ine zvakare _custom faira.

manager_custom.conf file

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

Ose ari maviri mafaera aya anofanirwa kuiswa mukati /etc/asterisk, wozoverengazve magadzirirwo (kana kutangazve asterisk)

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

Zvino ngatienderere mberi kuPP

Kutanga zvinyorwa uye kugadzira sevhisi

Sezvo chirongwa chekushanda neBitrix 24, sevhisi yeAMI, isiri nyore uye yakajeka, inofanira kukurukurwa zvakasiyana. Asterisk, kana AMI ikavhurwa, inongovhura chiteshi uye ndizvozvo. Kana mutengi ajoinha, inokumbira mvumo, ipapo mutengi anonyoresa kune zviitiko zvinodiwa. Zviitiko zvinouya mumavara akajeka, ayo PAMI anoshandura kuita zvinhu zvakarongeka uye inopa kugona kuseta basa rekusefa chete kune zviitiko zvekufarira, minda, nhamba, nezvimwe.

Pangosvika kufona, chiitiko cheNewExten chinodzingwa kubva kumubereki [kubva-pstn] mamiriro, ipapo zviitiko zvese zvinoenda mukurongeka kwemitsara mumamiriro ezvinhu. Kana ruzivo rwagashirwa kubva kuCallMeCallerIDName uye CallStart akasiyana anotsanangurwa mu _custom dialplan, iyo

  1. Basa rekukumbira UserID inoenderana nenhamba yekuwedzera kwakauya kufona. Ko kana riri dial-up group? Mubvunzo ndewezvematongerwo enyika, iwe unofanirwa kugadzira kufona kune wese munhu kamwechete (kana munhu wese afona kamwechete) kana kugadzira sezvavanofona kana vachifona vachichinjana? Vazhinji vatengi vane iyo Fisrt Inowanikwa zano, saka hapana dambudziko neizvi, chete kufona. Asi nyaya yacho inoda kugadziriswa.

  2. Iyo yekufona kunyoresa basa muBitrix24, iyo inodzosa iyo CallID, iyo inozodiwa kuzivisa ma paramita ekufona uye chinongedzo kune kurekodha. Inoda imwe nhamba yekuwedzera kana UserID

Kunzwisisa FreePBX uye kuisanganisa neBitrix24 nezvimwe

Mushure mekupera kwekufona, iyo rekodhi yekurodha basa inodanwa, iyo panguva imwe chete inoshuma mamiriro ekupedzisa kufona (Kubatikana, Hapana mhinduro, Kubudirira), uye zvakare kurodha chinongedzo kune mp3 faira nerekodhi (kana iripo).

Nokuti iyo CallMeIn.php module inoda kushanda nguva dzose, faira rekutanga reSystemD rakagadzirirwa iyo callme.service, iyo inofanirwa kuiswa mukati /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

kutanga uye kutanga kwechinyorwa kunoitika kuburikidza ne systemctl kana sevhisi

# systemctl enable callme
# systemctl start callme

Iyo sevhisi inozozvitangisa pachayo sezvinodiwa (pakaitika tsaona). Iyo inbox yekutevera sevhisi haidi kuti webhu server iiswe, chete php inodiwa (iyo iri pachokwadi paFeePBX server). Asi mukushayikwa kwekuwana marekodhi ekufona kuburikidza neWeb server (zvakare ne https), hazvizogoneke kuteerera kufona marekodhi.

Zvino ngatitaurei nezve mafoni anobuda. The CallMeOut.php script ine mabasa maviri:

  • Kutanga kwekufona kana chikumbiro chagamuchirwa chephp script (kusanganisira kushandisa "Call" bhatani muBitrix pachayo). Izvo hazvishande pasina webhu server, chikumbiro chinogamuchirwa kuburikidza neHTTP POST, chikumbiro chine chiratidzo

  • Mharidzo pamusoro pekufona, maparameter ayo uye zvinyorwa muBitrix. Kudzingwa neAsterisk mu [sub-call-internal-ended] dialplan kana runhare rwapera.

Kunzwisisa FreePBX uye kuisanganisa neBitrix24 nezvimwe

Sevha yewebhu inodiwa chete pazvinhu zviviri - kudhanilodha Bitrix rekodhi mafaera (kuburikidza neHTTPS) uye kudaidza iyo CallMeOut.php script. Iwe unogona kushandisa yakavakirwa-mukati FreePBX server, mafaera ayo ari /var/www/html, unogona kuisa imwe sevha kana kutsanangura imwe nzira.

Web server

Ngatisiye web server setup yekudzidza yakazvimirira (tyts, tyts, tyts) Kana iwe usina domain, unogona kuedza FreeDomain( https://www.freenom.com/ru/index.html), iyo inokupa zita remahara kune yako chena IP (usakanganwa kuendesa mberi ports 80, 443 kuburikidza nerouter kana kero yekunze iri pairi chete). Kana iwe uchangobva kugadzira DNS domain, saka unofanirwa kumirira (kubva pamaminitsi gumi nemashanu kusvika kumaawa makumi mana nemasere) kusvika maseva ese atakurwa. Maererano neruzivo rwekushanda nevapepi vepamba - kubva paawa imwe kusvika pazuva.

Installation otomatiki

Inoisa yakagadziridzwa pa github kuita kuti kuisirwa kuve nyore. Asi zvaive zvakatsetseka pabepa - isu tichiisa zvese izvi nemaoko, sezvo mushure mekutora zvese izvi, zvakava pachena kuti chii shamwari naani, anoenda kupi uye sei kugadzirisa. Hapasati pasisina chekuisa

Docker

Kana iwe uchida kukurumidza kuyedza mhinduro - pane sarudzo neDocker - kurumidza kugadzira mudziyo, upe zviteshi kunze, tsvedza mafaera ekugadzirisa uye edza (iyi ndiyo sarudzo ine LetsEncrypt mudziyo, kana uchinge uine chitupa, iwe inongoda kutungamira reverse proxy kune FreePBX web server (takapa imwe chiteshi ndeye 88), LetsEncrypt mu docker zvichibva pa chinyorwa ichi

Iwe unofanirwa kumhanyisa faira mune yakadhindwa purojekiti folda (mushure megit clone), asi tanga wapinda muasterisk configs (asterisk folda) uye nyora nzira dzemarekodhi uye URL yesaiti yako ipapo.

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:

Iyi docker-compose.yaml faira rinoitwa kuburikidza

docker-compose up -d

Kana nginx ikasatanga, saka chimwe chinhu chakashata nekugadzirisa mu nginx/ssl_docker.conf folda.

Zvimwe zvakabatanidzwa

Uye wadii kuisa imwe CRM mune zvinyorwa panguva imwe chete, isu takafunga. Takadzidza mamwe akati wandei CRM APIs, kunyanya iyo yemahara yakavakirwa-muPBX - ShugarCRM neVtiger, uye hongu! hongu, musimboti wakafanana. Asi iyi imwe nyaya, yatichazoisa kune github zvakasiyana.

nezvakanyorwa

Disclaimer: Chero kufanana kwechokwadi ndeyekunyepedzera uye ndakanga ndisiri ini.

Source: www.habr.com

Voeg