Hi list, I currently don¹t proxy audio nor have any plans to for all calls, except for the "302 Redirect", where I need kamailio to become a b2bua with RTPproxy (or for the record CALEA).
However, I can¹t seem to get the ³if² statement down on where ³engage_media_proxy² gets called without doing it for all outbound calls. What is the best way to identify a call that was from a SIP client that issued a 302?
My last effort was: if ( uri == mysqlf && is_method("INVITE") ){
But that seemed to get every call. Any guidance would be appreciated, thanks.
-graham
Hi!
Note: There are 2 RTP proxies for Kamailio: for Kamailio <= 1.3: rtpproxy (controlled via nathelper module) and mediaproxy (controlled via mediaproxy module)
for Kamailio >= 1.4: rtpproxy (controlled via nathelper module) and mediaproxy2 (controlled via mediaproxy module)
mediaproxy2 is a Linux kernel module and I think you can not record with it. AFAIK rtpproxy supports recording of sessions. http://www.kamailio.org/docs/modules/devel/nathelper.html#id2506972
3xx can be caught in failure_route.
There you execute get_redirects("*"); the force_rtpproxy and then t_relay. Further make sure that force_rtp_proxy() is also called for the 200 OK response (reply route) and furter in-dialog requests.
regards Klaus
Graham Wooden schrieb:
Graham Wooden schrieb:
1. use t_on_reply() in failure route to activate a reply route for this transaction 2. mark the dialog somehow, so that you can cal force_rtp_proxy also for reINVITEs of this dialog (e.g. by adding a record route parameter which you can check after loose_route() or by using the dialog module) 3. in reply route check if response code has body with content type sdp (textops module) and if present call force_rtp_proxy.
For how enforcing rtpproxy works in general I recommend to make a sample configuration with the sipwise.com wizard.
regards klaus
Sorry for the late reply; things have just been way hectic and haven't had time to circle back around on this.
Klaus, what would be the best way to call force_rtp_proxy() in the reply_route section? As mentioned prior, I don't want to handle the audio for all calls. Do I need to set a flag or something? I have rtpproxy installed and kamailio sees it (via the sock). I am doing the force_rtp_propxy in the 302 statement...
What is occuring now is the call goes back out to the PSTN but there is no audio....
Any guidance is much appreciated.
-graham
On 10/28/08 4:20 AM, "Klaus Darilion" klaus.mailinglists@pernau.at wrote:
Graham Wooden wrote:
You have 2 possibilities:
- use the same reply route for all transaction and mark the "rtpproxy-ing" transaction with a flag - activate the reply-route with force_rtp_proxy only for those transcation which need it. Further, put a "cockie" (a record-route) parameter) for this transaction into the record router header, .e.g nat=yes. Then, when doing losse_route for in-dialog requests check for the existence of the parameter (see README of rr module) and if nat=yes, then call force_rtp_proxy and active the corresponding reply router.
in the reply route call force_rtp_proxy if reply code is 180 or 183 or 200.
regards klaus