[SR-Users] Fwd: Kamailio as SBC / LB Media-Servers farm

Klaus Darilion klaus.mailinglists at pernau.at
Fri Nov 4 15:08:39 CET 2011


On 04.11.2011 10:57, Sammy Govind wrote:
> SORRY for PM but this is not getting through to the users List due to size.

I have cc-ed the list.
>
> ---------- Forwarded message ----------
> From: *Sammy Govind* <govoiper at gmail.com <mailto:govoiper at gmail.com>>
> Date: Fri, Nov 4, 2011 at 1:55 PM
> Subject: Re: [SR-Users] Kamailio as SBC / LB Media-Servers farm
> To: "SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) -
> Users Mailing List" <sr-users at lists.sip-router.org
> <mailto:sr-users at lists.sip-router.org>>
>
>
> Klaus: mhomed did work indeed - no need to force_send_socket() now :) Thanks
>
> I'm progressing abit.
>
> RTP-Proxy was run in bridged mode like this.
>
> *rtpproxy -l 109.XX.XXX.212/192.168.2.29 <http://192.168.2.29> -s
> udp:localhost:22222 -F -d DBUG*

See description of i,e flag:
http://kamailio.org/docs/modules/3.2.x/modules/rtpproxy.html#id2535618

Thus in your setup 109.... is the "internal" interface and 192.... is 
the "external" interface. That's mixed. Thus I advice you to switch the 
order of IP addresses so that internal is 192... and external is 109...

This is essential to use the i,e flags correctly.

> I'm getting RTPstats published on Kamailio/RTPproxy syslog.
>
> I am using Echo() application in asterisk. So I've observed that my
> audio went to asterisk and asterisk did indeed send audio back to the
> RTPproxy assigned ports BUT the RTPproxy isn't forwarding the Audio back
> to the client or may-be the audio is lost somewhere in between
> RTPproxy<--->Client. /[See Wirshark Flow-Diagram taken
> on-Kamailio/RTPproxy Server]/

In your trace you see, that RTP does not use the internal IP address, 
but only the external IP address. Thus I suspect that the RTP packets 
from Asterisk to the public rtpproxy interface do not even arrive at 
rtpproxy.

>
> The # DTMF signal sent from Client phone reached asterisk safely and
> terminated the Echo() application.
>
> I did the  ip_forwarding thingie too.-- somebody mentioned to do this if
> using RTPproxy in bridged mode.

This is bullshit. People seem to not understand IP at all. rtpproxy is 
forwarding in user mode - it receives on a UDP socket and sends on a UDP 
socket. Thus, kernel based forwarding is not involved when using 
rtpproxy. You can disable IP forwarding again.

> #echo "1" >> /proc/sys/net/ipv4/ip_forward
> #sysctl -p
>
>
> Here are the corresponding Logs from Kamailio and rtpproxy.

The thing is quite easy. Swap the IP addresses when starting rtpproxy 
and then configure Kamailio to call rtpproxy with the proper i,e flags 
(as described in my previous email).

For example:

if (has_body("application/sdp")) {
   if ($si == "192.168.2.75") {
     # message from internal to external
     rtpproxy_manage("ie");
   } else {
     # message from external to internal
     rtpproxy_manage("ei");
   }
}

Put above code block in the main route block and also in a reply route 
which will be activated (or in the default reply route). Put some xlog 
statements around the rtpproxy calls to verify the proper command is called.

regards
Klaus





More information about the sr-users mailing list