FreePBX. ಸರದಿಯಲ್ಲಿ ತಪ್ಪಿದ ಒಳಬರುವ ಕರೆಗಳ ಕುರಿತು ಇ-ಮೇಲ್ ಅಧಿಸೂಚನೆಗಳಿಗಾಗಿ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತಿದೆ

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

ತಪ್ಪಿದ ಕರೆಗಳ ಕುರಿತು ಇಮೇಲ್ ಅಧಿಸೂಚನೆಗಳನ್ನು ಹೊಂದಿಸುವ ಕಾರ್ಯವನ್ನು ನಾವು ಎದುರಿಸಿದ್ದೇವೆ. ಹೆಚ್ಚು ನಿಖರವಾಗಿ, ಒಳಬರುವ ಕರೆಯು ಸರದಿಯಲ್ಲಿ ಹೋದಾಗ ಆ ಪ್ರಕರಣಗಳ ಬಗ್ಗೆ ಇ-ಮೇಲ್ ಮೂಲಕ ಸೂಚಿಸಿ, ಆದರೆ ಯಾರೂ (ಏಜೆಂಟರು) ಈ ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸಲಿಲ್ಲ.

ಆಶ್ಚರ್ಯಕರವಾಗಿ, FreePBX ನಲ್ಲಿ ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ನಾವು ಯಾವುದೇ ಪ್ರಮಾಣಿತ ಸಾಧನಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲಿಲ್ಲ. ನಾವು ಈ ಸಮಸ್ಯೆಯನ್ನು ಹೇಗೆ ಪರಿಹರಿಸಿದ್ದೇವೆ ಎಂಬುದನ್ನು ನಾನು ಕಟ್ ಕೆಳಗೆ ಹೇಳುತ್ತೇನೆ.

ಮುನ್ನುಡಿ

ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವ ಮೊದಲು, ನಾವು ಅಂತರ್ಜಾಲದಲ್ಲಿ ಮಾಹಿತಿಗಾಗಿ ಹುಡುಕಿದೆವು, ಆದರೆ ಟರ್ನ್‌ಕೀ ಪರಿಹಾರವನ್ನು ಕಂಡುಹಿಡಿಯಲಿಲ್ಲ (ಬಹುಶಃ ನಾವು ಚೆನ್ನಾಗಿ ಹುಡುಕಲಿಲ್ಲ, ಆದರೆ ನೀವು ಏನು ಮಾಡಬಹುದು ...).

ನಾವು ಬಯಸಿದಂತೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯಲ್ಲಿ ನೇರವಾಗಿ ಕೆಲಸ ಮಾಡಲು ಹಲವು ಕೌಶಲ್ಯಗಳಿಲ್ಲ, ಆದ್ದರಿಂದ ಪರಿಹಾರವನ್ನು ನೀಡಲಾಗುತ್ತದೆ ಇಲ್ಲಿ, ಸಂಪೂರ್ಣವಾಗಿ ಗ್ರಹಿಸಲಾಗಿಲ್ಲ ಮತ್ತು ತಿರಸ್ಕರಿಸಲಾಗಿದೆ.

ನಾನು ಪ್ರಸ್ತಾಪಿಸಿದ ಪರಿಹಾರವನ್ನು ಇಷ್ಟಪಟ್ಟೆ ಇಲ್ಲಿ, ಅದು ಕೆಲಸ ಮಾಡದಿದ್ದರೂ ಸಹ. ಆದ್ದರಿಂದ ನೀವು ಸರತಿ ಸಾಲುಗಳ ಸಂದರ್ಭದಲ್ಲಿ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯಲ್ಲಿ ಕೆಲಸ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಎಂದು ಅವರು ಒತ್ತಿ ಹೇಳಿದರು [ಎಕ್ಸ್ಟ್-ಕ್ಯೂಗಳು]. ಮತ್ತು ನಾವು Freepbx ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದರಿಂದ, ನಾವು "extensions_override_freepbx.conf" ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಹ್ಯಾಂಗ್‌ಕಾಲ್ ಈವೆಂಟ್‌ಗೆ (ಕರೆಯ ಅಂತ್ಯ) ಮೊದಲು "ಮಿಸ್ಡ್ ಕಾಲ್‌ಗಳನ್ನು ಹಿಡಿಯುವುದು" ಅನುಕೂಲಕರವಾಗಿದೆ ಎಂದು ನಾವು ಗಮನಿಸಿದ್ದೇವೆ.
ಚರ್ಚೆಯನ್ನು ಓದಿದ ನಂತರ ಇಲ್ಲಿ, ಸರದಿಯಲ್ಲಿರುವ ಎಲ್ಲಾ ಏಜೆಂಟ್‌ಗಳಿಂದ ಸಿಡಿಆರ್‌ನಲ್ಲಿ "ಡಿಸ್ಪೊಸಿಷನ್" ವೇರಿಯೇಬಲ್ ಅನ್ನು ಫಿಲ್ಟರ್ ಮಾಡುವುದು ಅವಶ್ಯಕ ಎಂಬ ಕಲ್ಪನೆಯು ಬಂದಿತು. ಮತ್ತು ಓದಿದ ನಂತರ ಇದು ಮಾಹಿತಿ, ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ನಿರ್ದಿಷ್ಟ ಹಂತಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ.

