ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ

ಖಂಡಿತವಾಗಿ ನಿಮ್ಮಲ್ಲಿ ಅನೇಕರು, ನನ್ನಂತೆಯೇ, ವಿಶಿಷ್ಟವಾದದ್ದನ್ನು ಮಾಡುವ ಆಲೋಚನೆಯನ್ನು ಹೊಂದಿದ್ದರು. ಈ ಲೇಖನದಲ್ಲಿ ನಾನು PBX ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ ನಾನು ಎದುರಿಸಬೇಕಾದ ತಾಂತ್ರಿಕ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಪರಿಹಾರಗಳನ್ನು ವಿವರಿಸುತ್ತೇನೆ. ಬಹುಶಃ ಇದು ಯಾರಾದರೂ ತಮ್ಮ ಸ್ವಂತ ಕಲ್ಪನೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ ಮತ್ತು ಯಾರಾದರೂ ಚೆನ್ನಾಗಿ ಹೆಜ್ಜೆ ಹಾಕಿದ ಮಾರ್ಗವನ್ನು ಅನುಸರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಏಕೆಂದರೆ ನಾನು ಪ್ರವರ್ತಕರ ಅನುಭವದಿಂದ ಸಹ ಪ್ರಯೋಜನ ಪಡೆದಿದ್ದೇನೆ.

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ

ಕಲ್ಪನೆ ಮತ್ತು ಪ್ರಮುಖ ಅವಶ್ಯಕತೆಗಳು

ಮತ್ತು ಇದು ಎಲ್ಲಾ ಪ್ರೀತಿಯಿಂದ ಸರಳವಾಗಿ ಪ್ರಾರಂಭವಾಯಿತು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ (ಸಂವಹನ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಚೌಕಟ್ಟು), ಟೆಲಿಫೋನಿ ಮತ್ತು ಸ್ಥಾಪನೆಗಳ ಯಾಂತ್ರೀಕರಣ ಫ್ರೀಪಿಬಿಎಕ್ಸ್ (ಇದಕ್ಕಾಗಿ ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ) ಕಂಪನಿಯ ಅಗತ್ಯತೆಗಳು ನಿರ್ದಿಷ್ಟತೆಗಳಿಲ್ಲದಿದ್ದರೆ ಮತ್ತು ಸಾಮರ್ಥ್ಯಗಳೊಳಗೆ ಬಿದ್ದಿದ್ದರೆ ಫ್ರೀಪಿಬಿಎಕ್ಸ್ - ಎಲ್ಲವೂ ಅದ್ಭುತವಾಗಿದೆ. ಸಂಪೂರ್ಣ ಅನುಸ್ಥಾಪನೆಯು XNUMX ಗಂಟೆಗಳ ಒಳಗೆ ನಡೆಯಿತು, ಕಂಪನಿಯು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ PBX, ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ಸಣ್ಣ ತರಬೇತಿ ಮತ್ತು ಬಯಸಿದಲ್ಲಿ ಬೆಂಬಲವನ್ನು ಪಡೆಯಿತು.

ಆದರೆ ಅತ್ಯಂತ ಆಸಕ್ತಿದಾಯಕ ಕಾರ್ಯಗಳು ಪ್ರಮಾಣಿತವಲ್ಲದವು ಮತ್ತು ನಂತರ ಅದು ಅಸಾಧಾರಣವಾಗಿರಲಿಲ್ಲ. ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಬಹಳಷ್ಟು ಮಾಡಬಹುದು, ಆದರೆ ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಕೆಲಸದ ಕ್ರಮದಲ್ಲಿ ಇರಿಸಿಕೊಳ್ಳಲು, ಹಲವು ಬಾರಿ ಹೆಚ್ಚು ಸಮಯವನ್ನು ಕಳೆಯುವುದು ಅಗತ್ಯವಾಗಿತ್ತು. ಆದ್ದರಿಂದ ಒಂದು ಸಣ್ಣ ವಿವರವು ಉಳಿದ PBX ಅನ್ನು ಸ್ಥಾಪಿಸುವುದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಮತ್ತು ವಿಷಯವೆಂದರೆ ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬರೆಯಲು ಬಹಳ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಆದರೆ ಪಾಯಿಂಟ್ ವಾಸ್ತುಶಿಲ್ಪದ ವೈಶಿಷ್ಟ್ಯಗಳಲ್ಲಿದೆ ಫ್ರೀಪಿಬಿಎಕ್ಸ್. ಆರ್ಕಿಟೆಕ್ಚರ್ ವಿಧಾನಗಳು ಮತ್ತು ವಿಧಾನಗಳು ಫ್ರೀಪಿಬಿಎಕ್ಸ್ php4 ಸಮಯದಲ್ಲಿ ಹಾಕಲಾಯಿತು, ಮತ್ತು ಆ ಕ್ಷಣದಲ್ಲಿ ಈಗಾಗಲೇ php5.6 ಇತ್ತು ಅದರ ಮೇಲೆ ಎಲ್ಲವನ್ನೂ ಸರಳ ಮತ್ತು ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿ ಮಾಡಬಹುದು.

ಕೊನೆಯ ಒಣಹುಲ್ಲಿನ ರೇಖಾಚಿತ್ರದ ರೂಪದಲ್ಲಿ ಚಿತ್ರಾತ್ಮಕ ಡಯಲ್‌ಪ್ಲಾನ್‌ಗಳು. ನಾನು ಈ ರೀತಿಯದನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ ಫ್ರೀಪಿಬಿಎಕ್ಸ್, ನಾನು ಅದನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಪುನಃ ಬರೆಯಬೇಕಾಗಿದೆ ಮತ್ತು ಹೊಸದನ್ನು ನಿರ್ಮಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡೆ.

ಪ್ರಮುಖ ಅವಶ್ಯಕತೆಗಳೆಂದರೆ:

  • ಸರಳ ಸೆಟಪ್, ಅನನುಭವಿ ನಿರ್ವಾಹಕರಿಗೆ ಸಹ ಅಂತರ್ಬೋಧೆಯಿಂದ ಪ್ರವೇಶಿಸಬಹುದು. ಹೀಗಾಗಿ, ಕಂಪನಿಗಳಿಗೆ ನಮ್ಮ ಕಡೆಯಿಂದ PBX ನಿರ್ವಹಣೆ ಅಗತ್ಯವಿಲ್ಲ,
  • ಸುಲಭ ಮಾರ್ಪಾಡು ಇದರಿಂದ ಕಾರ್ಯಗಳನ್ನು ಸಾಕಷ್ಟು ಸಮಯದಲ್ಲಿ ಪರಿಹರಿಸಲಾಗುತ್ತದೆ,
  • PBX ನೊಂದಿಗೆ ಏಕೀಕರಣದ ಸುಲಭ. ಯು ಫ್ರೀಪಿಬಿಎಕ್ಸ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಯಾವುದೇ API ಇರಲಿಲ್ಲ, ಅಂದರೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಗುಂಪುಗಳು ಅಥವಾ ಧ್ವನಿ ಮೆನುಗಳನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಕೇವಲ API ಮಾತ್ರ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ,
  • ಓಪನ್ ಸೋರ್ಸ್ - ಪ್ರೋಗ್ರಾಮರ್‌ಗಳಿಗೆ ಕ್ಲೈಂಟ್‌ಗೆ ಮಾರ್ಪಾಡುಗಳಿಗೆ ಇದು ಅತ್ಯಂತ ಮುಖ್ಯವಾಗಿದೆ.

