FreePBX
FreePBX — kompanïyada qoñırawlardı basqarwğa mümkindik beretin tegin bağdarlamalıq qamtamasız etw telephone system.
Erekşelikter
- Ïnternet arqılı telefon qoñırawları: VoIP texnologïyasın qoldanadı, dästürli telefon jelisi ornına ïnternet arqılı qoñıraw şalw mümkindigi.
- Avtomattı qoñırawlardı taratw: kiris qoñırawlardı durıs nömirlerge nemese bölimşelerge avtomattı türde bağıttawğa kömektesedi.
- Ïnteraktïvti dawıstıq mäzirler (IVR): qoñıraw şalwşı tïisti bölimşeni tañdaw üşin pernelerdi basw arqılı mäzirden ötwine mümkindik beredi.
- Dawıstıq poşta: qoñırawğa jawap berilmese, FreePBX xabardı jazıp alıp keýin tıñdawğa boladı.
- Konferencïya qoñırawları: birneşe adamnıñ bir waqıtta qatıswına mümkindik beretin konferencïyalardı uýımdastırw.
- Qoñırawlardı jazw: telefon äñgimelerin keýingi tıñdaw nemese taldaw üşin jazıp alwğa boladı.
- Basqa jüýelermen ïntegracïya: FreePBX ärtürli CRM jüýelerimen, onıñ işinde Planfix-pen ïntegracïyalanwı mümkin.
Baýlanıs
FreePBX-tı Planfix-pen eki täsilmen qoswğa boladı:
Eskertw: Planfix komandası klïyenttiñ jağında Asterisk-ti konfïgwracïyalamaýdı jäne osığan qatıstı konswlʹtacïya bermeýdi.
Planfix telefonïya üşin API
- Osı ädisti qoldana otırıp, siz tek Planfix-te qoñıraw oqïğaların ala alasız, yağnï qoñıraw bolğanda belsendi Planfix qoýındısında qoñıraw kartası paýda boladı.
- Planfix-ten qoñıraw jasaw mümkindigi joq.
- Qoñıraw jazbaların alw üşin qosımşa apache/nginx baptawların jasawıñız qajet (5-qadam).
1-qadam
Serverde /etc/asterisk/extensions_override_freepbx.conf faýlın öñdep, onıñ işinde kelesi 3 konteksttiñ bolwın qamtamasız etiñiz (mısal faýl):
- [macro-dialout-one-predial-hook]
- [macro-dialout-trunk-predial-hook]
- [macro-hangupcall]
[macro-hangupcall] üşin däl dälme-däl ülgi birdeý bolwı mindetti emes.
extensions_additional.conf faýlın aşıp, onıñ işinen [macro-hangupcall] kontekstin tawıp — köşirip — öte basına kelesi joldı qosıñız:
exten => s,1,Macro(hangupcall-send-post)
2-qadam
Barlıq kontekstterdi mısalınan extension_custom.conf-ke köşiriñiz. Bul äreketti FreePBX ïnterfeýsi arqılı da orındawğa boladı.
3-qadam
globals_custom.conf faýlına 3 jol qosıp, {…} ornına säýkes mänderdi qoýıñız:
- PBX_URL = {…} — sizdiñ PBX-tiñ URL-ı
- PF_URL = {…} — surawlardı qabıldaýtın adres
- PF_KEY = {…} — Planfix avtorïzacïya tokeni
4-qadam
- Planfix-ta Account management — Integrations — Virtual PBXs — Planfix API for telephony bölimine ötiñiz.
- PBX mekenjaýın toltırıñız, sol arqılı Planfix sol saýttan/adresten keletin oqïğalardı qabıldaý alatının biledi.
5-qadam
Jazbalardı alw üşin olardı veb-server arqılı sırttan qoljetimdi etw kerek. FreePBX-te qosılğan Apache arqılı munı orındaw üşin jazbalar qaltasına silteme jasañız. Qaltanıñ durıs menşik ïyesi, tobı jäne quqıqtarı — 775 bolwı tïis.
- Silteme qurıñız:
ln -s /var/spool/asterisk/monitor /var/www/html/monitor
- Quqıqtar men menşik ïyesin özgertiñiz:
chmod -R 775 /var/www/html/monitor/chown -R asterisk:asterisk /var/www/html/monitor/
Eger Apache joq jïnaq qoldansañız — öz veb-serveriñizge uqsas baptawdı jasañız.
FreePBX ïntegracïyası
(FreePBX 16+ / Asterisk 18+)
Bastamas burın extensions_override_freepbx.conf faýlında kelesi engizbeni jasañız:
[macro-dialout-trunk-predial-hook]
exten => s,1,Gosub(planfix-mark-outbound,s,1)
same => n,MacroExit()
[planfix-mark-outbound]
exten => s,1,NoOp(Outgoing call from ${CALLERID(all)} to ${EXTEN})
same => n,Set(__CRM_DIRECTION=OUTBOUND)
same => n,NoOp(Setting CRM_DIRECTION=${CRM_DIRECTION})
same => n,Return()
[macro-dialout-one-predial-hook]
exten => s,1,Gosub(planfix-mark-inbound,s,1)
same => n,MacroExit()
[macro-dial-ringall-predial-hook]
exten => s,1,Gosub(planfix-mark-inbound,s,1)
same => n,MacroExit()
[planfix-mark-inbound]
exten => s,1,NoOp(Incoming call to ${EXTEN} from ${CALLERID(all)})
same => n,Set(__CRM_DIRECTION=INBOUND)
same => n,NoOp(Setting CRM_DIRECTION=${CRM_DIRECTION})
same => n,Return()
1-qadam
FreePBX-te paýdalanwşı qosıñız: Settings — Asterisk REST Interface Users — Add User.
Kelesi öristerdi toltırıñız:
- REST Interface User Name: paýdalanwşı atı
- REST Interface User Password: parolʹ
- Password Type: Plain Text
- Read Only: No
Köşirip alıñız (4-qadamda qajet) jäne saqtañız.
2-qadam
Manager qosıñız: Settings — Asterisk Manager Users — Add Manager:
- Name: atawı
- Secret: ädepki qaldırıñız nemese öziñiz ornatıñız
- Qalğan baptawlardı özgertken utımdı emes.
Köşirip alıñız (4 jäne 6-qadamdarda qajet) jäne saqtañız.
3-qadam
Oñ jaq joğarğı burıştağı Apply Config batırmasın basıp baptawlardı saqtañız.
4-qadam
Planfix-ta Primary Account Admin — Integrations — Virtual PBXs — FreePBX bölimine ötiñiz.
Tömendegilerdi toltırıñız:
- PBX address: sizdiñ PBX-tiñ URL-ı (ARI qoljetimdi protokol men porttı qosa)
- ARI User Name: 1-qadamdağı Name
- ARI User Password: 1-qadamdağı Password
Qabıldawşı skrïpt URL-ın köşirip, ïntegracïyanı saqtañız.
5-qadam
Serverde:
- /var/spool/asterisk/ işinde monitor qaltasına recording attı sïmvoldıq silteme jasañız (sol katalogta). Komanda:
ln –s /var/spool/asterisk/monitor /var/spool/asterisk/recording
6-qadam
- /etc/asterisk/ qaltasına ötiñiz
- Eger scripts qaltası bolmasa, onı jasañız
- scripts qaltasınıñ işinde ami_listener.py faýlın jasañız
7-qadam
ami_listener.py faýlın mısalına säýkes toltırıñız, mınalardı awıstırıñız:
- Your_user_name: 2-qadamdağı Name-pen
- Your_user_password: 2-qadamdağı Secret-pen
- Your_planfix_endpoint_url: 4-qadamnan alınğan qabıldawşı skrïpt URL-pen
8-qadam
Faýlğa orındalatın quqıq beriñiz:
chmod +x /etc/asterisk/scripts/ami_listener.py
9-qadam
- /lib/systemd/system/ qaltasına ötiñiz
- crm-asterisk-listener.service attı faýl jasañız
- crm-asterisk-listener.service faýlın mısalına säýkes toltırıñız
10-qadam
Faýldı avtojüktelwge qosıp, servïsti iske qosıñız:
sudo systemctl enable crm-asterisk-listener
sudo systemctl start crm-asterisk-listener
Asterisk-tiñ eski nusqalarımen jumıs
Asterisk 13+ üşin konfïgwracïya faýldarına qosımşa qasïyetter qosw qajet.
/etc/asterisk/cdr.conf üşin
[general] enable = yes batch = no unanswered = yes
/etc/asterisk/cdr_manager.conf üşin
[general] enable = yes unanswered = yes
Eskertw: qoñırawlar jazbaların alw tek Asterisk 14+ üşin jumıs isteýtinin eskeriñiz.
Qosımşa ädister
Siz osı ädisterdi öziñiz dialplan-nan şaqıra alasız.
Baqılawşılar twralı aqparat alw
Ïntegracïyada körsetilgen URL-ğa POST surawın jiberip, kelesi mälimetterdi usına alasız:
Content-type: application/json
Siz jawap retinde alasız:
NEMESE
Eger kontaktige qatıstı:
- baqılawşılar joq bolsa
- qısqa nömirler tağaýındalmağan bolsa
- baqılawşı retinde şaqırılğan nömirge qoñıraw şalğan qızmetker ("short_PBX_extension")
bolsa, jawapta kelesi boladı:
Joğaltılğan qoñıraw twralı xabarlama
- Osı ädisti paýdalanw üşin ïntegracïya baptawlarında — “Record missed calls only by a separate special request” opcïyasın tañdañız:
Ïntegracïyada körsetilgen URL-ğa POST surawın jiberip, kelesi mälimetterdi usına alasız:
Content-type: application/json
{"event": "callMissedNotify", "uniqueId": "unique_call_id", "intNum": "short_PBX_extension_to_receive_missed_call_notification", "extNum": "external_subscriber_number"}
Eger sol qısqa nömirge ïye qızmetker bar bolsa, ol joğaltılğan qoñıraw twralı xabarlama aladı.
POST surawına qaýtarılatın jawap bos boladı.
Jumıs istew twralı eskertwler
- Skrïpt jumıs istewi üşin "panoramisk" kitapxanası ornatılğanına köz jetkiziñiz. Onı 'pip install panoramisk' kömegimen ornatwğa boladı.
- Eger skrïpt derew bastalmasa nemese ami_listener-ge özgerister engizgennen keýin komandalardı orındasañız, kelesi komandalar kömekteswi mümkin:
sudo systemctl daemon-reloadsudo systemctl restart crm-asterisk-listener
- Ïntegracïyanı öşirw üşin orındañız:
sudo systemctl stop crm-asterisk-listenersudo systemctl disable crm-asterisk-listener
- Barlıq qosılw ädisterinde siz baptağan bolwıñız kerek:
- işki qaltalar (Extensions)
- kiris jäne şığıs bağıttaw (Inbound/Outbound Routes)