Некоторые приложения в Asterisk из разряда записи разговоров, трёхсторонних конференций, music on hold, требуют наличия поставщика прецезионных таймингов. На "железной" машине "звёздочка" может вычислять их исходя из тиков процессора. На виртуальной машине, особенно под Hyper-V, тики не имеют ничего общего с текущим в реальном мире временем. Поэтому требуется какой-либо другой источник устойчивого ритма.
Hyper-V предоставляет виртуальным машинам такую услугу. Нужно только позаботиться о том, чтобы её взять. Применительно к Linux-у для этого требуется.
- Установить более-менее свежее ядро из 4-й ветки.
- Проверить, что поставщиком времени является hyperv_clocksource_tsc_page. Посмотреть можно здесь: "/sys/devices/system/clocksource/clocksource0/current_clocksource".
- Убедиться, что к Asterisk-у подключен и работает модуль "res_timing_timerfd.so". Посмотреть можно командой "module show".
При соблюдении перечисленных условий всякие голосовые фичи, требующие отсчёта таймингов, начинают нормально работать в HyperV-шной виртуалке в том числе.