ವೇಗವಾದ ಅಭಿವೃದ್ಧಿಯ ಕಲ್ಪನೆಯು ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ವಸ್ತುಗಳ ರೂಪದಲ್ಲಿ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಎಲ್ಲಾ ವಸ್ತುಗಳು ಸಾಮಾನ್ಯ ಪೋಷಕ ವರ್ಗವನ್ನು ಹೊಂದಿರಬೇಕು, ಅಂದರೆ ಎಲ್ಲಾ ಮುಖ್ಯ ಕಾರ್ಯಗಳ ಹೆಸರುಗಳು ಈಗಾಗಲೇ ತಿಳಿದಿವೆ ಮತ್ತು ಆದ್ದರಿಂದ ಈಗಾಗಲೇ ಡೀಫಾಲ್ಟ್ ಅನುಷ್ಠಾನಗಳಿವೆ. ಸ್ಟ್ರಿಂಗ್ ಕೀಗಳೊಂದಿಗೆ ಸಹಾಯಕ ರಚನೆಗಳ ರೂಪದಲ್ಲಿ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ನಾಟಕೀಯವಾಗಿ ಕಡಿಮೆ ಮಾಡಲು ಆಬ್ಜೆಕ್ಟ್‌ಗಳು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಅದನ್ನು ನೀವು ಕಂಡುಹಿಡಿಯಬಹುದು ಫ್ರೀಪಿಬಿಎಕ್ಸ್ ಸಂಪೂರ್ಣ ಕಾರ್ಯ ಮತ್ತು ನೆಸ್ಟೆಡ್ ಕಾರ್ಯಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಮೂಲಕ ಇದು ಸಾಧ್ಯವಾಯಿತು. ವಸ್ತುಗಳ ಸಂದರ್ಭದಲ್ಲಿ, ನೀರಸ ಸ್ವಯಂಪೂರ್ಣತೆಯು ಎಲ್ಲಾ ಗುಣಲಕ್ಷಣಗಳನ್ನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಜೀವನವನ್ನು ಹಲವು ಬಾರಿ ಸರಳಗೊಳಿಸುತ್ತದೆ. ಜೊತೆಗೆ, ಆನುವಂಶಿಕತೆ ಮತ್ತು ಮರುವ್ಯಾಖ್ಯಾನವು ಈಗಾಗಲೇ ಮಾರ್ಪಾಡುಗಳೊಂದಿಗೆ ಅನೇಕ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ.

ಮರುಕೆಲಸದ ಸಮಯವನ್ನು ನಿಧಾನಗೊಳಿಸಿದ ಮತ್ತು ತಪ್ಪಿಸಲು ಯೋಗ್ಯವಾದ ಮುಂದಿನ ವಿಷಯವೆಂದರೆ ನಕಲು. ಉದ್ಯೋಗಿಯನ್ನು ಡಯಲ್ ಮಾಡುವ ಜವಾಬ್ದಾರಿಯುತ ಮಾಡ್ಯೂಲ್ ಇದ್ದರೆ, ಉದ್ಯೋಗಿಗೆ ಕರೆ ಕಳುಹಿಸಲು ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಇತರ ಮಾಡ್ಯೂಲ್‌ಗಳು ಅದನ್ನು ಬಳಸಬೇಕು ಮತ್ತು ತಮ್ಮದೇ ಆದ ಪ್ರತಿಗಳನ್ನು ರಚಿಸಬಾರದು. ಆದ್ದರಿಂದ, ನೀವು ಏನನ್ನಾದರೂ ಬದಲಾಯಿಸಬೇಕಾದರೆ, ನೀವು ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಮಾತ್ರ ಬದಲಾಯಿಸಬೇಕಾಗುತ್ತದೆ ಮತ್ತು "ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ" ಎಂಬ ಹುಡುಕಾಟವನ್ನು ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ನಡೆಸಬೇಕು ಮತ್ತು ಇಡೀ ಯೋಜನೆಯ ಉದ್ದಕ್ಕೂ ಹುಡುಕಬಾರದು.

ಮೊದಲ ಆವೃತ್ತಿ ಮತ್ತು ಮೊದಲ ದೋಷಗಳು

ಒಂದು ವರ್ಷದೊಳಗೆ ಮೊದಲ ಮಾದರಿ ಸಿದ್ಧವಾಯಿತು. ಸಂಪೂರ್ಣ PBX, ಯೋಜಿಸಿದಂತೆ, ಮಾಡ್ಯುಲರ್ ಆಗಿತ್ತು, ಮತ್ತು ಮಾಡ್ಯೂಲ್‌ಗಳು ಕರೆಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಹೊಸ ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, ಆದರೆ ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬದಲಾಯಿಸಬಹುದು.

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ
ಹೌದು, ಅಂತಹ ಯೋಜನೆಯ ರೂಪದಲ್ಲಿ ಡಯಲ್‌ಪ್ಲಾನ್ ಅನ್ನು ನಿರ್ಮಿಸುವ ಕಲ್ಪನೆಯು ನನ್ನದಲ್ಲ, ಆದರೆ ಇದು ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿದೆ ಮತ್ತು ನಾನು ಅದೇ ರೀತಿ ಮಾಡಿದ್ದೇನೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ.

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ

ಮಾಡ್ಯೂಲ್ ಬರೆಯುವ ಮೂಲಕ, ಪ್ರೋಗ್ರಾಮರ್ಗಳು ಈಗಾಗಲೇ ಮಾಡಬಹುದು:

  • ಕರೆ ಪ್ರಕ್ರಿಯೆಗಾಗಿ ನಿಮ್ಮ ಸ್ವಂತ ಕಾರ್ಯವನ್ನು ರಚಿಸಿ, ಅದನ್ನು ರೇಖಾಚಿತ್ರದಲ್ಲಿ ಇರಿಸಬಹುದು, ಹಾಗೆಯೇ ಎಡಭಾಗದಲ್ಲಿರುವ ಅಂಶಗಳ ಮೆನುವಿನಲ್ಲಿ ಇರಿಸಬಹುದು,
  • ವೆಬ್ ಇಂಟರ್ಫೇಸ್‌ಗಾಗಿ ನಿಮ್ಮ ಸ್ವಂತ ಪುಟಗಳನ್ನು ರಚಿಸಿ ಮತ್ತು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪುಟಗಳಿಗೆ ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್‌ಗಳನ್ನು ಸೇರಿಸಿ (ಪುಟ ಡೆವಲಪರ್ ಇದಕ್ಕಾಗಿ ಒದಗಿಸಿದ್ದರೆ),
  • ನಿಮ್ಮ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮುಖ್ಯ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಟ್ಯಾಬ್‌ಗೆ ಸೇರಿಸಿ ಅಥವಾ ನಿಮ್ಮ ಸ್ವಂತ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಟ್ಯಾಬ್ ಅನ್ನು ರಚಿಸಿ,
  • ಪ್ರೋಗ್ರಾಮರ್ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮಾಡ್ಯೂಲ್‌ನಿಂದ ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯಬಹುದು, ಕ್ರಿಯಾತ್ಮಕತೆಯ ಭಾಗವನ್ನು ಬದಲಾಯಿಸಬಹುದು ಮತ್ತು ಅದನ್ನು ಹೊಸ ಹೆಸರಿನಲ್ಲಿ ನೋಂದಾಯಿಸಬಹುದು ಅಥವಾ ಮೂಲ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬದಲಾಯಿಸಬಹುದು.

ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ಸ್ವಂತ ಧ್ವನಿ ಮೆನುವನ್ನು ನೀವು ಹೇಗೆ ರಚಿಸಬಹುದು:

......
class CPBX_MYIVR extends CPBX_IVR
{
 function __construct()
 {
 parent::__construct();
 $this->_module = "myivr";
 }
}
.....
$myIvrModule = new CPBX_MYIVR();
CPBXEngine::getInstance()->registerModule($myIvrModule,__DIR__); //Зарегистрировать новый модуль
CPBXEngine::getInstance()->registerModuleExtension($myIvrModule,'ivr',__DIR__); //Подменить существующий модуль

