چگونه یک Extension بنویسیم، در ابتدا با ساختار نوشتن آن آشنا می شویم.
exten => extension_name, priority, application
خوب در ابتدای خط exten => را می بینیم که همیشه به همین شکل تکرار می شود ! خوب پس یعنی خیلی نکته مهمی در خصوص این بخش نداریم البته در قسمت های بعمی میبینیم می توانید همین را هم یکم خلاصه تر کنیم، اما می رسیم به 3 بخش اصلی یک Extension
نام یک Extension و همان چیزی که برای دسترسی به این Extension آن را صدا باید بزنیم، اگر بخواهم یکم ساده تر بگم این همان شماره داخلی (Extension) ما است، ولی خوب در واقع نام Extension فقط عدد نیست و می تواند شامل کاراکتر های دیگر نیز باشد.
نکته: Extension ما هر چند خط که دارد در تمای آنها نام آن باید یکسان تکرار شده باشد.
نکته: برای نام یک Extension می توانید از DialPattern ها نیز استفاده کنیم، مطمئنا با آنها آشنایی دارید اما اگر برای اولین بار است همچین چیزی را می شنوید توصیه می کنم حتما به سراغ کتاب Elastix Easy بروید و DialPattern ها را خوب یاد بگیرید. همچنین فراموش نکنید وقتی جای نام از DialPattern استفاده می کنید باید اول آن یک زیر خط (_) قرار دهید، اما اگر می خواهید بدانید چرا، باید بگم چون نام داخلی می تواند کاراکتر هم داشته باشد پس برای اینکه مشخص کنیم این نام داخلی است یا DialPattern با قرار دادن _ اول آن این تمایز را قایل می شویم.
$1v مثال:
[test-pattern]
exten => _2xx,1,Answer()
exten => _2xx,n,NoOP(line2)
exten => _2xx,n,NoOp(line3)
exten => _2xx,n,Hangup()
در این مثال Extension ما دیگر یک نام مشخص ندارد بلکه به وسیله DialPattern یک گروهی از نام ها را شامل می شود، _2xx شامل تمامی اعداد بین 200 الی 299 می شود و هر کس عددی ار بین آنها را شماره گیری کند این Extension اجرا خواهد شد.
اولویت تکرار خطوط، ترتیب تکرار خطوط، همانطور که از تعریف مشخص است برای وقتی است که Extension ما چند خطی است و این پارامتر به Asterisk کمک می کند تا بفهمد بعد از هر خط چه خطی باید اجرا شود، نکته مهم اینجاست که priority حتما از عدد 1 شروع می شود و خط 2 به بعد می توانند اعداد دیگری را بگیرند، در مثال ها بهتر با کاربرد آن آشنا خواهید شد.
نکته: اگر Extension ما یک خطی است، باز هم priority باید نوشته شود و مقدار 1 را خواهد داشت.
مهمترین و جذاب ترین بخش یک خط از Extension، در این بخش باید نام یک Application از Asterisk اینجا نوشته شود و همچنین می توانیم پارامتر هایی را به آن App پاس بدهیم، در بخش بعدی با مهمترین و پرکاربرد ترین Application های Asterisk آشنا خواهید شد.