What is the ‘SIP Proxy Server’ setting on an IP phone?
It might be called something different on your IP phone
In their wisdom, each manufacturer has made different decisions about the naming of data parameters on their IP phones. So if you look at a Snom phone it uses different names to those on a Grandstream etc. The differences sometimes go beyond simply giving a different name to the same parameter and there may even be no direct equivalent on one phone for something present on another. In the case of the “SIP Proxy Server” field, the manufacturers have excelled themselves when it comes to not agreeing on the name:
Proxy Server vs. Outbound Proxy Server
When you look at the configuration options on most IP phones, you will see a field called “SIP Server”, “Registrar”, “Registration server”, “Proxy Server” or simply “Proxy” and another field called “Outbound Proxy” or “Outbound Proxy Server”.
The two fields have similar names and in many cases you can put exactly the same value into both fields, but they are quite different and should not be confused. The value specified for “Proxy Server” generally identifies both a server that can handle requests from the phone and also a sip domain that is part of the user account for the phone. The sip domain name is used during registration and it should also match the domain part of your phone’s own SIP address – i.e. if other people are going to be able to call your phone, they must use that domain name as part of the sip address they use to reach you.
The “Outbound Proxy Server” is an optional field, but if you enter a value then all future SIP requests get sent there in the first instance. As far as routing of SIP requests is concerned, the setting for “Outbound Proxy” overrides the setting for SIP Proxy or Registrar. If you leave it blank, then all SIP requests will generally be sent to the “Proxy Server”.
Note: The Aastra phone is slightly different because it has fields for “Proxy Server”, “Outbound Proxy Server” and “Registrar Server”; It also has fields for “Backup Proxy Server” and “Backup Registrar Server” – you’ll have to read the Aastra Administrator Guide to understand how and when each of these settings is used (I tried, but it lost me!).
For more information about the Outbound Proxy Server, click here.
The use of DNS SRV records to identify SIP Proxy Servers
If you have enabled the use of DNS-SRV records (an option on most IP phones) then the name entered for the Proxy Server may be used to lookup DNS-SRV records if they exist. These records define one or more server IP addresses and include extra data such as the port number, the type of service and the transmission protocol (UDP or TCP) to be used. The records are created in the first place by the VoIP service provider and cannot be modified by users. If DNS-SRV records do not exist or the option to use them is disabled, then the host name given for a Proxy server is converted to an IP address using conventional DNS host record lookups.
The option on your IP phone to use SRV records will also affect the resolving of other server names such as the “Outbound Proxy Server”.
What is the function of a SIP Proxy Server
When the IP phone makes an outbound call, it will nearly always send an INVITE request to a Proxy Server (the only alternatives really, would be to send the INVITE directly to the end-point that is being called or to an IP-PBX or Asterisk server. As far as this description is concerned, the IP-PBX or Asterisk server can be considered equivalent to a Proxy Server). If your IP phone is configured to use an “outbound proxy server”, then the INVITE is sent there. Otherwise it will usually go to the Proxy Server associated with its own SIP account.
When a Proxy server receives an INVITE, it examines the request and looks up information in its internal databases to see if the client that is making the request is allowed to call that number. If the call is to a PSTN number or other chargeable destination, then the user’s credit level may be checked before allowing the call to proceed. If the call is permitted, the proxy server will then check the caller’s identity to make sure it is not a rogue client trying to impersonate a valid user. This is done by sending a challenge back to the calling device requesting identification by way of user id and password. The contents of the SIP messages that carry this identity information are encrypted so it is not possible for others to intercept the message and read their credentials. If the client is able to authenticate successfully then the call may proceed.
Part of a proxy server’s responsibility is to decide where it should forward the request next. If the proxy server gives access to the PSTN then it might need to forward the call to a PSTN gateway. However, if the call is to another SIP service, perhaps one operated by a different VoIP service provider, then it will look up the correct destination using DNS. If it is a REGISTER request rather than an INVITE then it may be able to handle the registration itself or it may forward it to the registrar for that domain or it may even reject the request.
Some Frequently Asked Questions about Proxy Servers and IP phones
Does the phone have to register to be able to make calls?
The simple answer to this is no. You should be able to make calls via a proxy server without necessarily registering first. The registration process is crucial for your IP phone to be able to receive inbound calls, but it will not always be necessary in order to make outbound calls. However, some IP phones won’t let you use an account unless it successfully registered.
If the call you are trying to make would incur call toll charges then you will almost certainly need to have a valid user account with the provider whose server you are trying to use (unless there is some arrangement in place for cross charging between providers). However, that does not necessarily mean your phone has to already be registered before the call starts. Instead, the authentication of your phone will occur as part of the SIP dialogue that happens when the call is initiated.
My IP phone allows me to specify more than one Proxy Server. Why?
Many IP phones support multiple lines or multiple accounts. For very simple applications you might only need to enter the details for one VoIP account, giving the Proxy Server setting relevant to that account. However, it is sometimes useful to be able to register multiple accounts from one phone – in this case you would need to specify the Proxy Server for each account. You will then be able to assign an account to each line key – calls made using that line key will use those account details and the associated Proxy Server or Outbound Proxy Server. It is normal for one account to be nominated as the default account (or sometimes this is achieved by specifying the preferred line key).
The X-Lite softphone (now evolved into the EyeBeam) would allow you to enter details for more than one SIP Proxy server and then to nominate one of them as the default. In the address book you could then nominate a specific Proxy server for certain numbers. This was a neat solution as it allowed you to automatically match the person you were calling with the most appropriate Proxy Server, while ensuring there was a default route for all the other numbers you may want to call.
Unless your IP phone is being used only to make internal calls on the company phone system, the default account should probably be the one that gives you access to the PSTN.
Must I have an account with the provider before I can use their Proxy Server?
It is not always necessary to have an account with the service provider when you want to use their server as an outbound proxy. For example, if you wanted to call an IP phone that you know is registered with sipgate, even though your phone is not registered with sipgate, you may be able to specify a sipgate server as the outbound proxy for that call. This is because the call will not incur any toll charges and would have to eventually be routed to one of their servers anyway – in effect you are cutting out one or more intermediate proxy servers by specifying the correct final destination proxy server in the first place.