ನಾವು ಏನು ಹೊಂದಿದ್ದೇವೆ:

FreePBX 13.0.197 ಇದೆ, ಇದು ಆಸ್ಟರಿಸ್ಕ್ 13.12.1 ಅನ್ನು ಬಳಸುತ್ತದೆ. OS ಆವೃತ್ತಿಯು SHMZ ಬಿಡುಗಡೆ 6.6 (ಅಂತಿಮ) ಆಗಿದೆ. ವಿತರಣೆಯು ಇದನ್ನು ಆಧರಿಸಿದೆ CentOS.

ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯನ್ನು IVR (ಧ್ವನಿ ಮೆನು) ನೊಂದಿಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ ಅದು ವಿವಿಧ ಕ್ಯೂಗಳಿಗೆ ಒಳಬರುವ ಕರೆಗಳನ್ನು ವಿತರಿಸುತ್ತದೆ. ಪ್ರತಿ ಸರತಿಗೆ ಏಜೆಂಟರನ್ನು, ಅಂದರೆ ನಿರ್ವಾಹಕರನ್ನು ನಿಯೋಜಿಸಲಾಗಿದೆ.

ಸಿದ್ಧಾಂತ

ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯಲ್ಲಿ ಏನಾಗುತ್ತಿದೆ

ಆಸ್ಟರಿಸ್ಕ್ ಒಳಬರುವ ಕರೆಯನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ, ಕರೆ IVR ಗೆ ಹೋಗುತ್ತದೆ. ಕರೆ ಮಾಡುವವರು ಫೋನ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯನ್ನು ಒತ್ತುವ ಮೂಲಕ ಆಯ್ಕೆ ಮಾಡುತ್ತಾರೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಸರದಿಯಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ. ಇದರ ನಂತರ, ಸರದಿಯಲ್ಲಿರುವ ಎಲ್ಲಾ ಉಚಿತ ಏಜೆಂಟ್‌ಗಳು ಏಕಕಾಲದಲ್ಲಿ ಕರೆಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತಾರೆ.

ಈ ಕ್ಷಣದಲ್ಲಿ ಏನಾಗುತ್ತಿದೆ ಮತ್ತು ಮುಂದೆ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಚೆನ್ನಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ನಾವು ವರದಿ CDR (Fig. 1) ಗೆ ತಿರುಗೋಣ.

FreePBX. ಸರದಿಯಲ್ಲಿ ತಪ್ಪಿದ ಒಳಬರುವ ಕರೆಗಳ ಕುರಿತು ಇ-ಮೇಲ್ ಅಧಿಸೂಚನೆಗಳಿಗಾಗಿ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತಿದೆ
ಚಿತ್ರ 1

