Skip to content

FreePBX

FreePBX — كومپانىييادا قوڭىراۋلاردى باسقارۋعا مۇمكىندىك بەرەتىن تەگىن باعدارلامالىق قامتاماسىز ەتۋ telephone system.

ەرەكشەلىكتەر

  • ىينتەرنەت ارقىلى تەلەفون قوڭىراۋلارى: VoIP تەحنولوگىيياسىن قولدانادى، ٴداستۇرلى تەلەفون جەلىسى ورنىنا ىينتەرنەت ارقىلى قوڭىراۋ شالۋ مۇمكىندىگى.
  • اۆتوماتتى قوڭىراۋلاردى تاراتۋ: كىرىس قوڭىراۋلاردى دۇرىس نومىرلەرگە نەمەسە بولىمشەلەرگە اۆتوماتتى تۇردە باعىتتاۋعا كومەكتەسەدى.
  • ىينتەراكتىيۆتى داۋىستىق مازىرلەر (IVR): قوڭىراۋ شالۋشى ٴتىيىستى بولىمشەنى تاڭداۋ ٴۇشىن پەرنەلەردى باسۋ ارقىلى مازىردەن وتۋىنە مۇمكىندىك بەرەدى.
  • داۋىستىق پوشتا: قوڭىراۋعا جاۋاپ بەرىلمەسە، FreePBX حاباردى جازىپ الىپ كەيىن تىڭداۋعا بولادى.
  • كونفەرەنتسىييا قوڭىراۋلارى: بىرنەشە ادامنىڭ ٴبىر ۋاقىتتا قاتىسۋىنا مۇمكىندىك بەرەتىن كونفەرەنتسىييالاردى ۇيىمداستىرۋ.
  • قوڭىراۋلاردى جازۋ: تەلەفون اڭگىمەلەرىن كەيىنگى تىڭداۋ نەمەسە تالداۋ ٴۇشىن جازىپ الۋعا بولادى.
  • باسقا جۇيەلەرمەن ىينتەگراتسىييا: FreePBX ٴارتۇرلى CRM جۇيەلەرىمەن، ونىڭ ىشىندە Planfix-پەن ىينتەگراتسىييالانۋى مۇمكىن.

بايلانىس

FreePBX-تى Planfix-پەن ەكى تاسىلمەن قوسۋعا بولادى:

ەسكەرتۋ: Planfix كومانداسى كلىييەنتتىڭ جاعىندا Asterisk-ٴتى كونفىيگۋراتسىييالامايدى جانە وسىعان قاتىستى كونسۋلتاتسىييا بەرمەيدى.

Planfix تەلەفونىييا ٴۇشىن API

  • وسى ٴادىستى قولدانا وتىرىپ، ٴسىز تەك Planfix-تە قوڭىراۋ وقىيعالارىن الا الاسىز، ياعنىي قوڭىراۋ بولعاندا بەلسەندى Planfix قويىندىسىندا قوڭىراۋ كارتاسى پايدا بولادى.
  • Planfix-تەن قوڭىراۋ جاساۋ مۇمكىندىگى جوق.
  • قوڭىراۋ جازبالارىن الۋ ٴۇشىن قوسىمشا apache/nginx باپتاۋلارىن جاساۋىڭىز قاجەت (۵-قادام).

۱-قادام

سەرۆەردە /etc/asterisk/extensions_override_freepbx.conf فايلىن وڭدەپ، ونىڭ ىشىندە كەلەسى ۳ كونتەكستتىڭ بولۋىن قامتاماسىز ەتىڭىز (مىسال فايل):

  • [macro-dialout-one-predial-hook]
  • [macro-dialout-trunk-predial-hook]
  • [macro-hangupcall]

[macro-hangupcall] ٴۇشىن ٴدال دالمە-ٴدال ۇلگى بىردەي بولۋى مىندەتتى ەمەس.

extensions_additional.conf فايلىن اشىپ، ونىڭ ىشىنەن [macro-hangupcall] كونتەكستىن تاۋىپ — كوشىرىپ — وتە باسىنا كەلەسى جولدى قوسىڭىز:

exten => s,1,Macro(hangupcall-send-post)


۲-قادام

بارلىق كونتەكستتەردى مىسالىنان extension_custom.conf-كە كوشىرىڭىز. بۇل ارەكەتتى FreePBX ىينتەرفەيسى ارقىلى دا ورىنداۋعا بولادى.


۳-قادام

globals_custom.conf فايلىنا ۳ جول قوسىپ، {…} ورنىنا سايكەس ماندەردى قويىڭىز:

  • PBX_URL = {…} — ٴسىزدىڭ PBX-ٴتىڭ URL-ى
  • PF_URL = {…} — سۇراۋلاردى قابىلدايتىن ادرەس
  • PF_KEY = {…} — Planfix اۆتورىيزاتسىييا توكەنى


