1. amir_adeli
  2. عمومی - ایزابل، الستیکس، فری پی بی اکس ...
  3. دوشنبه, 10 اسفند 1394
با سلام به دوستان و مخصوصا آقای کوه فلاح
بنده مشکلی دارم. می خوام برای تماسهای ورودی به الستیکس بعد از اینکه شماره داخلی قطع کرد تلفن تماس گیرنده خارجی قطع نشه و در ادامه یک AGI Script براش اجرا بشه و عملی رو انجام بده. من همه کارها رو انجام دادم و یک context جدید ایجاد کردم و در اون context اسکریپت agi رو فراخونی کردم[LEFT]
[execute-agi]
exten => 900,1,Answer
(exten => 900,n,AGI(testagi.php
exten => 900,n,Hangup
[/LEFT]
سپس در فایل extensions_override_elastix درون کانتکست [macro-hangupcall] اونجایی که Hangup فراخوانی میشه عبارت exten => s,n(theend),Hangup رو به عبارت زیر تغییر دادم

[LEFT]
(exten => s,n(theend),GoTo(execute-agi,900,1
exten => s,n,Hangup
[/LEFT]
قاعدتا باید قبل از اینکه hangup اتفاق بیوفته agi اجرا بشه ولی مشکل اینجاست که وقتی agi debug رو فعال می کنم خطای زیر نمایش داده میشه

[LEFT]
511The command connot be executed on a dead channel
[/LEFT]
این خطا بدین معنیه که agi نمیتونه رو کانال hangup شده اجرا شه. کلی در اینترنت سرچ کردم و راههای نختلفی رو امتحان کردم ولی هیچکدوم جواب نداد
مثلا استفاده از deadagi بجای agi و یا استفاده از آپشن g در کامند dial برای ادامه dialplan بعد از hangup
لطفا اگه امکانش هست آقای کوه فلاح و یا دوستانی که در این زمینه تجربه دارن بنده رو راهنمایی کنن ممنون میشم.
کلا اگه بخواییم یک اسکریپت agi رو برای یک طرف تماس بعد از قطع تماس از سوی طرف مقابل اجرا کنیم چه باید بکنیم؟
با تشکر منتظر جواباتون هستم
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
واقعا کسی نیست تو این انجمن من رو راهنمایی کنه؟
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
ممنون از راهنماییهاتون. بعد از کلی کلنجار رفتن با کد extensions.conf و بررسی لاگها در debug mode با تغییراتی که در دایال پلن ایجاد کردم به نتیجه رسیدم.
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
Exmight:china power bank factory wholesale
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
سلام بله بنده حتما اینکار رو میکردم ولی زمانی که یک سوال مطرح کردم و بعد از گذشت چند روز حتی یک نفر هم نبود که تو بحثی که بنده ایجاد کردم شرکت بکنه به این نتیجه می رسیم که کسی یا این مشکل رو تا حالا بهش برنخورده و یا اصلا علاقمند به این موضوع نیست بنابراین فکر کنم قرار دادن جواب به اینصورت هیچ فایده ای نخواهد داشت. بنده از شما که مدیر این فروم هستید انتظار دارم که وقتی کاربر یه سوالی مطرح میکنه شما که مطمئنا با این تجربه و تبلیغات تا حالا بهش برخوردید و به قول خودتون سیستم نظرسنجی هم قبلا برقرار کردید که مشکل بنده بود طرف رو راهنمایی بفرمایید. راهنمایی هم نمیفرمایید حداقل یه کامنتی بذارید که طرف فکر نکنه این فروم غیر فعال هست. بهر حال این نقدی بود که من خواستم از فروم شما انجام بدم. لطفا به بزرگی خودتون ببخشید.
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
[FONT=Tahoma]سلام[/FONT]
1-[FONT=Tahoma]فایل [/FONT]etc/asterisk/extensions.conf:
exten => 199,1,Answer()
exten => 199,2,AGI(callback.agi)


2-[FONT=Tahoma]و محتویات فایل [/FONT]callback.agi.


#!/usr/bin/perl
use Asterisk::AGI;
use File::Copy;

my $AGI = new Asterisk::AGI;
#setup callback
$SIG{HUP} = sub {
$callerid=80;
$timestamp=time();
$recfile = 'path/to/recfile';
open CALLFILE, ">/var/spool/asterisk/tmp/$callerid-$timestamp.call";
if (length($callerid) > 4) {
print CALLFILE "Channel: SIP/external-sip-provider/+1$callerid\n";
} else {
print CALLFILE "Channel: SIP/$callerid\n";
}
print CALLFILE "CallerID: \"CUSTOMER\" <XXXXXXXXXX>\n";
print CALLFILE "MaxRetries: 2\n";
print CALLFILE "RetryTime: 60\n";
print CALLFILE "WaitTime: 20\n";
print CALLFILE "Context: rec-call-back-out\n";
print CALLFILE "Extension: out\n";
print CALLFILE "Priority: 1\n";
print CALLFILE "Set: playbackfile=$recfile\n";
close CALLFILE;
sleep(5);


copy("/var/spool/asterisk/tmp/$callerid-$timestamp.call",
"/var/spool/asterisk/outgoing/$callerid-$timestamp.call";) or die "copy
failed: $!";

exit(0);
};
my %input = $agi->ReadParse();
#your code here

$AGI->hangup();

[FONT=Tahoma]منابع[/FONT]:
Asterisk AGI hangup setcallback - making it work


[asterisk-users] How to continue processing a context after a Hangup
نظر
هنوز هیچ نظری ارسال نشده است!
  • صفحه :
  • 1


هنوز هیچ پاسخی برای این پرسش ارسال نشده است
همچنین شما برای ارسال پاسخ به این پرسش مجاب نیستید

دسته بندی ها

سیستم های تلفنی کدباز
  1. 101 پست
  2. 0 زیرمجموعه
سیسکو Cisco
  1. 54 پست
  2. 0 زیرمجموعه
سیستم تلفنی FreePBX
  1. 32 پست
  2. 0 زیرمجموعه
شبکه و زیرساخت
  1. 61 پست
  2. 0 زیرمجموعه
تازه واردین دنیای ویپ
  1. 911 پست
  2. 0 زیرمجموعه

آخرین مباحث انجمن

آموزش ساخت ربات تلگرام
2 بازدید
0 رای
0 پاسخ
ارسال در دوشنبه, 29 مرداد 1397 13:50
متد rest
6 بازدید
0 رای
0 پاسخ
ارسال در یکشنبه, 28 مرداد 1397 08:29
فعال کردن رادیو در الستیکس
8 بازدید
0 رای
0 پاسخ
ارسال در شنبه, 27 مرداد 1397 09:15
مشکل تایم ایزابل
13 بازدید
0 رای
0 پاسخ
ارسال در پنج شنبه, 25 مرداد 1397 13:24
تماس Call file و اتصال آن به یک شماره بیرونی
19 بازدید
0 رای
0 پاسخ
ارسال در چهارشنبه, 24 مرداد 1397 09:57
دیدن ادرس ای پی
7 بازدید
0 رای
0 پاسخ
ارسال در چهارشنبه, 24 مرداد 1397 04:59
دیدن ادرس ای پی
10 بازدید
0 رای
0 پاسخ
ارسال در چهارشنبه, 24 مرداد 1397 04:57
اتصال الستیکس 2.5 به گیت کیپر
9 بازدید
0 رای
0 پاسخ
ارسال در سه شنبه, 23 مرداد 1397 10:28
ریپورت از داخلی
12 بازدید
0 رای
0 پاسخ
ارسال در سه شنبه, 23 مرداد 1397 08:00

آمار انجمن

تعداد موضوع ها: 6398
تعداد پست ها: 24700
موضوعات حل شده: 34
تعداد کاربران: 13154

ورود elahe عزیز را به جمع کاربران ویپ ایران تبریک می گوییم.