Час і Asterisk Телеком
Сучасні технології: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys
Коментарі
-
vmware (2015-11-18 03:17): Сайт хороший шкода загнувся Влад (2015-11-14 04:34): Я вибачаюсь. намагаюся розібратися в цьому corn сам зовсім не програміст. Але не як не можу зрозуміти куди вводити цю строчку. так купили у них, так ще й плюшки за гроші Antonio (2015-05-25 00:08): Дякую, цікаво adward (2015-05-24 06:44): я до речі, звернув увагу, що на моєму сайті все працює не під користувачем root але все одно вилітає ця помилка. я зайшов у wp-settings і не можу знайти там mkdir() … або. 5>Наталія (2015-01-14 00:39): Зіткнулася з цією проблемою в iOs. Дуже цінна рекомендація щодо відкриття через рідер. Чорні смуги зникли. Дякую! Олександр (2014-11-01 21:21): Чому пропало повідомлення 401 auth від asterisk при реєстрації з боку kamailio, хіба астериск відразу приймає.
Час та Asterisk
Грудень 21st, 2008 by Сергей Тамкович

res_timing_timerfd
Починаючи з версії 2.6.22, у ядрі доступно нове API для таймінгу — timerfd() . Ключовою ідеєю цього API є асоціація таймерів із файловими дескрипторами. Так Так! Тепер із таймерами можна працювати як із звичайними файлами. Виклик
створює таймер та повертає файловий дескриптор асоційований з ним. Налаштувати створений таймер можна за допомогою дзвінка:
Де fd - файловий дескриптор,повернутий викликом int timerfd_create(int clockid) , timer - покажчик на структуру з новими налаштуваннями таймера, а previous - покажчик на структуру, де буде збережено поточні налаштування таймера. Тепер, якщо викликати read() на дескрипторі, асоційованому з таймером, виклик заблокується до спрацьовування таймера, інакше, read() поверне ціле 64 бітне значення, що містять кількість спрацьовувань таймера.
res_timing_pthread
Разом з новими API часу, Asterisk був доданий модульres_timing_pthread. Принцип роботи цього модуля полягає у створенні окремого потоку (thread) у фоновому режимі. Далі, за допомогою викликів ast_cond_wait() і ast_cond_timedwait() (які є аналогами викликів pthread_cond_wait() і pthread_cond_timedwait() ) при кожному тику таймера у файловий дескритер пайпа записується байт 0x2A. Цей модуль дуже інтенсивно використовує процесор. Вже були скарги про неможливість використання цього модуля у пристроях із слабкими (портативними) процесорами. Також поки не ясно, як зміниться точність таймера, що надається даним модулем, при завантаженні системи близької до максимальної. Не варто використовувати цей модуль на production системах, це, скоріше, демонстрація можливостей нового API часу.
res_timing_dahdi
Цей модуль є реалізацією стандартного, на сьогоднішній день, таймера - модулів DAHDI (Zaptel). Вихідний код модуляres_timing_dahdiє найменшим, т.к. його єдиним завданням є трансляція викликів між API часу Asterisk та модулями DAHDI (Zaptel), за допомогою ioctl(). За сумісництвом, цей таймер є «найдорослішим» і обкатаним рішенням для Asterisk.
API часу в Asterisk
Використана література
One Response to “Час та Asterisk”
Дякую! Дуже корисна стаття. Але було б цікаво почути, де самі таймінги вибираються.