ಮೊದಲ ಸಂಕೀರ್ಣ ಅನುಷ್ಠಾನಗಳು ಮೊದಲ ಹೆಮ್ಮೆ ಮತ್ತು ಮೊದಲ ನಿರಾಶೆಯನ್ನು ತಂದವು. ಇದು ಕೆಲಸ ಮಾಡಿದೆ ಎಂದು ನನಗೆ ಸಂತೋಷವಾಯಿತು, ನಾನು ಈಗಾಗಲೇ ಮುಖ್ಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪುನರುತ್ಪಾದಿಸಲು ಸಾಧ್ಯವಾಯಿತು ಫ್ರೀಪಿಬಿಎಕ್ಸ್. ಯೋಜನೆಯ ಕಲ್ಪನೆಯನ್ನು ಜನರು ಇಷ್ಟಪಟ್ಟಿದ್ದಾರೆ ಎಂದು ನನಗೆ ಸಂತೋಷವಾಯಿತು. ಅಭಿವೃದ್ಧಿಯನ್ನು ಸರಳೀಕರಿಸಲು ಇನ್ನೂ ಹಲವು ಆಯ್ಕೆಗಳಿವೆ, ಆದರೆ ಆ ಸಮಯದಲ್ಲಿ ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ಈಗಾಗಲೇ ಸುಲಭಗೊಳಿಸಲಾಗಿದೆ.

PBX ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಬದಲಾಯಿಸುವ API ನಿರಾಶೆಯನ್ನುಂಟುಮಾಡಿದೆ - ಫಲಿತಾಂಶವು ನಮಗೆ ಬೇಕಾದಂತೆ ಇರಲಿಲ್ಲ. ನಾನು ಅದೇ ತತ್ವವನ್ನು ತೆಗೆದುಕೊಂಡಿದ್ದೇನೆ ಫ್ರೀಪಿಬಿಎಕ್ಸ್, ಅನ್ವಯಿಸು ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ, ಸಂಪೂರ್ಣ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಮರುಸೃಷ್ಟಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ.

ಇದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ
*ಡಯಲ್‌ಪ್ಲಾನ್ ಒಂದು ನಿಯಮ (ಅಲ್ಗಾರಿದಮ್) ಇದರ ಮೂಲಕ ಕರೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಆದರೆ ಈ ಆಯ್ಕೆಯೊಂದಿಗೆ, PBX ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸಾಮಾನ್ಯ API ಅನ್ನು ಬರೆಯುವುದು ಅಸಾಧ್ಯ. ಮೊದಲನೆಯದಾಗಿ, ಬದಲಾವಣೆಗಳನ್ನು ಅನ್ವಯಿಸುವ ಕಾರ್ಯಾಚರಣೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ತುಂಬಾ ಉದ್ದವಾಗಿದೆ ಮತ್ತು ಸಂಪನ್ಮೂಲ ತೀವ್ರವಾಗಿದೆ.
ಎರಡನೆಯದಾಗಿ, ನೀವು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಎರಡು ಕಾರ್ಯಗಳನ್ನು ಕರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಎರಡೂ ಸಂರಚನೆಯನ್ನು ರಚಿಸುತ್ತವೆ.
ಮೂರನೆಯದಾಗಿ, ಇದು ನಿರ್ವಾಹಕರು ಮಾಡಿದ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಎಲ್ಲಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ.

ಈ ಆವೃತ್ತಿಯಲ್ಲಿ, ಹಾಗೆ ಅಸ್ಕೋಜಿಯಾ, ಕೇವಲ ಬದಲಾದ ಮಾಡ್ಯೂಲ್‌ಗಳ ಸಂರಚನೆಯನ್ನು ರಚಿಸಲು ಮತ್ತು ಅಗತ್ಯ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಮಾತ್ರ ಮರುಪ್ರಾರಂಭಿಸಲು ಸಾಧ್ಯವಾಯಿತು, ಆದರೆ ಇವೆಲ್ಲವೂ ಅರ್ಧ ಕ್ರಮಗಳಾಗಿವೆ. ವಿಧಾನವನ್ನು ಬದಲಾಯಿಸುವುದು ಅಗತ್ಯವಾಗಿತ್ತು.

ಎರಡನೇ ಆವೃತ್ತಿ. ಮೂಗು ಹೊರತೆಗೆದ ಬಾಲ ಅಂಟಿಕೊಂಡಿತು

ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವ ಕಲ್ಪನೆಯು ಕಾನ್ಫಿಗರೇಶನ್ ಮತ್ತು ಡಯಲ್‌ಪ್ಲಾನ್ ಅನ್ನು ಮರುಸೃಷ್ಟಿಸುವುದು ಅಲ್ಲ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ, ಆದರೆ ಡೇಟಾಬೇಸ್‌ಗೆ ಮಾಹಿತಿಯನ್ನು ಉಳಿಸಿ ಮತ್ತು ಕರೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ನೇರವಾಗಿ ಡೇಟಾಬೇಸ್‌ನಿಂದ ಓದಿ. ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಡೇಟಾಬೇಸ್‌ನಿಂದ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಹೇಗೆ ಓದುವುದು ಎಂದು ನನಗೆ ಈಗಾಗಲೇ ತಿಳಿದಿತ್ತು, ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿನ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸಿ ಮತ್ತು ಬದಲಾವಣೆಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು ಮುಂದಿನ ಕರೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಡಯಲ್‌ಪ್ಲಾನ್ ನಿಯತಾಂಕಗಳನ್ನು ಓದಲು ಕಾರ್ಯವು ಪರಿಪೂರ್ಣವಾಗಿದೆ REALTIME_HASH.

ಕೊನೆಯಲ್ಲಿ, ಮರುಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿಲ್ಲ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವಾಗ ಮತ್ತು ಎಲ್ಲಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತಕ್ಷಣವೇ ಅನ್ವಯಿಸಲು ಪ್ರಾರಂಭಿಸಿದಾಗ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ.

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ

ಡಯಲ್‌ಪ್ಲಾನ್‌ಗೆ ಕೇವಲ ಬದಲಾವಣೆಗಳೆಂದರೆ ವಿಸ್ತರಣೆ ಸಂಖ್ಯೆಗಳ ಸೇರ್ಪಡೆ ಮತ್ತು ಸುಳಿವು. ಆದರೆ ಇವು ಸಣ್ಣ ಸ್ಥಾನ ಬದಲಾವಣೆಗಳಾಗಿವೆ

exten=>101,1,GoSub(‘sub-callusers’,s,1(1)); - точечное изменение, добавляется/изменяется через ami

; sub-callusers – универсальная функция генерится при установке модуля.
[sub-callusers]
exten =>s,1,Noop()
exten =>s,n,Set(LOCAL(TOUSERID)=${ARG1})
exten =>s,n,ClearHash(TOUSERPARAM)
exten =>s,n,Set(HASH(TOUSERPARAM)=${REALTIME_HASH(rl_users,id,${LOCAL(TOUSERID)})})
exten =>s,n,GotoIf($["${HASH(TOUSERPARAM,id)}"=""]?return)
...

ಡಯಲ್‌ಪ್ಲಾನ್‌ನಲ್ಲಿ ನೀವು ಸುಲಭವಾಗಿ ಸಾಲನ್ನು ಸೇರಿಸಬಹುದು ಅಥವಾ ಬದಲಾಯಿಸಬಹುದು ಅಮಿ (ನಿಯಂತ್ರಣ ಇಂಟರ್ಫೇಸ್ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ) ಮತ್ತು ಸಂಪೂರ್ಣ ಡಯಲ್‌ಪ್ಲಾನ್‌ನ ರೀಬೂಟ್ ಅಗತ್ಯವಿಲ್ಲ.