۴-قادام

  • Planfix-تا Account management — Integrations — Virtual PBXs — Planfix API for telephony بولىمىنە ٴوتىڭىز.
  • PBX مەكەنجايىن تولتىرىڭىز، سول ارقىلى Planfix سول سايتتان/ادرەستەن كەلەتىن وقىيعالاردى قابىلداي الاتىنىن بىلەدى.


۵-قادام

جازبالاردى الۋ ٴۇشىن ولاردى ۆەب-سەرۆەر ارقىلى سىرتتان قولجەتىمدى ەتۋ كەرەك. FreePBX-تە قوسىلعان Apache ارقىلى مۇنى ورىنداۋ ٴۇشىن جازبالار قالتاسىنا سىلتەمە جاساڭىز. قالتانىڭ دۇرىس مەنشىك ىييەسى، توبى جانە قۇقىقتارى — ۷۷۵ بولۋى ٴتىيىس.

  • سىلتەمە قۇرىڭىز:
ln -s /var/spool/asterisk/monitor /var/www/html/monitor
  • قۇقىقتار مەن مەنشىك ىييەسىن وزگەرتىڭىز:
chmod -R 775 /var/www/html/monitor/
chown -R asterisk:asterisk /var/www/html/monitor/

ەگەر Apache جوق جىيناق قولدانساڭىز — ٴوز ۆەب-سەرۆەرىڭىزگە ۇقساس باپتاۋدى جاساڭىز.

FreePBX ىينتەگراتسىيياسى

(FreePBX ۱۶+ / Asterisk ۱۸+)

باستاماس بۇرىن extensions_override_freepbx.conf فايلىندا كەلەسى ەنگىزبەنى جاساڭىز:

