Alex wrote:
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.
What if both endpoints are on different networks?
Endpoint 1 -------------- Kamailio -------------- Endpoint 2
| | |
| | |
| | |
+-------------------- RTPProxy -----------------+
Please correct me if I'm wrong:
1) Endpoint 1 (10.0.0.1) sends an INVITE containing the offer to Kamailio
(10.0.0.2).
2) Kamailio asks RTPProxy to engage the call and allocate two ports.
3) Kamailio writes the IP and port of the RTPProxy (10.0.0.3:1000) in the SDP of the
100 Trying and replies back to Endpoint 1.
4) Kamailio (20.0.0.2) now sends the INVITE with offer to Endpoint 2 (20.0.0.1), but
with modified SDP (20.0.0.3:1001).
5) .....
6) Endpoint 1 sends its media to 10.0.0.3:1000 and Endpoint 2 sends its media to
20.0.0.3:1001.
7) RTPProxy bridges both ends.
What makes it so difficult for me to understand is that both Kamailio and RTPProxy are
connected to two different networks. A call between endpoint 1 and 2 must be bridged by
Kamailio and RTPProxy.
How does Kamailio know it has to tell RTPProxy to engage a call on network 10.0.0.0 and
20.0.0.0 and allocate two ports, 1 for each network?
Regards,
Grant
-----Original Message-----
From: sr-users-bounces(a)lists.sip-router.org [mailto:sr-users-bounces@lists.sip-router.org]
On Behalf Of Alex Balashov
Sent: Monday, January 28, 2013 5:11 PM
To: sr-users(a)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@lists.sip-router.org<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users