Skip to content

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

{"event": "callInfoRespNum", "uniqueId": "unique_call_id", "intNum": "short_PBX_extension", "extNum": "external_subscriber_number"}

Siz jawap retinde alasız:

{"responsibleNumbers":["short_number_of_responsible","short_number_of_second_responsible(if_any)"]}

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ı:

{"error":"no persons responsible"}


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:

7TWeHF.png


Ï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-reload
sudo systemctl restart crm-asterisk-listener


  • Ïntegracïyanı öşirw üşin orındañız:
sudo systemctl stop crm-asterisk-listener
sudo 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)


Ötw