Malamalama i le FreePBX ma tuʻufaʻatasia ma le Bitrix24 ma sili atu

Bitrix24 o se tu'ufa'atasiga tele e tu'ufa'atasia ai le CRM, fa'asologa o galuega, fa'amaumauga ma le tele o isi mea e fiafia tele i ai pule ma e le fiafia i ai le aufaigaluega IT. O le faitotoa e faʻaaogaina e le tele o kamupani laʻititi ma feololo, e aofia ai falemaʻi laiti, tagata gaosi oloa ma e oʻo lava i fale lalelei. O le galuega autu e "alofa" e le pule o le tuʻufaʻatasia lea o telefoni ma CRM, pe a vave faʻamauina soʻo se valaau i le CRM, o loʻo faia kata a le au faipisinisi, pe a oʻo mai, faʻamatalaga e uiga i le kalani e faʻaalia ma e mafai ona e vaʻavaʻai vave po o ai o ia, o le a le mea na ia. e mafai ona fa'atau atu ma pe fia lana aitalafu. Ae o telefoni mai le Bitrix24 ma lona tuʻufaʻatasia ma le CRM tau tupe, o nisi taimi e tele. I le tusiga o le a ou taʻuina atu ia te oe le poto masani o le tuʻufaʻatasia ma meafaigaluega tatala ma le lauiloa IP PBX freepbx, ma mafaufau foi i le mafuaaga o le galuega a vaega eseese

Ou te galue o se outsourcer i se kamupani e faʻatau ma faʻapipiʻi, faʻapipiʻi IP telefoni. Ina ua fesiligia aʻu pe mafai ona matou ofoina atu se mea i lenei mea ma lenei kamupani e tuʻufaʻatasia le Bitrix24 ma PBX o loʻo i ai i tagata faʻatau, faʻapea foʻi ma PBX faʻapitoa i kamupani VDS eseese, na ou alu i Google. Ma o le mea moni na ia tuuina mai ia te au se sootaga i tusiga i le habr, o loʻo i ai se faʻamatalaga, ma github, ma mea uma e foliga mai e aoga. Ae ina ua taumafai e faʻaaoga lenei fofo, na faʻaalia ai o le Bitrix24 ua le toe tutusa ma le taimi muamua, ma e manaʻomia tele ona toe faʻaleleia. E le gata i lea, o le FreePBX e le o se fetuutuunai mo oe, iinei e tatau ona e mafaufau pe faʻafefea ona tuʻufaʻatasia le faigofie o le faʻaogaina ma le faʻaogaina o le dialplan i faila faila.

Matou te suʻesuʻeina le faʻatatau o galuega

O lea mo le amataga, pe faʻafefea ona aoga uma. A maua se telefoni mai fafo o le PBX (SIP INVITE event from the provider), o le faagasologa o le dialplan (dial plan, dialplan) e amata - o tulafono o le a ma le fa'atonuga e fai i le telefoni. Mai le pepa muamua, e mafai ona e mauaina le tele o faʻamatalaga, lea e mafai ona faʻaaogaina i tulafono. O se meafaigaluega sili ona lelei mo le suʻesuʻeina o totonu ole SIP ole suʻega sngrep (ссылка) lea e faʻapipiʻiina i faʻasalalauga taʻutaʻua e ala i le apt install/yum install ma mea faapena, ae mafai foi ona fausia mai le puna. Sei o tatou va'ai i le log call in sngrep

Malamalama i le FreePBX ma tuʻufaʻatasia ma le Bitrix24 ma sili atu

I se faiga faʻafaigofie, o le dialplan e naʻo le afifi muamua, o nisi taimi i le taimi o le talanoaga, e faʻafeiloaʻi telefoni, faʻamau (DTMF), mea manaia eseese e pei o le FollowMe, RingGroup, IVR ma isi.

O le a le mea o lo'o i totonu o le Pepa Valaaulia

Malamalama i le FreePBX ma tuʻufaʻatasia ma le Bitrix24 ma sili atu

