- ایجاد یک صفحه با نام 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"

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 را داشته باشد.