Şəbəkənin IP-PBX Asterisk və CRM Bitrix24 inteqrasiyası üçün müxtəlif variantları var, lakin buna baxmayaraq, biz özümüzü yazmağa qərar verdik.
Funksional olaraq hər şey standartdır:
Bitrix24-də müştərinin telefon nömrəsi olan linkə klikləməklə, Asterisk adından bu klikin edildiyi istifadəçinin daxili nömrəsini müştərinin telefon nömrəsi ilə əlaqələndirir. Bitrix24-də zəngin qeydi qeydə alınır və zəngin sonunda danışıq qeydi yuxarı çəkilir.
Kənardan Asterisk-ə zəng gəlir - Bitrix24 interfeysində müştəri kartını bu zəng gələn işçiyə göstəririk.
Belə bir müştəri yoxdursa, yeni potensial yaratmaq üçün kartı açın.
Zəng başa çatan kimi biz bunu kartda əks etdiririk və söhbətin qeydini çıxarırıq.
Kəsmə altında sizə hər şeyi özünüz üçün necə quracağınızı və github-a bir keçid verəcəyinizi söyləyəcəyəm - bəli, bəli, götür və istifadə et!
Ümumi təsviri
Biz inteqrasiyamızı CallMe adlandırdıq. CallMe PHP-də yazılmış kiçik veb proqramdır.
Konfiqurasiyanın təhlilini, təhlükəsizlik məsələlərini, sertifikat əldə etməyi və hətta məqalə çərçivəsindən kənar bir veb server seçməyi tərk edəcəyəm - bu barədə çox şey yazılmışdır. Tətbiqin heç bir məhdudiyyəti yoxdur, həm http, həm də https-də işləyir.
Bizdə https var, sertifikatı şifrələyək.
Hər şeyi düzgün etmisinizsə, linkə klikləməklə buna bənzər bir şey görməlisiniz
Bitrix24 konfiqurasiyası
Gəlin iki webhook yaradaq.
Gələn webhook.
Administrator hesabı altında (id 1 ilə) aşağıdakı yol ilə gedin: Proqramlar -> Webhooks -> Webhook əlavə et -> Daxil olan webhook
Ekran görüntülərində olduğu kimi daxil olan webhookun parametrlərini doldurun:
Və saxla klikləyin.
Yadda saxladıqdan sonra Bitrix24 daxil olan veb-qancanın URL-ni təmin edəcək, məsələn:
URL versiyasını arxada /profil/ olmadan yadda saxlayın - o, daxil olan zənglərlə işləmək üçün tətbiqdə istifadə olunacaq.
Məndə var https://b24-xsynia.bitrix24.ru/rest/1/7eh61lh8pahw0fwt/
Gedən webhook.
Proqramlar -> Webhooks -> Webhook əlavə et -> Gedən Webhook
Təfərrüatlar ekran görüntülərindədir:
Yadda saxlayın və avtorizasiya kodunu əldə edin
Məndə var xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6. Siz həmçinin özünüzə kopyalamalısınız, gedən zənglər etmək üçün lazımdır.
Mühüm!
Bitrix24 serverində ssl sertifikatı konfiqurasiya edilməlidir (letsencrypt-dən istifadə edə bilərsiniz), əks halda BitrixXNUMX api işləməyəcək. Bulud versiyanız varsa, narahat olmayın - ssl artıq mövcuddur.
Mühüm!
"Prosessorun ünvanı" sahəsində İnternetdən əldə edilə bilən ünvan göstərilməlidir!
Və son toxunuşla CallMeOut-u zəng etmək üçün bir proqram kimi quraşdıraq (belə ki, PBX-dəki nömrəyə klikləməklə, zəng etmək üçün əmr uçacaq).
Menyuda seçin: Daha çox -> Telefoniya -> Daha çox -> Parametrlər, "Defolt olaraq gedən zənglər üçün nömrə" olaraq təyin edin Tətbiq: CallMeOut və "Saxla" düyməsini basın.
ulduz quraşdırma
Asterisk və Bitrix24 arasında uğurlu qarşılıqlı əlaqə üçün callme AMI istifadəçisini manager.conf-a əlavə etməliyik:
bu uzantı üçün CDR cədvəlindəki girişi söndürün (orada lazım deyil), zəngin bitmə vaxtını təyin edin, zəngin nəticəsi məlum deyilsə, müddəti hesablayın - təyin edin (dəyişən Mənə DISPOSITION zəng edin) və son addım, sistem curl vasitəsilə hər şeyi Bitrix-ə göndərin.
Və bir az daha sehrli - gələn zəng:
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();
}
O deyir ki, PBX quraşdırın Zəng edənin ID (ad) dəyişən CallMeCallerIDName.
CallMeCallerIDName dəyişəninin özü də öz növbəsində CallMe proqramı tərəfindən təyin edilir (əgər Bitrix24-də zəng edənin nömrəsi üçün tam adı varsa, biz onu belə təyin edəcəyik. Zəng edənin ID (ad), yox - heç nə etməyəcəyik).
Tətbiq quraşdırması
Proqram parametrləri faylı - /var/www/pbx.vistep.ru/config.php
Tətbiq parametrlərinin təsviri:
CallMeDEBUG - 1 olarsa, onda proqram tərəfindən işlənmiş bütün hadisələr log faylına yazılacaq, 0 - heç nə yazmırıq
tech SIP/PJSIP/IAX/s
authToken — Bitrix24 avtorizasiya nişanı, gedən webhook icazə kodu
bitrixApiUrl — daxil olan webhookun URL-i, profilsiz/
uzantılar — xarici nömrələrin siyahısı
kontekst — zəngin yaranması üçün kontekst
dinləyici_vaxt aşımı - ulduzdan hadisə emal sürəti
asterisk - ulduz işarəsi ilə əlaqə parametrləri olan massiv:
sahib - ulduz serverinin ip və ya host adı
sxem — əlaqə diaqramı (tcp://, tls://)
port - liman
istifadəçi adı - İstifadəçi adı
gizli - parol
qoşulma_zamanı - əlaqə fasiləsi
read_timeout - oxuma vaxtı aşımı
nümunə parametrlər faylı:
<?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
);
Nəzarətçinin quraşdırılması
Supervisor, daxil olan zəngləri izləyən və Bitrix24 ilə qarşılıqlı əlaqədə olan (kartı göstərmək, kartı gizlətmək və s.) Asterisk CallMeIn.php hadisə idarəedici prosesini işə salmaq üçün istifadə olunur.
Suallar, təkliflər - şərhlərdə qeyd edin. Həm də bu inteqrasiyanın inkişafının necə getdiyi ilə maraqlanırsınızsa, yazın, növbəti yazıda hər şeyi daha ətraflı açmağa çalışacağam.