O le mea moni, o le tele o telefoni feaveaʻi e galulue i vaega muamua e lua, ma o le faʻataʻitaʻiga atoa e faʻataʻamilo i DID ma CallerID. DID - i le mea o loʻo matou valaʻau ai, CallerID - o loʻo valaʻau mai.

Ae a uma mea uma, e iai la matou kamupani ae le o se telefoni - o lona uiga o le PBX e foliga mai o loʻo i ai ni kulupu (faʻatasi / tatagi sosoo o le tele o masini) i luga o numera o le taulaga (Ring Group), IVR (Talofa, na e valaʻau ... Press. tasi mo ...), Masini tali (Frase), Tulaga Taimi, Tu'i atu i isi numera po'o se sela (Mulimuli Mai, Luma). O lona uiga e matua faigata lava ona iloa lelei po o ai o le a maua moni se telefoni ma o ai o le a faia se talanoaga pe a oʻo mai se telefoni. O se faʻataʻitaʻiga lea o le amataga o se telefoni masani i le PBX o matou tagata faʻatau

Malamalama i le FreePBX ma tuʻufaʻatasia ma le Bitrix24 ma sili atu

A maeʻa ona ulufale atu ma le manuia le telefoni i le PBX, e alu i le dialplan i "contexts" eseese. O le anotusi mai le vaaiga a Asterisk o se seti faanumera o poloaiga, o ia mea taitasi o loʻo i ai se faamama e ala i le numera vili (e taʻua o le faʻaopoopoga, mo se valaʻau i fafo i le tulaga muamua faʻalautele = DID). O fa'atonuga i le laina telefoni e mafai ona avea ma so'o se mea - galuega i totonu (mo se fa'ata'ita'iga, vala'au se tagata fai saofaga i totonu - Dial(), tuu i lalo le telefoni - Hangup()), fa'atautaia tulaga (IF, ELSE, ExecIF ma mea faapena), suiga i isi tulafono o lenei tulaga (Goto, GotoIF), suiga i isi tulaga i le tulaga o se valaau galuega (Gosub, Macro). Se fa'atonuga ese include имя_контекста, lea e fa'aopoopo ai fa'atonuga mai se isi fa'amatalaga i le fa'ai'uga o le fa'amatalaga o lo'o iai nei. O poloaiga e aofia ai e ala i le aofia e faʻatinoina i taimi uma после poloaiga o le talaaga o lo'o iai nei.

O le manatu atoa o le FreePBX e fausia i luga o le faʻaofiina o tulaga eseese i le tasi ma le isi e ala i le aofia ma valaau e ala i Gosub, Macro ma Handler handler. Mafaufau i le tala o le sau FreePBX telefoni

Malamalama i le FreePBX ma tuʻufaʻatasia ma le Bitrix24 ma sili atu

O le vala'au e alu i fa'alapotopotoga uma mai luga i lalo i le isi itu, i totonu o fa'amatalaga ta'itasi e mafai ona i ai vala'au i isi fa'alapotopotoga e pei o macros (Macro), galuega (Gosub) po'o na'o suiga (Goto), o lea o le laau moni o le mea e ta'ua e mafai ona na'o. e siaki i ogalaau.

O se ata seti masani mo se PBX masani o loʻo faʻaalia i lalo. Pe a valaʻau, e suʻe le DID i auala o loʻo oʻo mai, e siakiina tulaga le tumau, pe a lelei mea uma, e faʻalauiloa le lisi leo. Mai ai, e ala i le oomiina o le ki 1 poʻo le taimi e faʻagata ai, alu i fafo i le vaega o le telefoni feaveaʻi. A uma le valaau, ona valaau lea o le hangupcall macro, a uma lea e leai se mea e mafai ona faia i le dialplan, se'i vagana ai le au fa'apitoa (tautuu handler).

Malamalama i le FreePBX ma tuʻufaʻatasia ma le Bitrix24 ma sili atu

