20 dec 2011 kl. 22:40 skrev Gautam Batra:
Hi,
Thanks for your replies. Is it possible to play an audio file in the case of a re-invite directly from kamailio instead of freeswitch by using rtpproxy_stream2uac() or something similar?
Kamailioi is still a proxy and from the endpoint point of view is not involved in the media plane. If you managed to do that many endpoints would ignore the packets or see them as a DOS attack attempt. Other endpoints might just play them. In later releases of Asterisk, we lock to the IP address of the peer and would ignore these. Asterisk used to send music-on-hold like this before, but we considered it a security issue and started reinviting to make Asterisk involved in the call again to play music on hold. Asterisk can do that, because it's a b2bua and is an endpoint in the call. Kamailio can't initiate a reinvite in the call.
/O
Gautam
On Mon, Dec 12, 2011 at 4:50 AM, Olle E. Johansson oej@edvina.net wrote:
12 dec 2011 kl. 10:45 skrev Daniel-Constantin Mierla:
Hello,
On 12/9/11 9:04 PM, Gautam Batra wrote:
Hello,
I have a kamailio sip proxy server with freeswitch acting as SBC. I want to redirect the call to freeswitch when hold is pressed so that i can play music on hold. I tried this by using rewritehostport in case of a re-invite, but the call drops in that case. Could someone please help me with this?
it is not possible to redirect established calls (it breaks the RFC3261), you have to route the call through freeswitch from its start. Perhaps you can use freeswitch without relaying the media in first place and when you have on hold, you set media patch to go through freeswitch.
The only solution is having FreeSwitch send an invite with replaces to grab the call. The question is how to get it back.
/O
--- * Olle E Johansson - oej@edvina.net * Cell phone +46 70 593 68 51, Office +46 8 96 40 20, Sweden