اطلاعیه

Collapse
No announcement yet.

محدود کردن مدت زمان مکالمه در استریسک و freePBX

Collapse
X
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
new posts

  • محدود کردن مدت زمان مکالمه در استریسک و freePBX

    همانطور که میدانید Dial برنامه ای است برای شروع یک تماس در استریسک و ما با استفاده از پارامترهای مختلف آن می توانیم امکانات بسیاری به سیستم تلفنی خود بدهیم:

    کد PHP:
     L(x[:y][:z]): 
    Limit the call to 'x' mswarning when 'y' ms are leftrepeated every 'z' msOnly 'x' is required'y' and 'z' are optional
    پارامتر L و مقادیرش در این برنامه برای محدود کردن مدت زمان مکالمه استفاده می شود:

    کد PHP:
     Dial(Tech/Resource,timeout,L(x[:y[:z]])) 

    مقدار لازم برای این پارامتر مقدار x است که نشان دهنده محدودیت تماس به هزارم ثانیه (milisecond) است. پس از سپری شدن این مدت در صورتی که کانال صوتی قبلا توسط یکی از طرفین به پایان نرسیده باشد، قطع می شود.

    دو مقدار دیگر (y , z) که برای معین کردن زمان اعلام اولین اخطار اتمام زمان مکالمه و دوره زمانی پخش این اعلام است، ضروری نیست. برای مشخص کردن فایل صوتی اخطار نزدیک شدن به پایان مکالمه می توان از متغیر {LIMIT_WARNING_FILE}$ استفاده کرد در غیر این صورت در هربار میزان زمان باقیمانده تا انتهای مکالمه پخش خواهد شد. کافی است پیش از این مقدار این متغیر را برابر نام فایل مورد نظر خود قرار دهیم. در ضمن می توان از متغیرهای {LIMIT_PLAYAUDIO_CALLER}$ و {LIMIT_PLAYAUDIO_CALLEE} برای محدود کردن پخش اخطار برای تماس گیرنده و یا کسی که با او تماس گرفته شده استفاده کرد. این متغیرها مقادیر yes و no می گیرند. نمونه استفاده از این پارامتر برای محدود کردن تماس هایی که از خطوط پرهزینه مخابرات استفاده می کنند در زیر آورده شده است. در این مثال هر تماس خروجی تا 12 دقیقه برقرار خواهد بود و از 1 دقیقه به بعد با فاصله ۳۰ ثانیه اخطار نزدیک شدن به انتهای تماس شنیده خواهد شد:

    کد PHP:
    LIMIT_PLAYAUDIO_CALLER yes|no (default yes) - پخش صدا برای تماس گیرنده
    LIMIT_PLAYAUDIO_CALLEE yes|no پخش صدا برای دریافت کننده ی تماس
    LIMIT_TIMEOUT_FILE فایلی که قرار است وقتی که زمان به پایان رسید پخش شود 
    LIMIT_CONNECT_FILE فایلی که قراراست وقتی به هنگام وصل تماس پخش شود
    LIMIT_WARNING_FILE فایلی که به عنوان اخطار پخش میشود در صورت تعریف شدن Y
    اگر LIMIT_WARNING_FILE تعریف نشود ،اخطار به صورت پیش فرض به این صورت اعلام میشود :شما [ XX دقیقه] YY ثانیه وقت دارید
    ("You have [XX minutes] YY seconds").


    نمونه استفاده از این پارامتر برای محدود کردن تماس هایی که از خطوط پرهزینه مخابرات استفاده می کنند در زیر آورده شده است. در این مثال هر تماس خروجی تا 12 دقیقه برقرار خواهد بود و از 1 دقیقه به بعد با فاصله ۳۰ ثانیه اخطار نزدیک شدن به انتهای تماس شنیده خواهد شد:

    کد PHP:
    exten => _9X.,1,Noop(Calling through PSTN
    same => n,Dial(Dahdi/g0/${EXTEN:1},20,L(720000:60000:30000

    در سیستم های گرافیکی مبتنی بر استریسک نیز می توان از این امکان استفاده کرد. مثلا در رابط گرافیکی محبوب freePBX و سیستم های مبتنی بر آن، کافی است از منو مربوط به تنظیمات، بخش General Settings را انتخاب کنیم. در این بخش زیر عنوان Dialing Options امکان اضافه کردن پارامترهای برنامه ()Dial برای کلیه تماسها و یا تنها برای تماسهای خروجی وجود دارد. کافی است پارامتر L و مقادیر مورد نیاز آن را مشخص کنیم:

    نکته:
    برای اینکه مثلا داخلی خاصی را محدود کنیم مانند داخلی ۲۰۵ :
    کد PHP:
    exten => 9x./205,1,dial(dahdi/g0/${EXTEN:1},,L(50000)) 
    روت بالا برای تماس خروجی از کارت dahdi هست که با سرشماره ۹ تماس بیرون میره از داخلی ۲۰۵ و تماس بعد از ۵۰ ثانیه قطع میشه


    برا جزییات بیشتر لینک زیر رو یه نگاه بندازین:
    http://www.astblog.com/2008/11/04/se...warning-audio/
    ویرایش توسط masome vahid : http://linux-zone.org/forums/member/11-masome-vahid در ساعت 03-03-2015, 08:45 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 : http://www.linkedin.com/profile/view...15&trk=spm_pic

  • #2
    سلام
    من میخوام برای داخلی ها به صورت جداگانه محدودیت زمان مکاله بزارم ولی نمیدونم باید چیکار کنم . در صورت امکان راهنمایی کنید

    Comment


    • #3
      چرا از coustom context استفاده نمیکنید؟
      Telegram : https://telegram.me/linuxzone

      سال 97 :: دانسته هایمان را به اشتراک میگذاریم
      رویاهای خودت رو دنبال کن

      Comment


      • #4
        توی این ماژول امکان محدودیت زمانی مکالمه وجود ندارد

        Comment


        • #5
          پست اول ویرایش شد لطفا مجدد مطالعه بفرمایید
          در مورد درک بهتر مطلب میتونید پست های زیر رو هم مطالعه بفرمایید:
          http://linux-zone.org/forums/thread501.html
          http://linux-zone.org/forums/thread874-2.html
          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 : http://www.linkedin.com/profile/view...15&trk=spm_pic

          Comment


          • #6
            میشه توضیح بدید این کد پی اچ پی را دقیقه کجا بزاریم تا این داخلی محدود بشه

            Comment


            • #7
              نوشته اصلی توسط iran1 نمایش پست ها
              میشه توضیح بدید این کد پی اچ پی را دقیقه کجا بزاریم تا این داخلی محدود بشه
              ببینید شما روت های خودتون در استریسک رو باید در فایل extensions_custom.conf بنویسید
              یا به سرور ssh کنید و با ادیتور vi فایل رو ادیت کنید و یا با winscp به سرور وصل بشین و فایل بالا رو که در مسیر زیر هست باز و ادیت کنید:
              کد PHP:
              /etc/asterisk/extensions_custom.conf 
              کانتکس تمام داخلی ها در الستیکس from-internal هست و در حقیقت روت خروجی به سمت خطوط شهری در زیر این کانتکس نوشته شده. حالا اگه بخواید تغییری در این کانتکس بدید باید زیر کانتکس from-internal-custom در فایل بالا بنویسید. فایل رو که باز کنید کانتکس from-internal-custom رو خواهید دید کافیه زیر اون بنویسید.
              مثلا اگر کارت دارید و گروه کارت g0 باشه و تماس های به سمت بیرون سرشماره ۹ داشته باشه باید بنویسید:
              کد PHP:
              [from-internal-custom]
              exten => 9x./550,1,dial(dahdi/g0/${EXTEN:1},,L(1800000)) 
              که داخلی 550 تا ۳ دقیقه میتونه با بیرون حرف بزنه و بعد از ۳ دقیقه قطع میشه.
              ویرایش توسط masome vahid : http://linux-zone.org/forums/member/11-masome-vahid در ساعت 03-05-2015, 08: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 : http://www.linkedin.com/profile/view...15&trk=spm_pic

              Comment


              • #8
                نوشته اصلی توسط masome vahid نمایش پست ها
                ببینید شما روت های خودتون در استریسک رو باید در فایل extensions_custom.conf بنویسید
                یا به سرور ssh کنید و با ادیتور vi فایل رو ادیت کنید و یا با winscp به سرور وصل بشین و فایل بالا رو که در مسیر زیر هست باز و ادیت کنید:
                کد PHP:
                /etc/asterisk/extensions_custom.conf 
                کانتکس تمام داخلی ها در الستیکس from-internal هست و در حقیقت روت خروجی به سمت خطوط شهری در زیر این کانتکس نوشته شده. حالا اگه بخواید تغییری در این کانتکس بدید باید زیر کانتکس from-internal-custom در فایل بالا بنویسید. فایل رو که باز کنید کانتکس from-internal-custom رو خواهید دید کافیه زیر اون بنویسید.
                مثلا اگر کارت دارید و گروه کارت g0 باشه و تماس های به سمت بیرون سرشماره ۹ داشته باشه باید بنویسید:
                کد PHP:
                [from-internal-custom]
                exten => 9x./550,1,dial(dahdi/g0/${EXTEN:1},,L(1800000)) 
                که داخلی 550 تا ۳ دقیقه میتونه با بیرون حرف بزنه و بعد از ۳ دقیقه قطع میشه.
                سلام

                من از گیتوی سنگوما برای ارتباط با بیرون استفاده میکنم
                حالا میخام تعدادی از شماره هارو محدود کنم
                لطفا راهنمایی کنید از چه دستوری استفاده کنم؟!
                از این دستوری که گفتید استفاده کردم جواب نداد:
                exten => 0x./300,1,dial(dahdi/g0/${EXTEN:1},,L(1800000))
                من از ترانک سیپ و پیش شماره 0 برای شهری استفاده میکنم

                ممنون

                Comment


                • #9
                  سلام
                  خوب قطعا اون دستور برای شما کار نمیکنه چون از روی dahdi (یعنی کارت) داره تماس رومیفرسته بیرون. شما چون گیت وی داری و ترانک sip زدی اول باید نام ترانک رو پیدا کنی . وارد کنسول استریسک بشید و دستور sip show peers رو بزنید تا نام ترانک رو دربیارید. مثلا sangoma
                  کد PHP:
                  exten => 0x./300,1,dial(sip/sangoma/${EXTEN:1},,L(1800000)) 
                  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 : http://www.linkedin.com/profile/view...15&trk=spm_pic

                  Comment

                  پردازش ...
                  X