ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ IP-PBX ಆಸ್ಟರಿಸ್ಕ್ ಮತ್ತು CRM Bitrix24 ಅನ್ನು ಸಂಯೋಜಿಸಲು ವಿಭಿನ್ನ ಆಯ್ಕೆಗಳಿವೆ, ಆದರೆ ನಾವು ಇನ್ನೂ ನಮ್ಮದೇ ಆದದನ್ನು ಬರೆಯಲು ನಿರ್ಧರಿಸಿದ್ದೇವೆ.
ಕ್ರಿಯಾತ್ಮಕತೆಯ ವಿಷಯದಲ್ಲಿ, ಎಲ್ಲವೂ ಪ್ರಮಾಣಿತವಾಗಿದೆ:
Bitrix24 ನಲ್ಲಿನ ಕ್ಲೈಂಟ್ನ ಫೋನ್ ಸಂಖ್ಯೆಯೊಂದಿಗಿನ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ, ಆಸ್ಟರಿಸ್ಕ್ ಬಳಕೆದಾರರ ಆಂತರಿಕ ಸಂಖ್ಯೆಯನ್ನು ಕ್ಲೈಂಟ್ನ ಫೋನ್ ಸಂಖ್ಯೆಯೊಂದಿಗೆ ಯಾರ ಪರವಾಗಿ ಕ್ಲಿಕ್ ಮಾಡಲಾಗಿತ್ತೋ ಆ ಬಳಕೆದಾರರನ್ನು ಸಂಪರ್ಕಿಸುತ್ತದೆ. Bitrix24 ನಲ್ಲಿ, ಕರೆಯ ರೆಕಾರ್ಡ್ ಅನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಕರೆಯ ಕೊನೆಯಲ್ಲಿ, ಸಂಭಾಷಣೆಯ ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ಎಳೆಯಲಾಗುತ್ತದೆ.
ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯು ಹೊರಗಿನಿಂದ ಕರೆಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ - Bitrix24 ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ನಾವು ಈ ಕರೆ ಬಂದ ಉದ್ಯೋಗಿಗೆ ಕ್ಲೈಂಟ್ ಕಾರ್ಡ್ ಅನ್ನು ತೋರಿಸುತ್ತೇವೆ.
ಅಂತಹ ಕ್ಲೈಂಟ್ ಇಲ್ಲದಿದ್ದರೆ, ಹೊಸ ಲೀಡ್ ಅನ್ನು ರಚಿಸಲು ನಾವು ಕಾರ್ಡ್ ಅನ್ನು ತೆರೆಯುತ್ತೇವೆ.
ಕರೆ ಪೂರ್ಣಗೊಂಡ ತಕ್ಷಣ, ನಾವು ಇದನ್ನು ಕಾರ್ಡ್ನಲ್ಲಿ ಪ್ರತಿಬಿಂಬಿಸುತ್ತೇವೆ ಮತ್ತು ಸಂಭಾಷಣೆಯ ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ಎಳೆಯುತ್ತೇವೆ.
ಕಟ್ ಕೆಳಗೆ ನಾನು ನಿಮಗೆ ಎಲ್ಲವನ್ನೂ ಹೇಗೆ ಹೊಂದಿಸುವುದು ಮತ್ತು ಗಿಥಬ್ಗೆ ಲಿಂಕ್ ಅನ್ನು ನೀಡುವುದು ಹೇಗೆ ಎಂದು ಹೇಳುತ್ತೇನೆ - ಹೌದು, ಹೌದು, ಅದನ್ನು ತೆಗೆದುಕೊಂಡು ಅದನ್ನು ಬಳಸಿ!
ಸಾಮಾನ್ಯ ವಿವರಣೆ
ನಾವು ನಮ್ಮ ಏಕೀಕರಣವನ್ನು CallMe ಎಂದು ಕರೆದಿದ್ದೇವೆ. CallMe PHP ಯಲ್ಲಿ ಬರೆಯಲಾದ ಒಂದು ಸಣ್ಣ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದೆ.
ನಾನು ಸಂರಚನೆ, ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳು, ಪ್ರಮಾಣಪತ್ರವನ್ನು ಪಡೆಯುವುದು ಮತ್ತು ಲೇಖನದ ವ್ಯಾಪ್ತಿಯ ಹೊರಗೆ ವೆಬ್ ಸರ್ವರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದನ್ನು ಬಿಡುತ್ತೇನೆ - ಇದರ ಬಗ್ಗೆ ಬಹಳಷ್ಟು ಬರೆಯಲಾಗಿದೆ. ಅಪ್ಲಿಕೇಶನ್ ಯಾವುದೇ ನಿರ್ಬಂಧಗಳನ್ನು ಹೊಂದಿಲ್ಲ, ಇದು http ಮತ್ತು https ಎರಡರಲ್ಲೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ನಾವು https ಬಳಸುತ್ತೇವೆ, ಪ್ರಮಾಣಪತ್ರವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡೋಣ.
ನೀವು ಎಲ್ಲವನ್ನೂ ಸರಿಯಾಗಿ ಮಾಡಿದ್ದರೆ, ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ನೀವು ಈ ರೀತಿಯದನ್ನು ನೋಡಬೇಕು
Bitrix24 ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಎರಡು ವೆಬ್ಹೂಕ್ಗಳನ್ನು ರಚಿಸೋಣ.
ಒಳಬರುವ ವೆಬ್ಹುಕ್.
ನಿರ್ವಾಹಕ ಖಾತೆಯ ಅಡಿಯಲ್ಲಿ (ಐಡಿ 1 ನೊಂದಿಗೆ), ಮಾರ್ಗವನ್ನು ಅನುಸರಿಸಿ: ಅಪ್ಲಿಕೇಶನ್ಗಳು -> ವೆಬ್ಹೂಕ್ಸ್ -> ವೆಬ್ಹೂಕ್ ಸೇರಿಸಿ -> ಒಳಬರುವ ವೆಬ್ಹೂಕ್
ಉಳಿಸಿದ ನಂತರ, Bitrix24 ಒಳಬರುವ ವೆಬ್ಹೂಕ್ನ URL ಅನ್ನು ಒದಗಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ:
ಅಂತಿಮ /ಪ್ರೊಫೈಲ್/ ಇಲ್ಲದೆಯೇ ನಿಮ್ಮ URL ಆವೃತ್ತಿಯನ್ನು ಉಳಿಸಿ - ಒಳಬರುವ ಕರೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಇದನ್ನು ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.
ನನ್ನ ಬಳಿ ಇದು ಇದೆ https://b24-xsynia.bitrix24.ru/rest/1/7eh61lh8pahw0fwt/
ಹೊರಹೋಗುವ ವೆಬ್ಹೂಕ್.
ಅಪ್ಲಿಕೇಶನ್ಗಳು -> ವೆಬ್ಹೂಕ್ಗಳು -> ವೆಬ್ಹೂಕ್ ಸೇರಿಸಿ -> ಹೊರಹೋಗುವ ವೆಬ್ಹೂಕ್
ವಿವರಗಳು ಮತ್ತೆ ಸ್ಕ್ರೀನ್ಶಾಟ್ಗಳಲ್ಲಿವೆ:
ದೃಢೀಕರಣ ಕೋಡ್ ಅನ್ನು ಉಳಿಸಿ ಮತ್ತು ಸ್ವೀಕರಿಸಿ
ನನ್ನ ಬಳಿ ಇದು ಇದೆ xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6. ನೀವು ಅದನ್ನು ನಿಮಗಾಗಿ ನಕಲಿಸಬೇಕಾಗುತ್ತದೆ; ಹೊರಹೋಗುವ ಕರೆಗಳನ್ನು ಮಾಡಲು ನಿಮಗೆ ಇದು ಬೇಕಾಗುತ್ತದೆ.
ಪ್ರಮುಖ!
Bitrix24 ಸರ್ವರ್ನಲ್ಲಿ SSL ಪ್ರಮಾಣಪತ್ರವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕು (ನೀವು letsencrypt ಅನ್ನು ಬಳಸಬಹುದು), ಇಲ್ಲದಿದ್ದರೆ Bitrix api ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ನೀವು ಕ್ಲೌಡ್ ಆವೃತ್ತಿಯನ್ನು ಹೊಂದಿದ್ದರೆ, ಚಿಂತಿಸಬೇಡಿ - ಇದು ಈಗಾಗಲೇ ssl ಅನ್ನು ಹೊಂದಿದೆ.
ಪ್ರಮುಖ!
"ಪ್ರೊಸೆಸರ್ ವಿಳಾಸ" ಕ್ಷೇತ್ರವು ಇಂಟರ್ನೆಟ್ನಿಂದ ಪ್ರವೇಶಿಸಬಹುದಾದ ವಿಳಾಸವನ್ನು ಹೊಂದಿರಬೇಕು!
ಮತ್ತು ಅಂತಿಮ ಸ್ಪರ್ಶವಾಗಿ, ಕರೆಗಳನ್ನು ಮಾಡಲು ನಮ್ಮ CallMeOut ಅನ್ನು ಅಪ್ಲಿಕೇಶನ್ನಂತೆ ಸ್ಥಾಪಿಸೋಣ (ಆದ್ದರಿಂದ ನೀವು PBX ನಲ್ಲಿನ ಸಂಖ್ಯೆಯನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ, ಕರೆಯನ್ನು ಹುಟ್ಟುಹಾಕುವ ಆಜ್ಞೆಯು ಹಾರಿಹೋಗುತ್ತದೆ).
ಮೆನುವಿನಲ್ಲಿ, ಆಯ್ಕೆಮಾಡಿ: ಇನ್ನಷ್ಟು -> ಟೆಲಿಫೋನಿ -> ಇನ್ನಷ್ಟು -> ಸೆಟ್ಟಿಂಗ್ಗಳು, "ಡೀಫಾಲ್ಟ್ ಹೊರಹೋಗುವ ಕರೆ ಸಂಖ್ಯೆ" ನಲ್ಲಿ ಹೊಂದಿಸಿ ಅಪ್ಲಿಕೇಶನ್: CallMeOut ಮತ್ತು "ಉಳಿಸು" ಕ್ಲಿಕ್ ಮಾಡಿ
ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
Asterisk ಮತ್ತು Bitrix24 ನಡುವಿನ ಯಶಸ್ವಿ ಸಂವಹನಕ್ಕಾಗಿ, ನಾವು AMI ಬಳಕೆದಾರ callme ಅನ್ನು manager.conf ಗೆ ಸೇರಿಸಬೇಕಾಗಿದೆ:
ಈ ವಿಸ್ತರಣೆಗಾಗಿ CDR ಟೇಬಲ್ಗೆ ಪ್ರವೇಶವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (ಅದು ಅಲ್ಲಿ ಅಗತ್ಯವಿಲ್ಲ), ಕರೆಯ ಅಂತಿಮ ಸಮಯವನ್ನು ಹೊಂದಿಸಿ, ಅವಧಿಯನ್ನು ಲೆಕ್ಕಹಾಕಿ, ಕರೆಯ ಫಲಿತಾಂಶವು ತಿಳಿದಿಲ್ಲದಿದ್ದರೆ - ಸೆಟ್ (ವೇರಿಯಬಲ್ ಕರೆಮೆಡಿಸ್ಪೋಸಿಷನ್) ಮತ್ತು, ಕೊನೆಯ ಹಂತ, ಸಿಸ್ಟಮ್ ಕರ್ಲ್ ಮೂಲಕ ಬಿಟ್ರಿಕ್ಸ್ಗೆ ಎಲ್ಲವನ್ನೂ ಕಳುಹಿಸಿ.
ಮತ್ತು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಮ್ಯಾಜಿಕ್ - ಒಳಬರುವ ಕರೆ:
888999 => {
&recording(${CALLERID(number)},${EXTEN});
Answer();
ExecIF(${CallMeCallerIDName}?Set(CALLERID(name)=${CallMeCallerIDName}):NoOp()); // выставляем CallerID если узнали его у Битрикс24
Set(CallStart=${STRFTIME(epoch,,%s)}); // начинаем отсчет времени звонка
Queue(Q1,tT);
Set(CallMeDISPOSITION=${CDR(disposition)});
Hangup();
}
ಇಲ್ಲಿ ನಾವು ಒಂದು ಸಾಲಿನಲ್ಲಿ ಮಾತ್ರ ಆಸಕ್ತಿ ಹೊಂದಿದ್ದೇವೆ.
PBX ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಅವಳು ಹೇಳುತ್ತಾಳೆ ಕಾಲರ್ ಐಡಿ(ಹೆಸರು) ವೇರಿಯಬಲ್ಗೆ ಸಮಾನವಾಗಿರುತ್ತದೆ CallMeCallerIDName.
CallMeCallerIDName ವೇರಿಯೇಬಲ್ ಅನ್ನು ಸ್ವತಃ CallMe ಅಪ್ಲಿಕೇಶನ್ನಿಂದ ಹೊಂದಿಸಲಾಗಿದೆ (Bitrix24 ಕರೆ ಮಾಡುವವರ ಸಂಖ್ಯೆಗೆ ಪೂರ್ಣ ಹೆಸರನ್ನು ಹೊಂದಿದ್ದರೆ, ಅದನ್ನು ಹೀಗೆ ಹೊಂದಿಸಿ ಕಾಲರ್ ಐಡಿ(ಹೆಸರು), ಇಲ್ಲ - ನಾವು ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ).
ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳ ಫೈಲ್ - /var/www/pbx.vistep.ru/config.php
ಅಪ್ಲಿಕೇಶನ್ ನಿಯತಾಂಕಗಳ ವಿವರಣೆ:
ಕಾಲ್ಮೀಡೆಬಗ್ — 1 ಆಗಿದ್ದರೆ, ಅಪ್ಲಿಕೇಶನ್ನಿಂದ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾದ ಎಲ್ಲಾ ಈವೆಂಟ್ಗಳನ್ನು ಲಾಗ್ ಫೈಲ್ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ, 0 — ನಾವು ಏನನ್ನೂ ಬರೆಯುವುದಿಲ್ಲ
ಟೆಕ್ - SIP/PJSIP/IAX/ಇತ್ಯಾದಿ
authToken — Bitrix24 ದೃಢೀಕರಣ ಟೋಕನ್, ಹೊರಹೋಗುವ ವೆಬ್ಹೂಕ್ ದೃಢೀಕರಣ ಕೋಡ್
bitrixApiUrl - ಪ್ರೊಫೈಲ್ ಇಲ್ಲದೆ ಒಳಬರುವ ವೆಬ್ಹೂಕ್ನ URL/
ವಿಸ್ತರಣೆಗಳು - ಬಾಹ್ಯ ಸಂಖ್ಯೆಗಳ ಪಟ್ಟಿ
ಸನ್ನಿವೇಶ - ಕರೆ ಹುಟ್ಟುವ ಸಂದರ್ಭ
ಕೇಳುಗ_ಸಮಯ ಮೀರಿದೆ - ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯಿಂದ ಈವೆಂಟ್ ಪ್ರಕ್ರಿಯೆಯ ವೇಗ
ನಕ್ಷತ್ರ ಚಿಹ್ನೆ - ನಕ್ಷತ್ರ ಚಿಹ್ನೆಗೆ ಸಂಪರ್ಕಿಸಲು ಸೆಟ್ಟಿಂಗ್ಗಳೊಂದಿಗೆ ಒಂದು ಶ್ರೇಣಿ:
ಹೋಸ್ಟ್ — ip ಅಥವಾ ನಕ್ಷತ್ರಾಕಾರದ ಸರ್ವರ್ನ ಹೋಸ್ಟ್ ಹೆಸರು
ಯೋಜನೆ - ಸಂಪರ್ಕ ರೇಖಾಚಿತ್ರ (tcp://, tls://)
ಬಂದರು - ಬಂದರು
ಬಳಕೆದಾರ ಹೆಸರು - ಬಳಕೆದಾರ ಹೆಸರು
ರಹಸ್ಯ - ಗುಪ್ತಪದ
ಕನೆಕ್ಟ್_ಟೈಮ್ ಔಟ್ - ಸಂಪರ್ಕದ ಅವಧಿ ಮೀರಿದೆ
ಓದು_ಸಮಯ ಮೀರಿದೆ - ಸಮಯ ಮೀರಿದೆ ಓದಿ
ಉದಾಹರಣೆಗೆ ಸೆಟ್ಟಿಂಗ್ಗಳ ಫೈಲ್:
<?php
return array(
'CallMeDEBUG' => 1, // дебаг сообщения в логе: 1 - пишем, 0 - не пишем
'tech' => 'SIP',
'authToken' => 'xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6', //токен авторизации битрикса
'bitrixApiUrl' => 'https://b24-xsynia.bitrix24.ru/rest/1/7eh61lh8pahw0fwt/', //url к api битрикса (входящий вебхук)
'extentions' => array('888999'), // список внешних номеров, через запятую
'context' => 'dial_out', //исходящий контекст для оригинации звонка
'asterisk' => array( // настройки для подключения к астериску
'host' => '10.100.111.249',
'scheme' => 'tcp://',
'port' => 5038,
'username' => 'callme',
'secret' => 'JD3clEB8_f23r-3ry84gJ',
'connect_timeout' => 10000,
'read_timeout' => 10000
),
'listener_timeout' => 300, //скорость обработки событий от asterisk
);
ಮೇಲ್ವಿಚಾರಕ ಸೆಟಪ್
ಮೇಲ್ವಿಚಾರಕರನ್ನು Asterisk CallMeIn.php ನಿಂದ ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಒಳಬರುವ ಕರೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ ಮತ್ತು Bitrix24 ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ (ಕಾರ್ಡ್ ತೋರಿಸಿ, ಕಾರ್ಡ್ ಮರೆಮಾಡಿ, ಇತ್ಯಾದಿ.).
ಪ್ರಶ್ನೆಗಳು, ಸಲಹೆಗಳು - ದಯವಿಟ್ಟು ಅವುಗಳನ್ನು ಕಾಮೆಂಟ್ಗಳಲ್ಲಿ ಬಿಡಿ. ಅಲ್ಲದೆ, ಈ ಏಕೀಕರಣದ ಅಭಿವೃದ್ಧಿಯು ಹೇಗೆ ಹೋಯಿತು ಎಂಬುದರ ಬಗ್ಗೆ ನೀವು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, ಬರೆಯಿರಿ ಮತ್ತು ಮುಂದಿನ ಲೇಖನದಲ್ಲಿ ನಾನು ಎಲ್ಲವನ್ನೂ ಹೆಚ್ಚು ವಿವರವಾಗಿ ಬಹಿರಂಗಪಡಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ.