Query about RTP flow

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Query about RTP flow

Nandini
Dear All,

I have read about SIP and RTP packet flows but ended with a question about RTP packets flow logic between client-to client when the SIP session starts.
I have a running Opensips server on ubuntu platform which is also configured fro DNS and DHCP servers.
And following is my test bed set-up:

                                                                       Opensips server
                                                                 (DNS+ DHCP+Opensips)
                                                                                 |
                                  Router <----------------------------> Switch<----------------------------> Router
                                      |                                                                                     |
                                  clientA <--------------------- RTP(audio/video) ? --------------------> client B

Now when the SIP session established (SIP Packets have to pass through all the routers and switch to reach Opensips server), RTP session will start between Client A and B. But What is meant by client to client here ?
what is the RTP packets path between the clients to reach their destinations ?
Is the RTP packets have to pass through Routers and switch to reach its destination client ? (i.e Client A--->Router 1---->switch -----> Router 2-----> client B)  ?
What if i connect both client A and client B to the same router ?

PS: I have not configured any media-relays (RTPproxy/Media-proxy)

Please help me in clarifying all this doubts.

Anybody's help will greatly appreciate.

Regards,
Nandini

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Query about RTP flow

Ali Pey
Terms Direct RTP or Proxy RTP through your SIP server has nothing to do with your network routers and switches. It basically means if Client A is sending RTP packets to the IP address of Client B or if Client A is sending RTP packets to the IP address of your SIP server and the SIP server needs to re-send the packets to Client B and vise versa.

So if the SIP server is in the middle of RTP communications that's proxy RTP. If RTP packets don't reach your SIP server and is only between the Clients, that's Direct speech path.

Regards,
Ali Pey


On Tue, Feb 25, 2014 at 3:46 AM, Nandini madhu <[hidden email]> wrote:
Dear All,

I have read about SIP and RTP packet flows but ended with a question about RTP packets flow logic between client-to client when the SIP session starts.
I have a running Opensips server on ubuntu platform which is also configured fro DNS and DHCP servers.
And following is my test bed set-up:

                                                                       Opensips server
                                                                 (DNS+ DHCP+Opensips)
                                                                                 |
                                  Router <----------------------------> Switch<----------------------------> Router
                                      |                                                                                     |
                                  clientA <--------------------- RTP(audio/video) ? --------------------> client B

Now when the SIP session established (SIP Packets have to pass through all the routers and switch to reach Opensips server), RTP session will start between Client A and B. But What is meant by client to client here ?
what is the RTP packets path between the clients to reach their destinations ?
Is the RTP packets have to pass through Routers and switch to reach its destination client ? (i.e Client A--->Router 1---->switch -----> Router 2-----> client B)  ?
What if i connect both client A and client B to the same router ?

PS: I have not configured any media-relays (RTPproxy/Media-proxy)

Please help me in clarifying all this doubts.

Anybody's help will greatly appreciate.

Regards,
Nandini

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Query about RTP flow

Nandini
Dear Ali Pey,

Thank you for the reply,

I am agreeing with your answer, but I am specifically wanted to know how physically the RTP packets flow from one client to other client in the instance like in my above mentioned set-up.
As clients registers with SIP server, once signalling path establihed by SIP, then RTP will take another path to transfer media between the clients. so in this context what is the path this RTP packets follow to reach other end client (to achieve client-client connection), when the SIP clients (running on Andriod smart phones) are connected two diffrent Wi-Fi Access Point ?
How RTP packets transfer from one client to another client if both the clients connected to  Single WAP ?


Please help me in clarifying this issues.

I hope you could help me.

Regards,
Nandini


On Tue, Feb 25, 2014 at 6:11 PM, Ali Pey <[hidden email]> wrote:
Terms Direct RTP or Proxy RTP through your SIP server has nothing to do with your network routers and switches. It basically means if Client A is sending RTP packets to the IP address of Client B or if Client A is sending RTP packets to the IP address of your SIP server and the SIP server needs to re-send the packets to Client B and vise versa.