ಒಳಬರುವ ಕರೆಯು ಸರದಿಯಲ್ಲಿ ಪ್ರವೇಶಿಸಿದಾಗ, ಆ ಕ್ಷಣದಲ್ಲಿ ಏಜೆಂಟ್‌ಗಳು ಕಾರ್ಯನಿರತರಾಗಿಲ್ಲದಿದ್ದರೆ ಎಲ್ಲಾ ಏಜೆಂಟ್‌ಗಳಿಗೆ "ವಿಲೇವಾರಿ" ವೇರಿಯಬಲ್‌ನ ಮೌಲ್ಯವು "ಉತ್ತರವಿಲ್ಲ" ಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ. "ಡಿಸ್ಪೊಸಿಷನ್" ವೇರಿಯೇಬಲ್ ಇತರ ಮೌಲ್ಯಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು (ನೋಡಿ. https://asterisk-pbx.ru/wiki/asterisk/cf/cdr), "ಉತ್ತರಿಸಲಾಗಿದೆ" ಮೌಲ್ಯವನ್ನು ಹೊರತುಪಡಿಸಿ. ಮತ್ತು ಏಜೆಂಟ್‌ಗಳಲ್ಲಿ ಒಬ್ಬರು ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸುವ ಕ್ಷಣದಲ್ಲಿ, ಈ ಏಜೆಂಟ್‌ನ "ವಿಲೇವಾರಿ" ವೇರಿಯೇಬಲ್‌ನ ಮೌಲ್ಯವು "ಉತ್ತರ" ಗೆ ಸಮಾನವಾಗಿರುತ್ತದೆ.
ವರದಿ CDR ನಿಂದ ನೀವು ಕರೆ ಸರದಿಯಲ್ಲಿದ್ದಾಗ (ಅಪ್ಲಿಕೇಶನ್ ಕಾಲಮ್‌ನಲ್ಲಿ ಮೌಲ್ಯವು "ಕ್ಯೂ" ಗೆ ಸಮನಾಗಿರುತ್ತದೆ), ನಂತರ ಎಲ್ಲಾ ಈವೆಂಟ್‌ಗಳು ಒಂದೇ "ಅನನ್ಯ" (ಸಿಸ್ಟಮ್ ಕಾಲಮ್) ನೊಂದಿಗೆ ಗೋಚರಿಸುತ್ತವೆ.

CDR ಬಗ್ಗೆ ಸಂಕ್ಷಿಪ್ತವಾಗಿ

CDR ಎಂದರೇನು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮುಖ್ಯವಾಗಿದೆ ಮತ್ತು CDR ವರದಿಯಲ್ಲಿ ನಾವು ಗಮನಿಸುವ ಡೇಟಾವನ್ನು ನಿಖರವಾಗಿ CDR ಗೆ ನಮೂದಿಸಲಾಗಿದೆ. CDR, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗೆ ಸಂಬಂಧಿಸಿದಂತೆ, ಆಸ್ಟರಿಸ್ಕ್ ವಿವರವಾದ ಕರೆ ವರದಿಯನ್ನು ಬರೆಯುವ ಡೇಟಾಬೇಸ್ ಆಗಿದೆ (ನೋಡಿ. https://asterisk-pbx.ru/wiki/asterisk/cf/cdr) ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು asteriskcdrdb ಎಂಬ ಡೇಟಾಬೇಸ್ ಆಗಿದೆ, ಇದು mysql ನಲ್ಲಿದೆ. ನಿರ್ದಿಷ್ಟ "ಅನನ್ಯ" ದೊಂದಿಗಿನ ಕರೆಯ ಕುರಿತಾದ ಡೇಟಾವನ್ನು ನಕ್ಷತ್ರದ ಸಿಡಿಆರ್ಡಿಬಿಗೆ ಯಾವುದೇ ಈವೆಂಟ್ ಸಂಭವಿಸಿದ ತಕ್ಷಣವೇ ಅಲ್ಲ, ಆದರೆ ಹ್ಯಾಂಗ್‌ಪ್‌ಕಾಲ್ ಈವೆಂಟ್ (ಕರೆಯ ಅಂತ್ಯ) ನಂತರ ನಮೂದಿಸಲಾಗಿದೆ ಎಂದು ನಾವು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಸ್ಥಾಪಿಸಿದ್ದೇವೆ.

ರಚಿಸಿದ ಪರಿಹಾರದ ಕಾರ್ಯಾಚರಣೆಯ ತತ್ವ

ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯಲ್ಲಿನ ಜ್ಞಾನಕ್ಕಿಂತ ನಾವು ಬ್ಯಾಷ್‌ನಲ್ಲಿ ಹೆಚ್ಚಿನ ಜ್ಞಾನವನ್ನು ಹೊಂದಿರುವುದರಿಂದ, ಮುಖ್ಯ ಆಲೋಚನೆಯು ಈ ಕೆಳಗಿನಂತಿದೆ. hangupcall ಈವೆಂಟ್‌ಗೆ ಮೊದಲು, ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕರೆ ಮಾಡಿ. ಈ ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ 3 ನಿಯತಾಂಕಗಳನ್ನು ರವಾನಿಸಿ. CDR ನಿಂದ ಸ್ವೀಕರಿಸಿದ ಡೇಟಾವನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ಮೊದಲ ಪ್ಯಾರಾಮೀಟರ್ "ಅನನ್ಯ" ಆಗಿದೆ. ಎರಡನೇ ಪ್ಯಾರಾಮೀಟರ್ "CALLERID(num)" (ಕರೆ ಮಾಡುವವರ ಸಂಖ್ಯೆ), ಯಾರಿಗೆ ಮರಳಿ ಕರೆ ಮಾಡಬೇಕೆಂದು ತಿಳಿಯಲು. ಮೂರನೇ ಪ್ಯಾರಾಮೀಟರ್ "NODEST" (ಸರದಿ ಸಂಖ್ಯೆ) ಇದರಲ್ಲಿ ಕರೆ ಸ್ವೀಕರಿಸಲಾಗಿದೆ, ಕರೆ ಯಾವ ಸಮಸ್ಯೆಯ ಬಗ್ಗೆ ಮತ್ತು ಯಾರಿಗೆ ತಪ್ಪಿದ ಕರೆಯ ಇಮೇಲ್ ಅಧಿಸೂಚನೆಯನ್ನು ಕಳುಹಿಸಬೇಕು ಎಂದು ತಿಳಿಯಲು.
ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ mysql ನಲ್ಲಿನ asteriskcdrdb ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕ ಹೊಂದಿರಬೇಕು ಮತ್ತು "ಡಿಸ್ಪೊಸಿಷನ್" ವೇರಿಯೇಬಲ್‌ನ ಎಲ್ಲಾ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ದಿಷ್ಟ "ಅನನ್ಯ" ದೊಂದಿಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು. ಸ್ವೀಕರಿಸಿದ ಡೇಟಾದಿಂದ ನೀವು ಈ ಕೆಳಗಿನ ಮೌಲ್ಯಗಳನ್ನು ಹೊರಗಿಡಬೇಕಾಗಿದೆ: "ಉತ್ತರವಿಲ್ಲ", "ಬ್ಯುಸಿ", "ವಿಫಲವಾಗಿದೆ", "ಅಜ್ಞಾತ". ಪರಿಣಾಮವಾಗಿ, "ಉತ್ತರ" ಉಳಿಯುತ್ತದೆ - ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸಲಾಗಿದೆ, ಅಥವಾ ಏನೂ ಇಲ್ಲ - ತಪ್ಪಿದ ಕರೆ.

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

ಅಭ್ಯಾಸ

ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಮತ್ತು ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರಚಿಸುವ ಮೊದಲು, ನೀವು ಇಮೇಲ್ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸುವುದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಇದಕ್ಕಾಗಿ ನಾವು ಪೋಸ್ಟ್ಫಿಕ್ಸ್ ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸುತ್ತೇವೆ.

ಪೋಸ್ಟ್ಫಿಕ್ಸ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

ನಾವು Yandex ನಲ್ಲಿ "lucky.ru" ಎಂಬ ಮೇಲ್ ಡೊಮೇನ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ. ನಾವು ಪೋಸ್ಟ್‌ಫಿಕ್ಸ್ ಅನ್ನು smtp ಕ್ಲೈಂಟ್ ಮೋಡ್‌ನಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ ಮತ್ತು asterisk@lucky.ru ಖಾತೆಯಿಂದ ಇಮೇಲ್‌ಗಳನ್ನು ಕಳುಹಿಸುತ್ತೇವೆ.
ಪರಿಹಾರವು ಇದನ್ನು ಆಧರಿಸಿದೆ: https://www.dmosk.ru/miniinstruktions.php?mini=postfix-over-yandex.

ಮೊದಲಿಗೆ, ಪ್ಯಾಕೇಜ್‌ಗಳಿಗಾಗಿ ಇನ್‌ಸ್ಟಾಲ್/ಅಪ್‌ಡೇಟ್/ಚೆಕ್ ಮಾಡೋಣ:

yum install postfix
yum install mailx
yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

ಮುಖ್ಯ ಪೋಸ್ಟ್‌ಫಿಕ್ಸ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ “/etc/postfix/main.cf” ಅನ್ನು ತಿದ್ದಿ ಬರೆಯಬೇಡಿ, ಆದರೆ ಅದರ ಬ್ಯಾಕಪ್ ನಕಲನ್ನು ರಚಿಸಿ:

cp /etc/postfix/main.cf /etc/postfix/main.cf.sav

ನಾವು "/etc/postfix/main.cf" ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಈ ಕೆಳಗಿನ ಫಾರ್ಮ್‌ಗೆ ತರುತ್ತೇವೆ:

nano /etc/postfix/main.cf
#####################
relayhost =
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/private/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_type = cyrus
smtp_sasl_mechanism_filter = login
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/private/sender_relay
smtp_generic_maps = hash:/etc/postfix/generic
smtp_tls_CAfile = /etc/postfix/ca.pem
smtp_use_tls = yes
smtputf8_autodetect_classes = all
#####################

"/etc/postfix/main.cf" ನಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಸಾಲನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಕೆಲವು ಸಾಲುಗಳಲ್ಲಿನ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಪಾರ್ಸರ್‌ನಿಂದ ಪತ್ತೆ ಮಾಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಇದು ದೋಷಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಈ ಫೈಲ್‌ನಲ್ಲಿ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ನಿರಾಕರಿಸುವುದು ಉತ್ತಮ. ಮುಂದಿನ ವಿಂಡೋದಲ್ಲಿ "tail -f /var/log/messages" ಅನ್ನು ರನ್ ಮಾಡುವ ಮೂಲಕ ನೀವು ಇದನ್ನು ಪ್ರಯೋಗಿಸಬಹುದು.

ನಾನು “smtputf8_autodetect_classes = all” ಎಂಬ ಸಾಲನ್ನು ಗುರುತಿಸುತ್ತೇನೆ. ಈ ನಮೂದು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ utf-8 ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು ಹೆಚ್ಚುವರಿ ಕುಶಲತೆಗಳಿಲ್ಲದೆ ಅಕ್ಷರದ ದೇಹದಲ್ಲಿ ಮತ್ತು ಪತ್ರದ ವಿಷಯದಲ್ಲಿ ಸಿರಿಲಿಕ್ ಅನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (ನೋಡಿ. http://www.postfix.org/SMTPUTF8_README.html).

ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳಿಗಾಗಿ ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸೋಣ:

mkdir /etc/postfix/private

"/etc/postfix/private/sender_relay" ಫೈಲ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಿ. ನಮ್ಮ ಮೇಲ್ ಡೊಮೇನ್ ಬಳಸುವಾಗ ನೀವು ಯಾವ smtp ಸರ್ವರ್‌ಗೆ ಲಿಂಕ್ ಮಾಡಬೇಕೆಂದು ಅದರಲ್ಲಿ ನೀವು ಸೂಚಿಸಬೇಕು:

nano /etc/postfix/private/sender_relay
#####################
@lucky.ru smtp.yandex.ru
#####################

"/etc/postfix/private/sasl_passwd" ಫೈಲ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಿ. ಅದರಲ್ಲಿ ನಾವು ಪತ್ರಗಳನ್ನು ಕಳುಹಿಸಲು ಬಳಸುವ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ಮತ್ತು ಈ ಖಾತೆಗೆ ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಸೂಚಿಸುತ್ತೇವೆ (ನಾವು ಕೊಲೊನ್‌ನಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಸೂಚಿಸುತ್ತೇವೆ):

nano /etc/postfix/private/sasl_passwd
#####################
asterisk@lucky.ru asterisk@lucky.ru:password_asterisk
#####################

"/etc/postfix/generic" ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸಿ. ಅದರಲ್ಲಿ ನಾವು ಹೊರಹೋಗುವ ವಿಳಾಸವನ್ನು ಬದಲಿಸುವ ನಿಯಮಗಳನ್ನು ಬರೆಯುತ್ತೇವೆ (ನೋಡಿ. https://wiki.merionet.ru/ip-telephoniya/30/postfix-nastrojka-otpravki-pochty-v-asterisk/):

nano /etc/postfix/generic
#####################
root asterisk@lucky.ru
root@localhost asterisk@lucky.ru
root@localhost.localdomain asterisk@lucky.ru
root@freepbx asterisk@lucky.ru
root@freepbx.localdomain asterisk@lucky.ru
root@asterisk asterisk@lucky.ru
root@asterisk.localdomain asterisk@lucky.ru
asterisk asterisk@lucky.ru
asterisk@localhost asterisk@lucky.ru
asterisk@localhost.localdomain asterisk@lucky.ru
asterisk@freepbx asterisk@lucky.ru
asterisk@freepbx.localdomain asterisk@lucky.ru
asterisk@asterisk asterisk@lucky.ru
asterisk@asterisk.localdomain asterisk@lucky.ru
root@localdomain.localdomain asterisk@lucky.ru
#####################

ಆರಂಭಿಕ ಹೊರಹೋಗುವ ವಿಳಾಸವು "/etc/hosts" ಮತ್ತು "/etc/hostname" ನ ವಿಷಯಗಳನ್ನು ಹಾಗೂ ಇಮೇಲ್ ಕಳುಹಿಸುವ ಬಳಕೆದಾರರ ಹೆಸರನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಅಂದರೆ, ನಾವು smtp ಕ್ಲೈಂಟ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ ಮತ್ತು asterisk@lucky.ru ನಿಂದ ಪತ್ರಗಳನ್ನು ಕಳುಹಿಸುತ್ತೇವೆ ಎಂಬ ವಾಸ್ತವದ ಹೊರತಾಗಿಯೂ, ಪೋಸ್ಟ್‌ಫಿಕ್ಸ್ ಆರಂಭದಲ್ಲಿ ಕಳುಹಿಸುವವರ ವಿಳಾಸಕ್ಕೆ "ತನ್ನದೇ ಆದದ್ದನ್ನು" ಬದಲಿಸುತ್ತದೆ ಮತ್ತು ಈ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ನಲ್ಲಿರುವ ನಿಯಮಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಇದನ್ನು ಸರಿಪಡಿಸಬೇಕಾಗಿದೆ.

ನನ್ನ “/etc/hosts” ಫೈಲ್‌ನ ವಿಷಯಗಳು ಇಲ್ಲಿವೆ:

cat /etc/hosts
#####################
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 asterisk.localdomain
127.0.0.1 localhost.localdomain localhost
::1 asterisk localhost localhost6
#####################

ಸರ್ವರ್ ಕೆಲವು ರೀತಿಯ ಡೊಮೇನ್ ಅನ್ನು ಹೊಂದಿರುವುದು ಮುಖ್ಯವಾಗಿದೆ (ಡಾಟ್ ನಂತರದ ಮೌಲ್ಯ), ಏಕೆಂದರೆ ಮೇಲ್ ಉಪಯುಕ್ತತೆಯು "/etc/hosts" ನಲ್ಲಿ ಡೊಮೇನ್ ಹೆಸರನ್ನು "ಕಾಣುತ್ತದೆ" ಮತ್ತು ಅದು ಈಗಿನಿಂದಲೇ "ಹುಡುಕಲು" ಆಗದಿದ್ದರೆ, ಅದು ಇನ್ನೂ ಕೆಲವು ನಿಮಿಷಗಳ ಕಾಲ ಹಾಗೆ ಮುಂದುವರಿಯುತ್ತದೆ ಮತ್ತು ನಂತರ ಮಾತ್ರ ಅವರು ಪತ್ರವನ್ನು ಕಳುಹಿಸುತ್ತಾರೆ. ಅಂದರೆ, ಡೊಮೇನ್ ಅನ್ನು ನೋಂದಾಯಿಸದಿದ್ದರೆ, ನಂತರ ಪತ್ರವನ್ನು ಹಲವಾರು ನಿಮಿಷಗಳ ವಿಳಂಬದೊಂದಿಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.

ನನ್ನ ಫೈಲ್ “/etc/hostname” ನ ವಿಷಯಗಳು ಇಲ್ಲಿವೆ:

cat /etc/hostname
#####################
asterisk
#####################

ಮುಂದೆ, ನೀವು ರಚಿಸಿದ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳನ್ನು ಸೂಚ್ಯಂಕ ಡೇಟಾಬೇಸ್‌ಗಳಿಗೆ ವರ್ಗಾಯಿಸಬೇಕಾಗುತ್ತದೆ; ಇದನ್ನು ಮಾಡಲು, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:

postmap /etc/postfix/generic && postmap /etc/postfix/private/{sasl_passwd,sender_relay}

ಮುಂದೆ, ನಾವು ಸರ್ವರ್‌ನಲ್ಲಿ smtp.yandex.ru ಪ್ರಮಾಣಪತ್ರವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಇರಿಸಬೇಕಾಗುತ್ತದೆ; ಇದನ್ನು ಮಾಡಲು, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:

openssl s_client -starttls smtp -crlf -connect smtp.yandex.ru:25 > /etc/postfix/ca.pem

ಆದರೆ ತಾಂತ್ರಿಕ ಮಾಹಿತಿಯು ಪರದೆಯ ಮೇಲೆ ಕಾಣಿಸಿಕೊಂಡ ನಂತರ, ಆಜ್ಞೆಯು "ಹ್ಯಾಂಗ್ ಮಾಡಲು ಮುಂದುವರಿಯುತ್ತದೆ." ಅದನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲು Ctrl+C ಒತ್ತಿರಿ.

ಈಗ ಫಲಿತಾಂಶದ ಫೈಲ್‌ನಿಂದ ಎಲ್ಲಾ ಕಸವನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ತೆಗೆದುಹಾಕೋಣ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರವನ್ನು ಮಾತ್ರ ಬಿಡೋಣ. ಇದು ಈ ರೀತಿ ಕಾಣಿಸಬೇಕು:

nano /etc/postfix/ca.pem
#####################
-----BEGIN CERTIFICATE-----
MIIGazCCBVOgAwIBAgIQcUU9mJXW4OUs5Gf0JfLtsjANBgkqhkiG9w0BAQsFADBf
...
nRG0DfdqYIuPGApFORYe
-----END CERTIFICATE-----
#####################

ಮತ್ತು ಅಂತಿಮವಾಗಿ ಪೋಸ್ಟ್ಫಿಕ್ಸ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ:

service postfix restart

ಪರೀಕ್ಷಾ ಪತ್ರವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ:

echo "Это тело письма" | mail -s "Это тема" admin@lucky.ru

admin@lucky.ru — ಗಮ್ಯಸ್ಥಾನ ವಿಳಾಸ

ಇದು posfix ಸೆಟಪ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ.

ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ಬರೆಯುವುದು

ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲು ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸಿ (ಇಲ್ಲಿ ನೀವು ಅದನ್ನು ಉತ್ತಮವಾಗಿ ಇಷ್ಟಪಡುತ್ತೀರಿ):

mkdir /home/asterisk/scripts

ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸಿ:

touch /home/asterisk/scripts/noanswer.sh

ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಾವು ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಅನುಮತಿಗಳನ್ನು ನೀಡುತ್ತೇವೆ:

chmod +x /home/asterisk/scripts/noanswer.sh

ಫೈಲ್‌ಗೆ ಹಕ್ಕುಗಳ ಬಗ್ಗೆ ಅನುಮಾನಗಳಿದ್ದರೆ, ಡೀಬಗ್ ಮಾಡುವಾಗ ನೀವು ಫೈಲ್‌ಗೆ ಸಂಪೂರ್ಣ ಪ್ರವೇಶವನ್ನು ನೀಡಬಹುದು. ಆದರೆ ಇದು "ಸುರಕ್ಷಿತವಲ್ಲ".

chmod 777 /home/asterisk/scripts/noanswer.sh

ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ಪಠ್ಯ:

nano /home/asterisk/scripts/noanswer.sh
#####################
#!/bin/bash

sleep 7

res_sql="SELECT disposition FROM cdr WHERE uniqueid = '$1'"

answer=`mysql -u freepbxuser -pPassword_freepbxuser -D asteriskcdrdb -B -N -e "$res_sql" | grep -E -v "NO ANSWER|BUSY|FAILED|UNKNOWN" | head -n 1`

error_kod=0
if [ "$answer" != "ANSWERED" ]
then

 case $3 in
 68800)
 address="big_boss@lucky.ru"
 subject="по важному вопросу"
 ;;
 63100)
 address="debian@lucky.ru"
 subject="по вопросам linux debian"
 ;;
 63200)
 address="windows@lucky.ru"
 subject="по вопросам windows"
 ;;
 63300)
 address="freebsd@lucky.ru"
 subject="по вопросам freebsd"
 ;;
 63400)
 address="ubuntu@lucky.ru"
 subject="по вопросам linux ubuntu"
 ;;
 63500)
 address="centos@lucky.ru"
 subject="по вопросам linux centos"
 ;;
 *)
 address="admin@lucky.ru"
 error_kod=1
 ;;
 esac

 case $error_kod in
 0)
 echo "Пропущен вызов от абонента $2, звонившего $subject." | mail -s "Пропущен вызов от $2" $address
 echo "Пропущен вызов для $address от абонента $2, звонившего $subject. uid=$1" | mail -s "Пропущен вызов от $2" admin@lucky.ru
 ;;
 1)
 echo "Пропущен вызов от $2. Очередь неизвестна. uid=$1" | mail -s "Пропущен вызов от $2" admin@lucky.ru
 ;;
 esac