ಇದು ಕಾನ್ಫಿಗರೇಶನ್ API ಯೊಂದಿಗಿನ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಿದೆ. ನೀವು ನೇರವಾಗಿ ಡೇಟಾಬೇಸ್‌ಗೆ ಹೋಗಬಹುದು ಮತ್ತು ಹೊಸ ಗುಂಪನ್ನು ಸೇರಿಸಬಹುದು ಅಥವಾ ಬದಲಾಯಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ಗುಂಪಿಗಾಗಿ "ಡಯಲ್‌ಟೈಮ್" ಕ್ಷೇತ್ರದಲ್ಲಿ ಡಯಲ್-ಅಪ್ ಸಮಯ ಮತ್ತು ಮುಂದಿನ ಕರೆ ಈಗಾಗಲೇ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಸಮಯಕ್ಕೆ ಇರುತ್ತದೆ (ಇದು ಶಿಫಾರಸು ಅಲ್ಲ ಕೆಲವು API ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಅಗತ್ಯವಿರುವುದರಿಂದ ಕ್ರಿಯೆ ಅಮಿ ಕರೆಗಳು).

ಮೊದಲ ಕಷ್ಟಕರವಾದ ಅನುಷ್ಠಾನಗಳು ಮತ್ತೊಮ್ಮೆ ಮೊದಲ ಹೆಮ್ಮೆ ಮತ್ತು ನಿರಾಶೆಯನ್ನು ತಂದವು. ಅದು ಕೆಲಸ ಮಾಡಿದೆ ಎಂದು ನನಗೆ ಸಂತೋಷವಾಯಿತು. ಡೇಟಾಬೇಸ್ ನಿರ್ಣಾಯಕ ಲಿಂಕ್ ಆಗಿ ಮಾರ್ಪಟ್ಟಿತು, ಡಿಸ್ಕ್ ಮೇಲಿನ ಅವಲಂಬನೆಯು ಹೆಚ್ಚಾಯಿತು, ಹೆಚ್ಚಿನ ಅಪಾಯಗಳಿವೆ, ಆದರೆ ಎಲ್ಲವೂ ಸ್ಥಿರವಾಗಿ ಮತ್ತು ಸಮಸ್ಯೆಗಳಿಲ್ಲದೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ. ಮತ್ತು ಮುಖ್ಯವಾಗಿ, ಈಗ ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಮಾಡಬಹುದಾದ ಎಲ್ಲವನ್ನೂ API ಮೂಲಕ ಮಾಡಬಹುದಾಗಿದೆ ಮತ್ತು ಅದೇ ವಿಧಾನಗಳನ್ನು ಬಳಸಲಾಗಿದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ವೆಬ್ ಇಂಟರ್ಫೇಸ್ "PBX ಗೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಅನ್ವಯಿಸು" ಬಟನ್ ಅನ್ನು ತೊಡೆದುಹಾಕಿತು, ಇದನ್ನು ನಿರ್ವಾಹಕರು ಹೆಚ್ಚಾಗಿ ಮರೆತುಬಿಡುತ್ತಾರೆ.

ನಿರಾಶೆ ಎಂದರೆ ಅಭಿವೃದ್ಧಿ ಇನ್ನಷ್ಟು ಜಟಿಲವಾಯಿತು. ಮೊದಲ ಆವೃತ್ತಿಯಿಂದ, PHP ಭಾಷೆಯು ಭಾಷೆಯಲ್ಲಿ ಡಯಲ್‌ಪ್ಲಾನ್ ಅನ್ನು ರಚಿಸಿದೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಓದಲಾಗದಂತಿದೆ, ಜೊತೆಗೆ ಭಾಷೆ ಸ್ವತಃ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಡಯಲ್‌ಪ್ಲಾನ್ ಬರೆಯಲು ಇದು ಅತ್ಯಂತ ಪ್ರಾಚೀನವಾದುದು.

ಅದು ಹೇಗಿತ್ತು:

$usersInitSection = $dialplan->createExtSection('usersinit-sub','s');
$usersInitSection
 ->add('',new Dialplanext_gotoif('$["${G_USERINIT}"="1"]','exit'))
 ->add('',new Dialplanext_set('G_USERINIT','1'))
 ->add('',new Dialplanext_gosub('1','s','sub-AddOnAnswerSub','usersconnected-sub'))
 ->add('',new Dialplanext_gosub('1','s','sub-AddOnPredoDialSub','usersinitondial-sub'))
 ->add('',new Dialplanext_set('LOCAL(TECH)','${CUT(CHANNEL(name),/,1)}'))
 ->add('',new Dialplanext_gotoif('$["${LOCAL(TECH)}"="SIP"]','sipdev'))
 ->add('',new Dialplanext_gotoif('$["${LOCAL(TECH)}"="PJSIP"]','pjsipdev'))

ಎರಡನೇ ಆವೃತ್ತಿಯಲ್ಲಿ, ಡಯಲ್‌ಪ್ಲಾನ್ ಸಾರ್ವತ್ರಿಕವಾಯಿತು, ಇದು ನಿಯತಾಂಕಗಳನ್ನು ಅವಲಂಬಿಸಿ ಎಲ್ಲಾ ಸಂಭವನೀಯ ಸಂಸ್ಕರಣಾ ಆಯ್ಕೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ ಮತ್ತು ಅದರ ಗಾತ್ರವು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಾಯಿತು. ಇದೆಲ್ಲವೂ ಅಭಿವೃದ್ಧಿಯ ಸಮಯವನ್ನು ಬಹಳವಾಗಿ ನಿಧಾನಗೊಳಿಸಿತು, ಮತ್ತು ಮತ್ತೊಮ್ಮೆ ಡಯಲ್‌ಪ್ಲಾನ್‌ನಲ್ಲಿ ಮಧ್ಯಪ್ರವೇಶಿಸುವುದು ಅವಶ್ಯಕ ಎಂಬ ಆಲೋಚನೆಯು ನನಗೆ ದುಃಖವನ್ನುಂಟುಮಾಡಿತು.

ಮೂರನೇ ಆವೃತ್ತಿ

ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಕಲ್ಪನೆಯನ್ನು ರಚಿಸುವುದು ಅಸಾಧ್ಯವಾಗಿತ್ತು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ php ಮತ್ತು ಬಳಕೆಯಿಂದ ಡಯಲ್‌ಪ್ಲಾನ್ ಮಾಡಿ FastAGI ಮತ್ತು ಎಲ್ಲಾ ಪ್ರಕ್ರಿಯೆ ನಿಯಮಗಳನ್ನು PHP ನಲ್ಲಿಯೇ ಬರೆಯಿರಿ. FastAGI ಅನುಮತಿಸುತ್ತದೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ, ಕರೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು, ಸಾಕೆಟ್‌ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ. ಅಲ್ಲಿಂದ ಆಜ್ಞೆಗಳನ್ನು ಸ್ವೀಕರಿಸಿ ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು ಕಳುಹಿಸಿ. ಹೀಗಾಗಿ, ಡಯಲ್‌ಪ್ಲಾನ್‌ನ ತರ್ಕವು ಈಗಾಗಲೇ ಗಡಿಯಿಂದ ಹೊರಗಿದೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು ಯಾವುದೇ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಬಹುದು, ನನ್ನ ಸಂದರ್ಭದಲ್ಲಿ PHP ನಲ್ಲಿ.