So if the SIP server is in the middle of RTP communications that's proxy RTP. If RTP packets don't reach your SIP server and is only between the Clients, that's Direct speech path.

Regards,
Ali Pey


On Tue, Feb 25, 2014 at 3:46 AM, Nandini madhu <[hidden email]> wrote:
Dear All,

I have read about SIP and RTP packet flows but ended with a question about RTP packets flow logic between client-to client when the SIP session starts.
I have a running Opensips server on ubuntu platform which is also configured fro DNS and DHCP servers.
And following is my test bed set-up:

                                                                       Opensips server
                                                                 (DNS+ DHCP+Opensips)
                                                                                 |
                                  Router <----------------------------> Switch<----------------------------> Router
                                      |                                                                                     |
                                  clientA <--------------------- RTP(audio/video) ? --------------------> client B

Now when the SIP session established (SIP Packets have to pass through all the routers and switch to reach Opensips server), RTP session will start between Client A and B. But What is meant by client to client here ?
what is the RTP packets path between the clients to reach their destinations ?
Is the RTP packets have to pass through Routers and switch to reach its destination client ? (i.e Client A--->Router 1---->switch -----> Router 2-----> client B)  ?
What if i connect both client A and client B to the same router ?

PS: I have not configured any media-relays (RTPproxy/Media-proxy)

Please help me in clarifying all this doubts.

Anybody's help will greatly appreciate.

Regards,
Nandini

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Query about RTP flow

Ali Pey
Nandini,

I guess you are asking about IP routing. IP routing is based on IP addresses, Mac Addresses and ARP tables. The routers and switches receive the Packets, examine the destination IP address and then send it the packet to the Mac address that can re-route the packet. Is this the kind of information you are looking for? I suggest you do a bit of reading on IP routing and the 7 networking layers.

Regards,
Ali Pey


On Tue, Feb 25, 2014 at 12:49 PM, Nandini madhu <[hidden email]> wrote:
Dear Ali Pey,

Thank you for the reply,

I am agreeing with your answer, but I am specifically wanted to know how physically the RTP packets flow from one client to other client in the instance like in my above mentioned set-up.
As clients registers with SIP server, once signalling path establihed by SIP, then RTP will take another path to transfer media between the clients. so in this context what is the path this RTP packets follow to reach other end client (to achieve client-client connection), when the SIP clients (running on Andriod smart phones) are connected two diffrent Wi-Fi Access Point ?
How RTP packets transfer from one client to another client if both the clients connected to  Single WAP ?


Please help me in clarifying this issues.

I hope you could help me.

Regards,
Nandini


On Tue, Feb 25, 2014 at 6:11 PM, Ali Pey <[hidden email]> wrote:
Terms Direct RTP or Proxy RTP through your SIP server has nothing to do with your network routers and switches. It basically means if Client A is sending RTP packets to the IP address of Client B or if Client A is sending RTP packets to the IP address of your SIP server and the SIP server needs to re-send the packets to Client B and vise versa.

So if the SIP server is in the middle of RTP communications that's proxy RTP. If RTP packets don't reach your SIP server and is only between the Clients, that's Direct speech path.

Regards,
Ali Pey


On Tue, Feb 25, 2014 at 3:46 AM, Nandini madhu <[hidden email]> wrote:
Dear All,

I have read about SIP and RTP packet flows but ended with a question about RTP packets flow logic between client-to client when the SIP session starts.
I have a running Opensips server on ubuntu platform which is also configured fro DNS and DHCP servers.
And following is my test bed set-up:

                                                                       Opensips server
                                                                 (DNS+ DHCP+Opensips)
                                                                                 |
                                  Router <----------------------------> Switch<----------------------------> Router
                                      |                                                                                     |
                                  clientA <--------------------- RTP(audio/video) ? --------------------> client B

