Skip to main content

LESSON 3: PROXY SERVER

Thanks everyone for the amazing response on the blog !

In the last post, we discussed SIP SYSTEM ARCHITECTURE. Now, I hope you know “understanding SIP” means not just knowing about Protocol. Every component mentioned in the architecture plays a vital role of its own. I have already reveal the secret of each component what it does. Now, in this post and further, we will be dealing each component a bit deeper.

So, today's component is Proxy Server.



RFC 3261 says:

SIP proxies are elements that route SIP requests to user agent servers and SIP responses to user agent clients.  A request may traverse several proxies on its way to a UAS.  Each will make routing decisions, modifying the request before forwarding it to the next element.  Responses will route through the same set of proxies traversed by the request in the reverse order.



Why do we need it?

The actual question should be why do we need a proxy server if two UAs able to communicate each other directly.

Here the hidden clue is two UAs should know each others Contact Address. That's the reason they are able to communicate directly. The Contact Address is the IP-Address where exactly the particular UA is contactable currently. But in the real world, it's not possible (or) feasible to remember each others Contact Address to communicate. At this point of time, let me tell what is “SIP Addressing”!



Like telephone number in the telecom world, we have SIP address in the SIP communications world. “SIP Addressing” is another important and very interesting topic to discuss. We will cover this in detail later. For now, please understand that SIP Address is something to identify a UA in the SIP world.



Remember, though we know the SIP Address of UA, we can not invite them into a SIP session until unless we know the Contact Address. Here Proxy Server helps us in finding the Contact Address by looking into the database using location service.

If you know how email system works, then that is exactly the same way how SIP Proxy  works.

Strictly and simply speaking the SIP Proxy Server will introduce each others Contact Address of UAs, who are all participating in the session.


What is it?

+ It’s a server which accepts requests from and responds on the basis of logic defined.
+ It interprets SIP messages and forward them to UAS.
+ There are two types of Proxies:
  1. A Stateful Proxy
  2. A Stateless Proxy

Stateful Proxy:- It remembers the state information of SIP session and will be used to implement extra services such as “Call Forward”, “Busy”, “No Answer”.

Stateless Proxy: It just forgets all the session information once the request has forwarded to the concerned party. It does not keep any state information of SIP session.




sip_call_flow_with_proxy.png



I must recommend to go through this video to know more about SIP Proxy Servers with a call flow.

Takeaway Points:

  • A Proxy Server does not initiate a request
  • A Proxy Server never involves in the media-path
  • A Proxy Server does not interpret the media-capabilities of SIP message like SDP header fields etc.
  • Some proxies will also used to authenticate UAs
  • Stateful Proxy is the most commonly used type of Proxy - it remembers the call state information of SIP session
  • Stateless Proxy is used whenever there is more load expected - it does not remember any session details and just forgets once the session is established.
  • It takes help of location service to find out where exactly an UA is located.

Thanks for amazing response on the blog.

Thanks,
Raj

Comments

Post a Comment

Popular posts from this blog

LESSON 1: SIP: BASIC CALL FLOW (PEER-TO-PEER)

Alert: If you HATE long posts, stop reading and click here . The Session Initiation Protocol, a VoIP protocol, used for originating and termination of media sessions like voice, video, IM, presence etc. Before we enter into the more technical details of SIP, let's refresh our basic telecom VoIP skills. I'd like to insist here that SIP is a signalling protocol, its NOT a media protocol -- which means it is a set of rules use to control the signaling part of a media session. It doesn't have any control on media. So let's not wait to start the basic call flow of SIP. Key terms: It is important to familiarize with these terms in order to understand basic SIP call flow. Here are few of them: Call flow : It's a flow diagram of SIP messages -- shows an ideal way how a media session carried over two endpoints. Its a must know thing and will be useful for your troubleshooting as well. Endpoint: Any device which is used to originate and terminate

WORDS OF LIFE: KNOW THE DIFFERENCE AND MAKE THE DIFFERENCE

Today's blog is all about "words of life". If you know the difference of understanding these words, then I surely can say that you can make the difference. You can make the difference, if you start seeing them different. Enough of saying 'differences' , let me take you to the actual content what I would like to take you through. Before we enter the post....What is this topic about? Why am I posting this?  Allow me to explain. Understand this, out of this telecom world, I am a common man who always wish to Make The Difference wherever I am interested in. The way we have grown, in our childhood and then later, makes lot of impressions in our mind and becomes "belief" while time flies.  At times you see these impressions, instead I'd call them beliefs, limit them knowingly or unknowingly. Every person in the world come  across  them. So, I am also a person with lot of beliefs. We can call these beliefs (or) principles as "Tenets&qu

LESSON 5: SIP REGISTRAR SERVER AND LOCATION SERVER

If you hate long posts as I always suggest go through this video lesson (click here) Now, we already know that in real SIP world, any UA when it wants to communicate with another UA should take the help of “SIP Proxy Server” - which finds the actual location. Because it is not practically possible to remember all other UA’s addresses. All good till now. The next question which comes to mind is How a Proxy Server able to find contact  address of an User Agent(Called Party). Here, Proxy Server takes help of “Location Service”. Location Server Location Service helps in providing the exact location of UA. Location server is a server which records and maintain the contact information of each and every UA with in a typical enterprise. Location Server has its own database, which keeps up-to-date info of each UA by another Service called “Registration Service”. The Server which provides this service  called as a “Registrar Service”. Registrar Server This Server