ಸಾಕಷ್ಟು ಪ್ರಯೋಗ ಮತ್ತು ದೋಷವಿತ್ತು. ಮುಖ್ಯ ಸಮಸ್ಯೆ ಎಂದರೆ ನಾನು ಈಗಾಗಲೇ ಸಾಕಷ್ಟು ತರಗತಿಗಳು/ಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದೇನೆ. ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ರಚಿಸಲು, ಅವುಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು ಮತ್ತು ಪರಸ್ಪರ ನೋಂದಾಯಿಸಲು ಇದು ಸುಮಾರು 1,5 ಸೆಕೆಂಡುಗಳನ್ನು ತೆಗೆದುಕೊಂಡಿತು ಮತ್ತು ಪ್ರತಿ ಕರೆಗೆ ಈ ವಿಳಂಬವು ನಿರ್ಲಕ್ಷಿಸಬಹುದಾದ ವಿಷಯವಲ್ಲ.

ಪ್ರಾರಂಭವು ಒಮ್ಮೆ ಮಾತ್ರ ಸಂಭವಿಸಿರಬೇಕು ಮತ್ತು ಆದ್ದರಿಂದ ಪರಿಹಾರಕ್ಕಾಗಿ ಹುಡುಕಾಟವು php ಬಳಸಿ ಸೇವೆಯನ್ನು ಬರೆಯುವುದರೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಯಿತು Pthreads. ಒಂದು ವಾರದ ಪ್ರಯೋಗದ ನಂತರ, ಈ ವಿಸ್ತರಣೆಯು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬ ಜಟಿಲತೆಗಳಿಂದಾಗಿ ಈ ಆಯ್ಕೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ. ಒಂದು ತಿಂಗಳ ಪರೀಕ್ಷೆಯ ನಂತರ, ನಾನು PHP ಯಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ತ್ಯಜಿಸಬೇಕಾಗಿತ್ತು; ನನಗೆ ಸರಳವಾದ, ಯಾವುದೇ PHP ಹರಿಕಾರರಿಗೆ ಪರಿಚಿತವಾಗಿರುವ, ಮತ್ತು PHP ಗಾಗಿ ಅನೇಕ ವಿಸ್ತರಣೆಗಳು ಸಿಂಕ್ರೊನಸ್ ಆಗಿವೆ.

ಪರಿಹಾರವು ಸಿ ಯಲ್ಲಿ ನಮ್ಮದೇ ಬಹು-ಥ್ರೆಡ್ ಸೇವೆಯಾಗಿದೆ, ಇದನ್ನು ಸಂಕಲಿಸಲಾಗಿದೆ PHPLIB. ಇದು ಎಲ್ಲಾ ATS php ಫೈಲ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಎಲ್ಲಾ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು ಕಾಯುತ್ತದೆ, ಪರಸ್ಪರ ಕಾಲ್‌ಬ್ಯಾಕ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಎಲ್ಲವೂ ಸಿದ್ಧವಾದಾಗ, ಅದನ್ನು ಕ್ಯಾಶ್ ಮಾಡುತ್ತದೆ. ಮೂಲಕ ವಿಚಾರಿಸಿದಾಗ FastAGI ಸ್ಟ್ರೀಮ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ, ಎಲ್ಲಾ ವರ್ಗಗಳ ಸಂಗ್ರಹದಿಂದ ನಕಲು ಮತ್ತು ಡೇಟಾವನ್ನು ಅದರಲ್ಲಿ ಪುನರುತ್ಪಾದಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ವಿನಂತಿಯನ್ನು php ಕಾರ್ಯಕ್ಕೆ ರವಾನಿಸಲಾಗುತ್ತದೆ.

ಈ ಪರಿಹಾರದೊಂದಿಗೆ, ನಮ್ಮ ಸೇವೆಗೆ ಕರೆಯನ್ನು ಮೊದಲ ಆಜ್ಞೆಗೆ ಕಳುಹಿಸುವ ಸಮಯ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ 1,5s ನಿಂದ 0,05s ಗೆ ಕಡಿಮೆಯಾಗಿದೆ ಮತ್ತು ಈ ಸಮಯವು ಯೋಜನೆಯ ಗಾತ್ರವನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಅವಲಂಬಿಸಿರುತ್ತದೆ.

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ

ಪರಿಣಾಮವಾಗಿ, ಡಯಲ್‌ಪ್ಲಾನ್ ಅಭಿವೃದ್ಧಿಯ ಸಮಯವು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆಯಾಗಿದೆ ಮತ್ತು PHP ಯಲ್ಲಿನ ಎಲ್ಲಾ ಮಾಡ್ಯೂಲ್‌ಗಳ ಸಂಪೂರ್ಣ ಡಯಲ್‌ಪ್ಲಾನ್ ಅನ್ನು ನಾನು ಪುನಃ ಬರೆಯಬೇಕಾಗಿರುವುದರಿಂದ ನಾನು ಇದನ್ನು ಪ್ರಶಂಸಿಸಬಹುದು. ಮೊದಲನೆಯದಾಗಿ, ಡೇಟಾಬೇಸ್‌ನಿಂದ ವಸ್ತುವನ್ನು ಪಡೆಯಲು ವಿಧಾನಗಳನ್ನು ಈಗಾಗಲೇ php ನಲ್ಲಿ ಬರೆಯಬೇಕು; ವೆಬ್ ಇಂಟರ್ಫೇಸ್‌ನಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲು ಅವು ಬೇಕಾಗಿದ್ದವು ಮತ್ತು ಎರಡನೆಯದಾಗಿ, ಮತ್ತು ಇದು ಮುಖ್ಯ ವಿಷಯವಾಗಿದೆ, ಅಂತಿಮವಾಗಿ ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಸರಣಿಗಳೊಂದಿಗೆ ತಂತಿಗಳೊಂದಿಗೆ ಅನುಕೂಲಕರವಾಗಿ ಕೆಲಸ ಮಾಡಲು ಸಾಧ್ಯವಿದೆ. ಡೇಟಾಬೇಸ್ ಜೊತೆಗೆ ಅನೇಕ PHP ವಿಸ್ತರಣೆಗಳೊಂದಿಗೆ.

ಮಾಡ್ಯೂಲ್ ವರ್ಗದಲ್ಲಿ ಡಯಲ್‌ಪ್ಲಾನ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ನೀವು ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ dialplanDynamicCall ಮತ್ತು ವಾದ pbxCallRequest ಸಂವಹನ ಮಾಡಲು ಒಂದು ವಸ್ತುವನ್ನು ಹೊಂದಿರುತ್ತದೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ.

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ

ಹೆಚ್ಚುವರಿಯಾಗಿ, ಡಯಲ್‌ಪ್ಲಾನ್ ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಸಾಧ್ಯವಾಯಿತು (php xdebug ಅನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಇದು ನಮ್ಮ ಸೇವೆಗಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ), ವೇರಿಯೇಬಲ್‌ಗಳ ಮೌಲ್ಯಗಳನ್ನು ನೋಡುವ ಮೂಲಕ ನೀವು ಹಂತ ಹಂತವಾಗಿ ಚಲಿಸಬಹುದು.

ಕರೆ ಡೇಟಾ

