الدرس التاسع: المتغيرات المضبوطة Predefined Variables

هنا سيتم شرح نظام أستريسك نظريا عن طريق سلسله من الدروس ان شاء الله تعالى.
أضف رد جديد
albalawi
مدير الموقع
مشاركات: 234
اشترك في: 11 مايو 2010, 19:53
مكان: Germany
اتصال:

الدرس التاسع: المتغيرات المضبوطة Predefined Variables

مشاركة بواسطة albalawi »

السلام عليكم ورحمة الله وبركاته.
وهي المتغيرات المعرفه مسبقا من أستريسك,ولايجوز استعمالها كمتغير فهيه فقط للقراءه ,وكذالك هي ايضا Case Sensitive اي ان تكتب كما عرفها أستريسك وهي غالبا احرف كبيره.
وبعض هذا المتغيرات نستطيع قراءه قيمته بدخولنا للجزء والبعض الاخر بعد تنفيذ تطبيق ما والاخر بعد دخولنا الى ماكرو وغيرها.
وهي:

كود: تحديد الكل

Predefined Channel Variables
Application-specific variables
Macro-specific variables
Call files extension specific variables
الشرح والامثله:
Channel Variables-1
عند اتصالنا على جزء ما فهناك متغيرات تزودنا بمعلومات عن القناه الحاليه الفاعله من اعطاء رقم واسم المتصل اوالوقت الحالي ونوع القناه واسم الجزء والوصله والاولويه وغيرها.
مثال:

كود: تحديد الكل

[Test]
exten => 100,1,NoOp(__${EXTEN}_ ${CHANNEL}_ ${CONTEXT}_)
exten => 100,2,NoOp(_ ${CALLERID(num)})
exten => 100,3,Hangup()
سوف يذكر هنا المتغيرات التي تعمل مع الاصدار 1.4و1.6
${UNIQUEID}
رقم محدد لاياتي الا مره واحده ويعطي لكل اتصال اومحاوله اتصال.
${CALLERID(all)}
الاسم والرقم للمتصل
${CALLERID(name)}
الاسم للمتصل
${CALLERID(num)}
الرقم للمتصل
${CHANNEL}
اسم قناه الاتصال
${CONTEXT}
اسم الجزء
${EXTEN}
الوصله
${PRIORITY}
الاولويه
${EPOCH}
عدد الثواني من عام 1970 الى لحظه قراءه هذا المتغير,ونستعمله لقراءه الوقت والتاريخ المثال التالي يوضح ذالك:

كود: تحديد الكل

[ShowTime]
exten => 400,1,NoOp(___${STRFTIME(${EPOCH},GMT-2,"%Y-%m-%d %H:%M:%S")}____)
exten => 400,2,NoOp(___${STRFTIME(${EPOCH},Europe/Berlin,"%Y-%m-%d %H:%M:%S")}____)
exten => 400,3,Hangup()
${DIALEDTIME}
الوقت منذ بدايه الاتصال اي وقت دقات التلفون زائد وقت المكالمه
${ANSWEREDTIME}
وقت المكالمه فقط

${SIPDOMAIN}
اسم الدومين اورقم الاي بي الموجود عليه الاتصال.
${SIP_CODEC}
${SIPCALLID}
${SIPUSERAGENT}
اسم اونوع الجهاز المستعمل للاتصال.
ويوجد غيرها كثير.

Application variables-2
وهي المتغيرات التي نريد ان نقرأها بعد تنفيذنا لتطبيق ما اوتنفيذنا لاقتران اوداله. مثلا عند اتصالنا على رقم ما نريد ان نعرف نتيجه هذا الاتصال,هل تم الاتصال ,هل كان الرقم مشغول ام معطل ام رفض الاتصال وقطعه.
المثال:

كود: تحديد الكل

[ShowStatus]
exten => 600,1,Dial(SIP/10000,,g)
exten => 600,2,NoOp(__${DIALEDTIME}_ ${ANSWEREDTIME}__)
exten => 600,3,NoOp( Dial Status: ${DIALSTATUS})
exten => 600,4,Hangup()
سوف اذكر هنا بعض التطبيقات ومتغيراتها:
Dial-1
DIALSTATUS
نتيجه المكالمه كما راينا في المثال السابق.
HANGUPCAUSE
نتيجه المكالمه بالتفصيل ونتائج كثيره لذالك هي ادق من السابقه.


chanisavail-2
AVAILCHAN
اسم القناه اذا كانت موجوده.
AVAILSTATUS
حاله القناه هل هو موجود ام متصل ام مشغول اويستقبل مكالمه .

VoiceMail-3
VM_NAME
VM_CALLERID
اسم المتصل ورقمه.
VM_CIDNAME
اسم المتصل
VM_CIDNUM
رقم المتصل
VM_DATE
التارخ
VM_MESSAGEFILE
اين تم تخزين الملف الصوتي

3-Macro-specific variables
ذكرناها في الدرس السابع.

4-Call files extension specific variables
وهي ملفات الاتصال الالي سنذكرها في درس خاص لها.
هنا سنتكلم عن المتغير الذي تعطينا اياه في حال فشل الاتصال.
${REASON}
ويكون احد القيم التاليه:

كود: تحديد الكل

0 - Failed (not busy or congested) 
1 - Hung up 
3 - Ring timeout 
5 - Busy 
8 - Congestion 
جميع الحقوق محفوظة لموقع أستريسك للعرب
elmadysm
مشاركات: 27
اشترك في: 09 فبراير 2011, 21:16

Re: الدرس التاسع: المتغيرات المضبوطة Predefined Variables

مشاركة بواسطة elmadysm »

مجهود رائع
بارك الله فيك
rachid
مشاركات: 1
اشترك في: 25 مايو 2013, 16:48

Re: الدرس التاسع: المتغيرات المضبوطة Predefined Variables

مشاركة بواسطة rachid »

شكرا جزيلا على هذا المجهود وجعله الله في ميزان حسناتك
mtaher
مشاركات: 7
اشترك في: 07 يوليو 2013, 18:26

Re: الدرس التاسع: المتغيرات المضبوطة Predefined Variables

مشاركة بواسطة mtaher »

[bمشكوووور ماقصرت ياا الغالي
أضف رد جديد

العودة إلى ”الجزء الاول:المقدمه والدروس Introduction and lessons“