fi
#####################

ಲಿಪಿಯ ಸಂಕ್ಷಿಪ್ತ ವಿಶ್ಲೇಷಣೆ:
"ನಿದ್ರೆ 7":

ನಾನು ಹಿಂದೆ ಬರೆದ ಅದೇ ಸಮಯ ವಿಳಂಬವಾಗಿದೆ. ನಾವು ವಿಳಂಬವನ್ನು 7 ಸೆಕೆಂಡುಗಳಿಗೆ ಹೊಂದಿಸಿದ್ದೇವೆ. ಆದಾಗ್ಯೂ, ಒಂದು ಸೆಕೆಂಡ್ ಸಾಕು ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.

«res_sql="SELECT disposition FROM cdr WHERE uniqueid = '$1'"»:

ನಾವು mysql ನಲ್ಲಿನ ಪ್ರಶ್ನೆಯನ್ನು ಅನುಕೂಲಕ್ಕಾಗಿ ಪ್ರತ್ಯೇಕ ವೇರಿಯಬಲ್‌ಗೆ ಸರಿಸಿದೆವು.

ಮುಂದೆ, ನಾವು mysql ನಲ್ಲಿ ಪ್ರಶ್ನೆಯನ್ನು ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಫಲಿತಾಂಶದ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಫಿಲ್ಟರ್ ಮಾಡುತ್ತೇವೆ. "ಉತ್ತರ" ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ಆಯ್ಕೆಗಳನ್ನು ನಾವು ಅಳಿಸುತ್ತೇವೆ. ಹಲವಾರು "ಉತ್ತರಿಸಿದ" ಮೌಲ್ಯಗಳು ಇದ್ದರೆ, ನಂತರ ಒಂದನ್ನು ಮಾತ್ರ ಬಿಡಬೇಕು. ಕೊನೆಯಲ್ಲಿ, ನಾವು "ಉತ್ತರ" ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿ "ಉತ್ತರ" ಅಥವಾ "" ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತೇವೆ.
"ಉತ್ತರ" ವೇರಿಯೇಬಲ್‌ನ ಮೌಲ್ಯವು "ಉತ್ತರ" ಆಗದಿದ್ದರೆ, ಅದು ಮಿಸ್ಡ್ ಕಾಲ್ ಆಗಿದೆ. ಕ್ಯೂ ಸಂಖ್ಯೆಯನ್ನು ಅವಲಂಬಿಸಿ, ಪ್ರಕರಣದ ಹೇಳಿಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಾವು ಯಾರಿಗೆ ಇಮೇಲ್ ಅಧಿಸೂಚನೆಯನ್ನು ನಿಖರವಾಗಿ ಕಳುಹಿಸಬೇಕು ಮತ್ತು ಈ ಸಂದೇಶದಲ್ಲಿ ಏನು ಬರೆಯಬೇಕು (ಸಂದೇಶದ ವೇರಿಯಬಲ್ ಭಾಗ) ವಿಳಾಸವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇವೆ.

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

