السلام عليكم ورحمة الله وبركاته.
وهي المتغيرات المعرفه مسبقا من أستريسك,ولايجوز استعمالها كمتغير فهيه فقط للقراءه ,وكذالك هي ايضا Case Sensitive اي ان تكتب كما عرفها أستريسك وهي غالبا احرف كبيره.
وبعض هذا المتغيرات نستطيع قراءه قيمته بدخولنا للجزء والبعض الاخر بعد تنفيذ تطبيق ما والاخر بعد دخولنا الى ماكرو وغيرها.
وهي:
الشرح والامثله:
Channel Variables-1
عند اتصالنا على جزء ما فهناك متغيرات تزودنا بمعلومات عن القناه الحاليه الفاعله من اعطاء رقم واسم المتصل اوالوقت الحالي ونوع القناه واسم الجزء والوصله والاولويه وغيرها.
مثال:
رقم محدد لاياتي الا مره واحده ويعطي لكل اتصال اومحاوله اتصال.
${CALLERID(all)}
الاسم والرقم للمتصل
${CALLERID(name)}
الاسم للمتصل
${CALLERID(num)}
الرقم للمتصل
${CHANNEL}
اسم قناه الاتصال
${CONTEXT}
اسم الجزء
${EXTEN}
الوصله
${PRIORITY}
الاولويه
${EPOCH}
عدد الثواني من عام 1970 الى لحظه قراءه هذا المتغير,ونستعمله لقراءه الوقت والتاريخ المثال التالي يوضح ذالك:
${DIALEDTIME}
الوقت منذ بدايه الاتصال اي وقت دقات التلفون زائد وقت المكالمه
${ANSWEREDTIME}
وقت المكالمه فقط
${SIPDOMAIN}
اسم الدومين اورقم الاي بي الموجود عليه الاتصال.
${SIP_CODEC}
${SIPCALLID}
${SIPUSERAGENT}
اسم اونوع الجهاز المستعمل للاتصال.
Application variables-2
وهي المتغيرات التي نريد ان نقرأها بعد تنفيذنا لتطبيق ما اوتنفيذنا لاقتران اوداله. مثلا عند اتصالنا على رقم ما نريد ان نعرف نتيجه هذا الاتصال,هل تم الاتصال ,هل كان الرقم مشغول ام معطل ام رفض الاتصال وقطعه.
المثال:
سوف اذكر هنا بعض التطبيقات ومتغيراتها:
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}
ويكون احد القيم التاليه:
جميع الحقوق محفوظة لموقع أستريسك للعرب
وهي المتغيرات المعرفه مسبقا من أستريسك,ولايجوز استعمالها كمتغير فهيه فقط للقراءه ,وكذالك هي ايضا 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()
${UNIQUEID}سوف يذكر هنا المتغيرات التي تعمل مع الاصدار 1.4و1.6
رقم محدد لاياتي الا مره واحده ويعطي لكل اتصال اومحاوله اتصال.
${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()
الوقت منذ بدايه الاتصال اي وقت دقات التلفون زائد وقت المكالمه
${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