[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
Sat Jan 14 09:09:37 MSK 2012


Just a little addition, tried with Septembers git and the latest.
Also, if caller is a registered SIP endpoint - it get's EARLY MEDIA
ok.

2012/1/13 Anton VG <anton.vazir at gmail.com>:
> 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