Are you writing a Dialer or an IVR? A Dialer doesn't really need to answer calls. You can always have one program (or thread) with an inbound socket and another with an outbound socket.GuillermoOn Tue, Oct 8, 2013 at 3:30 PM, Marcin S <ms4esl@gmail.com> wrote:
I was considering this approach, however I don't know how to detect and answer a call in "socket inboud" esl mode.
2013/10/8 Guillermo Ruiz Camauer <grcamauer@gmail.com>
I handle all ESL communications from just one thread which receives and processes or generates all events and commands. I do have a timer for each call which I use for certain timeouts (user inputs and ring time).GuillermoOn Tue, Oct 8, 2013 at 4:20 AM, Marcin S <ms4esl@gmail.com> wrote:
Ok, I will try this approach. Am I right, that in order to handle oubound calls similiar to inbound, I will have to spawn new thread for each call?
2013/10/5 Guillermo Ruiz Camauer <grcamauer@gmail.com>I have a Dialer that uses ESL from C, but I make an inbound connection to Freeswitch. It is a socket which I keep open permanently.I recommend reading chapter 4 of the FreeSwitch Cookbook.
GuillermoOn Fri, Oct 4, 2013 at 5:09 AM, Marcin S <ms4esl@gmail.com> wrote:
_________________________________________________________________________3. how can i distinguish, whether this call is successfull or not?Here come the problems:My application is written in C. I create a handle to esl (esl_connect), then issue "bgapi originate ... &socket(127.0.0.1:8084 async full)" in order to handle this connection just like inbound call. So far so good.Hello,I'm trying to switch from dialogic api to freeswitch/esl. Dealing with inbound calls is easy (using esl outbound socket), however i have some problems with outbound calls.
1. esl creates new thread for my call - thats ok, it was expected - but I do not receive any events on this new handle...
2. esl_events fails - here is some strace output:
[pid 31588] send(5, "filter unique-id a88f1268-2c28-11e3-befa-311d1641c437\n\n", 55, 0) = 55
[pid 31588] recv(5, "Content-Type: command/reply\nReply-Text: +OK filter added. [unique-id]=[a88f1268-2c28-11e3-befa-311d1641c437]\n\n", 65535, 0) = 110
[pid 31588] send(5, "event plain ALL\n\n", 17, 0) = 17
[pid 31588] recv(5, "Content-Type: command/reply\nReply-Text: -ERR command not found\n\n", 65535, 0) = 64
[pid 31588] send(5, "linger", 6, 0) = 6
[pid 31588] send(5, "\n\n", 2, 0) = 2
[pid 31588] recv(5, "Content-Type: command/reply\nReply-Text: -ERR command not found\n\n", 65535, 0) = 64
What am I doing wrong?