O fea i totonu o lenei valaau algorithm e tatau ona tatou tuʻuina atu faʻamatalaga e uiga i le amataga o le valaau ile CRM, o fea e amata ai le pueina, o fea e faʻauʻu ai le puʻeina ma auina atu faʻatasi ma faʻamatalaga e uiga i le valaau ile CRM?

Tu'ufa'atasi ma faiga i fafo

O le a le PBX ma le CRM tu'ufa'atasi? O faʻatulagaga ma polokalame e faʻaliliu ai faʻamaumauga ma mea na tutupu i le va o nei faʻavae e lua ma auina atu i le tasi ma le isi. O le auala sili ona taatele mo faiga tutoatasi e fesoʻotaʻi ai e ala i API, ma o le auala sili ona lauiloa e maua ai API o le HTTP REST. Ae le mo fetu.

I totonu Asterisk o le:

  • AGI - fesoʻotaʻiga telefoni o polokalame / vaega i fafo, faʻaaoga masani i le dialplan, o loʻo i ai faletusi e pei o phpagi, PAGI

  • AMI - o se tusitusiga TCP socket e galue i luga o le mataupu faavae o le lesitala i mea na tutupu ma le ulufale i totonu o poloaiga, e pei o le SMTP mai totonu, e mafai ona siaki mea na tutupu ma pulea telefoni, o loʻo i ai se faletusi PAMI - sili ona lauiloa mo le fatuina o se fesoʻotaʻiga ma Asterisk

AMI fa'ata'ita'iga

Mea na tupu: Ala fou
Avanoa: valaau, uma
Auala: PJSIP/VMS_pjsip-0000078b
Tulaga alavai: 4
ChannelStateDesc: Mama
Numera IDValaau: 111222
Igoa Telefoni: 111222
ConnectedLineNumera:
igoa laina feso'ota'i:
Gagana: en
code account:
Si'osi'omaga: mai-pstn
Fa'alautele: s
Faamuamua: 1
Tulaga Tulaga: 1599589046.5244
So'otaga: 1599589046.5244

  • O le ARI o se faʻafefiloi o mea uma e lua, e ala uma i le REST, WebSocket, i le JSON format - ae faʻatasi ai ma faletusi fou ma afifi, e le lelei tele, maua fua (phparia, phpari) lea na avea i lo latou atinaʻe pe a ma le 3 tausaga talu ai.

Fa'ata'ita'iga o galuega fa'atino a le ARI pe a amata se vala'au

