Netið hefur mismunandi möguleika til að samþætta IP-PBX Asterisk og CRM Bitrix24, en við ákváðum engu að síður að skrifa okkar eigin.
Virknilega séð er allt staðlað:
Með því að smella á hlekkinn með símanúmeri viðskiptavinarins í Bitrix24 tengir Asterisk innra númer notandans sem þessi smellur var á vegum hans við símanúmer viðskiptavinarins. Í Bitrix24 er skrá yfir símtalið skráð og í lok símtalsins er samtalsskráin dregin upp.
Símtal berst í Stjörnu utanfrá - í Bitrix24 viðmótinu sýnum við starfsmanni sem þetta símtal barst í númer viðskiptavinarins.
Ef það er enginn slíkur viðskiptavinur, opnaðu kortið til að búa til nýtt kaup.
Um leið og símtalinu er lokið endurspeglum við þetta á kortinu og drögum upp upptöku samtalsins upp.
Undir klippunni skal ég segja þér hvernig á að setja allt upp fyrir sjálfan þig og gefa tengil á github - já, já, taktu það og notaðu það!
Almenn lýsing
Við kölluðum samþættingu okkar CallMe. CallMe er lítið vefforrit skrifað í PHP.
Ég mun skilja greininguna á stillingunum, öryggisvandamálum, fá skírteini og jafnvel val á vefþjóni utan ramma greinarinnar - mikið hefur verið skrifað um þetta. Forritið hefur engar takmarkanir, það virkar bæði á http og https.
Við höfum https, við skulum dulkóða vottorð.
Ef þú gerðir allt rétt, þá ættir þú að sjá eitthvað eins og þetta með því að smella á hlekkinn
Uppsetning Bitrix24
Við skulum búa til tvo webhooks.
Vefhókur á innleið.
Undir stjórnandareikningnum (með auðkenni 1) farðu eftir slóðinni: Forrit -> Webhooks -> Add webhook -> Incoming webhook
Fylltu út færibreytur komandi vefhóks eins og á skjámyndunum:
Og smelltu á vista.
Eftir vistun mun Bitrix24 gefa upp vefslóð komandi vefhóks, til dæmis:
Vistaðu útgáfuna þína af vefslóðinni án /prófílsins/ - það verður notað í forritinu til að vinna með símtölum sem berast.
ég hef það https://b24-xsynia.bitrix24.ru/rest/1/7eh61lh8pahw0fwt/
ég hef það xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6. Þú þarft líka að afrita það á sjálfan þig, það er nauðsynlegt til að hringja út.
Mikilvægt!
Ssl vottorð verður að vera stillt á Bitrix24 þjóninum (þú getur notað letsencrypt), annars virkar BitrixXNUMX API ekki. Ef þú ert með skýjaútgáfu skaltu ekki hafa áhyggjur - ssl er þegar til staðar.
Mikilvægt!
Í reitnum „Heimilisfang vinnsluaðila“ þarf að tilgreina heimilisfang sem er aðgengilegt af netinu!
Og með síðustu snertingu skulum við setja CallMeOut okkar upp sem forrit til að hringja (svo að með því að smella á númerið á PBX mun skipun fljúga til að hringja).
Í valmyndinni, veldu: Meira -> Símakerfi -> Meira -> Stillingar, settu inn "Númer fyrir úthringingar sjálfgefið" Forrit: CallMeOut og smelltu á "Vista"
stjörnuuppsetning
Til að ná árangri í samskiptum milli Asterisk og Bitrix24 þurfum við að bæta callme AMI notandanum við manager.conf:
slökktu á færslunni í CDR töflunni fyrir þessa viðbyggingu (þarf ekki þar), stilltu lokatíma símtalsins, reiknaðu lengdina, ef niðurstaða símtalsins er ekki þekkt - stilltu (breytu Kallaðu mig ORÐSTÖÐUN) og síðasta skrefið, sendu allt til Bitrix í gegnum system curl.
Og aðeins meiri töfrar - símtal sem berast:
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ún segir PBX setja upp Hringir (nafn) breytilegt CallMeCallerIDName.
CallMeCallerIDName breytan sjálf er aftur á móti stillt af CallMe forritinu (ef Bitrix24 hefur fullt nafn fyrir númer þess sem hringir munum við stilla það sem Hringir (nafn), nei - við gerum ekki neitt).
CallMeDEBUG - ef 1, þá verða allir atburðir sem forritið vinnur með skrifað í annálaskrána, 0 - við skrifum ekki neitt
Tech SIP/PJSIP/IAX/o.s.frv
authToken — Bitrix24 heimildarlykill, heimildarkóði á útleið vefhook
bitrixApiUrl — Vefslóð komandi vefhóks, án prófíls/
útvíkkun — listi yfir ytri númer
samhengi — samhengi fyrir upphaf símtala
hlustar_tími - vinnsluhraði atburða frá stjörnu
stjörnu - fylki með tengistillingum við stjörnuna:
gestgjafi - ip eða hýsingarheiti stjörnuþjónsins
kerfi - tengimynd (tcp://, tls://)
höfn - höfn
notandanafn - Notandanafn
leyndarmál - lykilorð
connect_timeout - tengingartími
lestur_tími - lestími
dæmi stillingaskrá:
<?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
);
Uppsetning umsjónarmanns
Supervisor er notaður til að ræsa Asterisk CallMeIn.php atburðastjórnunarferlið, sem fylgist með símtölum og hefur samskipti við Bitrix24 (sýna kortið, fela kortið osfrv.).
Spurningar, tillögur - vinsamlegast í athugasemdum. Einnig, ef þú hefur áhuga á hvernig þróun þessarar samþættingar gekk, skrifaðu, og í næstu grein mun ég reyna að sýna allt nánar.