YATE(8) Telephony Engine YATE(8)

yate - راهnjاندازی موتور تلفنی YATE

yate [گزینه‌ها] [دستورات]

دستور yate یک موتور تلفنی است که از قابلیتnjهای کلاینت، PBX و سامانه پاسخ صوتی تعاملی (IVR) از طریق پلاگینnjها پشتیبانی میnjکند.

نمایش پیام راهنمای کوتاه و خروج
نمایش نسخه برنامه و خروج
ثبت وقایع با جزئیات بیشتر (میnjتوان چندین بار استفاده کرد)
ثبت وقایع بیnjصداتر و کمتر (میnjتوان چندین بار استفاده کرد)
تبدیل به دیمن، عدم نمایش خروجی مگر اینکه در گزارش ثبت شود
حالت تحت نظارت (supervised)، راهnjاندازی مجدد در صورت کرش یا قفل شدن، بهnjصورت اختیاری در ابتدا مکث میnjکند
فعالnjسازی چرخش فایل گزارش (نیازمند -s و -l)
ثبت وقایع در فایل - باید هنگام اجرا در حالت دیمن استفاده شود
نوشتن شناسه فرایند (PID) ناظر یا ریسه اصلی در فایل
استفاده از نام پیکربندی مشخصnjشده، بازنویسی مقدار پیشnjفرض "yate"
مسیر پوشه فایلnjهای پیکربندی، بازنویسی مقدار کامپایلnjشده
مسیر پوشه فایلnjهای دادهnjهای کاربری، بازنویسی مقدار کامپایلnjشده
مسیر پوشه ماژولnjها، بازنویسی مقدار کامپایلnjشده
مسیر پوشه مشترک (shared)، بازنویسی مقدار کامپایلnjشده
مسیر مطلق یا نسبی به پوشه ماژولnjهای اضافه (میnjتواند تکرار شود)
تغییر دایرکتوری کاری
تنظیم نام گره در یک کلاستر

فعالnjسازی رونوشت حافظه (core dumps) در صورت پشتیبانی سیستمnjعامل
افزایش حداکثر دستگیره فایل به مقدار کامپایلnjشده
تنظیم اندازه استخر نقاط بررسی صحت نظارتnjشده
کوتاه کردن و بازنویسی فایل گزارش به جای الحاق به آن
گزینهnjهای ویژه اشکالnjزدایی
لغو و خروج اضطراری (همراه با coredump در صورت مجاز بودن) در صورت برخورد با باگ
تلاش برای اشکالnjزدایی بنnjبستnjهای قفل متقابل (mutex deadlocks) با تعیین محدودیت حداکثر ۱۰ ثانیه، در صورت تکرار محدودیت نصف میnjشود
فعالnjسازی برخی قابلیتnjهای ایمنی و اشکالnjزدایی قفلnjگذاری، که کارایی را کاهش میnjدهد
تلاش برای بارگذاری ماژولnjها بدون اینکه نمادهای آنnjها بهnjطور سراسری قابل مشاهده باشند
فراخوانی dlclose() تا زمانی که با خطا مواجه شود
عدم تخلیه ماژولnjها از حافظه، تنها تلاش برای فراخوانی کد نهاییnjسازی آنnjها
مقداردهی اولیه مجدد پس از نخستین مقداردهی
خروج فوری پس از مقداردهی اولیه
تاخیر یک ثانیهnjای در ایجاد نخستین ریسه کاری (worker thread)
رنگی کردن خروجی با استفاده از دنباله نویسهnjهای کنترلی ANSI
خروج اضطراری در صورت برخورد با باگ حتی در زمان خاموش شدن برنامه
تلاش برای اشکالnjزدایی تخصیص اشیاء با شمارش اشیاء به ازای هر پلاگین، که کارایی را کاهش میnjدهد
عدم افزودن برچسب زمان به پیامnjهای اشکالnjزدایی
افزودن برچسب زمان نسبی نسبت به زمان شروع به پیامnjهای اشکالnjزدایی
افزودن برچسب زمان بر پایه مبدأ زمان (EPOCH یعنی 1970-01-01 GMT) به پیامnjهای اشکالnjزدایی
افزودن برچسب زمان بر پایه GMT به پیامnjهای اشکالnjزدایی در قالب YYYYMMDDhhmmss.uuuuuu
افزودن برچسب زمان بر پایه GMT به پیامnjهای اشکالnjزدایی در قالب YYYY-MM-DD_hh:mm:ss.uuuuuu
افزودن برچسب زمان منطقه زمانی محلی به پیامnjهای اشکالnjزدایی در قالب YYYYMMDDhhmmss.uuuuuu
افزودن برچسب زمان منطقه زمانی محلی به پیامnjهای اشکالnjزدایی در قالب YYYY-MM-DD_hh:mm:ss.uuuuuu

هر دستور بلافاصله پس از مقداردهی اولیه به ماژولnjهای YATE ارسال میnjشود. ماژولnjها نحو دستور را تعریف میnjکنند، بنابراین در اینجا شرح داده نشده است. لطفاً به مستندات هر ماژول مراجعه کنید.

- سیگنال SIGTERM و SIGINT (Ctrl-C) موتور را بهnjصورت تمیز متوقف میnjکنند
- سیگنال SIGQUIT (Ctrl-\) ماژولnjها را دوباره مقداردهی اولیه میnjکند
- سیگنال SIGHUP در صورت اجرا در حالت دیمن (-d) ماژولnjها را دوباره مقداردهی اولیه میnjکند
- سیگنال SIGUSR1 یک راهnjاندازی مجدد آرام و ملایم (زمانی که هیچ پلاگینی مشغول نیست) را آغاز میnjکند
- سیگنال SIGUSR2 یک راهnjاندازی مجدد فوری را آغاز میnjکند

در پیادهnjسازیnjهای مختلف *BSD تابع dlclose() معیوب است و ممکن است هنگام خروج خطای حافظه (segfault) ایجاد کند.

برخی پیادهnjسازیnjهای libpthread معیوب هستند و ممکن است در شروع ریسهnjها با شکست مواجه شوند یا هنگام پایان یافتن ریسه، پاکnjسازی را انجام ندهند.

Paul Chitescu <paulc@voip.null.ro>
Diana Cionoiu <diana@voip.null.ro>

yate-config(8)

September 2007 YATE