{ "variable":"CallMeCallerIDName", "value":"111222", "type":"ChannelVarset", "timestamp":"2020-09-09T09:38:36.269+0000", "channel":{ "id »:»1599644315.5334″, «igoa»:»PJSIP/VMSpjsip-000007b6″, "state": "Tagi", "valaau":{ "igoa":"111222″, "numera":"111222″ }, "sootai":{ "igoa":"", "numera" :"" }, "accountcode":"", "dialplan":{ "context":"from-pstn", "exten":"s", "priority":2, "appigoa": "Stasis", "appdata":"hello-world" }, "creationtime":"2020-09-09T09:38:35.926+0000", "gagana":"en" }, "asteriskid":"48:5b:aa:aa:aa:aa", "application":"hello-world" }

Faigofie poʻo le faʻalavelave, o le avanoa poʻo le le mafai ona galue ma se API faapitoa e faʻamoemoeina e galuega e manaʻomia ona foia. O galuega mo le tuʻufaʻatasia ma le CRM e faʻapea:

  • Su'esu'e le amataga o le telefoni, le mea na fa'afeiloa'i ai, toso i fafo CallerID, DID, taimi amata ma fa'ai'uga, atonu o fa'amaumauga mai le lisi (e su'e se feso'ota'iga i le va o le telefoni ma le tagata fa'aoga CRM)

  • Amata ma faʻauma le puʻeina o le telefoni, faʻasaoina i le faatulagaga e manaʻomia, faʻailoa i le faaiuga o le lipine o loʻo i ai le faila

  • Amata se valaau i se mea i fafo (mai le polokalama), valaau se numera i totonu, se numera fafo ma faʻafesoʻotaʻi

  • Pule oe pe fai: tu'ufa'atasi ma le CRM, kulupu telefoni ma le FollowME mo le fa'aliliuina otometi o telefoni i le leai o se nofoaga (e tusa ai ma le CRM)

O nei galuega uma e mafai ona foia e ala i le AMI poʻo le ARI, ae o le ARI e maua ai le itiiti ifo o faʻamatalaga, e le tele ni mea na tutupu, e tele fesuiaiga o loʻo i ai pea i le AMI (mo se faʻataʻitaʻiga, telefoni feaveaʻi, seti fesuiaiga i totonu o macros, e aofia ai le puʻeina o telefoni) e le o siakiina. O le mea lea, mo le sa'o ma le sa'o o le su'esu'ega, se'i o tatou filifili le AMI mo le taimi nei (ae le atoatoa). E le gata i lea (ia, o fea o le ai ai e aunoa ma lenei, o tatou o tagata paie) - i le uluai galuega (tusiga i le habr) fa'aaoga le PAMI. *Ona tatau lea ona e taumafai e toe tusi i le ARI, ae le o le mea moni o le a aoga.

Toe fa'afouina tu'ufa'atasiga

Ina ia mafai e la matou FreePBX ona lipoti atu i le AMI i ni auala faigofie e uiga i le amataga o le valaau, taimi faaiu, numera, igoa o faila faila, e sili ona faigofie le fuafuaina o le umi o le valaau e faʻaaoga ai le togafiti tutusa e pei o tusitala muamua. - ulufale i au fesuiaiga ma faʻavasega le gaioiga mo lo latou i ai. E fautuaina e le PAMI le faia o lenei mea e ala i se galuega faamama.

O se fa'ata'ita'iga lea o le fa'atulagaina o lau lava fesuiaiga mo le taimi e amata ai le telefoni (s o se numera fa'apitoa i le fa'asologa o telefoni e fa'atino AO LE'I amataina le su'esu'ega DID)

[ext-did-custom]

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

O se faʻataʻitaʻiga AMI mea na tupu mo lenei laina

Mea na tupu: Ala fou

Avanoa: valaau, uma

Auala: PJSIP/VMS_pjsip-0000078b

Tulaga alavai: 4

ChannelStateDesc: Mama

Numera IDValaau: 111222

Igoa Telefoni: 111222

ConnectedLineNumera:

igoa laina feso'ota'i:

Gagana: en

code account:

Si'osi'omaga: mai-pstn

Fa'alautele: s

Faamuamua: 1

Tulaga Tulaga: 1599589046.5244

So'otaga: 1599589046.5244

Fa'aoga: Seti le AppData:

CallAmata=1599571046

Ona o le FreePBX e suitulaga le extention.conf ma extention_ failafaaopoopo.conf, matou te faʻaogaina le faila fa'aopoopoga_māsani.conf

Fa'ailoga atoa ole 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

Fa'aaliga ma le ese'esega mai le ulua'i fa'ailoga telefoni a tusitala o le ulua'i tusitusiga -

  • Dialplan i le .conf format, e pei ona mana'o ai FreePBX (ioe, e mafai ona .ael, ae le o fa'aliliuga uma ma e le faigofie i taimi uma)

  • Nai lo le fa'agaioia o le fa'ai'uga e ala i le fa'aopoopoga => h, na fa'aofi mai le fa'agaioiga e ala i le hangup_handler, aua o le FreePBX dialplan na galue ai.

  • Fa'amauina le manoa vala'au, fa'aopoopo upusii ma numera vala'au fafo ExtNum

  • O lo'o fa'agasolo atu le fa'agaioiga i _fa'aaganu'u fa'apitoa ma fa'atagaina oe e aua ne'i pa'i pe fa'asa'o config FreePBX - ulufale mai e ala i le [ext-did-aga masani], alu atu e ala i [outbound-auala-aga masani]

  • Leai se fusia i numera - o le faila e lautele ma e manaʻomia ona faʻatulagaina mo le ala ma fesoʻotaʻi i le server

Ina ia amata, e manaʻomia foʻi ona e faʻataʻitaʻiina tusitusiga i le AMI e ala i le saini ma le faʻaupuga - mo lenei, FreePBX e iai foʻi se faila _custom.

manager_custom.conf faila

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

O nei faila uma e lua e tatau ona tuʻu i totonu /etc/asterisk, ona toe faitau lea o le configs (pe toe amata le asterisk)

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

Se'i o tatou agai i luma ile PHP

Amataina tusitusiga ma fatuina se auaunaga

Talu ai o le polokalame mo le galulue faatasi ma le Bitrix 24, o se auaunaga mo le AMI, e le faigofie ma manino, e tatau ona talanoaina eseese. Asterisk, pe a faʻagaoioia le AMI, naʻo le tatalaina o le taulaga ma o le mea lena. A auai se tagata o tausia, na te talosagaina le faatagaga, ona lesitala lea o le kalani i mea e tatau ona fai. O mea na tutupu e sau i tusitusiga manino, lea e faʻaliliuina e le PAMI i mea faʻatulagaina ma maua ai le tomai e seti ai le galuega faʻamamaina mo naʻo mea e fiafia i ai, fanua, numera, ma isi.

O le taimi lava e sau ai le valaau, o le NewExten mea na tupu mu e amata mai i le matua [mai-pstn] faʻamatalaga, ona mulimuli ai lea o mea uma i le faasologa o laina i totonu o faʻasalalauga. A maua mai fa'amatalaga mai le CallMeCallerIDName ma le CallStart fesuiaiga o lo'o fa'amaoti mai ile _custom dialplan, ole

  1. Le galuega o le talosagaina o le UserID e fetaui ma le numera faʻaopoopoga lea na oʻo mai ai le valaau. Ae fa'afefea pe a fai o se kulupu telefoni? O le fesili e fa'apolokiki, pe e te mana'omia le faia o se telefoni i tagata uma i le taimi e tasi (pe a vala'au tagata uma i le taimi e tasi) po'o le faia e pei ona latou vala'au pe a vala'au fa'atasi? O le tele o tagata fa'atau e iai le fuafuaga a le Fisrt Avanoa, o lea e leai se fa'afitauli i lenei mea, na'o le tasi le telefoni. Ae e tatau ona foia le mataupu.

  2. O le galuega resitalaina o le telefoni i le Bitrix24, lea e toe faʻafoʻi ai le CallID, lea e manaʻomia e lipotia ai le telefoni ma se fesoʻotaʻiga i le pueina. Mana'omia le numera fa'aopoopo po'o le UserID

