I'm running an esl socket outbound application and I have a systematic problem: in a particular situation, the execution of answer on incoming call has no effect.
This happens always when (and only in this case):
1. an incoming call is received (legA) and via dialplan I send the call to my socket outbound application
2. I make an outbound call with originate (legB)
3. I receive a CHANNEL_PROGRESS_MEDIA on legB
4. I do a "pre_answer" on legA
5, I do a "uuid_bridge" between legA and legB
in this phase, legA can hear the progress tone coming from legB (an in-band ringback)
5. legB answer the call and I receive a CHANNEL_ANSWER on legB
6. I do an execute of "answer" on legA
This "answer" has no effect!
I do both pre_answer and answer specifying the UUID parameter (sendmsg <uuid>), obviously using legA uuid .
I do the bridge specifying inbound uuid as first parameter and outbound uuid as second parameter: uuid_bridge <inbound_uuid> <outbound_uuid>
In fs_cli I see: [WARNING] switch_ivr_bridge.c:1412 reversing order of channels so this will work!
To me it seems that in uuid_bridge is done an inversion with my inbound/outbound channels and because I do an answer to the incoming uuid, probably (due to the inversion) is treated as outbound so the answer is ignored.
Attached to this email the .pcap file related to tcp traffic between Freeswitch and my socket outbound application where at time 8.562639 there is my sendmsg with the answer.
Stephen