الدرس الخامس:مطابقة النماذج Pattern Matching

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

الدرس الخامس:مطابقة النماذج Pattern Matching

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

السلام عليكم ورحمة الله وبركاته.
مطابقه النماذج:
ماذا تعمل اذا اردت الاتصال مع الارقام التاليه 100 و101 و102 اكيد سوف تقوم بكتابه خارطه الاتصال التاليه:

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

exten=>100,1,Dial(ٍSIP/100)     
exten=>101,1,Dial(ٍSIP/101)                    
exten=>102,1,Dial(ٍSIP/102)                    
حسنا لقد حللت المشكله ولكنك عملت مشكله اكبر وهي انك فقط تستطيع الاتصال مع هذه الارقام. ماذا تفعل لوكان هناك لديك 1000 رقم اوتريد الاتصال مع رقم لاتعرفه الان. لحل هذه المشاكل يوجد في استريسك مطابقه النماذج.

صيغه مطابقه النموذج:
1-تبدأ صيغه النموذج ب اشار _ فمنها يعرف أستريسك بان هذا عباره عن نموذج .
2- X يتم استخدامها للدلاله على انه يمكن ان يكون الرقم من 0 الى 9 وبطول خانه واحده.
3- Z يتم استخدامها للدلاله على انه يمكن ان يكون الرقم من 1 الى 9 وبطول خانه واحده .
4- N يتم استخدامها للدلاله على انه يمكن ان يكون الرقم من 2 الى 9 وبطول خانه واحده.
5 – النقطه تستخدم للدلاله على كل شئ.وبطول غير محدد بدايه من خانه واحده.
nm]-6] يعني احد الرقمين ام م او ن .
n-m]-7] يعني احد الارقام الواقعه ماينهما وكذالك م و ن.
km-n]-8] يعني هنا الرقم ك وبالاضافه الى م و ن وجميع الارقام التي بينهما.
a-z]-9] جميع الاحرف الصغيره من ا الى ز.
A-Z]-10] جميع الاحرف الكبيره من ا الى ز.
11-! تستخدم للدلاله على كل شئ.وبطول غير محدد بدايه وفارغ ايضا------ لم استخدمها الى الان ولم اجربها كذالك.
الامثله:

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

exten=>_X,1,NoOp()
 هذا النموذج يطابق الارقام من 0 الى 9 اي عشره ارقام  .

exten=>_XX,1,NoOp()
 هذا النموذج يطابق الارقام من 00 الى 99 اي مائه رقم.

exten=>_XXX,1,NoOp()
 هذا النموذج يطابق الارقام من 000 الى 999 اي الف رقم.

exten=>_Z,1,NoOp()
 هذا النموذج يطابق الارقام من 1 الى 9 اي تسعه ارقام
وكذالك:

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

exten=>_N,1,NoOp()
 هذا النموذج يطابق الارقام من 2 الى 9 اي ثمانيه ارقام

exten=>_XX[15],1,NoOp()
 هذا النموذج يطابق الارقام 001 الى 991 او من 005 الى 995 

exten=>_XX[15-7],1,NoOp()
 هذا النموذج يطابق الارقام 001 الى 991 او من 005 الى 995 والارقام من 006 الى 996 ومن 007 الى 997
طبعا تستطيع ان تضع في بدايه النموذج ارقام اواحرف اذا اردت.
فمثلا اذااردت ان نحل المشكله في المثال السابق في اول الصفحه نقوم بمايلي اذا اردنا فقط الاتصال مع هذه الارقام الثلاثه:

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

exten=>10[0-2],1,Dial(ٍSIP/${EXTEN})     
امثله عمليه:
1-اذا اردت الغاء الصفر الدولي للمستخدمين فتقوم بعمل النموذج التالي:

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

exten=>_0Z.,1,NoOp()
مع هذا النموذج يلزم المستخدم بوجوب استخدام الصفر في اول خانه وكذالك عنده الحريه في استخدام طول الرقم وذالك بسبب وضعنا النقطه في اخر النموذج.
2-اذا اردت ان تلغي الصفر ايضا فعليك بالصيغه التاليه:

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

exten=>_Z.,1,NoOp()
هنا كما ترى لاتستطيع البدايه ب صفر.
3-اذا اردت الاتصال بدوله معينه فقط ,على سبيل المثال المانيا فتكون الصيغه كالاتي:

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

exten=>_0049.,1,NoOp()
4-واذا اردت الغاء الجوال فعليك حذف رقم الواحد لانه مفتاح الجوال في المانيا فتصبح الصيغه السابقه كالتالي:

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

exten=>_0049N.,1,NoOp()
5-وكذالك يمكنك عمل نماذج من اشارات اخرى على سبيل المثال:

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

exten=>_#,1,NoOp()
فعند الضغط على الاشاره # فانك تستطيع الوصول الى هذه الوصله وتنفيذ الامر NoOp

جميع الحقوق محفوظة لموقع أستريسك للعرب
albalawi
مدير الموقع
مشاركات: 234
اشترك في: 11 مايو 2010, 19:53
مكان: Germany
اتصال:

Re: الدرس الخامس:مطابقه النماذج Pattern Matching

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

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

| — This lets you use a '0 to dial out' (or '9' in the US) by matching anything
before the line, but not sending it to the trunk.


0|NXXXXXXXX
That pattern tells Asterisk to send only 9 digits out of 10 dialled by not sending the
first digit 0. Thus, if you dialled 0291234567, the number that will be sent to the
Trunk will be 291234567.
elmadysm
مشاركات: 27
اشترك في: 09 فبراير 2011, 21:16

Re: الدرس الخامس:مطابقة النماذج Pattern Matching

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

مجهود رائع
بارك الله فيك
أضف رد جديد

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