IP-PBX Asterisk ve CRM Bitrix24'ü ağ üzerinde entegre etmek için farklı seçenekler var, ancak yine de kendimizinkini yazmaya karar verdik.
İşlevsellik açısından her şey standarttır:
Bitrix24'te müşterinin telefon numarasını içeren bir bağlantıya tıklandığında Asterisk, adına tıklamanın yapıldığı kullanıcının dahili numarasını müşterinin telefon numarasına bağlar. Bitrix24'te görüşmenin kaydı tutulur ve görüşmenin sonunda görüşmenin kaydı açılır.
Yıldız işareti dışarıdan bir çağrı alır - Bitrix24 arayüzünde müşteri kartını bu çağrının geldiği çalışana gösteririz.
Böyle bir müşteri yoksa, yeni bir potansiyel müşteri oluşturmak için kartı açacağız.
Görüşme tamamlanır tamamlanmaz bunu karta yansıtıyoruz ve görüşmenin kaydını çıkarıyoruz.
Kesimin altında size her şeyi kendiniz için nasıl ayarlayacağınızı anlatacağım ve size github'a bir bağlantı vereceğim - evet, evet, alın ve kullanın!
genel açıklama
Entegrasyonumuza CallMe adını verdik. CallMe, PHP ile yazılmış küçük bir web uygulamasıdır.
Yapılandırmayı, güvenlik sorunlarını, sertifika almayı ve hatta bir web sunucusu seçmeyi makalenin kapsamı dışında bırakacağım - bunun hakkında çok şey yazıldı. Uygulamanın herhangi bir kısıtlaması yoktur, hem http hem de https üzerinden çalışmaktadır.
https kullanıyoruz, sertifikayı şifreleyelim.
Her şeyi doğru yaptıysanız, bağlantıya tıkladığınızda buna benzer bir şey görmelisiniz.
Bitrix24'ü kurma
İki web kancası oluşturalım.
Gelen web kancası.
Yönetici hesabı altında (kimlik 1 ile), şu yolu izleyin: Uygulamalar -> Web kancaları -> Web kancası ekle -> Gelen web kancası
Gelen webhook'un parametrelerini ekran görüntülerindeki gibi doldurun:
Ve kaydet'i tıklayın.
Kaydettikten sonra Bitrix24, gelen webhook'un URL'sini sağlayacaktır, örneğin:
URL sürümünüzü son /profil/ olmadan kaydedin; bu, uygulamada gelen çağrılarla çalışmak için kullanılacaktır.
bu bende var https://b24-xsynia.bitrix24.ru/rest/1/7eh61lh8pahw0fwt/
Giden web kancası.
Uygulamalar -> Web kancaları -> Web kancası ekle -> Giden web kancası
Ayrıntılar yine ekran görüntülerinde:
Yetkilendirme kodunu kaydedin ve alın
bu bende var xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6. Ayrıca kendiniz için de kopyalamanız gerekir; giden aramalar yapmak için de buna ihtiyacınız vardır.
Önemli!
Bitrix24 sunucusunda bir SSL sertifikasının yapılandırılması gerekir (letsencrypt kullanabilirsiniz), aksi takdirde Bitrix api çalışmaz. Bulut sürümünüz varsa endişelenmeyin; zaten SSL'si var.
Önemli!
“İşlemci Adresi” alanı internetten erişilebilen bir adres içermelidir!
Ve son bir dokunuş olarak, CallMeOut'umuzu arama yapmak için bir uygulama olarak yükleyelim (böylece PBX'teki numaraya tıkladığınızda, aramayı başlatma komutu uçup gidecek).
Menüde şunu seçin: Diğer -> Telefon -> Diğer -> Ayarlar, “Varsayılan giden çağrı numarası”nda ayarlayın Uygulama: CallMeOut ve “Kaydet”e tıklayın
Yıldız işareti ayarlama
Asterisk ve Bitrix24 arasındaki başarılı etkileşim için AMI kullanıcısı callme'yi Manager.conf'a eklememiz gerekiyor:
bu dahili hat için CDR tablosuna girişi devre dışı bırakın (burada gerekli değildir), çağrının bitiş saatini ayarlayın, çağrının sonucu bilinmiyorsa süreyi hesaplayın - ayarlayın (değişken) Beni Ara) ve son adımda her şeyi sistem rotasyonu aracılığıyla Bitrix'e gönderin.
Ve biraz daha sihir - gelen bir çağrı:
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'e kurulmasını söyler Arayanın Kimliği(isim) değişkene eşit Beni Arayan KimliğinAdı.
CallMeCallerIDName değişkeninin kendisi de CallMe uygulaması tarafından ayarlanır (Bitrix24'te arayanın numarası için tam bir ad varsa, bunu şu şekilde ayarlayın: Arayanın Kimliği(isim), hayır - hiçbir şey yapmayacağız).
Uygulamayı ayarlama
Uygulama ayarları dosyası - /var/www/pbx.vistep.ru/config.php
Uygulama parametrelerinin açıklaması:
Beni AraDEBUG — 1 ise, uygulama tarafından işlenen tüm olaylar günlük dosyasına yazılacaktır, 0 — hiçbir şey yazmayız
teknoloji -SIP/PJSIP/IAX/vb
kimlik doğrulama belirteci — Bitrix24 yetkilendirme jetonu, giden webhook yetkilendirme kodu
bitrixApiUrl — Gelen webhook'un URL'si, profil olmadan/
Uzantılar — harici numaraların listesi
bağlam — çağrı başlatma bağlamı
listener_timeout — yıldız işaretinden itibaren olay işleme hızı
yıldız işareti — yıldız işaretine bağlanmak için ayarların bulunduğu bir dizi:
ev sahibi — yıldız işareti sunucusunun ip veya ana bilgisayar adı
plan — bağlantı şeması (tcp://, tls://)
Liman - liman
kullanıcı adı - Kullanıcı adı
gizli - şifre
Bağlantı zaman aşımı - Bağlantı zamanaşımı
okuma_zaman aşımı - okuma zaman aşımı
örnek ayarlar dosyası:
<?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
);
Yönetici kurulumu
Yönetici, gelen çağrıları izleyen ve Bitrix24 ile etkileşime giren (kartı göster, kartı gizle vb.) Asterisk CallMeIn.php'den olay işleyici sürecini başlatmak için kullanılır.
Sorular, öneriler - lütfen bunları yorumlarda bırakın. Ayrıca bu entegrasyonun gelişiminin nasıl gittiğini merak ediyorsanız yazın, bir sonraki makalede her şeyi daha ayrıntılı olarak ortaya koymaya çalışacağım.