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@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@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