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:
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
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
Thanks Klaus. I will try the force_rtp_proxy() in the 302 failure_route tonight; I already have the get_redirects and t_relay in there.
However, what is the best way to get in there for the 200 OK for the reply without having it be for evey call?
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:
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
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
Graham Wooden schrieb:
Thanks Klaus. I will try the force_rtp_proxy() in the 302 failure_route tonight; I already have the get_redirects and t_relay in there.
However, what is the best way to get in there for the 200 OK for the reply without having it be for evey call?
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
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:
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
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
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:
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:
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
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
Graham Wooden wrote:
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?
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
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:
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:
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
Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users