0
EHLO everyone带有C问题的Asterisk AGI
我正在用C语言进入AGI,过了一段时间后我遇到了问题。当我使用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)这是一个学习的过程,所以这就是为什么我到这一点,其实我使用的生产环境中星号的Perl。 2)我确实使用过fgets,但是我收到了来自Asterisk的“200”答案。我记得asterisk-perl有同样的问题,我不得不在获取数据之前增加3秒的沉默。 – 2014-12-05 21:51:24
登录时会得到200。您已阅读所有回复。星号agi工作正常。 – arheops 2014-12-06 04:52:37
是啊200是好的,但如果我问星号玩一个文件,至少应该玩它没有我睡觉? – 2014-12-06 17:27:40