[Freeswitch-users] Unable to get rtp and pre_answer working while looping back via sip (Sofia Bug or I miss something?)

Anton VG anton.vazir at gmail.com
Fri Jan 13 14:14:54 MSK 2012


Hi Gentlemen!

Broke my brain trying to force my FS, controlled by ESL inbound to
give me early media in indirect calling scheme. Please help:

When call comes, in some cases, I do not just originate destination,
but need to dial on behalf of another user (not the user which
originally dialed in).
For this I dial back my FS box via sip, setting apropriate SIP
variables, so FS originates another call, as if the user I need
originated a call, and so so I have extra CDR and so on.

BUT there is a problem:If I dial like this, - EARLY MEDIA does not
work. 180 and 183 are send correctly and in time.
however, all works if I dial directly (dialing schemes are given below)

tcpdumping shows that there is no RTP coming to my FS box when I dial
doing one loop. BUT - RTP appears immediately after answering the
inbound channel:
(regardless if dialed destination answered or not) - so dialing
without the loop and  doing pre_answer - I get RTP OK,

if after a looped call i do pre_answer - I do not get RTP
Also, RTP appears immediately if instead pre_answer I do answer on call 2!

My dialing schemes:

**** Direct mode **********

Incoming call (UUID1)-> PARK
make UUID2
originate (using uuid2) sofia/gateway/some_gateway &park

Listen for CHANNEL_PROGRESS_MEDIA and do
pre_answer(UUID1)
uuid_bridge(UUID1,UUID2)

******** in a looped mode *******
Thread 1
_INCOMING CALL_ (call1)
Incoming call -> PARK
make UUID2
originate (using uuid2) sofia/gateway/MY_IP_ADDRESS/another_user &park

Listen for CHANNEL_PROGRESS_MEDIA and do
pre_answer(UUID1)
uuid_bridge(UUID1,UUID2)

Thread 2
_OUTGOING_ (call 2)
incoming call 2 (UUID3) (comes from call above) -> PARK
make UUID4
originate (using uuid4) sofia/gateway/some_gateway &park

Listen for CHANNEL_PROGRESS_MEDIA and do
pre_answer(UUID3)
uuid_bridge(UUID3,UUID4)

Any clue?

Regards,
Anton



Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list