ಯಾವುದೇ ವಿಶ್ಲೇಷಣೆಗಳು ಮತ್ತು ವರದಿಗಳಿಗೆ ಸರಿಯಾಗಿ ಸಂಗ್ರಹಿಸಿದ ಡೇಟಾ ಅಗತ್ಯವಿರುತ್ತದೆ, ಮತ್ತು ಈ PBX ಬ್ಲಾಕ್ ಮೊದಲಿನಿಂದ ಮೂರನೇ ಆವೃತ್ತಿಯವರೆಗೆ ಸಾಕಷ್ಟು ಪ್ರಯೋಗ ಮತ್ತು ದೋಷದ ಮೂಲಕ ಹೋಯಿತು. ಆಗಾಗ್ಗೆ, ಕರೆ ಡೇಟಾವು ಸಂಕೇತವಾಗಿದೆ. ಒಂದು ಕರೆ = ಒಂದು ರೆಕಾರ್ಡಿಂಗ್: ಯಾರು ಕರೆದರು, ಯಾರು ಉತ್ತರಿಸಿದರು, ಅವರು ಎಷ್ಟು ಸಮಯ ಮಾತನಾಡಿದರು. ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕ ಆಯ್ಕೆಗಳಲ್ಲಿ, ಕರೆಯ ಸಮಯದಲ್ಲಿ ಯಾವ PBX ಉದ್ಯೋಗಿ ಎಂದು ಸೂಚಿಸುವ ಹೆಚ್ಚುವರಿ ಚಿಹ್ನೆ ಇದೆ. ಆದರೆ ಇದೆಲ್ಲವೂ ಅಗತ್ಯಗಳ ಒಂದು ಭಾಗವನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿದೆ.

ಆರಂಭಿಕ ಅವಶ್ಯಕತೆಗಳು ಹೀಗಿವೆ:

  • PBX ಯಾರು ಕರೆದರು ಎಂಬುದನ್ನು ಮಾತ್ರ ಉಳಿಸಿ, ಆದರೆ ಯಾರು ಉತ್ತರಿಸಿದರು, ಏಕೆಂದರೆ ಪ್ರತಿಬಂಧಕಗಳಿವೆ ಮತ್ತು ಕರೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವಾಗ ಇದನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ,
  • ಉದ್ಯೋಗಿಯೊಂದಿಗೆ ಸಂಪರ್ಕಿಸುವ ಮೊದಲು ಸಮಯ. ರಲ್ಲಿ ಫ್ರೀಪಿಬಿಎಕ್ಸ್ ಮತ್ತು ಕೆಲವು ಇತರ PBX ಗಳು, PBX ಫೋನ್ ಅನ್ನು ತೆಗೆದುಕೊಂಡ ತಕ್ಷಣ ಕರೆಗೆ ಉತ್ತರಿಸಲಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಆದರೆ ಧ್ವನಿ ಮೆನುಗಾಗಿ ನೀವು ಈಗಾಗಲೇ ಫೋನ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕಾಗಿದೆ, ಆದ್ದರಿಂದ ಎಲ್ಲಾ ಕರೆಗಳಿಗೆ ಉತ್ತರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಉತ್ತರಕ್ಕಾಗಿ ಕಾಯುವ ಸಮಯವು 0-1 ಸೆಕೆಂಡ್ ಆಗುತ್ತದೆ. ಆದ್ದರಿಂದ, ಪ್ರತಿಕ್ರಿಯೆಯ ಮೊದಲು ಸಮಯವನ್ನು ಉಳಿಸಲು ನಿರ್ಧರಿಸಲಾಯಿತು, ಆದರೆ ಪ್ರಮುಖ ಮಾಡ್ಯೂಲ್ಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಿಸುವ ಮೊದಲು ಸಮಯವನ್ನು ಉಳಿಸಲು ನಿರ್ಧರಿಸಲಾಯಿತು (ಮಾಡ್ಯೂಲ್ ಸ್ವತಃ ಈ ಧ್ವಜವನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಪ್ರಸ್ತುತ ಇದು "ನೌಕರ", "ಬಾಹ್ಯ ರೇಖೆ"),
  • ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಡಯಲ್‌ಪ್ಲಾನ್‌ಗಾಗಿ, ವಿವಿಧ ಗುಂಪುಗಳ ನಡುವೆ ಕರೆ ಚಲಿಸಿದಾಗ, ಪ್ರತಿಯೊಂದು ಅಂಶವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರೀಕ್ಷಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

PBX ಮಾಡ್ಯೂಲ್‌ಗಳು ಕರೆಗಳಲ್ಲಿ ತಮ್ಮ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಕಳುಹಿಸಿದಾಗ ಮತ್ತು ಅಂತಿಮವಾಗಿ ಮಾಹಿತಿಯನ್ನು ಮರದ ರೂಪದಲ್ಲಿ ಉಳಿಸಿದಾಗ ಉತ್ತಮ ಆಯ್ಕೆಯಾಗಿದೆ.

ಇದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

ಮೊದಲನೆಯದಾಗಿ, ಕರೆ ಬಗ್ಗೆ ಸಾಮಾನ್ಯ ಮಾಹಿತಿ (ಎಲ್ಲರಂತೆ - ವಿಶೇಷ ಏನೂ ಇಲ್ಲ).

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ

  1. ಹೊರಗಿನ ಸಾಲಿನಲ್ಲಿ ಕರೆ ಸ್ವೀಕರಿಸಿದೆ "ಪರೀಕ್ಷೆಗಾಗಿ"05:55:52 ಕ್ಕೆ 89295671458 ಸಂಖ್ಯೆಯಿಂದ 89999999999 ಸಂಖ್ಯೆಗೆ, ಕೊನೆಯಲ್ಲಿ ಅದನ್ನು ಉದ್ಯೋಗಿಯೊಬ್ಬರು ಉತ್ತರಿಸಿದ್ದಾರೆ"ಕಾರ್ಯದರ್ಶಿ 2»ಸಂಖ್ಯೆ 104 ರೊಂದಿಗೆ. ಕ್ಲೈಂಟ್ 60 ಸೆಕೆಂಡುಗಳು ಕಾಯುತ್ತಿದ್ದರು ಮತ್ತು 36 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಮಾತನಾಡಿದರು.
  2. ಉದ್ಯೋಗಿ "ಕಾರ್ಯದರ್ಶಿ 2"112 ಗೆ ಕರೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಉದ್ಯೋಗಿ ಉತ್ತರಿಸುತ್ತಾನೆ"ಮ್ಯಾನೇಜರ್ 18 ಸೆಕೆಂಡುಗಳ ನಂತರ. ಅವರು 14 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಮಾತನಾಡುತ್ತಾರೆ.
  3. ಕ್ಲೈಂಟ್ ಅನ್ನು ಉದ್ಯೋಗಿಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ "ವ್ಯವಸ್ಥಾಪಕ 1ಅಲ್ಲಿ ಅವರು ಇನ್ನೂ 13 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಮಾತನಾಡುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತಾರೆ

ಆದರೆ ಇದು ಮಂಜುಗಡ್ಡೆಯ ತುದಿಯಾಗಿದೆ; ಪ್ರತಿ ದಾಖಲೆಗಾಗಿ ನೀವು PBX ಮೂಲಕ ವಿವರವಾದ ಕರೆ ಇತಿಹಾಸವನ್ನು ಪಡೆಯಬಹುದು.

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಕಥೆ ಅಥವಾ ನಾನು ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಮತ್ತು Php ಅನ್ನು ಆಧರಿಸಿ PBX ಅನ್ನು ರಚಿಸಲು 7 ವರ್ಷಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ

