1. بهزاد
  2. عمومی - ایزابل، الستیکس، فری پی بی اکس ...
  3. سه شنبه, 28 شهریور 1391
برای برقراری تماس از طریق کلیک بر روی یک لینک می توان به این روش عمل کرد :


  • ایجاد یک صفحه با نام clickToCall.php با محتوای زیر :

[CODE]

if(isset($_GET['ext']))
$extension=$_GET['ext'] ;
else
$extension="280" ;

$socket = fsockopen("localhost","5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n";);
fputs($socket, "UserName: admin\r\n";); // یوزنیم و پسورد میتوانید از مسیر etc/asterisk/manager.conf
fputs($socket, "Secret: 1478963\r\n\r\n";); // که مربوط به ادمین می باشد قرار دهید
$wrets = fgets($socket,128);
echo $wrets;

fputs($socket, "Action: Originate\r\n" ); // تعیین رویداد به این مقدار برای برقرای تماس
fputs($socket, "Channel: SIP/260\r\n" ); // تعیین کانال برقراری تماس (شماره تماس گیرنده)
fputs($socket, "Exten: $extension\r\n" ); // شماره ای که قرار است با آن تماس بگیرید
fputs($socket, "Callerid: 260 <260>\r\n" ); // تعیین کالر آیدی یا شماره تماس گیرنده
fputs($socket, "Context: from-internal\r\n" ); // تعیین کانتکس مورد نظر برای برقراری تماس
fputs($socket, "Priority: 1\r\n" ); // تعیین اولویت (ترتیب دستوری که از کانتکس باید اجرا شود)
fputs($socket, "Async: yes\r\n\r\n" ); // تعیین غیرهمزمانی برای برقراری چندین تماس

echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";
echo fgets($socket,128)."\r\n";

[/CODE]
حال این صفحه را در مسیر /var/www/html/ ذخیره کنید و از طریق این لینک اجرا کنید :
https://<your ip>/clickToCall.php
پس از اجرا اطلاعات برگشتی در صفحه نمایش داده می شود و ابتدا یک تماس با از سیستم با شماره تماس گیرنده برقرار می شود و پس از پاسخ دادن شماره مورد نظر زنگ می خورد و تماس بین دو شماره برقرار می شود.

برای برقراری ارتباط در این کد از socket programming استفاده شده در نتیجه شما از هر سرور دیگری نیز می توانید این ارتباط را برقرار کنید فقط کافی است در تعریف $socket در ابتدای کد بجای localhost نام ip مربوط به سیستم الستیکس را قرار دهید و این صفحه را در سرور دیگری که مد نظر است ذخیره کنید.

در ضمن در نظر داشته باشید این ادمین در فایل /etc/asterisk/manager.conf باید اجازه call, all را داشته باشد.
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
ممنون عزیز جان ، البته یه راه ساده و دم دست (که قرار هم نیست همیشه جواب بده و کاملا وابسته به عملکرد تلفن نرم افزاری هست) استفاده از HTML Tag بصورت زیر هست ...
<a href="sip:909121110000">Click Here To Call</a>
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
اگر منظورتون امکان مکالمه در لحظه با اپراتور هست (که بخاطر ترافیک بالای تماس اصلا پیشنهاد نمی کنم !) باید یه کلاینت تحت وب (مثلا تحت فلش یا جاوا) اجرا و به صف مورد نظرتون وصل بشه و بقیه امور رو کنترل کنه. کاری که شدنی تر و منطقی تره (حداقل چند جایی اجرا و تست شده) اینه که یه فرم Call Back بذارید و بصورت live درخواست تماس کاربر رو بعد از اعتبارسنجی به صف کارشناسان منتقل کنید و الی آخر ...
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
مکانیزمی که من پیشنهاد کردم هم دقیقا مطابق با خواسته شماست ، روی المانی کلیک میشه و کاربر جاری (و یک سری اطلاعات پایه مثل "نام" و "دپارتمان مورد نظر";) به یک صف تماس متصل میشه. مورد دومی که من گفتم اتصال بصورت مستقیم نیست و حتما باید کاربر اعتبارسنجی بشه ، مثلا حتما باید وارد سیستم شده باشه (چیزی که ما اجرایی کردیم) و یا هر الگوی دلخواه دیگه ای.
توی هر دوی این روش ها کاربر لازم نیست افزونه خاصی رو نصب کنه و صرفا وجود پلاگین هایی مثل Flash و یا JRE (بنابر نیاز البته ، مثلا ما راهکارمون رو بصورت Java Applet توسعه دادیم) کار رو راه میندازه.
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
متاسفانه به دلیل سیاست های کاری شرکت امکان به اشتراک گذاری سورس پروژه ها نیست ، اما اگر دنبال شیوه و متد اجرا هستین و یا سوال و ابهامی دارید میتونم با کمال میل کمک تون کنم.

