This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

QoS for VoIP via IPSec VPN

Hello,

I couldn't find an answer to the subject question. My company has two locations, both protected by Astaro ASG220 (with separate Internet access):
Site1: 3 mbit/s (symmetrical)
Site2: 1.5 mbit/s (symmetrical)

There are two parallel VPN channels for site-to-site (s2s):
1. SSL VPN, connecting two remote sites for user data exchange, etc.
2. IPSec VPN, connecting two remote networks with Avaya IP Office 500 phone system equipment (basically, only two control units facing each other over the VPN via their VoIP interfaces).

The Avaya Phone sytem configured with the following DiffServ settings:
DSCP (Hex): B8; DSCP: 46
DSCP Mask (Hex): FC; DSCP Mask: 63
SIG DSCP (Hex): 88; SIG DSCP: 34
It requires 8 channels by 64 kbit/s per channel for s2s connection bandwidth. I was suggested by the phone system supplier to use 8 x 80 = 640 kbit/s calculation.

Two VPNs and Internet traffic obviously compete with voice traffic at External interfaces of each Astaro.

Here is what I did with great help of Bob (BAlfson):

1. On External interfaces (Network/Quality of Service), I activated QoS on External:
Site1: Downlink kbit/s: 3072; Uplink kbit/s: 3072; Download Equalizer, Upload Optimizer (Limit Uplink unchecked)
Site2: Downlink kbit/s: 1536; Uplink kbit/s: 1536; Download Equalizer, Upload Optimizer (Limit Uplink unchecked)

2. Created the following traffic selectors (not too sure if this part is right):
 * VoIP over IPSec VPN 46: External --> IPSec --> [Public IP of the other Astaro]; DSCP-Bits value: 46
 * VoIP over IPSec VPN 26: External --> IPSec --> [Public IP of the other Astaro]; DSCP-Bits value: 26
 * VoIP over IPSec VPN 63: External --> IPSec --> [Public IP of the other Astaro]; DSCP-Bits value: 63
 * VoIP over IPSec VPN 34: External --> IPSec --> [Public IP of the other Astaro]; DSCP-Bits value: 34

3. On External interface (of each Astaro) created Bandwidth Pools:
 * VoIP over IPSec VPN. Bandwidth (kbit/s): 640 kbit/s, including all four traffic selectors above.

To test this, I started copying a large file across the sites, and phoned somebody on the other site. It was not very good, some packets were dropped (intermittent voice), some packets were disordered (pro-pa-gate would sound sometimes like pro-gate-pa). But overall, it was much better than without any QoS.

I guess, I need to define some additional traffic selectors, according to the DiffServ specs. It is also important not to add any non-VoIP traffic selectors to the Bandwidth Pools.

I know, the solution exists, we just have to find it, and it would be a great knowledge for everyone. I would greatly appreciate any help, in particular, how to configure DiffServ on Astaro.


This thread was automatically locked due to age.
Parents
  • Wait a minute!  I thought all of the data and voice traffic was going through the same tunnel!  Try this:
    • Disable the SSL VPN
    • Add the data networks to the IPsec tunnel

    Does it work now?

    Having two different VPN connections is a different solution than using DSCP.  Using DSCP allows you to prefer specific traffic in one tunnel.  With an IPsec tunnel and an SSL tunnel, you prefer the traffic in the SSL Tunnel by creating a traffic selector of 'External (Address) -> HTTPS -> {other site}' and creating a Bandwidth Pool with it on the External interface.

    Cheers - Bob
    PS Great post, Costak.  Precise information presented clearly.  Thanks for helping to add to the combined knowledge here.
Reply
  • Wait a minute!  I thought all of the data and voice traffic was going through the same tunnel!  Try this:
    • Disable the SSL VPN
    • Add the data networks to the IPsec tunnel

    Does it work now?

    Having two different VPN connections is a different solution than using DSCP.  Using DSCP allows you to prefer specific traffic in one tunnel.  With an IPsec tunnel and an SSL tunnel, you prefer the traffic in the SSL Tunnel by creating a traffic selector of 'External (Address) -> HTTPS -> {other site}' and creating a Bandwidth Pool with it on the External interface.

    Cheers - Bob
    PS Great post, Costak.  Precise information presented clearly.  Thanks for helping to add to the combined knowledge here.
Children
No Data