Now when the SIP session established (SIP Packets have to pass through all the routers and switch to reach Opensips server), RTP session will start between Client A and B. But What is meant by client to client here ?
what is the RTP packets path between the clients to reach their destinations ?
Is the RTP packets have to pass through Routers and switch to reach its destination client ? (i.e Client A--->Router 1---->switch -----> Router 2-----> client B)  ?
What if i connect both client A and client B to the same router ?

PS: I have not configured any media-relays (RTPproxy/Media-proxy)

Please help me in clarifying all this doubts.

Anybody's help will greatly appreciate.

Regards,
Nandini

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Query about RTP flow

Nandini
Dear Ali Pey,

Sorry for creating kind of mess in my question.
No i am not talking about any IP routing, But  my question is totally related only to RTP packet flow between client -to- client. I mean when SIP establihes a call session between two SIP clients (Which are registered to OpenSIPS server), in that point of time How RTP packets (which carries voice/video) flows from one client to another client ?

Here below is my test bed set-up :

<img src="data:image/png;base64,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" alt="" height="226" width="420">

And now My question is:
What is RTP session client-to-client ?
Is this RTP packets in voice/video call from caller will pass through router 1 ---> switch ----> router 2---> destination SIP client ? or just Caller to Destination client ? (without pass through any nodes in between).

(If suppose i run media proxy server with OpenSIPs server then RTP packets has to pass through all the nodes (routers and switch) in between to get relay to other end client right ?)

So in this context if i run only openSIPS server without any Media-proxy servers, how the RTP packets are achieving Client-to-client transfer ?

Please help me in clarifying this questions.

Regards,
Nandini


On Tue, Feb 25, 2014 at 11:37 PM, Ali Pey <[hidden email]> wrote:
Nandini,

I guess you are asking about IP routing. IP routing is based on IP addresses, Mac Addresses and ARP tables. The routers and switches receive the Packets, examine the destination IP address and then send it the packet to the Mac address that can re-route the packet. Is this the kind of information you are looking for? I suggest you do a bit of reading on IP routing and the 7 networking layers.

Regards,
Ali Pey



On Tue, Feb 25, 2014 at 12:49 PM, Nandini madhu <[hidden email]> wrote:
Dear Ali Pey,

Thank you for the reply,

I am agreeing with your answer, but I am specifically wanted to know how physically the RTP packets flow from one client to other client in the instance like in my above mentioned set-up.
As clients registers with SIP server, once signalling path establihed by SIP, then RTP will take another path to transfer media between the clients. so in this context what is the path this RTP packets follow to reach other end client (to achieve client-client connection), when the SIP clients (running on Andriod smart phones) are connected two diffrent Wi-Fi Access Point ?
How RTP packets transfer from one client to another client if both the clients connected to  Single WAP ?


Please help me in clarifying this issues.

I hope you could help me.

Regards,
Nandini


On Tue, Feb 25, 2014 at 6:11 PM, Ali Pey <[hidden email]> wrote:
Terms Direct RTP or Proxy RTP through your SIP server has nothing to do with your network routers and switches. It basically means if Client A is sending RTP packets to the IP address of Client B or if Client A is sending RTP packets to the IP address of your SIP server and the SIP server needs to re-send the packets to Client B and vise versa.

So if the SIP server is in the middle of RTP communications that's proxy RTP. If RTP packets don't reach your SIP server and is only between the Clients, that's Direct speech path.

Regards,
Ali Pey


On Tue, Feb 25, 2014 at 3:46 AM, Nandini madhu <[hidden email]> wrote:
Dear All,

I have read about SIP and RTP packet flows but ended with a question about RTP packets flow logic between client-to client when the SIP session starts.
I have a running Opensips server on ubuntu platform which is also configured fro DNS and DHCP servers.
And following is my test bed set-up:

                                                                       Opensips server
                                                                 (DNS+ DHCP+Opensips)
                                                                                 |
                                  Router <----------------------------> Switch<----------------------------> Router
                                      |                                                                                     |
                                  clientA <--------------------- RTP(audio/video) ? --------------------> client B

