From 3664f2c3438675bee5aef0cbbbf1e5affd649a91 Mon Sep 17 00:00:00 2001 From: FRIGN Date: Fri, 17 Oct 2014 22:57:42 +0200 Subject: 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. --- ratox.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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"); -- cgit v1.2.3