summaryrefslogtreecommitdiff
path: root/ratox.c
diff options
context:
space:
mode:
authorFRIGN <dev@frign.de>2014-10-17 22:57:42 +0200
committersin <sin@2f30.org>2014-10-18 10:24:09 +0100
commit3664f2c3438675bee5aef0cbbbf1e5affd649a91 (patch)
tree58960b4fc540ac6cae188e55512b7d5812d61913 /ratox.c
parent0f2b352efb01d3f8b25e0a3cc836971da274d0c6 (diff)
Don't forget to queue call_out while incoming ringing
Else the call would be rejected immediately in case you receive a call and have not yet opened call_out for reading.
Diffstat (limited to 'ratox.c')
-rw-r--r--ratox.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ratox.c b/ratox.c
index 071f859..aa1b941 100644
--- a/ratox.c
+++ b/ratox.c
@@ -1779,6 +1779,17 @@ loop(void)
switch (toxav_get_call_state(toxav, f->av.num)) {
case av_CallStarting:
+ if (f->fd[FCALL_OUT] < 0) {
+ fd = fifoopen(f->dirfd, ffiles[FCALL_OUT]);
+ if (fd < 0) {
+ f->av.state &= ~INCOMING;
+ continue;
+ } else {
+ f->av.state |= INCOMING;
+ f->fd[FCALL_OUT] = fd;
+ }
+ }
+
r = toxav_answer(toxav, f->av.num, &toxavconfig);
if (r < 0) {
weprintf("Failed to answer call\n");