Ci sò diverse opzioni per integrà IP-PBX Asterisk è CRM Bitrix24 in a reta, ma avemu sempre decisu di scrive u nostru.
In termini di funziunalità, tuttu hè standard:
Cliccà nantu à un ligame cù u numeru di telefunu di u cliente in Bitrix24, Asterisk cunnetta u numeru internu di l'utilizatore per quale u clicu hè statu fattu cù u numeru di telefunu di u cliente. In Bitrix24, un registru di a chjama hè registratu è, à a fine di a chjama, un registru di a conversazione hè tiratu.
Asterisk riceve una chjama da l'esternu - in l'interfaccia Bitrix24 mostramu a carta di u cliente à l'impiigatu à u so numeru hè ghjuntu sta chjama.
Se ùn ci hè micca un tali cliente, apremu a carta per creà un novu lead.
Appena a chjama hè finita, riflettemu questu nantu à a carta è tirà una registrazione di a conversazione.
Sottu u cut vi dicu cumu fà tuttu per voi stessu è vi darà un ligame à github - iè, sì, pigliate è aduprate!
Descrizzione generale
Avemu chjamatu a nostra integrazione CallMe. CallMe hè una piccula applicazione web scritta in PHP.
Lasciaraghju analizà a cunfigurazione, i prublemi di sicurità, ottene un certificatu è ancu sceglie un servitore web fora di u scopu di l'articulu - assai hè statu scrittu annantu à questu. L'applicazione ùn hà micca restrizioni, funziona nantu à http è https.
Usemu https, criptemu u certificatu.
Sè avete fattu tuttu bè, dopu clicchendu nantu à u ligame duvete vede qualcosa cusì
Configurazione di Bitrix24
Creemu dui webhooks.
Webhook entrante.
Sottu u contu amministratore (cù id 1), seguitate u percorsu: Applicazioni -> Webhooks -> Add webhook -> Webhook entrante
Inserite i paràmetri di u webhook entrante cum'è in i screenshots:
È cliccate salvà.
Dopu avè salvatu, Bitrix24 furnisce l'URL di u webhook entrante, per esempiu:
Salvà a vostra versione di l'URL senza u /profile/ finali - serà utilizatu in l'applicazione per travaglià cù e chjama in entrata.
Applicazioni -> Webhooks -> Aggiungi webhook -> Webhook in uscita
I dettagli sò di novu nantu à i screenshots:
Salvà è riceve u codice d'autorizazione
Aghju questu xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6. Avete ancu bisognu di cupià per sè stessu; avete bisognu per fà e chjama in uscita.
Impurtante!
Un certificatu SSL deve esse cunfiguratu in u servitore Bitrix24 (pudete aduprà letsencrypt), altrimenti l'api Bitrix ùn funziona micca. Sì avete una versione in nuvola, ùn vi preoccupate - hà digià ssl.
Impurtante!
U campu "Indirizzu di u Processore" deve cuntene un indirizzu accessibile da Internet!
È cum'è un toccu finale, stallà u nostru CallMeOut cum'è una applicazione per fà chjamate (per chì quandu clicate nantu à u numeru nantu à u PBX, u cumandamentu per l'urighjini di a chjama vola via).
In u menù, selezziunate: More -> Telefonia -> More -> Settings, stabilisce in "Numeru di chiamata in uscita predeterminatu" Applicazione: CallMeOut è cliccate "Salvà".
Mise en place de l'astérisque
Per una interazzione successu trà Asterisk è Bitrix24, avemu bisognu di aghjunghje l'utente AMI callme à manager.conf:
disattivà a registrazione in a tavola CDR per questa estensione (ùn hè micca necessariu quì), stabilisce l'ora di fine di a chjama, calculate a durata, se u risultatu di a chjama ùn hè micca cunnisciutu - set (variable) CallMeDISPOSITION) è, l'ultimu passu, mandate tuttu à Bitrix via u curl di u sistema.
È un pocu di più magia - una chjama entrata:
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();
}
Ella dice à u PBX per installà CallerID (nome) uguale à variabile CallMeCallerIDName.
A variàbbili CallMeCallerIDName stessu, à u turnu, hè stabilitu da l'applicazione CallMe (se Bitrix24 hà un nome cumpletu per u numeru di u chjamante, stabilisce cum'è CallerID (nome), no - ùn faremu nunda).
Configurazione di l'applicazione
File di paràmetri di l'applicazione - /var/www/pbx.vistep.ru/config.php
Descrizzione di i paràmetri di l'applicazione:
Chjama MeDEBUG - se 1, allora tutti l'avvenimenti processati da l'applicazione seranu scritti in u schedariu di log, 0 - ùn scrivemu nunda
tech, - SIP/PJSIP/IAX/etc
authToken - Token d'autorizazione Bitrix24, codice d'autorizazione webhook in uscita
bitrixApiUrl - URL di u webhook entrante, senza prufilu /
estensioni - lista di numeri esterni
u cuntestu - cuntestu per uriginale una chjama
listener_timeout - a rapidità di u prucessu di l'eventi da l'asteriscu
asterisc - un array cù paràmetri per a cunnessione à l'asteriscu:
òspite - ip o hostname di u servitore asterisk
schema - schema di cunnessione (tcp://, tls://)
portu - portu
gatti - Nome d'utilizatore
sicretu - codice
connect_timeout - timeout di cunnessione
read_timeout - leghje timeout
file di paràmetri di esempiu:
<?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
);
Configurazione di u supervisore
U supervisore hè utilizatu per lancià u prucessu di gestione di l'avvenimenti da Asterisk CallMeIn.php, chì monitorizza e chjama entranti è interagisce cù Bitrix24 (mostra a carta, oculte a carta, etc.).
Domande, suggerimenti - per piacè lascialli in i cumenti. Inoltre, sè vo site interessatu à cumu u sviluppu di sta integrazione hè andatu, scrivite, è in u prossimu articulu pruvaraghju à revelà tuttu in più detail.