[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 12:41:47 MSK 2012


Please disregard the questions, the problem was in the originating
ITSP - which did not accept the early media from my side.

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