[SR-Users] Need help understanding/separating signaling from media

Grant Bagdasarian GB at cm.nl
Tue Feb 5 13:12:05 CET 2013


Hello,

Consider the below image like in my original e-mail.

User Agent 1-------------- Kamailio -------------- User Agent 2
         |                                                                                          |
         |                                                                                          |
         |                                                                                          |
          -------------- Media Server Cluster --------------

What if UA1 and UA2 are on different remote networks. Kamailio must have two interfaces connected to both networks in order to send/receive traffic.

Let's say UA1 is on 72.0.0.1 and UA2 is on 10.0.0.1.
Kamailio would have 72.0.0.2 and 10.0.0.2. But a media server must also have IP addresses in these ranges in order to receive traffic and in turn bridge them.

Would RTPProxy still work in this scenario?

Also, let's consider UA1 to be one of many SIP Trunk suppliers. Each using a different network. This would mean each media server must have multiple IP addresses configured  to exchange traffic with the suppliers.
How does RTPProxy work in a scenario like that? When allocating ports for each call, does it also look at the IP address where the call is coming from?

Some routes must be configured on the media servers for multiple remote networks to communicate with each other, but I think that's out of the scope of how RTPProxy handles things.

I hope someone could explain this to me.

Thanks!

Grant

-----Original Message-----
From: sr-users-bounces at lists.sip-router.org [mailto:sr-users-bounces at lists.sip-router.org] On Behalf Of Alex Balashov
Sent: Monday, January 28, 2013 5:11 PM
To: sr-users at lists.sip-router.org
Subject: Re: [SR-Users] Need help understanding/separating signaling from media

Hi Grant,

On 01/28/2013 11:03 AM, Grant Bagdasarian wrote:

> I think that the RTP Proxy module does precisely this, but what I 
> still don't understand is how the rtp stream is passed between these 
> two agents for each call.

The Kamailio 'rtpproxy' module goes out to the rtpproxy service[1] and asks it to engage the call, saying: "Can you please allocate and provide me with a pair of ports for each end of this call?"  The rtpproxy process answers, and Kamailio then writes the IP and ports provided by rtpproxy into the SDP of both the requests and replies involved in setting up the call.

The result is that as far as both UAs are concerned, rtpproxy is their endpoint, and they will send media to it.  Kamailio instructs rtpproxy to bridge both streams.

When the call is torn down, Kamailio tells rtpproxy to disengage and deallocate the bridge mapping for those streams.

-- Alex

[1] Which may be running on the same host, or may be running on another host, in a distributed fashion.  Kamailio talks to rtpproxy through rtpproxy's UDP control socket, and more than one rtpproxy may be used, both for failover and round-robin load distribution.  This is readily baked into the rtpproxy module.

-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users at lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users



More information about the sr-users mailing list