Страница 1 из 5

Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 12:39
bartram
Есть установленный Asterisk 1.6.2.17.2. Использую в диалплане ExternalIVR()
Само приложение такое
Код:

#!/usr/local/bin/php
<?php
printf("S,$argv[1]\n");
$handle = fopen('php://stdin', 'r');
$count = 10;

while (false !== $str = substr(fgets($handle),0,1)) {

if ($str == "#")
{
printf("E,Stop generator\n");
break;
}


}
printf("V,myout=$endstr\n");



На одном сервере все происходит нормально, код отрабатывает без ошибок и прочих проблем, на другом сервере при выполнении команды
Код:
printf("S,$argv[1]\n");

происходит заикание звука, либо вообще все молчит.
Подскажите куда копать? В чем может быть проблема? Во время воспроизведения файла нагрузки на процессор нет, поэтому я думаю это не аппаратные проблема.

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 13:17
ded
Тот сервер, где заикание звука, не виртуалка ли часом?
Заикание звука при Music-on-hold & voice promts (+IVR promts) чаще всего из-за тайминга, который несовершенен. Железные Астериски используют аппаратный real time, виртуалкам сложнее.
Попробуйте написать демо диал план для тестирования сообщений IVR, без РНР, что-то типа
exten => s,1,Answer
exten => s,n,Wait(2)
exten => s,n,Background(Welcome-to-ABC-company)
exten => s,n,Background(For-sales-press-one)
exten => s,n,Background(Gor-tech-support-press-two)
exten => s,n,Goto(s,2)

В версиях 1.6 и выше можно указать тайминг internal.

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 13:22
bartram
В обычном диалплане все нормально - звук не заикается. Проблема только внутри этой функции. Машина не виртуальная.

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 13:41
ded
OK. Сравнивайте версии РНР на обеих машинах.

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 14:21
bartram
Версия php на "нормальном" сервере
PHP 5.3.5 with Suhosin-Patch (cli) (built: Feb 27 2011 12:45:44)
на том где все сбоит
PHP 5.3.3 (cli) (built: Jan 15 2011 12:53:01)

Может обновить? Думаете в этом дело?

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 14:34
ded
Думаю да. Проверить - только Вам возможность.
Ещё есть маленькая вероятность разные форматы аудио файлов. Но это думаю Вы уже смотрели.

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 20:20
bartram
Обновил до PHP 5.3.6. Заикания все равно есть. Форматы файлов одинаковые.

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 20:36
bartram
Кстати, во время нажатия любой клавиши звук появляется на секунду, а потом опять пропадает.

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 21:07
ded
tcpdump + Wireshark

Re: Проблема с ExternalIVR()

Добавлено: 04 апр 2011, 21:16
bartram
сделал dump на том месте где заикается, что дальше?