در خصوص اتصال به دیتابیس هم شما با دو نوع بانک داده سروکار دارید : اول MySQL که می تونید با همون مشخصاتی که موقع نصب براش تعریف کردین بهش متصل بشید و دوم هم SQL Lite که برخی اطلاعات برنامه مثل ACL ها و فکس ها توی اون ذخیره میشه و باز هم میتونید از کد خودتون و یا کلاسی که خود Elastix داره استفاده کنید. در کل اگر قصد توسعه بر مبنای استریسک رو دارید بهتون پیشنهاد میکنم اول منابع راهنماش رو از توی اینترنت مظالعه بفرمایید.

راستی ، از ابراز لطف تون هم بسی سپاسگزارم !
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
در کل همه SQLهستن و فرق آنچنانی با هم ندارن ، بهترین مرجع هم از دید من همون PHP Documentation هست و بس ! یه سری از موارد هم با سر و کله زدن با برنامه دستت میاد ، مثلا یه سری تنظیمات توی بانک asterisk هست و اطلاعات تماس (یا همون CDR) توی بانک و جدول asteriskcdr و الی آخر ...
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
نگاه کنید شما برای اتصال به بانک داده تون سه تا پارامتر ارسال میکنید : سرور + نام کاربری + رمز کاربری. حالا شما میتونی بجای آدرس سرور که معمولا localhost هست هر چیزی بذارید مثلا ...
mysql_connect('mysql003.farazcdn.com', 'javad', '123');


--------------------------------------------------------------------
در ضمن ممنونم از لطف تون ؛ من تا جایی که در توانم باشه از پاسخگویی دریغ نمیکنم و این مسئله محدود به من هم نیست خیلی وقت ها هم خود من دارم یاد میگیرم. در خصوص تشکر ها هم اولا ازتون ممنونم هم چنین نبودن تشکر ها دلیلش تغییر نرم افزار انجمن هست وگرنه توی انجمن قبلی من اسم و رسمی داشتم و ممتاز بودم و مدیر بودم و هعی آقا ....
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
خوب توی مثال بالا شما دارین از اطلاعات داخل php.ini استفاده می کنید ، تابع ()ini_get کارش گرفتن تنظیمات PHP هست. شما کافیه مقادیر mysql.default_host + mysql.default_username + mysql.default_password رو بازبینی کنید. اون فایل های SQL که تو پوشه ها میبینید هم الآن به کارتون نمیان چون معمولا موقع نصب کاربرد دارن. برای اتصال به دیتابیس ها و مشاهده نمای گرافیکی هم باید با یه 3rd party application مثل phpMyAdmin بهشون متصل بشی که میتونه هم روی سیستم خودت باشه و هم روی سرورت آپلودش کنی.
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
نصب phpMyAdmin دردسر خاصی نداره ، کافیه تحت یه پوشه و توی مسیر var/www/html/ قرارش بدی و توی فایل تنظیماتش هم بذاری که بصورت HTTP عملیات اعتبارسنجی رو انجام بده ، همین !
برای اجرای آخرین نسخه phpMyAdmin هم باید نسخه PHP تون حداقل 5.2 و یا بیشتر از اون باشه ، توی گوگل جستجو کنید ، راهکار های خوبی گیرتون میاد.
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
شاید این مطلب کمکتون کنه من دقیق مطالبتونو نخوندم اما متوجه شدم راجع به ارتباط با پایگاه داده است .
[url]http://voipiran.io/forum/forum11/thread2826.html[/url]
نظر
هنوز هیچ نظری ارسال نشده است!
  • صفحه :
  • 1


هنوز به این موضوع پاسخی داده نشده است

دسته بندی ها

سیستم های تلفنی کدباز
  1. 107 پست
  2. 0 زیرمجموعه
سیسکو Cisco
  1. 61 پست
  2. 0 زیرمجموعه
سیستم تلفنی FreePBX
  1. 48 پست
  2. 0 زیرمجموعه
شبکه و زیرساخت
  1. 65 پست
  2. 0 زیرمجموعه
تازه واردین دنیای ویپ
  1. 927 پست
  2. 0 زیرمجموعه