اطلاعیه

بستن
No announcement yet.

تاپیک جامع آموزش Dial Plan دایلپلن نویسی استریسک - Asterisk Dialplan

بستن
این موضوع بسته شده است.
X
این موضوع "مهم" میباشد.
X
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    تاپیک جامع آموزش Dial Plan دایلپلن نویسی استریسک - Asterisk Dialplan

    سلام خدمت همه اساتید و کاربران عزیز

    در این تاپیک قصد دارم به آموزش مباحث استریسک و دایلپلن نویسی بپردازم.
    قوانین تاپیک:
    ۱. قوانین کلی انجمن را رعایت کنید
    ۲.این تاپیک صرفا مخصوص آموزش مباحث میباشد لذا لطفا در این تاپیک سوال نفرمایید
    ۳. این تاپیک انحصارا متعلق به انجمن منطقه لینوکسی ها بوده و هرگونه استفاده و یا کپی برداری از این پست با کمی تغییر در متن و قرار دادن در سایر سایت های مربوطه بدون ذکر منبع خلاف قوانین و سیاست های انجمن می باشد.

    چون در این تاپیک قرار است آموزش ها به شیوه ای باشد که از مباحث اولیه و ساده شروع و مرحله به مرحله پیش رود لطفا از قرار دادن پست های آموزشی و یا پست های spam در این تاپیک خودداری نمایید

    امیدوارم مطالب مفیدی باشن و به دوستان کمک کنه



    ممنون از همکاری شما
    آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 08-10-2014, 03:00 PM.
    Telegram : https://telegram.me/linuxzone

    voip trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

    #2
    ابتدای این تاپیک رو با معرفی اولیه فولدر و فایلهای مهم شروع میکنیم

    ببینید شما در استریسک چند مسیر مهم دارید که برای تنظیمات مورد استفاده قرار میگیرن

    ۱. مسیر قرار گرفتن فایلهای کانفیگی مانند sip.conf - extensions.conf
    کد PHP:
    /etc/asterisk 
    ۲.مسیر قرار گرفتن فایلهای صوتی
    کد PHP:
    /var/lib/asterisk/sounds 
    ۳.مسیر قرار گرفتن فایلهای agi
    کد PHP:
    /var/lib/asterisk/agi-bin 
    ۴.مسیر قرار گرفتن music on hold
    کد PHP:
    /var/lib/asterisk/moh 
    و ....
    Telegram : https://telegram.me/linuxzone

    voip trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

    کامنت


      #3
      مهمترین پوشه همان /etc/asterisk هست که شامل فایل های اصلی کانفیگ های استریسکه
      در این پست درباره ی فایل sip.conf صحبت میکنیم

      فایل sip.congf در واقع شامل تنظیمات و کانفیگ های sip می باشد

      - داخلی های sip در این فایل ساخته میشن

      - ترانک های sip هم در این فایل قرار میگیرن

      - تنظیماتی چون فعال کردن تماس تصویری - زبان و ... و تمامی کانفیگ های مربوط به sip در این فایل قرار دارن

      ((فراموش نکنید هر تغییری که در این فایل ایجاد کنین باید یک ریلود به استریسک بدهید البته ریلود دقیقا مربوط به این فایل "sip reload" می باشد))

      و حالا ابتدایی ترین کانفیگ در این فایل یعنی ایجاد یک داخلی که بتوان آنرا رجیستر کرد
      فایل را باز میکنیم حالا اگر از winscp استفاده میکنین و یا از طریق شل ssh زدین و با vi فایل رو میخواین ویرایش کنین.
      کد PHP:
      vi /etc/asterisk/sip.conf 
      پایین فایل شروع میکنیم به ایجاد داخلی ۱۰۰۰
      کد PHP:
      [1000]
      host=dynamic
      type
      =friend
      username
      =1000
      secret
      =1000
      context
      =internal
      qualify
      =yes
      dtmfmode
      =rfc2833 
      ویه ترانک sip هم ایجاد میکنیم
      مثلا فرض میکنیم که یه سرور استریسک دیگه هم داریم با ip:192.168.1.100
      که میخایم با این سرور ترانک بزنیمش و نام ترانک مون هم مثلا asterisk هست.
      دوباره میریم پایین فایل:
      کد PHP:
      [asterisk]
      host=192.168.1.100
      username
      =asterisk
      secret
      =asterisk
      context
      =internal
      qualify
      =yes
      disallow
      =all
      allow
      =ulaw,alaw,g729 
      بعد از ذخیره ی فایل ریلود در کنسول استریسک رو فراموش نکنید
      با دستور زیر وارد کنسول استریسک میشیم:
      کد PHP:
      asterisk -rvvvv 
      سپس در کنسول دستور زیر رو وارد کنین تا sip های ایجاد شده رو ببینین و وضعیتشون رو هم چک کنین که آیا ok شدن یا نه !

      کد PHP:
      sip show peers 
      آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-29-2015, 10:35 AM.
      Telegram : https://telegram.me/linuxzone

      voip trainer - Asterisk - Elastix - Agi Programming- NewRock

      Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
      Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
      Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
      LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

      Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

      کامنت


        #4
        context در استریسک چیست؟

        وقتی یک اکانت sip میسازیم که حالا می تواند یک داخلی باشد و یا یک ترانک تا زمانیکه یک کانتکست نداشته باشد عملا هویتی ندارد
        در واقع شما می توانید این اکانت را مثلا به یک ipphone اختصاص دهید و آنرا روی سرور رجیستر کنید ولی تا زمانیکه کانتکسی براش تعریف نکنین نمیتواند به جایی تماس بگیرد

        در واقع کانتکس مجموعه ای از روتهایی است که ان داخلی حق دارد شماره گیری کند و اینکه مطابق آن روت موجود در کانتکسش براش چه اتفاقی بیفتد

        مثلا شما گوشی (داخلی 1000) را برمیدارید و شماره 1234 را شماره گیری میکنید
        باید حتما یک روت برای این ۱۲۳۴ در کانتکس داخلی 1000 وجود داشته باشد که مثلا داخلی 1000 با گرفتن 1234 به یک ویس میل وصل شود و یا حتی برایش پیغامی پخش شود و ...
        Telegram : https://telegram.me/linuxzone

        voip trainer - Asterisk - Elastix - Agi Programming- NewRock

        Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
        Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
        Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
        LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

        Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

        کامنت


          #5
          محل قرار گرفتن کانتکست

          context ها همه در فایل extensions.conf قرار میگیرن.
          البته در الستیکس چون فایلها را به شیوه ی خودش مدیریت و طبقه بندی کرده یکسری فایل با نام های مثلا extensions_additional (کانتکس هایی که از طریق پنل وب و به صورت اتوماتیک اضافه میشوند) و یا extensions_custom (کانتکس هایی که ما خودمان دستی میتوانیم اضافه کنیم)
          در حقیقت تمامی این فایل ها اگر کار میکنند به این دلیل است که در فایل اصلی extensions.conf آنها را include کرده اند.
          در استریسک شما می توانید یا مستقیما در فایل extensions.conf تنظیمات خود را قرار دهید و یا برای طبقه بندی منظم تر میتوانید فایل های دیگری با پسوند .conf در همان مسیر (/etc/asterisk) ایجاد کنین و کانتکس های خودتون رو داخلش قرار بدین . نکته ی مهم اینه که حتما باید include بشن
          Telegram : https://telegram.me/linuxzone

          voip trainer - Asterisk - Elastix - Agi Programming- NewRock

          Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
          Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
          Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
          LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

          Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

          کامنت


            #6
            نحوه ی include کردن فایل در extensions.conf

            فایل extensions.conf را باز کنید:
            کد PHP:
            *vi /etc/asterisk/extensions.conf 
            برای مدیریت بهتر و مراجعات بعدی راحت تر به تنظیمات خود پایین فایل برید
            (در ادیتور vi با کلیدهای shift+g به پایین فایل میروید)

            مثلا فایل extensions_pstn.conf را که شامل کانتکس تماس های ورودی است را می خواهیم در فایل extensions.conf قرار دهیم(include کنیم)

            کد PHP:
            #include extensions_pstn.conf 
            Telegram : https://telegram.me/linuxzone

            voip trainer - Asterisk - Elastix - Agi Programming- NewRock

            Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
            Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
            Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
            LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

            Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

            کامنت


              #7
              ساختار extensions.conf

              در فایل extensions.conf کانتکس ها زیر هم قرار دارند و به واسطه ی نام هر کانتکس که در [] قرار میگیرند از هم جدا میشوند:

              کد PHP:
              [internal]
              .......
              .......
              .......

              [
              incoming]
              .........
              .........

              [
              ivr]
              ......
              ......
              ...... 
              در این ساختار شما حتی می توانید یک کانتکس را در کانتکس دیگر نیز لحاظ یا اصطلاحا include کنین
              در بعضی مواقع و برای بعضی داخلی ها شما نیاز پیدا میکنین که اون داخلی رو جزو یه گروه دیگه و در حقیقت یک کانتکس دیگه هم قرار بدین که در این مواقع کانتکس دوم رو در کانتکس اصلی داخلی باید include کنیم
              include عموما در اولین خط کانتکس و به نحوه ی زیر صورت میگیره:
              کد PHP:
              [internal]
              include => 
              incoming
              ........
              ........
              ........

              [
              incoming]
              .......
              .......
              ....... 
              Telegram : https://telegram.me/linuxzone

              voip trainer - Asterisk - Elastix - Agi Programming- NewRock

              Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
              Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
              Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
              LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

              Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

              کامنت


                #8
                ساختار context

                و اما ساختار کانتکس
                اول همونطور که گفته شد نام context هستش که درون [] قرار میگیرد
                و بعد ساختار و محتوای کانتکس که به نحوی زیر نوشته میشه:
                کد PHP:
                exten => id,priority,command 
                exten = کلمه ی کلیدی در دایلپلن نویسی که همیشه در ابتدای روت نوشته میشود و با <= همراه میباشد
                id = عبارتی عددی - حروفی است و در واقع patternی است که داخلی ها شماره گیری میکنند و در اصطلاح dial pattern یا extension گفته میشود
                priority = عددی است که از ۱ شروع میشود و در خط های بعدی به ترتیب زیاد میشوند که بیان کننده ی اولویت روت ها روی آن id یا همان extension خاص (1234 در مثال پایین) است
                command = اینکه چه اتفاقی برای این روت با این اولویت باید بیفتد و در نهایت چه اپلیکیشنی روی این exten باید اعمال شود
                یعنی مثلا وقتی 1234 توسط شخصی شماره گیری شود اولین اتفاقی که بیفتد این است که برای شخص فایل سلام پخش شود و سپس به داخلی ۱۰۰ وصل شود:
                کد PHP:
                exten => 1234,1,playback(salam)
                exten => 1234,2,dial(sip/100
                آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 08-10-2014, 03:49 PM.
                Telegram : https://telegram.me/linuxzone

                voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                کامنت


                  #9
                  فکر میکنم الان دیگه مفاهیم اولیه رو متوجه شده باشین
                  شروع میکنیم به توضیح در مورد اپلیکیشن های متفاوت در استریسک
                  سعی میکنم هر اپلیکیشن رو طی یک موضوع جدید ایجاد کنم.
                  Telegram : https://telegram.me/linuxzone

                  voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                  Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                  Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                  Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                  LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                  Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                  کامنت


                    #10
                    اپلیکیشن Answer در استریسک asterisk

                    Asterisk CMD Answer
                    کد PHP:
                    exten => s,1,Answer() 
                    این اپلیکیشن برای جواب دادن استریسک به یک چنل در حال زنگ خوردن می باشد.
                    اگر این اپلیکیشن برای چنلی که در حال زنگ خوردن نباشد مورد استفاده قرار گیرد در حقیقت هیچ تاثیری نخواهد داشت.
                    داخل پرانتز شما می توانید عددی برحسب میلی ثانیه قرار دهید که مدت زمان تاخیر در پاسخ به چنل توسط استریسک را مشخص میکند

                    مثال زیر رو میزنم تا کاملا روشن بشه:
                    مثلا برای تماسهای ورودی که میخواهیم یک فایل صوتی(IVR) پخش شود چنل را ابتدا Answer میکنیم و سپس فایل رو براش پخش میکنیم.
                    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-02-2015, 05:38 PM.
                    Telegram : https://telegram.me/linuxzone

                    voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                    کامنت


                      #11
                      اپلیکیشن Dial در استریسک asterisk

                      asterisk CMD Dial
                      کد PHP:
                      exten => s,1,Dial(Dahdi/g0/0912222222) 
                      این اپلیکیشین برای ایجاد تماس یا اصطلاحا دایال کردن یک چنل (یک مقصد که می تواند یک داخلی و یا شماره تلفن باشد که باید از طریق یک چنل شماره گیری شود )مورد استفاده قرار میگیرد

                      مثلا میخواهیم یک داخلی iax را شماره گیری کنید
                      کد PHP:
                      exten => 300,1,Dial(iax2/300
                      ویا برای گرفتن یک داخلی sip
                      کد PHP:
                      exten => 100,1,Dial(sip/100
                      برای شماره گیری یک شماره تلفن از طریق خطوط شهری متصل به سرور با استفاده از کارت:
                      (درایور کارت dahdi می باشد و گروه پورت های کارت g0 می باشد- گروه پورت ها را می توانید از فایل dahi-channels.conf تغییر دهید)
                      کد PHP:
                      exten =>_9xxxxxxxx,1,Dial(dahdi/g0/${EXTEN:1}) 


                      نکته:
                      در روت بالا شماره های ۸ رقمی که ۹ به اولشان اضافه شده را از طریق کارت به بیرون (خطوط مخابرات) ارسال میکنیم وقبل از ارسال، 9 را از اول شماره حذف میکنیم. حذف سر شماره از طریق : و سپس تعداد رقم سر شماره جلوی متغیر شماره ای که دایال میشه ({EXTEN}) انجام میشه. مثلا :
                      کد PHP:
                      exten => 988776655,1,Dial(dahdi/g0/${EXTEN:1}) 


                      متغیر {EXTEN}$ همان شماره ی 988776655 می باشد که باید 9 را از اول آن حذف کرد
                      وقتی جلوی EXTEN دو نقطه و سپس ۱ میذاریم یک عدد از اول آن حذف میکنیم و سپس به سمت چنل ارسال میشه.

                      چنل = مسیری که شماره از طریق اون دایال میشه.

                      اگر سر شماره نداشته باشیم:
                      کد PHP:
                      exten =>_x.,1,Dial(dahdi/g0/${EXTEN}) 


                      برای شماره گیری یک شماره تلفن از طریق خطوط شهری متصل به گیت وی که با سرور ترانک خورده (مثلا یک ترانک sip به نام out):
                      کد PHP:
                      exten =>_9.,1,Dial(sip/out/${EXTEN:1}) 


                      برای دایال کردن داخلی های در یک سرور استریسک دیگه که با سرور شما ترانک iaxی داره بنام serverb
                      (رنج داخلی های سرور موردنظر 2000ی میباشد)
                      کد PHP:
                      exten =>_2xxx,1,Dial(iax2/serverb/${EXTEN}) 


                      پارامترهایی که برای این اپلیکیشن میتوانیم استفاده کنیم بعد از دادن چنل میتوانیم time به دایال بدهیم
                      یعنی مثلا چنل مورنظر تا ۱۵ ثانیه زنگ بخورد

                      کد PHP:
                      exten => 100,1,Dial(sip/100,15


                      و دادن option های گوناگون به این اپلیکیشن مثلا timeout که از گزینه ی t استفاده میکنیم:
                      کد PHP:
                      exten => 100,1,Dial(sip/100,15,t


                      مثلا میخواهیم داخلی 100 تا ۲۰ ثانیه زنگ بخوره و اگر جواب نداد داخلی 101 زنگ بخوره:
                      کد PHP:
                      exten => 100,1,Dial(sip/100,20,t)
                       
                      exten => 100,2,Dial(sip/101


                      و یا مثلا وقتی 100 شماره گیری شد ۳تا داخلی باهم زنگ بخورن:
                      کد PHP:
                      exten => 100,1,Dial(sip/100&sip/101&sip/102


                      دقت کنید که گزینه ها بعد از مدت زمان کال (۱۵ ثانیه در مثال بالا) می آیند و چنانچه نخواستید که مدت زمان بدید جای آنرا باید خالی بگدارید
                      کد PHP:
                      exten => 100,1,Dial(sip/100,,L(180000)) 

                      در مثال بالا من گزینه ی L دادم که محدودیت در تماس ایجاد میکنه
                      تا 180000 میلی ثانیه بعد از برقراری تماس ارتیاط قطع خواهد شد.
                      آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 09-19-2014, 02:13 AM.
                      Telegram : https://telegram.me/linuxzone

                      voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                      Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                      Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                      Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                      LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                      Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                      کامنت


                        #12
                        اپلیکیشن Playback در استریسک asterisk

                        Asterisk CMD Playback
                        کد PHP:
                        exten => s,1,Playback(wrong-exten
                        این اپلیکیشن وظیفه پخش فایل صوتی و یا تصویری را بر عهده دارد

                        نکته۱:
                        جلوی این اپلیکیشن داخل پرانتز که نام فایل را وارد میکنید نباید پسوند فایل را هم بنویسید.

                        نکته۲:
                        فایلی صوتی که داخل پرانتز قرار می گیرد (نام فایل بدون پسوند) باید در مسیر زیر قرار گیرد:
                        کد PHP:
                        /var/lib/asterisk/sounds
                        درحقیقت اپلیکیشن در مسیر بالا دنبال فایل میگردد

                        نکته۳:
                        در صورتی که فایل شما در پوشه ی خاصی در مسیر بالا قرار داشت مثلا پوشه custom در پوشه ی اصلی sounds
                        یعنی در این مسیر:
                        /var/lib/asterisk/sounds/custom/
                        باید ابتدا پوشه custom و بعد از یک slash(/) نام فایل را بگذارید
                        کد PHP:
                        exten => s,1,Playback(custom/wrong-exten
                        شما میتوانید چند فایل را به نوبت و پشت سر هم پخش کنید. کافیست که نام فایل ها را پشت سرهم در پرانتز بنویسید و بین آنها & قرار دهید:
                        کد PHP:
                        exten => s,1,Playback(wrong-exten&beep&try-again&beep&thankyou
                        مثال بالا ۵ فایل صوتی را پشت سر هم پخش میکند

                        متوانید در پرانتز و بعد از نام فایل از گزینه های palyback نیز استفاده نمایید از جمله skip

                        کد PHP:
                        exten => s,1,Playback(wrong-exten,skip
                        با استفاده از این گزینه شما مشخص میکنید که فایل تنها در صورت answer شدن چنل پخش شود و در صورت answer نشدن چنل playback فایل را پخش نمیکند
                        درحقیقت وقتی از این گزینه استفاده نمیکنید playback خودش ابتدا چنل را Answer میکند(در صورتی که چنل answer نشده باشه ) و سپس فایل را پخش میکند.
                        پس زمانی که فقط نام فایل را میدهیم و از گزینه بالا هم استفاده نمیکنیم چنل چه answer شده باشد و چه نشده باشد فایل پخش خواهد شد.
                        آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 10-07-2014, 02:05 PM.
                        Telegram : https://telegram.me/linuxzone

                        voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                        Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                        Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                        Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                        LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                        Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                        کامنت


                          #13
                          اپلیکیشن Background در استریسک asterisk

                          Asterisk CMD Background
                          کد PHP:
                          exten => s,1,Background(mani-ivr
                          مشابه اپلیکیشن playback این اپلیکیشن هم فایل صوتی پخش میکند با این تفاوت که منتظر وارد کردن یه شماره هم هست.
                          این اپلیکیشن برای مواقعی که میخواهیم عددی از مخاطب بگیریم مورداستفاده قرار میگیره مثل ivr
                          مثلا : برای اتصال به بخش فروش(صف فروش) عدد یک و برای اتصال به بخش فنی(صف فنی) عدد دو و برای اتصال با اپراتور(داخلی ۱۰۰) منتظر بمانید:
                          کد PHP:
                          exten => s,1,Answer()
                          exten => s,2,Background(ivr)
                          exten => 1,1,queue(sales)
                          exten => 2,1,queue(technical)
                          exten => t,1,dial(sip/100
                          (در مورد نحوه ایجاد صف در پست های بعدی خواهیم گفت)
                          آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 01-18-2015, 06:26 PM.
                          Telegram : https://telegram.me/linuxzone

                          voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                          Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                          Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                          Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                          LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                          Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                          کامنت


                            #14
                            اپلیکیشن Verbose در Asterisk

                            Asterisk CMD Verbose
                            کد PHP:
                            exten=>s,1,Verbose(4,The channel name is ${CHANNEL}) 

                            استریسک Application های ساده ای در dialplan به منظور print اطلاعات در اینترفیس Command Line دارد که Verbose نامیده میشود. اپلیکیشن Verbose در حقیقت 2 پارامتر میگیرد. اولین پارامتر در حقیقت حداقل سطح verbosity (حداقل Verbosity Level) و پارامتر دوم عبارتی است که باید print شود. در مثال زیر با شماره گیری 1234 شما در لاگ کنسول در صورتی که verbosity level عدد 3 یا بالاتر باشد نام channel را با فرمت The channel name is channel name خواهید دید :
                            کد PHP:
                            exten=>1234,1,Verbose(3,The channel name is ${CHANNEL}) 
                            گاهی اوقات در Dialplan شما نیاز دارید در کنسول بررسی کنید که آیا متغییری که مثلا در priority بالاتر set کردید مقدار میگیرد یا نه باید از این اپلیکیشن استفاده کنیم. به مثال زیر توجه کنید :
                            کد PHP:
                            exten=>s,n,Verbose(${CODE}) 

                            آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 10-22-2015, 11:56 AM.
                            Telegram : https://telegram.me/linuxzone

                            voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                            Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                            Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                            Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                            LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                            Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                            کامنت


                              #15
                              اپلیکیشن Read در Asterisk

                              Asterisk CMD Read


                              کد PHP:
                               exten=>3000,1,Read(var,file ke gharar ast pakhsh shavad

                              اپلیکیشن read به شما این امکان را میدهد که یک فایل صوتی برای تماس گیرنده پخش کنیم و ورودی عددی از مخاطب دریافت کنید و آن را درون یک متغییر ذخیره کنید. اولین پارامتر برای اپلیکیشن read نام متغییری هست که قرار است ایجاد شود و دومین پارامتر در حقیقت فایلی هست که قرار است پخش شود.


                              نکته : اگر شما بخواهید چندین صدا را پشت سر همدیگر پخش کنید کافیست بین صداها از "&" استفاده کنید. دقیقا چیزی شبیه به اپلیکیشن background که در آن نیز میتوانیم چندین صدا را پخش کنیم.


                              شما میتوانید چندین پارامتر دیگر را نیز میتوانید به اپلیکیشن read پاس دهید همانند پارامترهایی برای کنترل تعداد اعداد، timeout و ... . که شما میتوانید با اجرای دستور core show application read در کنسول استریسک لیست کامل پارامترها را دریافت کنید. اگر timeout مشخص نشود اپلیکیشن read زمانی پایان خواهد یافت که تماس گیرنده کلید "#" (شارپ) را فشار دهید.
                              کد:
                              exten => 3000,1,Read(var,shomare dakheli morede nazar ra vared konid)
                              exten => 3000,n,Playback(shoma dakheliye)
                              exten => 3000,n,SayNumber(${var})
                              exten => 3000,n,Playback(ra vared kardeid)

                              در مثال بالا اپلیکیشن read ابتدا فایلی پخش میکند که در آن یک شماره داخلی را از مخاطب میخواهد که وارد کند. و وقتی تماس گیرنده مثلا شماره 4000 را وارد کند سیستم این 4000 را در متغییر "var" ذخیره میکند سپس بعد از پخش فایل بعدی با اپلیکیشن "saynumber" که بعدا مورد بررسی قرار میدهیم متغییر "var" را پخش میکند.


                              در حقیقت این طور پخش میشود.
                              شما داخلی 4000 را وارد کرده اید.
                              Telegram : https://telegram.me/linuxzone

                              voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                              Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                              Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                              Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                              LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                              Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                              کامنت

                              درباره انجمن منطقه لینوکسی ها

                              انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

                              شبکه های اجتماعی

                              ایمیل مدیریت

                              Habili@linux-zone.org

                              در حال انجام ...
                              X