EHLO всеAsterisk AGI с проблемами C
Я вхожу в AGI с языком C, и через некоторое время у меня возникла проблема. Когда я воспроизвожу файл на канал с помощью GET DATA
(и других команд AGI), мне нужно применить функцию сна, чтобы это можно было воспроизвести, и у пользователя есть время, чтобы услышать его.
Мой частичный код выглядит так:
char line[80];
int digit;
setlinebuf(stdout);
setlinebuf(stderr);
printf("ANSWER\n");
printf("GET DATA en/pbx-transfer 5000 4 \n");
sleep(3);
printf("CHANNEL STATUS\n");
printf("HANGUP");
Звездочка показывает мне предупреждение о моем использовании sleep()
как это:
The FD we were waiting for has something waiting. Waitfordigit returning numeric 1
Почему это происходит?
1) Это учебный процесс, поэтому я вхожу в это, на самом деле я использую для окружения продуктов asterisk-perl. 2) Я использовал fgets, но вместо этого получаю ответ «200» от Asterisk. Я помню, что звездочка-перл имеет ту же проблему, мне пришлось добавить 3 секунды молчания перед получением данных. –
Вы получаете 200 при входе в систему. Вы прочитали весь ответ. Asterisk agi работает нормально. – arheops
да 200 это нормально, но если я попрошу звездочку сыграть файл, по крайней мере, должен сыграть его, не поспив ?. –