نیٹ ورک پر IP-PBX Asterisk اور CRM Bitrix24 کو یکجا کرنے کے لیے مختلف آپشنز موجود ہیں، لیکن ہم نے پھر بھی اپنا لکھنے کا فیصلہ کیا۔
فعالیت کے لحاظ سے، سب کچھ معیاری ہے:
Bitrix24 میں کلائنٹ کے فون نمبر والے لنک پر کلک کرنے سے، Asterisk صارف کے اندرونی نمبر کو جوڑتا ہے جس کی جانب سے کلائنٹ کے فون نمبر کے ساتھ کلک کیا گیا تھا۔ Bitrix24 میں، کال کا ایک ریکارڈ ریکارڈ کیا جاتا ہے اور، کال کے اختتام پر، گفتگو کی ریکارڈنگ کھینچ لی جاتی ہے۔
Asterisk کو باہر سے کال موصول ہوتی ہے - Bitrix24 انٹرفیس میں ہم اس ملازم کو کلائنٹ کارڈ دکھاتے ہیں جس کے نمبر پر یہ کال آئی تھی۔
اگر ایسا کوئی کلائنٹ نہیں ہے، تو ہم ایک نئی لیڈ بنانے کے لیے کارڈ کھولیں گے۔
جیسے ہی کال مکمل ہوتی ہے، ہم اسے کارڈ پر منعکس کرتے ہیں اور گفتگو کی ریکارڈنگ کھینچتے ہیں۔
کٹ کے نیچے میں آپ کو بتاؤں گا کہ اپنے لیے سب کچھ کیسے ترتیب دیا جائے اور آپ کو گیتھب کا لنک دیا جائے - ہاں، ہاں، اسے لے لو اور اسے استعمال کرو!
عمومی وضاحت
ہم نے اپنے انضمام کو CallMe کہا۔ کالمی پی ایچ پی میں لکھی گئی ایک چھوٹی ویب ایپلیکیشن ہے۔
میں ترتیب کو پارس کرنا، سیکورٹی کے مسائل، سرٹیفکیٹ حاصل کرنا اور یہاں تک کہ مضمون کے دائرہ کار سے باہر ویب سرور کا انتخاب کرنا چھوڑ دوں گا - اس بارے میں بہت کچھ لکھا جا چکا ہے۔ ایپلیکیشن پر کوئی پابندی نہیں ہے، یہ HTTP اور https دونوں پر کام کرتی ہے۔
ہم https استعمال کرتے ہیں، آئیے سرٹیفکیٹ کو خفیہ کریں۔
اگر آپ نے سب کچھ صحیح طریقے سے کیا ہے، تو لنک پر کلک کرکے آپ کو کچھ ایسا نظر آنا چاہیے۔
Bitrix24 ترتیب دینا
آئیے دو ویب ہکس بنائیں۔
آنے والا ویب ہک۔
ایڈمنسٹریٹر اکاؤنٹ کے تحت (آئی ڈی 1 کے ساتھ)، اس راستے پر عمل کریں: ایپلی کیشنز -> ویب ہکس -> ویب ہک شامل کریں -> آنے والی ویب ہک
اسکرین شاٹس کی طرح آنے والے ویب ہک کے پیرامیٹرز کو پُر کریں:
اور محفوظ کریں پر کلک کریں۔
محفوظ کرنے کے بعد، Bitrix24 آنے والے ویب ہک کا URL فراہم کرے گا، مثال کے طور پر:
اپنے URL کے ورژن کو حتمی /profile/ کے بغیر محفوظ کریں - اسے آنے والی کالوں کے ساتھ کام کرنے کے لیے ایپلی کیشن میں استعمال کیا جائے گا۔
یہ میرے پاس ہے https://b24-xsynia.bitrix24.ru/rest/1/7eh61lh8pahw0fwt/
یہ میرے پاس ہے xcrp2ylhzzd2v43cmfjqmkvrgrcbkni6. آپ کو اسے اپنے لیے بھی کاپی کرنے کی ضرورت ہے؛ آپ کو آؤٹ گوئنگ کالز کرنے کے لیے اس کی ضرورت ہے۔
اہم!
ایک SSL سرٹیفکیٹ Bitrix24 سرور پر کنفیگر ہونا چاہیے (آپ letsencrypt استعمال کر سکتے ہیں)، ورنہ Bitrix api کام نہیں کرے گا۔ اگر آپ کے پاس کلاؤڈ ورژن ہے تو پریشان نہ ہوں - اس میں پہلے سے ہی ایس ایس ایل موجود ہے۔
اہم!
"پروسیسر ایڈریس" فیلڈ میں انٹرنیٹ سے قابل رسائی پتہ ہونا چاہیے!
اور حتمی رابطے کے طور پر، آئیے کال کرنے کے لیے ایک ایپلیکیشن کے طور پر اپنے CallMeOut کو انسٹال کریں (تاکہ جب آپ PBX پر موجود نمبر پر کلک کریں تو کال شروع کرنے کا حکم اڑ جائے)۔
مینو میں، منتخب کریں: مزید -> ٹیلی فونی -> مزید -> ترتیبات، "ڈیفالٹ آؤٹ گوئنگ کال نمبر" ایپلیکیشن میں سیٹ کریں: CallMeOut اور "محفوظ کریں" پر کلک کریں۔
ستارہ ترتیب دینا
Asterisk اور Bitrix24 کے درمیان کامیاب تعامل کے لیے، ہمیں AMI صارف callme کو manager.conf میں شامل کرنا ہوگا:
اس ایکسٹینشن کے لیے سی ڈی آر ٹیبل میں داخلے کو غیر فعال کریں (وہاں اس کی ضرورت نہیں ہے)، کال کا اختتامی وقت مقرر کریں، مدت کا حساب لگائیں، اگر کال کا نتیجہ معلوم نہیں ہے - سیٹ (متغیر کال میڈیسپوزیشن) اور، آخری مرحلہ، سسٹم curl کے ذریعے سب کچھ Bitrix کو بھیجیں۔
اور کچھ اور جادو - ایک آنے والی کال:
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();
}
وہ پی بی ایکس کو انسٹال کرنے کو کہتی ہے۔ کالر آئی ڈی (نام) متغیر کے برابر CallMeCallerIDName.
CallMeCallerIDName متغیر، بدلے میں، CallMe ایپلیکیشن کے ذریعے سیٹ کیا جاتا ہے (اگر Bitrix24 میں کالر کے نمبر کے لیے پورا نام ہے، تو اسے اس طرح سیٹ کریں کالر آئی ڈی (نام)، نہیں - ہم کچھ نہیں کریں گے)۔
کال میڈیبگ - اگر 1، تو ایپلی کیشن کے ذریعے پروسیس ہونے والے تمام واقعات لاگ فائل میں لکھے جائیں گے، 0 - ہم کچھ نہیں لکھتے
ٹیک - SIP/PJSIP/IAX/etc
authToken - Bitrix24 اجازت کا ٹوکن، آؤٹ گوئنگ ویب ہُک کی اجازت کا کوڈ
bitrixApiUrl - آنے والے ویب ہک کا URL، پروفائل کے بغیر/
توسیع - بیرونی نمبروں کی فہرست
سیاق و سباق - کال شروع کرنے کا سیاق و سباق
سننے والا_ٹائم آؤٹ - نجمہ سے ایونٹ پروسیسنگ کی رفتار
اسٹرک - ستارے سے جڑنے کی ترتیبات کے ساتھ ایک صف:
میزبان - نجمہ سرور کا ip یا میزبان نام
سکیم - کنکشن ڈایاگرام (tcp://, tls://)
پورٹ --.بندرگاہ n
کا صارف کا نام - صارف نام
راز - پاس ورڈ
connect_timeout - رابطے کا وقت ختم
read_timeout - ٹائم آؤٹ پڑھیں
مثال کی ترتیبات فائل:
<?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
);
سپروائزر سیٹ اپ
Asterisk CallMeIn.php سے ایونٹ ہینڈلر کے عمل کو شروع کرنے کے لیے سپروائزر کا استعمال کیا جاتا ہے، جو آنے والی کالوں کی نگرانی کرتا ہے اور Bitrix24 (کارڈ دکھائیں، کارڈ چھپائیں، وغیرہ) کے ساتھ تعامل کرتا ہے۔
سوالات، تجاویز - براہ کرم انہیں تبصروں میں چھوڑ دیں۔ اس کے علاوہ، اگر آپ اس میں دلچسپی رکھتے ہیں کہ اس انضمام کی ترقی کیسے ہوئی، لکھیں، اور اگلے مضمون میں میں ہر چیز کو مزید تفصیل سے ظاہر کرنے کی کوشش کروں گا۔