Howto:Set Type of Service (ToS) DiffServ DSCP Values for innovaphone Windows Applications (SoftwarePhone, myPBX Video): Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
No edit summary
No edit summary
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Applies To==
==Applies To==
This information applies to all innovaphone Windows Applications sending the RTP Data (this is currently the SoftwarePhone (audio) and the myPBX launcher (video))
This information applies to all innovaphone Windows Applications sending the RTP Data (this is currently the SoftwarePhone (audio), myPBX launcher (video) and myApps (audio, video))


==More Information==
==More Information==
Line 6: Line 6:
===Problem Details===
===Problem Details===


In contrast to the innovaphone devices, that allows you to [[Reference9:IP4/General/Settings|specify the IP v4 TOS header field value]] used for voice and signalling IP packets, the MS Windows based applications like SoftwarePhone and myPBX do not have any possibility to set ToS Values on the RTP packets due restriction of the Microsoft Windows operating system.
In contrast to the innovaphone devices, that allows you to [[Reference9:IP4/General/Settings|specify the IP v4 TOS header field value]] used for voice and signalling IP packets, the MS Windows based applications like SoftwarePhone, myPBX or myApps do not have any possibility to set ToS Values on the RTP packets due restriction of the Microsoft Windows operating system.


Instead to set the ToS Value in the Application the [http://technet.microsoft.com/en-us/library/dd919203%28WS.10%29.aspx Policy-based Quality of Service (QoS)] provided by the MS Windows operating system can be used to mark the IP packets.
Instead to set the ToS Value in the Application the [http://technet.microsoft.com/en-us/library/dd919203%28WS.10%29.aspx Policy-based Quality of Service (QoS)] provided by the MS Windows operating system can be used to mark the IP packets.
Line 18: Line 18:
|-
|-
| innovaphone myPBX Video RTP||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||UDP||50000:50100||*||*||*||34||-1
| innovaphone myPBX Video RTP||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||UDP||50000:50100||*||*||*||34||-1
|-
| innovaphone myApps Video RTP||%programfiles(x86)%\\innovaphone\\myApps\\myApps.exe||UDP||50100:50199||*||*||*||34||-1
|-
|-
| innovaphone myPBX Signalling HTTP||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||TCP||*||80||*||*||26||-1
| innovaphone myPBX Signalling HTTP||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||TCP||*||80||*||*||26||-1
Line 23: Line 25:
| innovaphone myPBX Signalling HTTPS||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||TCP||*||443||*||*||26||-1
| innovaphone myPBX Signalling HTTPS||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||TCP||*||443||*||*||26||-1
|-
|-
| innovaphone SoftwarePhone Audio RTP||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe||UDP||16384:32767||*||*||*||46||-1
| innovaphone SoftwarePhone Audio RTP||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe||UDP||2050:16000||*||*||*||46||-1
|-
| innovaphone myApps Audio RTP||%programfiles(x86)%\\innovaphone\\myApps\\myApps.exe||UDP||50000:50099||*||*||*||46||-1
|-
|-
| innovaphone SoftwarePhone Signalling RAS||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe||UDP||*||1718:1719||*||*||26||-1
| innovaphone SoftwarePhone Signalling RAS||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe||UDP||*||1718:1719||*||*||26||-1
Line 48: Line 52:
<code>
<code>
  New-NetQosPolicy -Name "innovaphone myPBX Video RTP" -DSCPAction 34 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 50000 -IPSrcPortEndMatchCondition 50100
  New-NetQosPolicy -Name "innovaphone myPBX Video RTP" -DSCPAction 34 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 50000 -IPSrcPortEndMatchCondition 50100
New-NetQosPolicy -Name "innovaphone myApps Video RTP" -DSCPAction 34 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myApps\myApps.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 50100 -IPSrcPortEndMatchCondition 50099
  New-NetQosPolicy -Name "innovaphone myPBX Signalling HTTP" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 80
  New-NetQosPolicy -Name "innovaphone myPBX Signalling HTTP" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 80
  New-NetQosPolicy -Name "innovaphone myPBX Signalling HTTPS" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 443
  New-NetQosPolicy -Name "innovaphone myPBX Signalling HTTPS" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 443
  New-NetQosPolicy -Name "innovaphone SoftwarePhone Audio RTP" -DSCPAction 46 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 16384 -IPSrcPortEndMatchCondition 32767
  New-NetQosPolicy -Name "innovaphone SoftwarePhone Audio RTP" -DSCPAction 46 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 2050 -IPSrcPortEndMatchCondition 16000
New-NetQosPolicy -Name "innovaphone myApps Audio RTP" -DSCPAction 46 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myApps\myApps.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 50000 -IPSrcPortEndMatchCondition 50099
  New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling RAS" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 1718 -IPSrcPortEndMatchCondition 1719
  New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling RAS" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 1718 -IPSrcPortEndMatchCondition 1719
  New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling H225" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition TCP -IPSrcPortStartMatchCondition 2048 -IPSrcPortEndMatchCondition 59999
  New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling H225" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition TCP -IPSrcPortStartMatchCondition 2048 -IPSrcPortEndMatchCondition 59999
Line 77: Line 83:
* [[Reference9:IP4/General/Settings]]
* [[Reference9:IP4/General/Settings]]
* [[Reference:Configuration/IP/Settings]]
* [[Reference:Configuration/IP/Settings]]
* [[Howto:Softphone recommended settings]]
* [[Howto:Softwarephone recommended settings]]




[[Category:Howto|{{PAGENAME}}]]
[[Category:Howto|{{PAGENAME}}]]

Revision as of 16:44, 11 March 2020

Applies To

This information applies to all innovaphone Windows Applications sending the RTP Data (this is currently the SoftwarePhone (audio), myPBX launcher (video) and myApps (audio, video))

More Information

Problem Details

In contrast to the innovaphone devices, that allows you to specify the IP v4 TOS header field value used for voice and signalling IP packets, the MS Windows based applications like SoftwarePhone, myPBX or myApps do not have any possibility to set ToS Values on the RTP packets due restriction of the Microsoft Windows operating system.

Instead to set the ToS Value in the Application the Policy-based Quality of Service (QoS) provided by the MS Windows operating system can be used to mark the IP packets.

Usually the configuration of the Policy-based Quality of Service is done by defining a Group Policy Object (GPO) in the Group Policy Management Console (GPMC). This could be done for a single computer or distributed to a number of computers via the domain controller.


Microsoft Windows QoS Policy Mappings for innovaphone Applications
Policy Name Application Path Protocol Source Port Destination Port Source IP / Mask Destination IP / Mask DSCP Value Throttling Rate
innovaphone myPBX Video RTP %programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe UDP 50000:50100 * * * 34 -1
innovaphone myApps Video RTP %programfiles(x86)%\\innovaphone\\myApps\\myApps.exe UDP 50100:50199 * * * 34 -1
innovaphone myPBX Signalling HTTP %programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe TCP * 80 * * 26 -1
innovaphone myPBX Signalling HTTPS %programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe TCP * 443 * * 26 -1
innovaphone SoftwarePhone Audio RTP %programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe UDP 2050:16000 * * * 46 -1
innovaphone myApps Audio RTP %programfiles(x86)%\\innovaphone\\myApps\\myApps.exe UDP 50000:50099 * * * 46 -1
innovaphone SoftwarePhone Signalling RAS %programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe UDP * 1718:1719 * * 26 -1
innovaphone SoftwarePhone Signalling H225 %programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe TCP * 2048:59999 * * 26 -1
innovaphone SoftwarePhone Signalling H323/TCP %programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe TCP * 1720 * * 26 -1
innovaphone SoftwarePhone Signalling H323/TLS %programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe TCP * 1300 * * 26 -1
innovaphone SoftwarePhone Signalling SIP %programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe TCP/UDP * 5060 * * 26 -1
innovaphone SoftwarePhone Signalling SIPS %programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe TCP * 5061 * * 26 -1


The DSCP Values in the above example are default DSCP values used by innovaphone devices, according to the Wiki article Howto:Calculate Values for Type of Service (ToS) from DiffServ or DSCP Values. You may change this values to meet requirements on your traffic prioritisation and routing equipment.


In the Windows 8, Server 2012, Windows 10 and later it is possible to use PowerShell to configure the values with the NetQosPolicy Cmdlet.

The above table can be added to the Grou Policies by the following powershell commands (administrator account access right required):

New-NetQosPolicy -Name "innovaphone myPBX Video RTP" -DSCPAction 34 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 50000 -IPSrcPortEndMatchCondition 50100
New-NetQosPolicy -Name "innovaphone myApps Video RTP" -DSCPAction 34 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myApps\myApps.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 50100 -IPSrcPortEndMatchCondition 50099
New-NetQosPolicy -Name "innovaphone myPBX Signalling HTTP" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 80
New-NetQosPolicy -Name "innovaphone myPBX Signalling HTTPS" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myPBX\myPBX.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 443
New-NetQosPolicy -Name "innovaphone SoftwarePhone Audio RTP" -DSCPAction 46 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 2050 -IPSrcPortEndMatchCondition 16000
New-NetQosPolicy -Name "innovaphone myApps Audio RTP" -DSCPAction 46 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\myApps\myApps.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 50000 -IPSrcPortEndMatchCondition 50099
New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling RAS" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 1718 -IPSrcPortEndMatchCondition 1719
New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling H225" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition TCP -IPSrcPortStartMatchCondition 2048 -IPSrcPortEndMatchCondition 59999
New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling H323 TCP" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 1720
New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling H323 TLS" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 1300
New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling SIP" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition Both -IPDstPortMatchCondition 5060
New-NetQosPolicy -Name "innovaphone SoftwarePhone Signalling SIPS" -DSCPAction 26 -NetworkProfile All -AppPathNameMatchCondition "%programfiles(x86)%\innovaphone\SoftwarePhone\softwarephone.exe" -IPProtocolMatchCondition TCP -IPDstPortMatchCondition 5061

Please note, the QoS policies added via powershell NetQosPolicy cmdlet are not visible in the Group Policies Editor (gpedit.msc). To list the configured QoS policies use Get-NetQosPolicy cmdlet.

The GPO on the PCs will refresh from time to time automatically. To apply the changes to the GPO immediately following command can be used:

Gpupdate.exe /force

Known Problems

In some cases setting of the following registry key is required to ensure the DSCP values are applied:

HKEY_LOCAL_MACHINE /SYSTEM / CurrentControlSet / Tcpip / "Do not use NLA" = 1

Reboot of the PC is required afterwards.

Related Articles