السلام عليكم ورحمة الله وبركاته.
الماكرو عباره عن مجموعه من العمليات او التطبيقات التي يمكننا ان نعيد استخدامها اكثر من مره ,وكذالك هنا في أستريسك ينطبق هذا الكلام.وباستخدامها نوفر كثيرا من كتابه نفس الشئ اكثر من مره.
الصيغه:
كما تلاحظون الصيغه تتكون من تطبيق الماكرو واسم الماكرو الذي سوف ينفذه بالاضافه للمتغيرات التي بامكاننا ان نرسلها للماكرو. وكذلك كماتلاحظون فان جزء الماكرو يتكون من الكلمه macro ثم اشاره _.وعند طلب الماكرو فانه يتم القفز داخله الى الوصله S ذات رقم الاولويه واحد.
المثال التالي:
كما لاحظتم في المثال السابق باننا استعملنا متغير واحد داخل الماكرو,بل نستطي استعمال اكثر من متغير فيصبح المثال السابق كالتالي:
متغيرات الماكرو الخاصه:
العديد من الدوال عند تنفيذها تقوم باعطائنا متغيرات خاصه بها ,لذالك عند استعمالنا للماكرو فانه يعطينا المتغيرات الخاصه به التاليه:
MACRO_CONTEXT اسم الجزء القادم منه
MACRO_EXTEN اسم الوصله القادم منه
MACRO_PRIORITY اسم رقم الاولويه القادم منه
المثال التالي يوضح ذالك:
النتيجه:
الماكرو المتداخله:
اكبر عدد مسموح به هو 7. اي انه اذا اردت الحصول على النتيجه المطلوبه لا تستعمل ماكرو يطلب ماكرو ثم يطلب اخر اكثر من 7 مرات.
جميع الحقوق محفوظة لموقع أستريسك للعرب
الماكرو عباره عن مجموعه من العمليات او التطبيقات التي يمكننا ان نعيد استخدامها اكثر من مره ,وكذالك هنا في أستريسك ينطبق هذا الكلام.وباستخدامها نوفر كثيرا من كتابه نفس الشئ اكثر من مره.
الصيغه:
كود: تحديد الكل
Macro(savestatus,arg1,arg2...)
[macro-savestatus]
المثال التالي:
كود: تحديد الكل
[outCall]
exten => _X.,1,Dial(SIP/Trunk1/${EXTEN})
exten => _X.,2,Macro(HalDialStatus,${DIALSTATUS})
[macro-HalDialStatus]
exten => s,1,NoOp(DIALSTATUS:{${ARG1})
استخدام المتغيرات:فانه يتم الاتصال برقم ما من خلال الوصله ذات رقم الالويه واحد وعند الانتهاء من تنفيذoutCall عند استخدام الجزء
الوصله الاولى يتم الانتقال للوصله الثانيه ومنها ينتقل الى تنفيذ الماكرو الذي يطبع لنا نتيجه الاتصال.
كما لاحظتم في المثال السابق باننا استعملنا متغير واحد داخل الماكرو,بل نستطي استعمال اكثر من متغير فيصبح المثال السابق كالتالي:
كود: تحديد الكل
[outCall]
exten => _X.,1,Dial(SIP/Trunk1/${EXTEN})
exten => _X.,2,Macro(HalDialStatus,${DIALSTATUS},${EXTEN})
[macro-HalDialStatus]
exten => s,1,NoOp(DIALSTATUS:{${ARG1})
exten => s,2,NoOp(Exten:{${ARG2})
العديد من الدوال عند تنفيذها تقوم باعطائنا متغيرات خاصه بها ,لذالك عند استعمالنا للماكرو فانه يعطينا المتغيرات الخاصه به التاليه:
MACRO_CONTEXT اسم الجزء القادم منه
MACRO_EXTEN اسم الوصله القادم منه
MACRO_PRIORITY اسم رقم الاولويه القادم منه
المثال التالي يوضح ذالك:
كود: تحديد الكل
[MacroTest]
exten =>100,1,Macro(doTest)
[macro-doTest]
exten=>s,1,NoOp(MACRO_CONTEXT:${MACRO_CONTEXT})
exten=>s,2,NoOp(MACRO_EXTEN :${MACRO_EXTEN})
exten=>s,3,NoOp(MACRO_PRIORITY:${MACRO_PRIORITY})
exten=>s,4,hangup()
الماكرو المتداخله:
اكبر عدد مسموح به هو 7. اي انه اذا اردت الحصول على النتيجه المطلوبه لا تستعمل ماكرو يطلب ماكرو ثم يطلب اخر اكثر من 7 مرات.
استخدام التطبيق WaitExten داخل ماكرو لن يعمل كما هو مرجو منه,لذالك استعمل الاقتران Read لقراءه ال DTMF من القناه الحاليه المستخدمه لل ماكرو.
جميع الحقوق محفوظة لموقع أستريسك للعرب