Malamalama i le FreePBX ma tuʻufaʻatasia ma le Bitrix24 ma sili atu

A maeʻa le faʻaiʻuga, e taʻua le faʻamaumauga o le download, lea e lipotia i le taimi lava e tasi le tulaga o le faʻamaeʻaina o le telefoni (Pisi, Leai se tali, Manuia), ma faʻapipiʻi foi se fesoʻotaʻiga i le faila mp3 ma le faʻamaumauga (pe a iai).

Talu ai o le CallMeIn.php module e manaʻomia le faʻaauau pea, o le SystemD startup file ua faia mo ia callme.service, lea e tatau ona tuʻuina i totonu /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

amataina ma le faʻalauiloaina o le tusitusiga e tupu ile systemctl poʻo le tautua

# systemctl enable callme
# systemctl start callme

O le a toe amata le auaunaga pe a manaʻomia (pe a faʻalavelave). E le manaʻomia e le 'auʻaunaga suʻesuʻe pusameli se 'upega tafaʻilagi e faʻapipiʻi, naʻo le php e manaʻomia (lea e mautinoa lava ile FeePBX server). Ae i le leai o se avanoa e valaau ai faamaumauga e ala i le Web server (faʻatasi ma https), o le a le mafai ona faʻalogo i faʻamaumauga telefoni.