ಎಲ್ಲಾ ಮಾಹಿತಿಯನ್ನು ಕರೆಗಳ ಗೂಡುಗಳಾಗಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ:

  1. ಹೊರಗಿನ ಸಾಲಿನಲ್ಲಿ ಕರೆ ಸ್ವೀಕರಿಸಿದೆ "ಪರೀಕ್ಷೆಗಾಗಿ» 05:55:52 ಕ್ಕೆ 89295671458 ಸಂಖ್ಯೆಯಿಂದ 89999999999 ಸಂಖ್ಯೆಗೆ.
  2. 05:55:53 ಕ್ಕೆ ಹೊರಗಿನ ರೇಖೆಯು ಒಳಬರುವ ಸರ್ಕ್ಯೂಟ್‌ಗೆ ಕರೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ "ಟೆಸ್ಟ್»
  3. ಯೋಜನೆಯ ಪ್ರಕಾರ ಕರೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ, ಮಾಡ್ಯೂಲ್ "ಮ್ಯಾನೇಜರ್ ಕರೆ", ಇದರಲ್ಲಿ ಕರೆ 16 ಸೆಕೆಂಡುಗಳು. ಇದು ಕ್ಲೈಂಟ್‌ಗಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ ಮಾಡ್ಯೂಲ್ ಆಗಿದೆ.
  4. ಘಟಕ "ಮ್ಯಾನೇಜರ್ ಕರೆ"ಸಂಖ್ಯೆಗೆ (ಕ್ಲೈಂಟ್) ಜವಾಬ್ದಾರರಾಗಿರುವ ಉದ್ಯೋಗಿಗೆ ಕರೆ ಕಳುಹಿಸುತ್ತದೆ"ಮ್ಯಾನೇಜರ್ 1” ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಗಾಗಿ 5 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯುತ್ತದೆ. ಮ್ಯಾನೇಜರ್ ಉತ್ತರಿಸಲಿಲ್ಲ.
  5. ಘಟಕ "ಮ್ಯಾನೇಜರ್ ಕರೆ"ಗುಂಪಿಗೆ ಕರೆ ಕಳುಹಿಸುತ್ತದೆ"CORP ವ್ಯವಸ್ಥಾಪಕರು" ಇವರು ಅದೇ ದಿಕ್ಕಿನ ಇತರ ನಿರ್ವಾಹಕರು (ಒಂದೇ ಕೋಣೆಯಲ್ಲಿ ಕುಳಿತು) ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಗಾಗಿ 11 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯುತ್ತಿದ್ದಾರೆ.
  6. ಗುಂಪು "CORP ವ್ಯವಸ್ಥಾಪಕರು"ನೌಕರರನ್ನು ಕರೆಯುತ್ತದೆ"ಮ್ಯಾನೇಜರ್ 1, ಮ್ಯಾನೇಜರ್ 2, ಮ್ಯಾನೇಜರ್ 3"ಏಕಕಾಲದಲ್ಲಿ 11 ಸೆಕೆಂಡುಗಳ ಕಾಲ. ಉತ್ತರ ಇಲ್ಲ.
  7. ವ್ಯವಸ್ಥಾಪಕರ ಕರೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. ಮತ್ತು ಸರ್ಕ್ಯೂಟ್ ಮಾಡ್ಯೂಲ್‌ಗೆ ಕರೆ ಕಳುಹಿಸುತ್ತದೆ "1c ನಿಂದ ಮಾರ್ಗವನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತಿದೆ" ಕ್ಲೈಂಟ್‌ಗಾಗಿ ಬರೆಯಲಾದ ಮಾಡ್ಯೂಲ್ ಕೂಡ. ಇಲ್ಲಿ ಕರೆಯನ್ನು 0 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗಿದೆ.
  8. ಸರ್ಕ್ಯೂಟ್ ಧ್ವನಿ ಮೆನುಗೆ ಕರೆ ಕಳುಹಿಸುತ್ತದೆ "ಹೆಚ್ಚುವರಿ ಡಯಲಿಂಗ್ನೊಂದಿಗೆ ಮೂಲಭೂತ" ಕ್ಲೈಂಟ್ ಅಲ್ಲಿ 31 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯುತ್ತಿದ್ದರು, ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಡಯಲಿಂಗ್ ಇರಲಿಲ್ಲ.
  9. ಯೋಜನೆಯು ಗುಂಪಿಗೆ ಕರೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ "ಕಾರ್ಯದರ್ಶಿಗಳು", ಅಲ್ಲಿ ಕ್ಲೈಂಟ್ 12 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯುತ್ತಿದ್ದರು.
  10. ಒಂದು ಗುಂಪಿನಲ್ಲಿ, 2 ಉದ್ಯೋಗಿಗಳನ್ನು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಕರೆಯಲಾಗುತ್ತದೆ "ಕಾರ್ಯದರ್ಶಿ 1"ಮತ್ತು"ಕಾರ್ಯದರ್ಶಿ 2"ಮತ್ತು 12 ಸೆಕೆಂಡುಗಳ ನಂತರ ಉದ್ಯೋಗಿ ಉತ್ತರಿಸುತ್ತಾನೆ"ಕಾರ್ಯದರ್ಶಿ 2" ಕರೆಗೆ ಉತ್ತರವನ್ನು ಪೋಷಕ ಕರೆಗಳಾಗಿ ನಕಲು ಮಾಡಲಾಗಿದೆ. ಗುಂಪಿನಲ್ಲಿ ಅವರು ಉತ್ತರಿಸಿದರು ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ "ಕಾರ್ಯದರ್ಶಿ 2", ಸರ್ಕ್ಯೂಟ್ಗೆ ಕರೆ ಮಾಡಿದಾಗ ಉತ್ತರಿಸಲಾಗಿದೆ"ಕಾರ್ಯದರ್ಶಿ 2"ಮತ್ತು ಹೊರಗಿನ ಸಾಲಿನಲ್ಲಿ ಕರೆಗೆ ಉತ್ತರಿಸಿದರು"ಕಾರ್ಯದರ್ಶಿ 2».

ಇದು ಪ್ರತಿ ಕಾರ್ಯಾಚರಣೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯ ಉಳಿತಾಯ ಮತ್ತು ಅವುಗಳ ಗೂಡುಕಟ್ಟುವಿಕೆಯಾಗಿದ್ದು ಅದು ವರದಿಗಳನ್ನು ಮಾಡಲು ಸುಲಭವಾಗುತ್ತದೆ. ಧ್ವನಿ ಮೆನುವಿನಲ್ಲಿರುವ ವರದಿಯು ಅದು ಎಷ್ಟು ಸಹಾಯ ಮಾಡುತ್ತದೆ ಅಥವಾ ಅಡ್ಡಿಪಡಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ನೌಕರರು ತಪ್ಪಿಸಿಕೊಂಡ ಕರೆಗಳ ಕುರಿತು ವರದಿಯನ್ನು ನಿರ್ಮಿಸಿ, ಕರೆಯನ್ನು ತಡೆಹಿಡಿಯಲಾಗಿದೆ ಮತ್ತು ಆದ್ದರಿಂದ ತಪ್ಪಿಹೋಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಇದು ಗುಂಪು ಕರೆ ಎಂದು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು ಬೇರೊಬ್ಬರು ಮೊದಲು ಉತ್ತರಿಸಿದ್ದಾರೆ, ಅಂದರೆ ಕರೆಯನ್ನು ಸಹ ತಪ್ಪಿಸಲಾಗಿಲ್ಲ.

ಅಂತಹ ಮಾಹಿತಿ ಸಂಗ್ರಹಣೆಯು ಪ್ರತಿ ಗುಂಪನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಲು ಮತ್ತು ಅದು ಎಷ್ಟು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಗಂಟೆಗೆ ಉತ್ತರಿಸಿದ ಮತ್ತು ತಪ್ಪಿದ ಗುಂಪುಗಳ ಗ್ರಾಫ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ. ಮ್ಯಾನೇಜರ್‌ಗೆ ಸಂಪರ್ಕಿಸಿದ ನಂತರ ವರ್ಗಾವಣೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವ ಮೂಲಕ ಜವಾಬ್ದಾರಿಯುತ ಮ್ಯಾನೇಜರ್‌ಗೆ ಸಂಪರ್ಕವು ಎಷ್ಟು ನಿಖರವಾಗಿದೆ ಎಂಬುದನ್ನು ಸಹ ನೀವು ಪರಿಶೀಲಿಸಬಹುದು.