ಸರದಿಯನ್ನು ವಿವರಿಸಿದರೆ, ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಒಂದು ಪತ್ರವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು admin@lucky.ru ಗೆ "uniqueid" ಎಂದು ಸೂಚಿಸುವ ನಕಲಿ ಪತ್ರವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಅಗತ್ಯವಿದ್ದರೆ ಈ ಕರೆಯ ಘಟನೆಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಇಲ್ಲಿಗೆ ಸ್ಕ್ರಿಪ್ಟ್ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ.

mysql ಗೆ ಸಂಪರ್ಕಿಸಲು ನಾವು ಮುಂಚಿತವಾಗಿ ಕಲಿತ ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬಳಸಿದ್ದೇವೆ ಎಂದು ನಾನು ಗಮನಿಸುತ್ತೇನೆ. FreePBX ನಲ್ಲಿ, mysql ನಲ್ಲಿ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಬಳಕೆದಾರ ಲಾಗಿನ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಲು, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:

cat /etc/amportal.conf | grep AMPDBUSER

ಮತ್ತು mysql ನಲ್ಲಿ ನಕ್ಷತ್ರ ಚಿಹ್ನೆ ಬಳಕೆದಾರ ಗುಪ್ತಪದವನ್ನು ಕಂಡುಹಿಡಿಯಲು, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:

