Tīklam ir dažādas iespējas integrēt IP-PBX Asterisk un CRM Bitrix24, taču mēs tomēr nolēmām rakstīt savu.
Funkcionāli viss ir standarta:
Noklikšķinot uz saites ar klienta tālruņa numuru programmā Bitrix24, Asterisk savieno tā lietotāja iekšējo numuru, kura vārdā tika veikts šis klikšķis, ar klienta tālruņa numuru. Programmā Bitrix24 tiek ierakstīts zvana ieraksts, un zvana beigās tiek izvilkts sarunas ieraksts.
Uz Asterisk pienāk zvans no ārpuses - Bitrix24 interfeisā rādām klienta karti darbiniekam, uz kura numuru pienāca šis zvans.
Ja šāda klienta nav, atveriet karti jauna potenciālā pirkuma izveidei.
Tiklīdz zvans ir pabeigts, mēs to atspoguļojam kartītē un izvelkam sarunas ierakstu.
Zem griezuma es jums pastāstīšu, kā visu iestatīt sev un iedošu saiti uz github - jā, jā, ņem un izmanto!
vispārīgs apraksts
Mēs nosaucām mūsu integrāciju CallMe. CallMe ir neliela tīmekļa lietojumprogramma, kas rakstīta PHP.
Konfigurācijas analīzi, drošības problēmas, sertifikāta iegūšanu un pat tīmekļa servera izvēli atstāšu ārpus raksta darbības jomas - par to ir daudz rakstīts. Lietojumprogrammai nav ierobežojumu, tā darbojas gan http, gan https.
Mums ir https, šifrēsim sertifikātu.
Ja jūs visu izdarījāt pareizi, tad, noklikšķinot uz saites, jums vajadzētu redzēt kaut ko līdzīgu šim
Bitrix24 iestatīšana
Izveidosim divus tīmekļa aizķeres.
Ienākošais tīmekļa aizķere.
Zem administratora konta (ar ID 1) dodieties pa ceļu: Programmas -> Webhooks -> Pievienot tīmekļa aizķeri -> Ienākošais tīmekļa aizķere
Aizpildiet ienākošā tīmekļa aizķeres parametrus, kā parādīts ekrānuzņēmumos:
Un noklikšķiniet uz Saglabāt.
Pēc saglabāšanas Bitrix24 nodrošinās ienākošā tīmekļa aizķeres URL, piemēram:
Saglabājiet savu URL versiju bez beigu /profile/ — tā tiks izmantota lietojumprogrammā, lai strādātu ar ienākošajiem zvaniem.
Man tas ir https://b24-xsynia.bitrix24.ru/rest/1/7eh61lh8pahw0fwt/
Izejošais tīmekļa aizķere.
Lietojumprogrammas -> Tīmekļa aizķere -> Pievienot tīmekļa aizķeri -> Izejošā tīmekļa aizķere
Sīkāka informācija atrodama ekrānuzņēmumos:
Saglabājiet un iegūstiet autorizācijas kodu
Man tas ir xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6. Vajag arī pārkopēt sev, tas ir vajadzīgs izejošo zvanu veikšanai.
Svarīgi!
Bitrix24 serverī ir jākonfigurē SSL sertifikāts (varat izmantot letsencrypt), pretējā gadījumā BitrixXNUMX api nedarbosies. Ja jums ir mākoņa versija, neuztraucieties — ssl jau ir.
Svarīgi!
Laukā "Procesora adrese" jānorāda no interneta pieejama adrese!
Un ar pēdējo pieskārienu instalēsim mūsu CallMeOut kā lietojumprogrammu zvanu veikšanai (lai, noklikšķinot uz PBX numura, tiktu parādīta komanda, lai sāktu zvanu).
Izvēlnē atlasiet: Vairāk -> Telefonija -> Vairāk -> Iestatījumi, iestatiet uz "Izejošo zvanu numurs pēc noklusējuma" Lietojumprogramma: CallMeOut un noklikšķiniet uz "Saglabāt"
zvaigznītes iestatīšana
Lai veiksmīgi mijiedarbotos starp Asterisk un Bitrix24, mums ir jāpievieno callme AMI lietotājs vietnei manager.conf:
izslēdziet ierakstu CDR tabulā šim paplašinājumam (tur tas nav vajadzīgs), iestatiet zvana beigu laiku, aprēķiniet ilgumu, ja zvana rezultāts nav zināms - iestatīt (mainīgs Zvaniet man par DISPOSITION) un, pēdējais solis, nosūtiet visu uz Bitrix, izmantojot sistēmas curl.
Un vēl mazliet maģijas – ienākošs zvans:
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();
}
Viņa saka, ka instalējiet PBX Zvanītāja ID(vārds) mainīgs CallMeCallerIDName.
Savukārt pašu CallMeCallerIDName mainīgo iestata lietojumprogramma CallMe (ja Bitrix24 ir pilns zvanītāja numura nosaukums, mēs to iestatīsim kā Zvanītāja ID(vārds), nē - mēs neko nedarīsim).
CallMeDEBUG - ja 1, tad visi lietojumprogrammas apstrādātie notikumi tiks ierakstīti žurnāla failā, 0 - mēs neko nerakstām
tech SIP/PJSIP/IAX/u.c
authToken — Bitrix24 autorizācijas marķieris, izejošā tīmekļa aizķeres autorizācijas kods
bitrixApiUrl — ienākošā tīmekļa aizķeres URL bez profila/
pagarinājumi — ārējo numuru saraksts
konteksts — konteksts zvana uzsākšanai
klausītāja_noildze - notikumu apstrādes ātrums no zvaigznītes
zvaigznīte - masīvs ar savienojuma iestatījumiem līdz zvaigznītei:
saimnieks - zvaigznītes servera IP vai resursdatora nosaukums
shēma — savienojuma shēma (tcp://, tls://)
osta - osta
lietotājvārds - Lietotājvārds
noslēpums - parole
savienojuma_noildze - savienojuma taimauts
lasīšanas_noildze - lasīšanas taimauts
iestatījumu faila piemērs:
<?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
);
Pārrauga iestatīšana
Supervisor tiek izmantots, lai palaistu Asterisk CallMeIn.php notikumu apstrādātāja procesu, kas uzrauga ienākošos zvanus un mijiedarbojas ar Bitrix24 (parādīt karti, paslēpt karti utt.).
Jautājumi, ieteikumi - lūdzu komentāros. Kā arī, ja interesē, kā noritēja šīs integrācijas attīstība, rakstiet, un nākamajā rakstā mēģināšu visu atklāt sīkāk.