Különböző lehetőségek vannak az IP-PBX Asterisk és a CRM Bitrix24 integrálására a hálózaton, de mégis úgy döntöttünk, hogy megírjuk a sajátunkat.
A funkcionalitás szempontjából minden szabványos:
A Bitrix24-ben az ügyfél telefonszámát tartalmazó hivatkozásra kattintva az Asterisk összekapcsolja annak a felhasználónak a belső számát, akinek nevében a kattintás történt, az ügyfél telefonszámával. A Bitrix24-ben rögzítésre kerül a hívás rögzítése, majd a hívás végén előkerül a beszélgetés felvétele.
Az Asterisk hívást kap kívülről - a Bitrix24 felületén megmutatjuk az ügyfélkártyát annak a munkatársnak, akinek a számára ez a hívás érkezett.
Ha nincs ilyen ügyfél, akkor megnyitjuk a kártyát új lead létrehozására.
Amint a hívás befejeződött, ezt tükrözzük a kártyán, és elővesszük a beszélgetés felvételét.
A vágás alatt elmondom, hogyan állíts be mindent magadnak, és adok egy linket a githubhoz – igen, igen, vedd és használd!
Általános leírás
Integrációnkat CallMe-nek hívtuk. A CallMe egy PHP nyelven írt kis webalkalmazás.
A konfig elemzését, a biztonsági kérdéseket, a tanúsítvány megszerzését és még a webszerver kiválasztását is a cikk keretein kívül hagyom - erről sokat írtak. Az alkalmazásnak nincsenek korlátozásai, http és https protokollon is működik.
https-t használunk, titkosítsuk a tanúsítványt.
Если вы все сделали правильно, то перейдя по ссылке должны увидеть нечто подобное
A Bitrix24 konfigurálása
Hozzunk létre két webhookot.
Bejövő webhook.
A rendszergazdai fiók alatt (1-es azonosítóval) kövesse az alábbi elérési utat: Alkalmazások -> Webhooks -> Webhook hozzáadása -> Bejövő webhook
Töltse ki a bejövő webhook paramétereit a képernyőképek szerint:
És kattintson a Mentés gombra.
Mentés után a Bitrix24 megadja a bejövő webhook URL-jét, például:
Mentse el az URL saját verzióját a végső /profil/ nélkül – az alkalmazás a bejövő hívások kezelésére fogja használni.
nekem ez megvan https://b24-xsynia.bitrix24.ru/rest/1/7eh61lh8pahw0fwt/
nekem ez megvan xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6. Azt is le kell másolnia magának, kimenő hívások indításához szüksége van rá.
Fontos!
A Bitrix24 szerveren SSL-tanúsítványt kell beállítani (használhatja a letsencryptet), különben a Bitrix api nem fog működni. Ha felhőverzióval rendelkezik, ne aggódjon – már van ssl.
Fontos!
A „Processzor címe” mezőben az internetről elérhető címet kell tartalmaznia!
Utolsó simításként pedig telepítsük a CallMeOut-ot híváskezdeményező alkalmazásként (hogy az alközponton a számra kattintva elrepüljön a hívásindítás parancsa).
В меню выбираем: Еще -> Телефония -> Еще -> Настройки, ставим в «Номер для исходящего звонка по-умолчанию» Приложение: CallMeOut и жмем «Сохранить»
Настройка asterisk
Az Asterisk és a Bitrix24 közötti sikeres interakció érdekében hozzá kell adnunk az AMI callme felhasználót a manager.conf fájlhoz:
letiltja a belépést a CDR táblába ennél a melléknél (ott nem szükséges), állítsa be a hívás befejezési idejét, számítsa ki az időtartamot, ha a hívás eredménye nem ismert - állítsa be (változó CallMeDISPOSITION), és az utolsó lépésben mindent elküld a Bitrixnek a rendszer curl-jén keresztül.
És még egy kis varázslat – egy bejövő hívás:
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();
}
Она говорит АТС установить Hívóazonosító(név) változóval egyenlő CallMeCallerIDName.
Magát a CallMeCallerIDName változót pedig a CallMe alkalmazás állítja be (ha a Bitrix24-nek teljes neve van a hívó számának, állítsa be Hívóazonosító(név), nem – nem teszünk semmit).
CallMeDEBUG — ha 1, akkor az alkalmazás által feldolgozott összes esemény a naplófájlba kerül, 0 — nem írunk semmit
tech - SIP/PJSIP/IAX/stb
authToken — Bitrix24 engedélyezési token, kimenő webhook engedélyezési kód
bitrixApiUrl — a bejövő webhook URL-je, profil nélkül/
kiterjesztések — a külső számok listája
kontextus — kontextus a hívás kezdeményezéséhez
hallgató_időtúllépés — az eseményfeldolgozás sebessége csillagtól
csillag — массив с настройками подключения к астериску:
vendéglátó — a csillagszerver IP-címe vagy gazdagépneve
rendszer - csatlakozási rajz (tcp://, tls://)
kikötő - kikötő
felhasználónév - Felhasználónév
titkos - Jelszó
connect_timeout - kapcsolat időtúllépés
read_timeout - olvasási időtúllépés
példa beállítási fájl:
<?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
);
Felügyelő beállítása
A Supervisor az Asterisk CallMeIn.php eseménykezelő folyamatának elindítására szolgál, amely figyeli a bejövő hívásokat és interakcióba lép a Bitrix24-gyel (kártya megjelenítése, kártya elrejtése stb.).
Elég bonyolultnak bizonyult, de biztos vagyok benne, hogy egy tapasztalt rendszergazda képes lesz otthon is megvalósítani, és tetszeni fog a felhasználóknak.
Kérdések, javaslatok - kérjük, hagyja meg őket a megjegyzésekben. Továbbá, ha érdekel, hogyan zajlott ennek az integrációnak a fejlesztése, írjon, és a következő cikkben megpróbálok mindent részletesebben feltárni.