cat /etc/amportal.conf | grep AMPDBPASS

ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

ನಾವು FreePBX ಅನ್ನು ಬಳಸುತ್ತೇವೆ. FreePBX ವಿವಿಧ ರೀತಿಯ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿದೆ (ನೋಡಿ https://asterisk-pbx.ru/wiki/freepbx/files), ಅವುಗಳಲ್ಲಿ ಕೆಲವು ರೀಬೂಟ್‌ನಲ್ಲಿ ಫ್ರೀಪಿಬಿಎಕ್ಸ್‌ನಿಂದ ತಿದ್ದಿ ಬರೆಯಲ್ಪಟ್ಟಿವೆ ಮತ್ತು ಕೆಲವು ತಿದ್ದಿ ಬರೆಯಲ್ಪಟ್ಟಿಲ್ಲ (ಅವುಗಳನ್ನು ಕಸ್ಟಮ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ), ಏಕೆಂದರೆ ಅವುಗಳನ್ನು ನಿರ್ದಿಷ್ಟವಾಗಿ ಬಳಕೆದಾರರಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.

ನಾವು "extensions_override_freepbx.conf" ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ, ಏಕೆಂದರೆ ಇದು ಕಸ್ಟಮ್ ಪ್ರಕಾರವಾಗಿದೆ.

ಮೊದಲಿಗೆ, "extensions_override_freepbx.conf" ಫೈಲ್ ಅನ್ನು "/etc/asterisk/extensions.conf" ಫೈಲ್‌ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳೋಣ. ಇದನ್ನು ಮಾಡಲು, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:

cat /etc/asterisk/extensions.conf | grep extensions_override_freepbx.conf
#####################
#include extensions_override_freepbx.conf
#####################

“/etc/asterisk/extensions_override_freepbx.conf” ಫೈಲ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಈ ಕೆಳಗಿನ ಫಾರ್ಮ್‌ಗೆ ತನ್ನಿ:

nano /etc/asterisk/extensions_override_freepbx.conf
#####################
[ext-queues]

exten => h,1,System(/home/asterisk/scripts/noanswer.sh ${CDR(uniqueid)} ${CALLERID(num)} ${NODEST} &)
exten => h,2,Macro(hangupcall,)
#####################

ನಾನು ಮೊದಲೇ ಬರೆದಂತೆ, ಕೊನೆಯಲ್ಲಿ "&" ಚಿಹ್ನೆ ಅಗತ್ಯವಿದೆ. ನಾವು mysql ಡೇಟಾಬೇಸ್‌ನಿಂದ ನೇರವಾಗಿ CDR ಡೇಟಾದೊಂದಿಗೆ ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ ಮತ್ತು "exten => h,2, Macro(hangupcall,)" ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ನಂತರವೇ ಈ ಡೇಟಾವನ್ನು mysql ಗೆ ನಮೂದಿಸಲಾಗುತ್ತದೆ, ನಾವು ಕಾಯುವ ಅಗತ್ಯವಿಲ್ಲ ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಕ್ರಿಯೆ ಪೂರ್ಣಗೊಳಿಸಲು , ಮತ್ತು ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯಲ್ಲಿ ಮುಂದಿನ ಹಂತಕ್ಕೆ ತೆರಳಿ. ಮತ್ತು ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ತನ್ನ ಮುಖ್ಯ ಭಾಗವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೊದಲು ಸಮಯ ವಿಳಂಬವನ್ನು ಹೊಂದಿರಬೇಕು.

“/etc/asterisk/extensions_override_freepbx.conf” ಸಂರಚನಾ ಕಡತದಲ್ಲಿನ ಬದಲಾವಣೆಗಳು ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರಲು, ನೀವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ ಆಸ್ಟರಿಸ್ಕ್ ಕರ್ನಲ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕು:

/usr/sbin/asterisk -rx "core restart now"

ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರಚಿಸಿದ ನಂತರ ಇದನ್ನು ಮಾಡಬೇಕು.

ತೀರ್ಮಾನಕ್ಕೆ

ಇದು ಪ್ರಾಯಶಃ ಆಸ್ಟರಿಸ್ಕ್‌ನಲ್ಲಿ "ತಪ್ಪಿದ ಕರೆಗಳನ್ನು ಹಿಡಿಯಲು" 1001 ನೇ ಮಾರ್ಗವಾಗಿದೆ. ಈ ಸಮಸ್ಯೆಯನ್ನು ನೀವು ಹೇಗೆ ಪರಿಹರಿಸುತ್ತೀರಿ ಎಂಬುದನ್ನು ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಿ. ಮತ್ತು ನಿಮ್ಮ ಅಭಿಪ್ರಾಯದಲ್ಲಿ ಯಾವುದನ್ನು ಸುಧಾರಿಸಬಹುದು/ರೀಮೇಕ್ ಮಾಡಬಹುದು/ಆಪ್ಟಿಮೈಸ್ ಮಾಡಬಹುದು. ರಚನಾತ್ಮಕ ಆಲೋಚನೆಗಳಿಗೆ ನಾವು ಕೃತಜ್ಞರಾಗಿರುತ್ತೇವೆ.

ಮೂಲ: www.habr.com

DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ಸೈಟ್‌ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ 🔥 DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ವೆಬ್‌ಸೈಟ್ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ | ProHoster