Se'i o tatou talanoa nei e uiga i telefoni i fafo. O le CallMeOut.php script e lua galuega:

  • Amataina o se valaau pe a maua se talosaga mo se php script (e aofia ai le faʻaogaina o le "Call" button i le Bitrix lava ia). E le aoga e aunoa ma se 'upega tafaʻilagi, o le talosaga e maua mai i le HTTP POST, o le talosaga o loʻo i ai se faʻailoga

  • Feau e uiga i le valaau, ona tapula'a ma faamaumauga i le Bitrix. Fa'amu e Asterisk i le [sub-call-internal-ended] dialplan pe a muta se telefoni

Malamalama i le FreePBX ma tuʻufaʻatasia ma le Bitrix24 ma sili atu

E na'o mea e lua e mana'omia le 'upega tafa'ilagi - la'uina o faila fa'amaumauga a le Bitrix (e ala i le HTTPS) ma le vala'au o le CallMeOut.php script. E mafai ona e faʻaogaina le faʻapipiʻiina o le FreePBX server, o faila e / var / www / html, e mafai ona e faʻapipiʻi se isi server pe faʻamaonia se isi auala.

Web server

Se'i o tatou tu'ua le seti web server mo su'esu'ega tuto'atasi (tits, tits, tits). Afai e leai sau vaega, e mafai ona e taumafai FreeDomain( https://www.freenom.com/ru/index.html), lea o le a tuʻuina atu ia te oe se igoa e leai se totogi mo lau IP paʻepaʻe (aua neʻi galo e tuʻuina atu ports 80, 443 e ala i le router pe a na o le tuatusi fafo o loʻo i ai). Afai na e faia se DNS domain, e tatau ona e faʻatali (mai le 15 minute i le 48 itula) seʻia oʻo ina uta uma 'auʻaunaga. E tusa ai ma le poto masani o le galulue faʻatasi ma tagata e tuʻuina atu fale - mai le 1 itula i le aso.

Otometi fa'apipi'i

Ua atiaʻe se faʻapipiʻi ile github e faʻafaigofie ai le faʻapipiʻiina. Ae sa lamolemole i luga o pepa - a'o matou fa'apipi'iina uma ma le lima, talu ai ina ua uma ona fa'ata'ita'i i nei mea uma na manino manino le mea o uo ma ai, o ai e alu i fea ma pe fa'afefea ona fa'afefe. E leai se mea fa'apipi'i

Docker

Afai e te manaʻo e vave faʻataʻitaʻi le fofo - o loʻo i ai se filifiliga ma Docker - faʻavave se atigipusa, tuʻu atu i fafo ports, faʻasolo faila faila ma taumafai (o le filifiliga lea ma le LetsEncrypt container, pe afai ua i ai sau tusi faamaonia. , e na'o lou mana'omia e toe fa'afo'i le sui sui i le FreePBX web server (na matou tu'uina atu i ai le isi taulaga o le 88), LetsEncrypt i le docker fa'avae i luga. lenei tusiga

E te manaʻomia le taʻavaleina o le faila i totonu o le faila o le poloketi na sii mai (pe a uma le git clone), ae muamua alu i totonu o faʻailoga faʻailoga (fetu faʻailoga) ma tusi ala i faʻamaumauga ma le URL o lau 'upega tafaʻilagi iina.

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:

O lenei faila docker-compose.yaml o loʻo faʻaogaina

docker-compose up -d

Afai e le amata le nginx, o lona uiga o loʻo i ai se mea e sese i le faʻatulagaga i le faila nginx/ssl_docker.conf

O isi tu'ufa'atasiga

Ma aisea e le tuʻuina ai nisi CRM i tusitusiga i le taimi e tasi, matou te mafaufau ai. Na matou suʻesuʻeina le tele o isi CRM API, aemaise le PBX faʻapipiʻi fua - ShugarCRM ma Vtiger, ma ioe! ioe, e tutusa lava le mataupu faavae. Ae o le isi tala lea, lea o le a matou tuʻuina atu i le github eseʻese.

mau

Fa'afitia: So'o se mea e tutusa ma le mea moni e fa'afoliga ma e le o a'u.

puna: www.habr.com

Faaopoopo i ai se faamatalaga