[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()

۱-قادام

FreePBX-تە پايدالانۋشى قوسىڭىز: Settings — Asterisk REST Interface Users — Add User.

كەلەسى ورىستەردى تولتىرىڭىز:

  • REST Interface User Name: پايدالانۋشى اتى
  • REST Interface User Password: پارول
  • Password Type: Plain Text
  • Read Only: No

كوشىرىپ الىڭىز (۴-قادامدا قاجەت) جانە ساقتاڭىز.


۲-قادام

Manager قوسىڭىز: Settings — Asterisk Manager Users — Add Manager:

  • Name: اتاۋى
  • Secret: ادەپكى قالدىرىڭىز نەمەسە ٴوزىڭىز ورناتىڭىز
  • قالعان باپتاۋلاردى وزگەرتكەن ۇتىمدى ەمەس.

كوشىرىپ الىڭىز (۴ جانە ۶-قادامداردا قاجەت) جانە ساقتاڭىز.


۳-قادام

وڭ جاق جوعارعى بۇرىشتاعى Apply Config باتىرماسىن باسىپ باپتاۋلاردى ساقتاڭىز.


۴-قادام

Planfix-تا Primary Account Admin — Integrations — Virtual PBXs — FreePBX بولىمىنە ٴوتىڭىز.

تومەندەگىلەردى تولتىرىڭىز:

  • PBX address: ٴسىزدىڭ PBX-ٴتىڭ URL-ى (ARI قولجەتىمدى پروتوكول مەن پورتتى قوسا)
  • ARI User Name: ۱-قادامداعى Name
  • ARI User Password: ۱-قادامداعى Password

قابىلداۋشى سكرىيپت URL-ىن كوشىرىپ، ىينتەگراتسىييانى ساقتاڭىز.


۵-قادام

سەرۆەردە:

  • /var/spool/asterisk/ ىشىندە monitor قالتاسىنا recording اتتى سىيمۆولدىق سىلتەمە جاساڭىز (سول كاتالوگتا). كوماندا:
ln –s /var/spool/asterisk/monitor /var/spool/asterisk/recording


۶-قادام

  • /etc/asterisk/ قالتاسىنا ٴوتىڭىز
  • ەگەر scripts قالتاسى بولماسا، ونى جاساڭىز
  • scripts قالتاسىنىڭ ىشىندە ami_listener.py فايلىن جاساڭىز


۷-قادام

ami_listener.py فايلىن مىسالىنا سايكەس تولتىرىڭىز، مىنالاردى اۋىستىرىڭىز:

  • Your_user_name: ۲-قادامداعى Name-پەن
  • Your_user_password: ۲-قادامداعى Secret-پەن
  • Your_planfix_endpoint_url: ۴-قادامنان الىنعان قابىلداۋشى سكرىيپت URL-پەن


۸-قادام

فايلعا ورىندالاتىن قۇقىق بەرىڭىز:

chmod +x /etc/asterisk/scripts/ami_listener.py


۹-قادام

  • /lib/systemd/system/ قالتاسىنا ٴوتىڭىز
  • crm-asterisk-listener.service اتتى فايل جاساڭىز
  • crm-asterisk-listener.service فايلىن مىسالىنا سايكەس تولتىرىڭىز


۱۰-قادام

فايلدى اۆتوجۇكتەلۋگە قوسىپ، سەرۆىيستى ىسكە قوسىڭىز:

sudo systemctl enable crm-asterisk-listener

sudo systemctl start crm-asterisk-listener


Asterisk-ٴتىڭ ەسكى نۇسقالارىمەن جۇمىس

Asterisk ۱۳+ ٴۇشىن كونفىيگۋراتسىييا فايلدارىنا قوسىمشا قاسىييەتتەر قوسۋ قاجەت.

/etc/asterisk/cdr.conf ٴۇشىن

[general]
enable = yes
batch = no
unanswered = yes

/etc/asterisk/cdr_manager.conf ٴۇشىن

[general]
enable = yes
unanswered = yes

ەسكەرتۋ: قوڭىراۋلار جازبالارىن الۋ تەك Asterisk ۱۴+ ٴۇشىن جۇمىس ىستەيتىنىن ەسكەرىڭىز.

قوسىمشا ادىستەر

ٴسىز وسى ادىستەردى ٴوزىڭىز dialplan-نان شاقىرا الاسىز.


باقىلاۋشىلار تۋرالى اقپارات الۋ

ىينتەگراتسىييادا كورسەتىلگەن URL-عا POST سۇراۋىن جىبەرىپ، كەلەسى مالىمەتتەردى ۇسىنا الاسىز:

Content-type: application/json

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

ٴسىز جاۋاپ رەتىندە الاسىز:

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

نەمەسە

ەگەر كونتاكتىگە قاتىستى:

  • باقىلاۋشىلار جوق بولسا
  • قىسقا نومىرلەر تاعايىندالماعان بولسا
  • باقىلاۋشى رەتىندە شاقىرىلعان نومىرگە قوڭىراۋ شالعان قىزمەتكەر ("short_PBX_extension")

بولسا، جاۋاپتا كەلەسى بولادى:

{"error":"no persons responsible"}


جوعالتىلعان قوڭىراۋ تۋرالى حابارلاما

  • وسى ٴادىستى پايدالانۋ ٴۇشىن ىينتەگراتسىييا باپتاۋلارىندا — “Record missed calls only by a separate special request” وپتسىيياسىن تاڭداڭىز:

۷TWeHF.png


ىينتەگراتسىييادا كورسەتىلگەن URL-عا POST سۇراۋىن جىبەرىپ، كەلەسى مالىمەتتەردى ۇسىنا الاسىز:

Content-type: application/json
{"event": "callMissedNotify"، "uniqueId": "unique_call_id"، "intNum": "short_PBX_extension_to_receive_missed_call_notification"، "extNum": "external_subscriber_number"}

ەگەر سول قىسقا نومىرگە ىييە قىزمەتكەر بار بولسا، ول جوعالتىلعان قوڭىراۋ تۋرالى حابارلاما الادى.

POST سۇراۋىنا قايتارىلاتىن جاۋاپ بوس بولادى.

جۇمىس ىستەۋ تۋرالى ەسكەرتۋلەر

  • سكرىيپت جۇمىس ىستەۋى ٴۇشىن "panoramisk" كىتاپحاناسى ورناتىلعانىنا كوز جەتكىزىڭىز. ونى 'pip install panoramisk' كومەگىمەن ورناتۋعا بولادى.


  • ەگەر سكرىيپت دەرەۋ باستالماسا نەمەسە ami_listener-گە وزگەرىستەر ەنگىزگەننەن كەيىن كوماندالاردى ورىنداساڭىز، كەلەسى كوماندالار كومەكتەسۋى مۇمكىن:
sudo systemctl daemon-reload
sudo systemctl restart crm-asterisk-listener


  • ىينتەگراتسىييانى ٴوشىرۋ ٴۇشىن ورىنداڭىز:
sudo systemctl stop crm-asterisk-listener
sudo systemctl disable crm-asterisk-listener


  • بارلىق قوسىلۋ ادىستەرىندە ٴسىز باپتاعان بولۋىڭىز كەرەك:
    • ىشكى قالتالار (Extensions)
    • كىرىس جانە شىعىس باعىتتاۋ (Inbound/Outbound Routes)


ٴوتۋ