Now when the SIP session established (SIP Packets have to pass through all the routers and switch to reach Opensips server), RTP session will start between Client A and B. But What is meant by client to client here ?
what is the RTP packets path between the clients to reach their destinations ?
Is the RTP packets have to pass through Routers and switch to reach its destination client ? (i.e Client A--->Router 1---->switch -----> Router 2-----> client B)  ?
What if i connect both client A and client B to the same router ?

PS: I have not configured any media-relays (RTPproxy/Media-proxy)

Please help me in clarifying all this doubts.

Anybody's help will greatly appreciate.

Regards,
Nandini

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Query about RTP flow

Nandini
In reply to this post by Ali Pey
Dear Ali Pey,

Sorry for creating kind of mess in my question.
No i am not talking about any IP routing, But  my question is totally related only to RTP packet flow between client -to- client. I mean when SIP establihes a call session between two SIP clients (Which are registered to OpenSIPS server), in that point of time How RTP packets (which carries voice/video) flows from one client to another client ?

Here below link is my test bed set-up :

My_test_bed_set-up.png

And now My question is:
What is RTP session client-to-client ?
Is this RTP packets in voice/video call from caller will pass through router 1 ---> switch ----> router 2---> destination SIP client ? or just Caller to Destination client ? (without pass through any nodes in between).

(If suppose i run media proxy server with OpenSIPs server then RTP packets has to pass through all the nodes (routers and switch) in between to get relay to other end client right ?)

So in this context if i run only openSIPS server without any Media-proxy servers, how the RTP packets are achieving Client-to-client transfer ?

Please help me in clarifying this questions.

Regards,
Nandini
Reply | Threaded
Open this post in threaded view
|

Re: Query about RTP flow

Ali Pey
Hello Nandini,

RTP session is negotiated through SDP. If the Invite message has the OpenSIPS IP address in the SDP, then the client will send the packets to opensips server and you need to run rtp proxy. If the other client IP address is in the SDP, then the RTP packets don't come to opensips and go directly to the other client. The same goes for 200 OK.

As for switches and routers, that's how IP packets are routed based on your cabling, IP addresses and mac addresses. These are two separate things. Think of them completely separately. RTP packets have voice and video data but how they are routed to their destination IP is all in IP protocol and has nothing to do with SIP. The destination IP address in your RTP packets, that comes from SDP negotiation through SIP. A different story.

Regards,
Ali Pey


On Tue, Feb 25, 2014 at 2:20 PM, Nandini <[hidden email]> wrote:
Dear Ali Pey,

Sorry for creating kind of mess in my question.
No i am not talking about any IP routing, But  my question is totally
related only to RTP packet flow between client -to- client. I mean when SIP
establihes a call session between two SIP clients (Which are registered to
OpenSIPS server), in that point of time How RTP packets (which carries
voice/video) flows from one client to another client ?

Here below link is my test bed set-up :

My_test_bed_set-up.png
<http://opensips-open-sip-server.1449251.n2.nabble.com/file/n7589774/My_test_bed_set-up.png>

And now My question is:
What is RTP session client-to-client ?
Is this RTP packets in voice/video call from caller will pass through router
1 ---> switch ----> router 2---> destination SIP client ? or just Caller to
Destination client ? (without pass through any nodes in between).

(If suppose i run media proxy server with OpenSIPs server then RTP packets
has to pass through all the nodes (routers and switch) in between to get
relay to other end client right ?)

So in this context if i run only openSIPS server without any Media-proxy
servers, how the RTP packets are achieving Client-to-client transfer ?

Please help me in clarifying this questions.

Regards,
Nandini




--
View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Query-about-RTP-flow-tp7589763p7589774.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users