در این مقاله تلاش شده است که نحوه ی Dialplan نویسی در گیت وی Sangoma سری Vega آموزش داده شود. در ابتدا به توضیح قابلیت های Dialplan گیت وی Sangoma می پردازیم. سپس پارامترهایی که در Dialplan مورد استفاده قرار می گیرند را معرفی کرده و در انتها چند مثال کاربردی را برای درک بهتر مطالب استفاده می کنیم .
Dialplan ابزاری است که request های تماس ورودی را پردازش و قابلیت های زیر را فراهم می نماید :
1- مسیریابی تماس ها
2 – تغییر الگوی شماره تلفن ها
3 – احراز هویت (Authentication)
• مسیریابی:
براساس اطلاعاتی همچون شماره مقصد تماس، شماره تماس گیرنده و id اینترفیس تماس ورودی، گیت وی می تواند تصمیم بگیرد که تماس را به کدام اینترفیس و به چه آدرس IP ای مسیریابی کند.
به عنوان مثال در Dialplan تماس SIP وارد شده را از طریق پورت اول FXO به خطوط شهری می فرستیم.
• تغییر الگوی شماره تلفن ها:
Dialplan این امکان را فراهم می کند تا شماره تلفن دریافتی را از طریق اضافه کردن پیشوندها و پسوندها (Prefix و Postfix) شماره تلفن ها را قبل از مسیریابی تغییر داد.
• احراز هویت:
هنگامی که تماسی به گیت وی وارد می شود، در Dialplan جستجو شده و با اطلاعات تماس ورودی تطبیق داده می شود. اگر رول مشخصی در Dialplan برای آن یافت نشود، تماس مسیریابی نخواهد شد. همچنین این امکان وجود دارد تا فقط تماس های مجاز، مسیریابی شوند.
Tokenهای Dialplan :
Dialplan مجموعه ای از رول ها می باشد که برای مسیریابی تماس ها در گیت وی مورد استفاده قرار می گیرد. اگر اطلاعاتی از تماس ورودی با token های مبدا Dialplan منطبق باشد، از token های مقصد همین Dialplan برای مسیریابی تماس استفاده می شود. هر رول در Dialplan با عناصری که token نامیده می شوند، تعریف می شود. هر token ویژگی متفاوتی از آدرس تماس را شناسایی می کند. tokenها با کاما جدا می شوند که در ادامه به بررسی آن ها می پردازیم.
اینترفیس :
هر اینترفیس (واسط) در گیت وی دارای یک ID می باشد که به صورت پیش فرض در گیت وی سری Vega توسط شرکت Sangoma-سنگوما تعریف شده اند :
Dialplan از ID اینترفیس ها استفاده می کند تا مسیر مربوط به تماس های ورودی و خروجی را پیدا کند.
به طور خلاصه :
FXS => 0101 … 0108
FXO => 0201 … 0208
E1 => 0401 … 0404
SIP => 9901 … 9905
H.323 => 0501
به عنوان مثال :
پورت شماره یک FXS، دارای ID= 0101 و پورت سوم E1 دارای ID=0403 می باشد.
توجه : اگر چه interface id ها امکان تغییر دارند اما برای پشتیبانی و سهولت در کار، بهتر است که این مقادیر تغییر داده نشوند.
انواع Token ها :
:IF
تا 32 کاراکتر مجاز شامل 0 تا 9، a تا z، * ، # ، _ و نقطه می تواند باشد. ترجیحا از همان اینترفیس ID های پیش فرض استفاده نمایید. مثال: IF:0101
این token، ID اینترفیس ورودی یا خروجی رو تعیین می کند.
:TEL
مقادیر مجاز 0 تا 9 ، a تا z ، * ، # ، _ و نقطه را می پذیرد. مثال: TEL:123
شماره تلفن ورودی یا خروجی (called party) یا همان DID را مشخص می کند.مثلا اگر تماسی از اینترفیس SIP با ID 9901 وارد Dial Plan شود و شماره 123 شماره گیری شده باشد، آن را اینترفیس با ID 9902 ارسال می کنیم.
TELC:
مثال: TELC:123
شماره تلفن ورودی یا خروجی (calling party) یا همان caller id را مشخص می کند.
:TA
مثال : TA:200.100.50.40
آدرس IP یا host name خروجی را مشخص می کند و فقط در سمت مقصد از آن استفاده می شود.
:TAC
مثال: TAC:200.100.50.40
آدرس IP یا host name ورودی را مشخص می کند و فقط در سمت مبدا از آن استفاده می شود.
:DISP
مثال: DISP:Yavari
فیلد نمایش پیام ورودی یا خروجی H.323 , SIP یا ISDN را مشخص می کند.
:NAME
مثال: NAME:vega400
آی دی ورودی یا خروجی در سمت مبدا تماس را مشخص می کند.
Token هایی که در ادامه به آن می پردازیم فقط مربوط به پروتکل H.323 می باشد. و پروتکل SIP از آن استفاده نمی کند. و در صورت تمایل می توانید آن ها را نادیده بگیرید.
NAMEC:
مثال: NAMEC:vega400
آی دی h.323 خروجی (calling party) یا مقصد تماس را مشخص می کند.
TYPE:
مثال TYPE:national
نوع caller id را مشخص می کند. و در سمت مقصد از آن استفاده می شود.
TYPEC:
مثال TYPEC:national
نوع DID را مشخص می کند.
مثال :
در این مثال می خواهیم یک شبکه VoIP با یک سرور الستیکس و چند IP Phone را به شبکه تلفن شهری از طریق گیت وی Sangoma سری Vega متصل کنیم.
بنابراین تماس یا از سمت خطوط شهری وارد گیت وی می شود و بعد از مسیریابی در DialPlan وارد سرور الستیکس می گردد یا اینکه از سمت سرور تلفنی تماسی به بیرون از شبکه VoIP فرستاده می شود. در نتیجه باید دو مسیر زیر را تعریف کنیم : از FXO به SIP و از SIP به FXO.
برای این کار به صورت زیر عمل کنید :
1- وارد واسط گرافیکی گیت وی شده و به قسمت Dialplan بروید.
2- باید رول to_SIP را برای تماس هایی که از FXO وارد شبکه می شوند تعریف کنیم. بر روی modify کلیک نمایید و مقادیر زیر را اضافه کنید.
این Dialplan به این معنی است که هر تماسی که از اینترفیس با آی دی 0201 یا همان پورت اول FXO وارد شد، با هر callerid (TEL:<.*>) و با هر did (TELC:<.*>) به اینترفیس SIP با آی دی 9901 با همان caller id و DID ورودی هدایت شود.
درواقع مقداری را که در <> قرار می دهید می توانید با <n> برگردانید.
مثال دوم :
تماس های که از اینترفیس 0401 وارد می شوند در صورتی که شماره 01344784900 را گرفته باشند به اینترفیس 9901 هدایت شده و سپس داخلی ای که شماره ی 01344784900 و IP:x.y.w.z را دارد زنگ می خورد.
مثال سوم :
فرض کنید لازم باشد که گروهی از شماره های 09121500370 تا 09121500379 را از طریق گیت وی مسیریابی کنید. برای این کار از کارکتر” .” استفاده می کنیم تا هر عددی از 0 تا 9 را دربر بگیرد.
تماس هایی که از اینترفیس 0401 وارد می شوند، در صورتی که 10 رقم اول شماره ی گرفته شده با 0912150037 یکسان بود و رقم یازدهم مقداری بین 0 تا 9 بود به سمت اینترفیس 9901 هدایت شده و همان شماره با آدرس w.x.y.z را شماره گیری می کند.
مثال چهارم :
فرض کنید می خواهید رنج 200 شماره ای را مسیریابی کنید.
در واقع در رنج 800 تا 999 رقم اول 8 و 9 و دو رقم آخر نیز می تواند 0 تا 9 باشد. برای دو رقم آخر از نقطه و برای رقم اول از فرمت [8-9] استفاده می کنیم.
بنابراین خواهیم داشت :
نویسنده : سهیل تهرانی پور
Dialplan ابزاری است که request های تماس ورودی را پردازش و قابلیت های زیر را فراهم می نماید :
1- مسیریابی تماس ها
2 – تغییر الگوی شماره تلفن ها
3 – احراز هویت (Authentication)
• مسیریابی:
براساس اطلاعاتی همچون شماره مقصد تماس، شماره تماس گیرنده و id اینترفیس تماس ورودی، گیت وی می تواند تصمیم بگیرد که تماس را به کدام اینترفیس و به چه آدرس IP ای مسیریابی کند.
به عنوان مثال در Dialplan تماس SIP وارد شده را از طریق پورت اول FXO به خطوط شهری می فرستیم.
• تغییر الگوی شماره تلفن ها:
Dialplan این امکان را فراهم می کند تا شماره تلفن دریافتی را از طریق اضافه کردن پیشوندها و پسوندها (Prefix و Postfix) شماره تلفن ها را قبل از مسیریابی تغییر داد.
• احراز هویت:
هنگامی که تماسی به گیت وی وارد می شود، در Dialplan جستجو شده و با اطلاعات تماس ورودی تطبیق داده می شود. اگر رول مشخصی در Dialplan برای آن یافت نشود، تماس مسیریابی نخواهد شد. همچنین این امکان وجود دارد تا فقط تماس های مجاز، مسیریابی شوند.
Tokenهای Dialplan :
Dialplan مجموعه ای از رول ها می باشد که برای مسیریابی تماس ها در گیت وی مورد استفاده قرار می گیرد. اگر اطلاعاتی از تماس ورودی با token های مبدا Dialplan منطبق باشد، از token های مقصد همین Dialplan برای مسیریابی تماس استفاده می شود. هر رول در Dialplan با عناصری که token نامیده می شوند، تعریف می شود. هر token ویژگی متفاوتی از آدرس تماس را شناسایی می کند. tokenها با کاما جدا می شوند که در ادامه به بررسی آن ها می پردازیم.
اینترفیس :
هر اینترفیس (واسط) در گیت وی دارای یک ID می باشد که به صورت پیش فرض در گیت وی سری Vega توسط شرکت Sangoma-سنگوما تعریف شده اند :
Dialplan از ID اینترفیس ها استفاده می کند تا مسیر مربوط به تماس های ورودی و خروجی را پیدا کند.
به طور خلاصه :
FXS => 0101 … 0108
FXO => 0201 … 0208
E1 => 0401 … 0404
SIP => 9901 … 9905
H.323 => 0501
به عنوان مثال :
پورت شماره یک FXS، دارای ID= 0101 و پورت سوم E1 دارای ID=0403 می باشد.
توجه : اگر چه interface id ها امکان تغییر دارند اما برای پشتیبانی و سهولت در کار، بهتر است که این مقادیر تغییر داده نشوند.
انواع Token ها :
:IF
تا 32 کاراکتر مجاز شامل 0 تا 9، a تا z، * ، # ، _ و نقطه می تواند باشد. ترجیحا از همان اینترفیس ID های پیش فرض استفاده نمایید. مثال: IF:0101
این token، ID اینترفیس ورودی یا خروجی رو تعیین می کند.
:TEL
مقادیر مجاز 0 تا 9 ، a تا z ، * ، # ، _ و نقطه را می پذیرد. مثال: TEL:123
شماره تلفن ورودی یا خروجی (called party) یا همان DID را مشخص می کند.مثلا اگر تماسی از اینترفیس SIP با ID 9901 وارد Dial Plan شود و شماره 123 شماره گیری شده باشد، آن را اینترفیس با ID 9902 ارسال می کنیم.
TELC:
مثال: TELC:123
شماره تلفن ورودی یا خروجی (calling party) یا همان caller id را مشخص می کند.
:TA
کد PHP:
TA:<ip address>
آدرس IP یا host name خروجی را مشخص می کند و فقط در سمت مقصد از آن استفاده می شود.
:TAC
کد PHP:
TAC:<ip address>
آدرس IP یا host name ورودی را مشخص می کند و فقط در سمت مبدا از آن استفاده می شود.
:DISP
کد PHP:
DISP:<ascii-string>
فیلد نمایش پیام ورودی یا خروجی H.323 , SIP یا ISDN را مشخص می کند.
:NAME
کد PHP:
NAME:<ascii-string>
آی دی ورودی یا خروجی در سمت مبدا تماس را مشخص می کند.
Token هایی که در ادامه به آن می پردازیم فقط مربوط به پروتکل H.323 می باشد. و پروتکل SIP از آن استفاده نمی کند. و در صورت تمایل می توانید آن ها را نادیده بگیرید.
NAMEC:
کد PHP:
NAMEC:<ascii-string>
آی دی h.323 خروجی (calling party) یا مقصد تماس را مشخص می کند.
TYPE:
مثال TYPE:national
نوع caller id را مشخص می کند. و در سمت مقصد از آن استفاده می شود.
TYPEC:
مثال TYPEC:national
نوع DID را مشخص می کند.
مثال :
در این مثال می خواهیم یک شبکه VoIP با یک سرور الستیکس و چند IP Phone را به شبکه تلفن شهری از طریق گیت وی Sangoma سری Vega متصل کنیم.
بنابراین تماس یا از سمت خطوط شهری وارد گیت وی می شود و بعد از مسیریابی در DialPlan وارد سرور الستیکس می گردد یا اینکه از سمت سرور تلفنی تماسی به بیرون از شبکه VoIP فرستاده می شود. در نتیجه باید دو مسیر زیر را تعریف کنیم : از FXO به SIP و از SIP به FXO.
برای این کار به صورت زیر عمل کنید :
1- وارد واسط گرافیکی گیت وی شده و به قسمت Dialplan بروید.
2- باید رول to_SIP را برای تماس هایی که از FXO وارد شبکه می شوند تعریف کنیم. بر روی modify کلیک نمایید و مقادیر زیر را اضافه کنید.
کد PHP:
Source: IF:0201,TEL:<.*>,TELC:<.*>
Destination: IF:9901,TEL:<1>,TELC<2>)
درواقع مقداری را که در <> قرار می دهید می توانید با <n> برگردانید.
مثال دوم :
کد PHP:
Source = IF:0401,TEL:01344784900
Destination = IF:9901,TEL:01344784900,TA:w.x.y.z
مثال سوم :
فرض کنید لازم باشد که گروهی از شماره های 09121500370 تا 09121500379 را از طریق گیت وی مسیریابی کنید. برای این کار از کارکتر” .” استفاده می کنیم تا هر عددی از 0 تا 9 را دربر بگیرد.
کد PHP:
Source = IF:0401,TEL:<0912150037.>
Destination = IF:9901,TEL:<1>,TA:w.x.y.z
مثال چهارم :
فرض کنید می خواهید رنج 200 شماره ای را مسیریابی کنید.
در واقع در رنج 800 تا 999 رقم اول 8 و 9 و دو رقم آخر نیز می تواند 0 تا 9 باشد. برای دو رقم آخر از نقطه و برای رقم اول از فرمت [8-9] استفاده می کنیم.
بنابراین خواهیم داشت :
کد PHP:
Source = IF:0401,TEL:<091257[89]..>
Destination = IF:9901,TEL:<1>,TA:w.x.y.z
نویسنده : سهیل تهرانی پور