ನೀವು ಸಾಕಷ್ಟು ವಿಲಕ್ಷಣ ಅಧ್ಯಯನಗಳನ್ನು ಸಹ ನಡೆಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿಲ್ಲದ ಸಂಖ್ಯೆಗಳು ಎಷ್ಟು ಬಾರಿ ಸರಿಯಾದ ವಿಸ್ತರಣೆಯನ್ನು ಡಯಲ್ ಮಾಡುತ್ತದೆ ಅಥವಾ ಎಷ್ಟು ಶೇಕಡಾ ಹೊರಹೋಗುವ ಕರೆಗಳನ್ನು ಮೊಬೈಲ್ ಫೋನ್‌ಗೆ ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗುತ್ತದೆ.

ಕೊನೆಯಲ್ಲಿ ಏನು?

PBX ಅನ್ನು ನಿರ್ವಹಿಸಲು ತಜ್ಞರು ಅಗತ್ಯವಿಲ್ಲ; ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ನಿರ್ವಾಹಕರು ಇದನ್ನು ಮಾಡಬಹುದು - ಪ್ರಾಯೋಗಿಕವಾಗಿ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ.

ಮಾರ್ಪಾಡುಗಳಿಗಾಗಿ, ಗಂಭೀರ ಅರ್ಹತೆಗಳನ್ನು ಹೊಂದಿರುವ ತಜ್ಞರು ಅಗತ್ಯವಿಲ್ಲ; PHP ಯ ಜ್ಞಾನವು ಸಾಕಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಈಗಾಗಲೇ SIP ಪ್ರೋಟೋಕಾಲ್‌ಗಾಗಿ ಮತ್ತು ಕ್ಯೂಗಾಗಿ ಮತ್ತು ಉದ್ಯೋಗಿಯನ್ನು ಕರೆ ಮಾಡಲು ಮತ್ತು ಇತರರಿಗೆ ಬರೆಯಲಾಗಿದೆ. ಗಾಗಿ ಹೊದಿಕೆ ವರ್ಗವಿದೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ. ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು, ಪ್ರೋಗ್ರಾಮರ್ (ಮತ್ತು ಉತ್ತಮ ರೀತಿಯಲ್ಲಿ) ರೆಡಿಮೇಡ್ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಕರೆಯಬಹುದು. ಮತ್ತು ಜ್ಞಾನ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಕ್ಲೈಂಟ್ ಕೆಲವು ಹೊಸ ವರದಿಯೊಂದಿಗೆ ಪುಟವನ್ನು ಸೇರಿಸಲು ಕೇಳಿದರೆ ಸಂಪೂರ್ಣವಾಗಿ ಅನಗತ್ಯವಾಗಿರುತ್ತವೆ. ಆದರೆ ಅಭ್ಯಾಸವು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಪ್ರೋಗ್ರಾಮರ್‌ಗಳು ನಿಭಾಯಿಸಬಹುದಾದರೂ, ದಾಖಲಾತಿ ಮತ್ತು ಕಾಮೆಂಟ್‌ಗಳ ಸಾಮಾನ್ಯ ವ್ಯಾಪ್ತಿಯಿಲ್ಲದೆ ಅವರು ಅಸುರಕ್ಷಿತರಾಗುತ್ತಾರೆ, ಆದ್ದರಿಂದ ಸುಧಾರಣೆಗೆ ಇನ್ನೂ ಅವಕಾಶವಿದೆ.

ಮಾಡ್ಯೂಲ್‌ಗಳು ಮಾಡಬಹುದು:

  • ಹೊಸ ಕರೆ ಪ್ರಕ್ರಿಯೆ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ರಚಿಸಿ,
  • ವೆಬ್ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಹೊಸ ಬ್ಲಾಕ್‌ಗಳನ್ನು ಸೇರಿಸಿ,
  • ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಯಾವುದೇ ಮಾಡ್ಯೂಲ್‌ಗಳಿಂದ ಆನುವಂಶಿಕವಾಗಿ, ಕಾರ್ಯಗಳನ್ನು ಮರುವ್ಯಾಖ್ಯಾನಿಸಿ ಮತ್ತು ಅದನ್ನು ಬದಲಾಯಿಸಿ ಅಥವಾ ಸ್ವಲ್ಪ ಮಾರ್ಪಡಿಸಿದ ನಕಲು,
  • ನಿಮ್ಮ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಇತರ ಮಾಡ್ಯೂಲ್‌ಗಳ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಟೆಂಪ್ಲೇಟ್‌ಗೆ ಸೇರಿಸಿ ಮತ್ತು ಇನ್ನಷ್ಟು.

API ಮೂಲಕ PBX ಸೆಟ್ಟಿಂಗ್‌ಗಳು. ಮೇಲೆ ವಿವರಿಸಿದಂತೆ, ಎಲ್ಲಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕರೆ ಸಮಯದಲ್ಲಿ ಓದಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು API ಮೂಲಕ ಎಲ್ಲಾ PBX ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಬಹುದು. API ಅನ್ನು ಕರೆಯುವಾಗ, ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಮರುಸೃಷ್ಟಿಸಲಾಗಿಲ್ಲ ಮತ್ತು ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ, ನೀವು ಎಷ್ಟು ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಉದ್ಯೋಗಿಗಳನ್ನು ಹೊಂದಿದ್ದೀರಿ ಎಂಬುದು ಮುಖ್ಯವಲ್ಲ. API ವಿನಂತಿಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪರಸ್ಪರ ನಿರ್ಬಂಧಿಸಬೇಡಿ.

PBX ಎಲ್ಲಾ ಪ್ರಮುಖ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಅವಧಿಗಳೊಂದಿಗೆ ಕರೆಗಳೊಂದಿಗೆ (ಕಾಯುವುದು/ಸಂಭಾಷಣೆ), ಗೂಡುಕಟ್ಟುವ ಮತ್ತು PBX ನಿಯಮಗಳಲ್ಲಿ (ಉದ್ಯೋಗಿ, ಗುಂಪು, ಬಾಹ್ಯ ಲೈನ್, ಚಾನಲ್ ಅಲ್ಲ, ಸಂಖ್ಯೆ) ಸಂಗ್ರಹಿಸುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ ಕ್ಲೈಂಟ್‌ಗಳಿಗಾಗಿ ವಿವಿಧ ವರದಿಗಳನ್ನು ನಿರ್ಮಿಸಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚಿನ ಕೆಲಸವು ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ರಚಿಸುವುದು.

ಮುಂದೆ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಕಾಲವೇ ಹೇಳುತ್ತದೆ. ಇನ್ನೂ ಅನೇಕ ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಪುನಃ ಮಾಡಬೇಕಾಗಿದೆ, ಇನ್ನೂ ಹಲವು ಯೋಜನೆಗಳಿವೆ, ಆದರೆ 3 ನೇ ಆವೃತ್ತಿಯ ರಚನೆಯಿಂದ ಒಂದು ವರ್ಷ ಕಳೆದಿದೆ ಮತ್ತು ಕಲ್ಪನೆಯು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ ಎಂದು ನಾವು ಈಗಾಗಲೇ ಹೇಳಬಹುದು. ಆವೃತ್ತಿ 3 ರ ಮುಖ್ಯ ಅನನುಕೂಲವೆಂದರೆ ಹಾರ್ಡ್‌ವೇರ್ ಸಂಪನ್ಮೂಲಗಳು, ಆದರೆ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಅಭಿವೃದ್ಧಿಯ ಸುಲಭಕ್ಕಾಗಿ ನೀವು ಪಾವತಿಸಬೇಕಾಗುತ್ತದೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