mirror of https://github.com/asterisk/asterisk
				
				
				
			releases/22
				
					releases/23
				
					releases/21
				
					releases/20
				
					master
				
					20
				
					22
				
					23
				
					certified/18.9
				
					certified/20.7
				
					21
				
					18
				
					revert-1477-taskpool-pjsip
				
					releases/21-pre-reorder
				
					releases/20-pre-reorder
				
					releases/22.5
				
					releases/20.15
				
					releases/21.10
				
					releases/18
				
					releases/certified-18.9
				
					releases/certified-20.7
				
					releases/22.4
				
					releases/21.9
				
					releases/20.14
				
					revert-549-master-issue-548
				
					16
				
					19
				
					releases/19
				
					releases/16
				
					20.2
				
					18.17
				
					20.1
				
					19.8
				
					18.16
				
					16.30
				
					20.0
				
					19.7
				
					18.15
				
					16.29
				
					16.19
				
					19.6
				
					18.14
				
					16.28
				
					development/16/python3
				
					development/16/geolocation
				
					19.5
				
					18.13
				
					16.27
				
					19.4
				
					18.12
				
					16.26
				
					19.3
				
					18.11
				
					16.25
				
					certified/16.8
				
					19.2
				
					18.10
				
					16.24
				
					certified/16.3
				
					19.1
				
					18.9
				
					16.23
				
					19.0
				
					18.8
				
					16.22
				
					16.21
				
					18.7
				
					18.6
				
					16.20
				
					18.5
				
					17.9
				
					13.38
				
					17
				
					13
				
					18.4
				
					16.18
				
					18.3
				
					16.17
				
					18.2
				
					16.16
				
					18.1
				
					16.15
				
					jenkinstest-16
				
					18.0
				
					17.8
				
					16.14
				
					13.37
				
					17.7
				
					16.13
				
					13.36
				
					certified/13.21
				
					17.6
				
					16.12
				
					13.35
				
					17.5
				
					16.11
				
					13.34
				
					17.4
				
					16.10
				
					13.33
				
					17.3
				
					16.9
				
					13.32
				
					17.2
				
					16.8
				
					13.31
				
					17.1
				
					16.7
				
					13.30
				
					17.0
				
					16.6
				
					13.29
				
					16.5
				
					15.7
				
					13.28
				
					15
				
					16.4
				
					13.27
				
					16.3
				
					13.26
				
					16.2
				
					13.25
				
					16.1
				
					13.24
				
					16.0
				
					15.6
				
					13.23
				
					14.7
				
					14
				
					certified/13.18
				
					certified/13.13
				
					certified/11.6
				
					11
				
					certified/13.8
				
					certified/13.1
				
					1.8
				
					certified/1.8.28
				
					12
				
					certified/1.8.15
				
					certified/11.2
				
					10-digiumphones
				
					10
				
					certified/1.8.11
				
					certified/1.8.6
				
					1.6.2
				
					1.4
				
					1.6.1
				
					1.6.0
				
					1.2
				
					1.2-netsec
				
					1.0
				
			
			
				
					
						22.7.0-rc1
					
				
					
						23.1.0-rc1
					
				
					
						21.12.0-rc1
					
				
					
						20.17.0-rc1
					
				
					
						23.0.0
					
				
					
						22.6.0
					
				
					
						21.11.0
					
				
					
						20.16.0
					
				
					
						21.11.0-rc2
					
				
					
						23.0.0-rc2
					
				
					
						22.6.0-rc2
					
				
					
						20.16.0-rc2
					
				
					
						20.15.0
					
				
					
						20.15.0-rc1
					
				
					
						20.15.0-rc2
					
				
					
						20.15.0-rc3
					
				
					
						20.15.1
					
				
					
						20.15.2
					
				
					
						20.16.0-rc1
					
				
					
						21.10.0
					
				
					
						21.10.0-rc1
					
				
					
						21.10.0-rc2
					
				
					
						21.10.0-rc3
					
				
					
						21.10.1
					
				
					
						21.10.2
					
				
					
						21.11.0-rc1
					
				
					
						22.5.0-rc1
					
				
					
						22.5.0-rc2
					
				
					
						22.5.0-rc3
					
				
					
						22.5.0
					
				
					
						22.5.1
					
				
					
						22.5.2
					
				
					
						22.6.0-rc1
					
				
					
						23.0.0-rc1
					
				
					
						18.26.4
					
				
					
						certified-18.9-cert17
					
				
					
						23.0.0-pre1
					
				
					
						certified-20.7-cert7
					
				
					
						certified-18.9-cert16
					
				
					
						18.26.3
					
				
					
						certified-20.7-cert6
					
				
					
						certified-18.9-cert15
					
				
					
						22.4.1
					
				
					
						21.9.1
					
				
					
						20.14.1
					
				
					
						18.26.2
					
				
					
						certified-20.7-cert5
					
				
					
						certified-18.9-cert14
					
				
					
						22.4.0
					
				
					
						21.9.0
					
				
					
						20.14.0
					
				
					
						22.4.0-rc1
					
				
					
						21.9.0-rc1
					
				
					
						20.14.0-rc1
					
				
					
						22.3.0
					
				
					
						21.8.0
					
				
					
						20.13.0
					
				
					
						22.3.0-rc1
					
				
					
						21.8.0-rc1
					
				
					
						20.13.0-rc1
					
				
					
						22.2.0
					
				
					
						21.7.0
					
				
					
						20.12.0
					
				
					
						22.2.0-rc2
					
				
					
						21.7.0-rc2
					
				
					
						20.12.0-rc2
					
				
					
						22.2.0-rc1
					
				
					
						21.7.0-rc1
					
				
					
						20.12.0-rc1
					
				
					
						certified-20.7-cert4
					
				
					
						certified-18.9-cert13
					
				
					
						22.1.1
					
				
					
						21.6.1
					
				
					
						20.11.1
					
				
					
						18.26.1
					
				
					
						22.1.0
					
				
					
						21.6.0
					
				
					
						20.11.0
					
				
					
						18.26.0
					
				
					
						22.1.0-rc1
					
				
					
						21.6.0-rc1
					
				
					
						20.11.0-rc1
					
				
					
						18.26.0-rc1
					
				
					
						18.25.0
					
				
					
						20.10.0
					
				
					
						21.5.0
					
				
					
						22.0.0
					
				
					
						22.0.0-rc2
					
				
					
						21.5.0-rc2
					
				
					
						20.10.0-rc2
					
				
					
						18.25.0-rc2
					
				
					
						22.0.0-rc1
					
				
					
						21.5.0-rc1
					
				
					
						20.10.0-rc1
					
				
					
						18.25.0-rc1
					
				
					
						certified-20.7-cert3
					
				
					
						certified-18.9-cert12
					
				
					
						21.4.3
					
				
					
						20.9.3
					
				
					
						18.24.3
					
				
					
						22.0.0-pre1
					
				
					
						21.4.2
					
				
					
						20.9.2
					
				
					
						18.24.2
					
				
					
						certified-20.7-cert2
					
				
					
						certified-18.9-cert11
					
				
					
						21.4.1
					
				
					
						20.9.1
					
				
					
						18.24.1
					
				
					
						21.4.0
					
				
					
						20.9.0
					
				
					
						18.24.0
					
				
					
						certified-20.7-cert1
					
				
					
						certified-18.9-cert10
					
				
					
						21.4.0-rc1
					
				
					
						20.9.0-rc1
					
				
					
						18.24.0-rc1
					
				
					
						21.3.1
					
				
					
						20.8.1
					
				
					
						18.23.1
					
				
					
						21.3.0
					
				
					
						20.8.0
					
				
					
						18.23.0
					
				
					
						certified-20.7-cert1-rc2
					
				
					
						certified-18.9-cert9
					
				
					
						20.8.0-rc1
					
				
					
						21.3.0-rc1
					
				
					
						18.23.0-rc1
					
				
					
						certified-20.7-cert1-rc1
					
				
					
						certified-20.7-cert1-pre1
					
				
					
						21.2.0
					
				
					
						20.7.0
					
				
					
						18.22.0
					
				
					
						certified-18.9-cert8
					
				
					
						21.2.0-rc2
					
				
					
						20.7.0-rc2
					
				
					
						18.22.0-rc2
					
				
					
						21.2.0-rc1
					
				
					
						20.7.0-rc1
					
				
					
						18.22.0-rc1
					
				
					
						certified-18.9-cert8-rc2
					
				
					
						certified-18.9-cert8-rc1
					
				
					
						21.1.0
					
				
					
						20.6.0
					
				
					
						18.21.0
					
				
					
						21.1.0-rc2
					
				
					
						20.6.0-rc2
					
				
					
						18.21.0-rc2
					
				
					
						21.1.0-rc1
					
				
					
						20.6.0-rc1
					
				
					
						18.21.0-rc1
					
				
					
						21.0.2
					
				
					
						20.5.2
					
				
					
						18.20.2
					
				
					
						certified-18.9-cert7
					
				
					
						certified-18.9-cert6
					
				
					
						21.0.1
					
				
					
						20.5.1
					
				
					
						18.20.1
					
				
					
						21.0.0
					
				
					
						20.5.0
					
				
					
						18.20.0
					
				
					
						21.0.0-rc1
					
				
					
						20.5.0-rc1
					
				
					
						18.20.0-rc1
					
				
					
						21.0.0-pre1
					
				
					
						18.19.0
					
				
					
						20.4.0
					
				
					
						20.4.0-rc2
					
				
					
						18.19.0-rc2
					
				
					
						20.4.0-rc1
					
				
					
						18.19.0-rc1
					
				
					
						20.3.1
					
				
					
						certified-18.9-cert5
					
				
					
						19.8.1
					
				
					
						18.18.1
					
				
					
						16.30.1
					
				
					
						certified-18.9-cert4
					
				
					
						20.3.0
					
				
					
						18.18.0
					
				
					
						20.3.0-rc1
					
				
					
						18.18.0-rc1
					
				
					
						20.2.1
					
				
					
						18.17.1
					
				
					
						20.2.0
					
				
					
						18.17.0
					
				
					
						20.2.0-rc1
					
				
					
						18.17.0-rc1
					
				
					
						certified/18.9-cert4
					
				
					
						20.1.0
					
				
					
						19.8.0
					
				
					
						18.16.0
					
				
					
						16.30.0
					
				
					
						20.1.0-rc2
					
				
					
						19.8.0-rc2
					
				
					
						18.16.0-rc2
					
				
					
						16.30.0-rc2
					
				
					
						20.1.0-rc1
					
				
					
						18.16.0-rc1
					
				
					
						19.8.0-rc1
					
				
					
						16.30.0-rc1
					
				
					
						certified/18.9-cert3
					
				
					
						20.0.1
					
				
					
						19.7.1
					
				
					
						18.15.1
					
				
					
						16.29.1
					
				
					
						19.7.0
					
				
					
						20.0.0
					
				
					
						18.15.0
					
				
					
						16.29.0
					
				
					
						certified/18.9-cert2
					
				
					
						20.0.0-rc2
					
				
					
						19.7.0-rc2
					
				
					
						18.15.0-rc2
					
				
					
						16.29.0-rc2
					
				
					
						20.0.0-rc1
					
				
					
						19.7.0-rc1
					
				
					
						18.15.0-rc1
					
				
					
						16.29.0-rc1
					
				
					
						19.6.0
					
				
					
						18.14.0
					
				
					
						16.28.0
					
				
					
						19.6.0-rc2
					
				
					
						18.14.0-rc2
					
				
					
						16.28.0-rc2
					
				
					
						19.6.0-rc1
					
				
					
						18.14.0-rc1
					
				
					
						16.28.0-rc1
					
				
					
						19.5.0
					
				
					
						18.13.0
					
				
					
						16.27.0
					
				
					
						19.5.0-rc1
					
				
					
						18.13.0-rc1
					
				
					
						16.27.0-rc1
					
				
					
						19.4.1
					
				
					
						18.12.1
					
				
					
						16.26.1
					
				
					
						19.4.0
					
				
					
						18.12.0
					
				
					
						16.26.0
					
				
					
						19.4.0-rc1
					
				
					
						18.12.0-rc1
					
				
					
						16.26.0-rc1
					
				
					
						certified/18.9-cert1
					
				
					
						19.3.3
					
				
					
						18.11.3
					
				
					
						16.25.3
					
				
					
						certified/16.8-cert14
					
				
					
						19.3.2
					
				
					
						18.11.2
					
				
					
						16.25.2
					
				
					
						19.3.1
					
				
					
						18.11.1
					
				
					
						16.25.1
					
				
					
						19.3.0
					
				
					
						18.11.0
					
				
					
						16.25.0
					
				
					
						19.3.0-rc1
					
				
					
						18.11.0-rc1
					
				
					
						16.25.0-rc1
					
				
					
						certified/16.8-cert13
					
				
					
						19.2.1
					
				
					
						18.10.1
					
				
					
						16.24.1
					
				
					
						19.2.0
					
				
					
						18.10.0
					
				
					
						16.24.0
					
				
					
						19.2.0-rc1
					
				
					
						18.10.0-rc1
					
				
					
						16.24.0-rc1
					
				
					
						certified/18.9-cert1-rc1
					
				
					
						19.1.0
					
				
					
						18.9.0
					
				
					
						16.23.0
					
				
					
						19.1.0-rc1
					
				
					
						18.9.0-rc1
					
				
					
						16.23.0-rc1
					
				
					
						19.0.0
					
				
					
						18.8.0
					
				
					
						16.22.0
					
				
					
						certified/16.8-cert12
					
				
					
						19.0.0-rc1
					
				
					
						18.8.0-rc1
					
				
					
						16.22.0-rc1
					
				
					
						16.21.1
					
				
					
						18.7.1
					
				
					
						18.7.0
					
				
					
						16.21.0
					
				
					
						18.7.0-rc3
					
				
					
						16.21.0-rc3
					
				
					
						18.7.0-rc2
					
				
					
						16.21.0-rc2
					
				
					
						18.7.0-rc1
					
				
					
						16.21.0-rc1
					
				
					
						certified/16.8-cert11
					
				
					
						18.6.0
					
				
					
						16.20.0
					
				
					
						18.6.0-rc1
					
				
					
						16.20.0-rc1
					
				
					
						certified/16.8-cert10
					
				
					
						18.5.1
					
				
					
						17.9.4
					
				
					
						16.19.1
					
				
					
						13.38.3
					
				
					
						18.5.0
					
				
					
						16.19.0
					
				
					
						certified/16.8-cert9
					
				
					
						18.5.0-rc1
					
				
					
						16.19.0-rc1
					
				
					
						18.4.0
					
				
					
						16.18.0
					
				
					
						18.4.0-rc1
					
				
					
						16.18.0-rc1
					
				
					
						certified/16.8-cert8
					
				
					
						18.3.0
					
				
					
						16.17.0
					
				
					
						18.3.0-rc2
					
				
					
						16.17.0-rc2
					
				
					
						18.3.0-rc1
					
				
					
						16.17.0-rc1
					
				
					
						certified/16.8-cert7
					
				
					
						18.2.2
					
				
					
						17.9.3
					
				
					
						16.16.2
					
				
					
						certified/16.8-cert6
					
				
					
						18.2.1
					
				
					
						17.9.2
					
				
					
						16.16.1
					
				
					
						13.38.2
					
				
					
						18.2.0
					
				
					
						16.16.0
					
				
					
						18.2.0-rc1
					
				
					
						16.16.0-rc1
					
				
					
						18.1.1
					
				
					
						17.9.1
					
				
					
						16.15.1
					
				
					
						13.38.1
					
				
					
						18.1.0
					
				
					
						17.9.0
					
				
					
						16.15.0
					
				
					
						13.38.0
					
				
					
						18.1.0-rc1
					
				
					
						17.9.0-rc1
					
				
					
						16.15.0-rc1
					
				
					
						13.38.0-rc1
					
				
					
						18.0.1
					
				
					
						17.8.1
					
				
					
						16.14.1
					
				
					
						certified/16.8-cert5
					
				
					
						13.37.1
					
				
					
						certified/16.8-cert4
					
				
					
						certified/16.8-cert4-rc4
					
				
					
						18.0.0
					
				
					
						17.8.0
					
				
					
						16.14.0
					
				
					
						13.37.0
					
				
					
						18.0.0-rc2
					
				
					
						certified/16.8-cert4-rc3
					
				
					
						18.0.0-rc1
					
				
					
						17.8.0-rc1
					
				
					
						16.14.0-rc1
					
				
					
						13.37.0-rc1
					
				
					
						17.7.0
					
				
					
						16.13.0
					
				
					
						13.36.0
					
				
					
						17.7.0-rc2
					
				
					
						16.13.0-rc2
					
				
					
						13.36.0-rc2
					
				
					
						17.7.0-rc1
					
				
					
						16.13.0-rc1
					
				
					
						13.36.0-rc1
					
				
					
						certified/16.8-cert4-rc2
					
				
					
						17.6.0
					
				
					
						16.12.0
					
				
					
						13.35.0
					
				
					
						17.6.0-rc1
					
				
					
						16.12.0-rc1
					
				
					
						13.35.0-rc1
					
				
					
						certified/16.8-cert4-rc1
					
				
					
						certified/16.8-cert3
					
				
					
						17.5.1
					
				
					
						16.11.1
					
				
					
						17.5.0
					
				
					
						16.11.0
					
				
					
						13.34.0
					
				
					
						17.5.0-rc3
					
				
					
						16.11.0-rc3
					
				
					
						13.34.0-rc3
					
				
					
						17.5.0-rc2
					
				
					
						16.11.0-rc2
					
				
					
						13.34.0-rc2
					
				
					
						17.5.0-rc1
					
				
					
						16.11.0-rc1
					
				
					
						13.34.0-rc1
					
				
					
						certified/16.8-cert2
					
				
					
						17.4.0
					
				
					
						16.10.0
					
				
					
						13.33.0
					
				
					
						certified/16.8-cert1
					
				
					
						17.4.0-rc2
					
				
					
						16.10.0-rc2
					
				
					
						13.33.0-rc2
					
				
					
						17.4.0-rc1
					
				
					
						16.10.0-rc1
					
				
					
						13.33.0-rc1
					
				
					
						certified/16.8-cert1-rc5
					
				
					
						certified/16.8-cert1-rc4
					
				
					
						17.3.0
					
				
					
						16.9.0
					
				
					
						13.32.0
					
				
					
						17.3.0-rc1
					
				
					
						16.9.0-rc1
					
				
					
						13.32.0-rc1
					
				
					
						certified/16.8-cert1-rc3
					
				
					
						certified/16.8-cert1-rc2
					
				
					
						certified/16.8-cert1-rc1
					
				
					
						17.2.0
					
				
					
						16.8.0
					
				
					
						13.31.0
					
				
					
						17.2.0-rc2
					
				
					
						16.8.0-rc2
					
				
					
						13.31.0-rc2
					
				
					
						17.2.0-rc1
					
				
					
						16.8.0-rc1
					
				
					
						13.31.0-rc1
					
				
					
						certified/16.3-cert1
					
				
					
						certified/13.21-cert6
					
				
					
						17.1.0
					
				
					
						16.7.0
					
				
					
						13.30.0
					
				
					
						17.1.0-rc2
					
				
					
						16.7.0-rc2
					
				
					
						13.30.0-rc2
					
				
					
						17.1.0-rc1
					
				
					
						16.7.0-rc1
					
				
					
						13.30.0-rc1
					
				
					
						certified/13.21-cert5
					
				
					
						17.0.1
					
				
					
						16.6.2
					
				
					
						13.29.2
					
				
					
						17.0.0
					
				
					
						17.0.0-rc3
					
				
					
						16.6.1
					
				
					
						13.29.1
					
				
					
						16.6.0
					
				
					
						13.29.0
					
				
					
						16.6.0-rc2
					
				
					
						13.29.0-rc2
					
				
					
						17.0.0-rc2
					
				
					
						16.6.0-rc1
					
				
					
						13.29.0-rc1
					
				
					
						16.5.1
					
				
					
						15.7.4
					
				
					
						13.28.1
					
				
					
						17.0.0-rc1
					
				
					
						16.5.0
					
				
					
						13.28.0
					
				
					
						16.5.0-rc1
					
				
					
						13.28.0-rc1
					
				
					
						certified/13.21-cert4
					
				
					
						16.4.1
					
				
					
						15.7.3
					
				
					
						13.27.1
					
				
					
						16.4.0
					
				
					
						13.27.0
					
				
					
						16.4.0-rc1
					
				
					
						13.27.0-rc1
					
				
					
						16.3.0
					
				
					
						13.26.0
					
				
					
						16.3.0-rc1
					
				
					
						13.26.0-rc1
					
				
					
						16.2.1
					
				
					
						15.7.2
					
				
					
						16.2.0
					
				
					
						13.25.0
					
				
					
						13.25.0-rc3
					
				
					
						16.2.0-rc2
					
				
					
						13.25.0-rc2
					
				
					
						16.2.0-rc1
					
				
					
						13.25.0-rc1
					
				
					
						16.1.1
					
				
					
						15.7.1
					
				
					
						13.24.1
					
				
					
						16.1.0
					
				
					
						13.24.0
					
				
					
						15.7.0
					
				
					
						16.1.0-rc1
					
				
					
						15.7.0-rc1
					
				
					
						13.24.0-rc1
					
				
					
						16.0.1
					
				
					
						15.6.2
					
				
					
						16.0.0
					
				
					
						16.0.0-rc3
					
				
					
						certified/13.21-cert3
					
				
					
						15.6.1
					
				
					
						14.7.8
					
				
					
						13.23.1
					
				
					
						16.0.0-rc2
					
				
					
						15.6.0
					
				
					
						13.23.0
					
				
					
						15.6.0-rc1
					
				
					
						13.23.0-rc1
					
				
					
						16.0.0-rc1
					
				
					
						15.5.0
					
				
					
						13.22.0
					
				
					
						15.5.0-rc1
					
				
					
						13.22.0-rc1
					
				
					
						15.4.1
					
				
					
						14.7.7
					
				
					
						certified/13.21-cert2
					
				
					
						certified/13.18-cert4
					
				
					
						13.21.1
					
				
					
						certified/13.21-cert1
					
				
					
						certified/13.21-cert1-rc2
					
				
					
						certified/13.21-cert1-rc1
					
				
					
						15.4.0
					
				
					
						13.21.0
					
				
					
						15.4.0-rc2
					
				
					
						15.4.0-rc1
					
				
					
						13.21.0-rc1
					
				
					
						15.3.0
					
				
					
						13.20.0
					
				
					
						15.3.0-rc2
					
				
					
						13.20.0-rc2
					
				
					
						15.3.0-rc1
					
				
					
						13.20.0-rc1
					
				
					
						15.2.2
					
				
					
						certified/13.18-cert3
					
				
					
						14.7.6
					
				
					
						13.19.2
					
				
					
						13.19.1
					
				
					
						15.2.1
					
				
					
						15.2.0
					
				
					
						13.19.0
					
				
					
						15.2.0-rc2
					
				
					
						13.19.0-rc2
					
				
					
						certified/13.18-cert2
					
				
					
						15.1.5
					
				
					
						14.7.5
					
				
					
						13.18.5
					
				
					
						certified/13.18-cert1
					
				
					
						15.2.0-rc1
					
				
					
						13.19.0-rc1
					
				
					
						certified/13.18-cert1-rc3
					
				
					
						certified/13.13-cert9
					
				
					
						15.1.4
					
				
					
						14.7.4
					
				
					
						13.18.4
					
				
					
						15.1.3
					
				
					
						certified/13.13-cert8
					
				
					
						14.7.3
					
				
					
						13.18.3
					
				
					
						certified/13.18-cert1-rc2
					
				
					
						15.1.2
					
				
					
						14.7.2
					
				
					
						13.18.2
					
				
					
						certified/13.18-cert1-rc1
					
				
					
						certified/13.13-cert7
					
				
					
						15.1.1
					
				
					
						14.7.1
					
				
					
						13.18.1
					
				
					
						15.1.0
					
				
					
						14.7.0
					
				
					
						13.18.0
					
				
					
						15.1.0-rc2
					
				
					
						14.7.0-rc2
					
				
					
						13.18.0-rc2
					
				
					
						15.1.0-rc1
					
				
					
						14.7.0-rc1
					
				
					
						13.18.0-rc1
					
				
					
						15.0.0
					
				
					
						certified/13.13-cert6
					
				
					
						certified/11.6-cert18
					
				
					
						14.6.2
					
				
					
						13.17.2
					
				
					
						11.25.3
					
				
					
						15.0.0-rc1
					
				
					
						14.6.1
					
				
					
						certified/13.13-cert5
					
				
					
						13.17.1
					
				
					
						certified/11.6-cert17
					
				
					
						11.25.2
					
				
					
						15.0.0-beta1
					
				
					
						14.6.0
					
				
					
						13.17.0
					
				
					
						14.6.0-rc1
					
				
					
						13.17.0-rc1
					
				
					
						14.5.0
					
				
					
						13.16.0
					
				
					
						14.5.0-rc2
					
				
					
						13.16.0-rc2
					
				
					
						14.5.0-rc1
					
				
					
						13.16.0-rc1
					
				
					
						certified/13.13-cert4
					
				
					
						14.4.1
					
				
					
						13.15.1
					
				
					
						14.4.0
					
				
					
						13.15.0
					
				
					
						14.4.0-rc3
					
				
					
						13.15.0-rc3
					
				
					
						14.3.1
					
				
					
						13.14.1
					
				
					
						certified/13.13-cert3
					
				
					
						13.15.0-rc2
					
				
					
						14.4.0-rc2
					
				
					
						14.4.0-rc1
					
				
					
						13.15.0-rc1
					
				
					
						certified/13.13-cert2
					
				
					
						14.3.0
					
				
					
						13.14.0
					
				
					
						certified/13.13-cert1
					
				
					
						14.3.0-rc2
					
				
					
						13.14.0-rc2
					
				
					
						certified/13.13-cert1-rc4
					
				
					
						14.3.0-rc1
					
				
					
						13.14.0-rc1
					
				
					
						certified/13.13-cert1-rc3
					
				
					
						certified/13.13-cert1-rc2
					
				
					
						certified/11.6-cert16
					
				
					
						certified/13.8-cert4
					
				
					
						14.2.1
					
				
					
						13.13.1
					
				
					
						11.25.1
					
				
					
						certified/13.13-cert1-rc1
					
				
					
						14.2.0
					
				
					
						13.13.0
					
				
					
						14.2.0-rc2
					
				
					
						13.13.0-rc2
					
				
					
						11.25.0
					
				
					
						14.2.0-rc1
					
				
					
						13.13.0-rc1
					
				
					
						11.25.0-rc1
					
				
					
						14.1.2
					
				
					
						13.12.2
					
				
					
						14.1.1
					
				
					
						13.12.1
					
				
					
						11.24.1
					
				
					
						14.1.0
					
				
					
						13.12.0
					
				
					
						11.24.0
					
				
					
						14.1.0-rc1
					
				
					
						13.12.0-rc1
					
				
					
						11.24.0-rc1
					
				
					
						14.0.2
					
				
					
						14.0.1
					
				
					
						14.0.0
					
				
					
						14.0.0-rc2
					
				
					
						14.0.0-rc1
					
				
					
						13.11.2
					
				
					
						certified/11.6-cert15
					
				
					
						certified/13.8-cert3
					
				
					
						11.23.1
					
				
					
						13.11.1
					
				
					
						13.11.0
					
				
					
						13.11.0-rc2
					
				
					
						14.0.0-beta2
					
				
					
						certified/11.6-cert14
					
				
					
						certified/11.6-cert14-rc2
					
				
					
						certified/13.8-cert2
					
				
					
						certified/13.8-cert2-rc1
					
				
					
						certified/11.6-cert14-rc1
					
				
					
						13.11.0-rc1
					
				
					
						14.0.0-beta1
					
				
					
						11.23.0
					
				
					
						13.10.0
					
				
					
						certified/13.1-cert8
					
				
					
						13.10.0-rc3
					
				
					
						certified/13.8-cert1
					
				
					
						13.10.0-rc2
					
				
					
						11.23.0-rc1
					
				
					
						13.10.0-rc1
					
				
					
						certified/13.8-cert1-rc3
					
				
					
						13.9.1
					
				
					
						13.9.0
					
				
					
						certified/13.8-cert1-rc2
					
				
					
						13.9.0-rc2
					
				
					
						certified/13.1-cert7
					
				
					
						13.9.0-rc1
					
				
					
						certified/13.1-cert6
					
				
					
						13.8.2
					
				
					
						13.8.1
					
				
					
						certified/13.1-cert5
					
				
					
						certified/13.8-cert1-rc1
					
				
					
						13.8.0
					
				
					
						11.22.0
					
				
					
						certified/13.1-cert4
					
				
					
						certified/11.6-cert13
					
				
					
						11.21.2
					
				
					
						13.7.2
					
				
					
						11.20.0
					
				
					
						13.6.0
					
				
					
						13.5.0
					
				
					
						11.19.0
					
				
					
						certified/13.1-cert3-rc1
					
				
					
						13.4.0
					
				
					
						11.18.0
					
				
					
						0.1.0
					
				
					
						0.1.1
					
				
					
						0.1.10
					
				
					
						0.1.11
					
				
					
						0.1.12
					
				
					
						0.1.2
					
				
					
						0.1.3
					
				
					
						0.1.4
					
				
					
						0.1.5
					
				
					
						0.1.6
					
				
					
						0.1.7
					
				
					
						0.1.8
					
				
					
						0.1.9
					
				
					
						0.2.0
					
				
					
						0.3.0
					
				
					
						0.4.0
					
				
					
						0.5.0
					
				
					
						0.7.0
					
				
					
						0.7.1
					
				
					
						0.7.2
					
				
					
						0.9.0
					
				
					
						1.0.0
					
				
					
						1.0.0-rc1
					
				
					
						1.0.0-rc2
					
				
					
						1.0.1
					
				
					
						1.0.10
					
				
					
						1.0.11
					
				
					
						1.0.11.1
					
				
					
						1.0.12
					
				
					
						1.0.2
					
				
					
						1.0.4
					
				
					
						1.0.5
					
				
					
						1.0.6
					
				
					
						1.0.7
					
				
					
						1.0.8
					
				
					
						1.0.9
					
				
					
						1.2.0
					
				
					
						1.2.0-beta1
					
				
					
						1.2.0-beta2
					
				
					
						1.2.0-rc1
					
				
					
						1.2.0-rc2
					
				
					
						1.2.1
					
				
					
						1.2.10
					
				
					
						1.2.10-netsec
					
				
					
						1.2.11
					
				
					
						1.2.11-netsec
					
				
					
						1.2.12
					
				
					
						1.2.12-netsec
					
				
					
						1.2.12.1
					
				
					
						1.2.12.1-netsec
					
				
					
						1.2.13
					
				
					
						1.2.13-netsec
					
				
					
						1.2.14
					
				
					
						1.2.14-netsec
					
				
					
						1.2.15
					
				
					
						1.2.15-netsec
					
				
					
						1.2.16
					
				
					
						1.2.16-netsec
					
				
					
						1.2.17
					
				
					
						1.2.17-netsec
					
				
					
						1.2.18
					
				
					
						1.2.18-netsec
					
				
					
						1.2.19
					
				
					
						1.2.19-netsec
					
				
					
						1.2.2
					
				
					
						1.2.2-netsec
					
				
					
						1.2.20
					
				
					
						1.2.20-netsec
					
				
					
						1.2.21
					
				
					
						1.2.21-netsec
					
				
					
						1.2.21.1
					
				
					
						1.2.21.1-netsec
					
				
					
						1.2.22
					
				
					
						1.2.22-netsec
					
				
					
						1.2.23
					
				
					
						1.2.23-netsec
					
				
					
						1.2.24
					
				
					
						1.2.24-netsec
					
				
					
						1.2.25
					
				
					
						1.2.25-netsec
					
				
					
						1.2.26
					
				
					
						1.2.26-netsec
					
				
					
						1.2.26.1
					
				
					
						1.2.26.1-netsec
					
				
					
						1.2.26.2
					
				
					
						1.2.26.2-netsec
					
				
					
						1.2.27
					
				
					
						1.2.28
					
				
					
						1.2.28.1
					
				
					
						1.2.29
					
				
					
						1.2.3
					
				
					
						1.2.3-netsec
					
				
					
						1.2.30
					
				
					
						1.2.30.1
					
				
					
						1.2.30.2
					
				
					
						1.2.30.3
					
				
					
						1.2.30.4
					
				
					
						1.2.31
					
				
					
						1.2.31.1
					
				
					
						1.2.31.2
					
				
					
						1.2.32
					
				
					
						1.2.33
					
				
					
						1.2.34
					
				
					
						1.2.35
					
				
					
						1.2.36
					
				
					
						1.2.37
					
				
					
						1.2.38
					
				
					
						1.2.39
					
				
					
						1.2.4
					
				
					
						1.2.4-netsec
					
				
					
						1.2.40
					
				
					
						1.2.5
					
				
					
						1.2.5-netsec
					
				
					
						1.2.6
					
				
					
						1.2.6-netsec
					
				
					
						1.2.7
					
				
					
						1.2.7-netsec
					
				
					
						1.2.7.1
					
				
					
						1.2.7.1-netsec
					
				
					
						1.2.8
					
				
					
						1.2.8-netsec
					
				
					
						1.2.9
					
				
					
						1.2.9-netsec
					
				
					
						1.2.9.1
					
				
					
						1.2.9.1-netsec
					
				
					
						1.4.0
					
				
					
						1.4.0-beta1
					
				
					
						1.4.0-beta2
					
				
					
						1.4.0-beta3
					
				
					
						1.4.0-beta4
					
				
					
						1.4.1
					
				
					
						1.4.10
					
				
					
						1.4.10.1
					
				
					
						1.4.11
					
				
					
						1.4.12
					
				
					
						1.4.12.1
					
				
					
						1.4.13
					
				
					
						1.4.14
					
				
					
						1.4.15
					
				
					
						1.4.16
					
				
					
						1.4.16.1
					
				
					
						1.4.16.2
					
				
					
						1.4.17
					
				
					
						1.4.18
					
				
					
						1.4.18.1
					
				
					
						1.4.19
					
				
					
						1.4.19-rc1
					
				
					
						1.4.19-rc2
					
				
					
						1.4.19-rc3
					
				
					
						1.4.19-rc4
					
				
					
						1.4.19.1
					
				
					
						1.4.19.2
					
				
					
						1.4.2
					
				
					
						1.4.20
					
				
					
						1.4.20-rc1
					
				
					
						1.4.20-rc2
					
				
					
						1.4.20-rc3
					
				
					
						1.4.20.1
					
				
					
						1.4.21
					
				
					
						1.4.21-rc1
					
				
					
						1.4.21-rc2
					
				
					
						1.4.21.1
					
				
					
						1.4.21.2
					
				
					
						1.4.22
					
				
					
						1.4.22-rc1
					
				
					
						1.4.22-rc2
					
				
					
						1.4.22-rc3
					
				
					
						1.4.22-rc4
					
				
					
						1.4.22-rc5
					
				
					
						1.4.22.1
					
				
					
						1.4.22.2
					
				
					
						1.4.23
					
				
					
						1.4.23-rc1
					
				
					
						1.4.23-rc2
					
				
					
						1.4.23-rc3
					
				
					
						1.4.23-rc4
					
				
					
						1.4.23-testing
					
				
					
						1.4.23.1
					
				
					
						1.4.23.2
					
				
					
						1.4.24
					
				
					
						1.4.24-rc1
					
				
					
						1.4.24.1
					
				
					
						1.4.25
					
				
					
						1.4.25-rc1
					
				
					
						1.4.25.1
					
				
					
						1.4.26
					
				
					
						1.4.26-rc1
					
				
					
						1.4.26-rc2
					
				
					
						1.4.26-rc3
					
				
					
						1.4.26-rc4
					
				
					
						1.4.26-rc5
					
				
					
						1.4.26-rc6
					
				
					
						1.4.26.1
					
				
					
						1.4.26.2
					
				
					
						1.4.26.3
					
				
					
						1.4.27
					
				
					
						1.4.27-rc1
					
				
					
						1.4.27-rc2
					
				
					
						1.4.27-rc3
					
				
					
						1.4.27-rc4
					
				
					
						1.4.27-rc5
					
				
					
						1.4.27.1
					
				
					
						1.4.28
					
				
					
						1.4.28-rc1
					
				
					
						1.4.29
					
				
					
						1.4.29-rc1
					
				
					
						1.4.29.1
					
				
					
						1.4.3
					
				
					
						1.4.30
					
				
					
						1.4.30-rc1
					
				
					
						1.4.30-rc2
					
				
					
						1.4.30-rc3
					
				
					
						1.4.31
					
				
					
						1.4.31-rc1
					
				
					
						1.4.31-rc2
					
				
					
						1.4.32
					
				
					
						1.4.32-rc1
					
				
					
						1.4.32-rc2
					
				
					
						1.4.33
					
				
					
						1.4.33-rc1
					
				
					
						1.4.33-rc2
					
				
					
						1.4.33.1
					
				
					
						1.4.34
					
				
					
						1.4.34-rc1
					
				
					
						1.4.34-rc2
					
				
					
						1.4.35
					
				
					
						1.4.35-rc1
					
				
					
						1.4.36
					
				
					
						1.4.36-rc1
					
				
					
						1.4.37
					
				
					
						1.4.37-rc1
					
				
					
						1.4.37.1
					
				
					
						1.4.38
					
				
					
						1.4.38-rc1
					
				
					
						1.4.38.1
					
				
					
						1.4.39
					
				
					
						1.4.39-rc1
					
				
					
						1.4.39.1
					
				
					
						1.4.39.2
					
				
					
						1.4.4
					
				
					
						1.4.40
					
				
					
						1.4.40-rc1
					
				
					
						1.4.40-rc2
					
				
					
						1.4.40-rc3
					
				
					
						1.4.40.1
					
				
					
						1.4.40.2
					
				
					
						1.4.41
					
				
					
						1.4.41-rc1
					
				
					
						1.4.41.1
					
				
					
						1.4.41.2
					
				
					
						1.4.42
					
				
					
						1.4.42-rc1
					
				
					
						1.4.42-rc2
					
				
					
						1.4.43
					
				
					
						1.4.44
					
				
					
						1.4.5
					
				
					
						1.4.6
					
				
					
						1.4.7
					
				
					
						1.4.7.1
					
				
					
						1.4.8
					
				
					
						1.4.9
					
				
					
						1.6.0
					
				
					
						1.6.0-beta1
					
				
					
						1.6.0-beta2
					
				
					
						1.6.0-beta3
					
				
					
						1.6.0-beta4
					
				
					
						1.6.0-beta5
					
				
					
						1.6.0-beta6
					
				
					
						1.6.0-beta7
					
				
					
						1.6.0-beta7.1
					
				
					
						1.6.0-beta8
					
				
					
						1.6.0-beta9
					
				
					
						1.6.0-rc1
					
				
					
						1.6.0-rc2
					
				
					
						1.6.0-rc3
					
				
					
						1.6.0-rc4
					
				
					
						1.6.0-rc5
					
				
					
						1.6.0-rc6
					
				
					
						1.6.0.1
					
				
					
						1.6.0.10
					
				
					
						1.6.0.11-rc1
					
				
					
						1.6.0.11-rc2
					
				
					
						1.6.0.12
					
				
					
						1.6.0.13
					
				
					
						1.6.0.13-rc1
					
				
					
						1.6.0.14
					
				
					
						1.6.0.14-rc1
					
				
					
						1.6.0.15
					
				
					
						1.6.0.16
					
				
					
						1.6.0.16-rc1
					
				
					
						1.6.0.16-rc2
					
				
					
						1.6.0.17
					
				
					
						1.6.0.18
					
				
					
						1.6.0.18-rc1
					
				
					
						1.6.0.18-rc2
					
				
					
						1.6.0.18-rc3
					
				
					
						1.6.0.19
					
				
					
						1.6.0.2
					
				
					
						1.6.0.20
					
				
					
						1.6.0.20-rc1
					
				
					
						1.6.0.21
					
				
					
						1.6.0.21-rc1
					
				
					
						1.6.0.22
					
				
					
						1.6.0.23
					
				
					
						1.6.0.23-rc1
					
				
					
						1.6.0.23-rc2
					
				
					
						1.6.0.24
					
				
					
						1.6.0.25
					
				
					
						1.6.0.26
					
				
					
						1.6.0.26-rc1
					
				
					
						1.6.0.27
					
				
					
						1.6.0.27-rc1
					
				
					
						1.6.0.27-rc2
					
				
					
						1.6.0.27-rc3
					
				
					
						1.6.0.28
					
				
					
						1.6.0.28-rc1
					
				
					
						1.6.0.28-rc2
					
				
					
						1.6.0.3
					
				
					
						1.6.0.3-rc1
					
				
					
						1.6.0.3.1
					
				
					
						1.6.0.4-rc1
					
				
					
						1.6.0.4-testing
					
				
					
						1.6.0.5
					
				
					
						1.6.0.6
					
				
					
						1.6.0.6-rc1
					
				
					
						1.6.0.7
					
				
					
						1.6.0.7-rc1
					
				
					
						1.6.0.7-rc2
					
				
					
						1.6.0.8
					
				
					
						1.6.0.9
					
				
					
						1.6.1-beta1
					
				
					
						1.6.1-beta2
					
				
					
						1.6.1-beta3
					
				
					
						1.6.1-beta4
					
				
					
						1.6.1-rc1
					
				
					
						1.6.1.0
					
				
					
						1.6.1.0-rc2
					
				
					
						1.6.1.0-rc3
					
				
					
						1.6.1.0-rc4
					
				
					
						1.6.1.0-rc5
					
				
					
						1.6.1.1
					
				
					
						1.6.1.10
					
				
					
						1.6.1.10-rc1
					
				
					
						1.6.1.10-rc2
					
				
					
						1.6.1.10-rc3
					
				
					
						1.6.1.11
					
				
					
						1.6.1.12
					
				
					
						1.6.1.12-rc1
					
				
					
						1.6.1.13
					
				
					
						1.6.1.13-rc1
					
				
					
						1.6.1.14
					
				
					
						1.6.1.15-rc1
					
				
					
						1.6.1.15-rc2
					
				
					
						1.6.1.16
					
				
					
						1.6.1.17
					
				
					
						1.6.1.18
					
				
					
						1.6.1.18-rc1
					
				
					
						1.6.1.18-rc2
					
				
					
						1.6.1.19
					
				
					
						1.6.1.19-rc1
					
				
					
						1.6.1.19-rc2
					
				
					
						1.6.1.19-rc3
					
				
					
						1.6.1.2
					
				
					
						1.6.1.20
					
				
					
						1.6.1.20-rc1
					
				
					
						1.6.1.20-rc2
					
				
					
						1.6.1.21
					
				
					
						1.6.1.22
					
				
					
						1.6.1.23
					
				
					
						1.6.1.24
					
				
					
						1.6.1.25
					
				
					
						1.6.1.3-rc1
					
				
					
						1.6.1.4
					
				
					
						1.6.1.5
					
				
					
						1.6.1.5-rc1
					
				
					
						1.6.1.6
					
				
					
						1.6.1.7-rc1
					
				
					
						1.6.1.7-rc2
					
				
					
						1.6.1.8
					
				
					
						1.6.1.9
					
				
					
						1.6.2.0
					
				
					
						1.6.2.0-beta1
					
				
					
						1.6.2.0-beta2
					
				
					
						1.6.2.0-beta3
					
				
					
						1.6.2.0-beta4
					
				
					
						1.6.2.0-rc1
					
				
					
						1.6.2.0-rc2
					
				
					
						1.6.2.0-rc3
					
				
					
						1.6.2.0-rc4
					
				
					
						1.6.2.0-rc5
					
				
					
						1.6.2.0-rc6
					
				
					
						1.6.2.0-rc7
					
				
					
						1.6.2.0-rc8
					
				
					
						1.6.2.1
					
				
					
						1.6.2.1-rc1
					
				
					
						1.6.2.10
					
				
					
						1.6.2.10-rc1
					
				
					
						1.6.2.10-rc2
					
				
					
						1.6.2.11
					
				
					
						1.6.2.11-rc1
					
				
					
						1.6.2.11-rc2
					
				
					
						1.6.2.12
					
				
					
						1.6.2.12-rc1
					
				
					
						1.6.2.13
					
				
					
						1.6.2.14
					
				
					
						1.6.2.14-rc1
					
				
					
						1.6.2.15
					
				
					
						1.6.2.15-rc1
					
				
					
						1.6.2.15.1
					
				
					
						1.6.2.16
					
				
					
						1.6.2.16-rc1
					
				
					
						1.6.2.16.1
					
				
					
						1.6.2.16.2
					
				
					
						1.6.2.17
					
				
					
						1.6.2.17-rc1
					
				
					
						1.6.2.17-rc2
					
				
					
						1.6.2.17-rc3
					
				
					
						1.6.2.17.1
					
				
					
						1.6.2.17.2
					
				
					
						1.6.2.17.3
					
				
					
						1.6.2.18
					
				
					
						1.6.2.18-rc1
					
				
					
						1.6.2.18.1
					
				
					
						1.6.2.18.2
					
				
					
						1.6.2.19
					
				
					
						1.6.2.19-rc1
					
				
					
						1.6.2.2
					
				
					
						1.6.2.20
					
				
					
						1.6.2.21
					
				
					
						1.6.2.22
					
				
					
						1.6.2.23
					
				
					
						1.6.2.24
					
				
					
						1.6.2.3-rc1
					
				
					
						1.6.2.3-rc2
					
				
					
						1.6.2.4
					
				
					
						1.6.2.5
					
				
					
						1.6.2.6
					
				
					
						1.6.2.6-rc1
					
				
					
						1.6.2.6-rc2
					
				
					
						1.6.2.7
					
				
					
						1.6.2.7-rc1
					
				
					
						1.6.2.7-rc2
					
				
					
						1.6.2.7-rc3
					
				
					
						1.6.2.8
					
				
					
						1.6.2.8-rc1
					
				
					
						1.6.2.8-rc2
					
				
					
						1.6.2.9
					
				
					
						1.6.2.9-rc1
					
				
					
						1.6.2.9-rc2
					
				
					
						1.6.2.9-rc3
					
				
					
						1.8.0
					
				
					
						1.8.0-beta1
					
				
					
						1.8.0-beta2
					
				
					
						1.8.0-beta3
					
				
					
						1.8.0-beta4
					
				
					
						1.8.0-beta5
					
				
					
						1.8.0-rc1
					
				
					
						1.8.0-rc2
					
				
					
						1.8.0-rc3
					
				
					
						1.8.0-rc4
					
				
					
						1.8.0-rc5
					
				
					
						1.8.1
					
				
					
						1.8.1-rc1
					
				
					
						1.8.1.1
					
				
					
						1.8.1.2
					
				
					
						1.8.10.0
					
				
					
						1.8.10.0-rc1
					
				
					
						1.8.10.0-rc2
					
				
					
						1.8.10.0-rc3
					
				
					
						1.8.10.0-rc4
					
				
					
						1.8.10.1
					
				
					
						1.8.11.0
					
				
					
						1.8.11.0-rc1
					
				
					
						1.8.11.0-rc2
					
				
					
						1.8.11.0-rc3
					
				
					
						1.8.11.1
					
				
					
						1.8.12.0
					
				
					
						1.8.12.0-rc1
					
				
					
						1.8.12.0-rc2
					
				
					
						1.8.12.0-rc3
					
				
					
						1.8.12.1
					
				
					
						1.8.12.2
					
				
					
						1.8.13.0
					
				
					
						1.8.13.0-rc1
					
				
					
						1.8.13.0-rc2
					
				
					
						1.8.13.1
					
				
					
						1.8.14.0
					
				
					
						1.8.14.0-rc1
					
				
					
						1.8.14.0-rc2
					
				
					
						1.8.14.1
					
				
					
						1.8.15-cert4
					
				
					
						1.8.15.0
					
				
					
						1.8.15.0-rc1
					
				
					
						1.8.15.1
					
				
					
						1.8.16.0
					
				
					
						1.8.16.0-rc1
					
				
					
						1.8.16.0-rc2
					
				
					
						1.8.17.0
					
				
					
						1.8.17.0-rc1
					
				
					
						1.8.17.0-rc2
					
				
					
						1.8.17.0-rc3
					
				
					
						1.8.18.0
					
				
					
						1.8.18.0-rc1
					
				
					
						1.8.18.1
					
				
					
						1.8.19.0
					
				
					
						1.8.19.0-rc1
					
				
					
						1.8.19.0-rc2
					
				
					
						1.8.19.0-rc3
					
				
					
						1.8.19.0-tc1
					
				
					
						1.8.19.1
					
				
					
						1.8.2
					
				
					
						1.8.2-rc1
					
				
					
						1.8.2.1
					
				
					
						1.8.2.2
					
				
					
						1.8.2.3
					
				
					
						1.8.2.4
					
				
					
						1.8.20.0
					
				
					
						1.8.20.0-rc1
					
				
					
						1.8.20.0-rc2
					
				
					
						1.8.20.1
					
				
					
						1.8.20.2
					
				
					
						1.8.21.0
					
				
					
						1.8.21.0-rc1
					
				
					
						1.8.21.0-rc2
					
				
					
						1.8.22.0
					
				
					
						1.8.22.0-rc1
					
				
					
						1.8.22.0-rc2
					
				
					
						1.8.23.0
					
				
					
						1.8.23.0-rc1
					
				
					
						1.8.23.0-rc2
					
				
					
						1.8.23.1
					
				
					
						1.8.24.0
					
				
					
						1.8.24.0-rc1
					
				
					
						1.8.24.0-rc2
					
				
					
						1.8.24.1
					
				
					
						1.8.25.0
					
				
					
						1.8.25.0-rc1
					
				
					
						1.8.25.0-rc2
					
				
					
						1.8.26.0
					
				
					
						1.8.26.0-rc1
					
				
					
						1.8.26.0-rc2
					
				
					
						1.8.26.1
					
				
					
						1.8.27.0
					
				
					
						1.8.27.0-rc1
					
				
					
						1.8.27.0-rc2
					
				
					
						1.8.28-cert5
					
				
					
						1.8.28.0
					
				
					
						1.8.28.0-rc1
					
				
					
						1.8.28.1
					
				
					
						1.8.28.2
					
				
					
						1.8.29.0
					
				
					
						1.8.29.0-rc1
					
				
					
						1.8.3
					
				
					
						1.8.3-rc1
					
				
					
						1.8.3-rc2
					
				
					
						1.8.3-rc3
					
				
					
						1.8.3.1
					
				
					
						1.8.3.2
					
				
					
						1.8.3.3
					
				
					
						1.8.30.0
					
				
					
						1.8.30.0-rc1
					
				
					
						1.8.31.0
					
				
					
						1.8.31.0-rc1
					
				
					
						1.8.31.1
					
				
					
						1.8.32.0
					
				
					
						1.8.32.0-rc1
					
				
					
						1.8.32.0-rc2
					
				
					
						1.8.32.1
					
				
					
						1.8.32.2
					
				
					
						1.8.32.3
					
				
					
						1.8.4
					
				
					
						1.8.4-rc1
					
				
					
						1.8.4-rc2
					
				
					
						1.8.4-rc3
					
				
					
						1.8.4.1
					
				
					
						1.8.4.2
					
				
					
						1.8.4.3
					
				
					
						1.8.4.4
					
				
					
						1.8.5-rc1
					
				
					
						1.8.5.0
					
				
					
						1.8.5.1
					
				
					
						1.8.6.0
					
				
					
						1.8.6.0-rc1
					
				
					
						1.8.6.0-rc2
					
				
					
						1.8.6.0-rc3
					
				
					
						1.8.7.0
					
				
					
						1.8.7.0-rc1
					
				
					
						1.8.7.0-rc2
					
				
					
						1.8.7.1
					
				
					
						1.8.7.2
					
				
					
						1.8.8.0
					
				
					
						1.8.8.0-rc1
					
				
					
						1.8.8.0-rc2
					
				
					
						1.8.8.0-rc3
					
				
					
						1.8.8.0-rc4
					
				
					
						1.8.8.0-rc5
					
				
					
						1.8.8.1
					
				
					
						1.8.8.2
					
				
					
						1.8.9.0
					
				
					
						1.8.9.0-rc1
					
				
					
						1.8.9.0-rc2
					
				
					
						1.8.9.0-rc3
					
				
					
						1.8.9.1
					
				
					
						1.8.9.2
					
				
					
						1.8.9.3
					
				
					
						10.0.0
					
				
					
						10.0.0-beta1
					
				
					
						10.0.0-beta2
					
				
					
						10.0.0-rc1
					
				
					
						10.0.0-rc2
					
				
					
						10.0.0-rc3
					
				
					
						10.0.0-rc4
					
				
					
						10.0.1
					
				
					
						10.1.0
					
				
					
						10.1.0-rc1
					
				
					
						10.1.0-rc2
					
				
					
						10.1.1
					
				
					
						10.1.2
					
				
					
						10.1.3
					
				
					
						10.10.0
					
				
					
						10.10.0-digiumphones
					
				
					
						10.10.0-digiumphones-rc1
					
				
					
						10.10.0-digiumphones-rc2
					
				
					
						10.10.0-rc1
					
				
					
						10.10.0-rc2
					
				
					
						10.10.1
					
				
					
						10.10.1-digiumphones
					
				
					
						10.11.0
					
				
					
						10.11.0-digiumphones
					
				
					
						10.11.0-digiumphones-rc1
					
				
					
						10.11.0-digiumphones-rc2
					
				
					
						10.11.0-digiumphones-rc3
					
				
					
						10.11.0-rc1
					
				
					
						10.11.0-rc2
					
				
					
						10.11.0-rc3
					
				
					
						10.11.1
					
				
					
						10.11.1-digiumphones
					
				
					
						10.12.0
					
				
					
						10.12.0-digiumphones
					
				
					
						10.12.0-digiumphones-rc1
					
				
					
						10.12.0-digiumphones-rc2
					
				
					
						10.12.0-rc1
					
				
					
						10.12.0-rc2
					
				
					
						10.12.1
					
				
					
						10.12.1-digiumphones
					
				
					
						10.12.2
					
				
					
						10.12.2-digiumphones
					
				
					
						10.12.3
					
				
					
						10.12.3-digiumphones
					
				
					
						10.12.4
					
				
					
						10.12.4-digiumphones
					
				
					
						10.2.0
					
				
					
						10.2.0-rc1
					
				
					
						10.2.0-rc2
					
				
					
						10.2.0-rc3
					
				
					
						10.2.0-rc4
					
				
					
						10.2.1
					
				
					
						10.3.0
					
				
					
						10.3.0-rc1
					
				
					
						10.3.0-rc2
					
				
					
						10.3.0-rc3
					
				
					
						10.3.1
					
				
					
						10.4.0
					
				
					
						10.4.0-digiumphones-rc1
					
				
					
						10.4.0-digiumphones-rc2
					
				
					
						10.4.0-rc1
					
				
					
						10.4.0-rc2
					
				
					
						10.4.0-rc3
					
				
					
						10.4.1
					
				
					
						10.4.2
					
				
					
						10.5.0
					
				
					
						10.5.0-digiumphones
					
				
					
						10.5.0-digiumphones-rc1
					
				
					
						10.5.0-digiumphones-rc2
					
				
					
						10.5.0-rc1
					
				
					
						10.5.0-rc2
					
				
					
						10.5.1
					
				
					
						10.5.1-digiumphones
					
				
					
						10.5.2
					
				
					
						10.5.2-digiumphones
					
				
					
						10.6.0
					
				
					
						10.6.0-digiumphones
					
				
					
						10.6.0-digiumphones-rc1
					
				
					
						10.6.0-digiumphones-rc2
					
				
					
						10.6.0-rc1
					
				
					
						10.6.0-rc2
					
				
					
						10.6.1
					
				
					
						10.6.1-digiumphones
					
				
					
						10.7.0
					
				
					
						10.7.0-digiumphones
					
				
					
						10.7.0-digiumphones-rc1
					
				
					
						10.7.0-rc1
					
				
					
						10.7.1
					
				
					
						10.7.1-digiumphones
					
				
					
						10.8.0
					
				
					
						10.8.0-digiumphones
					
				
					
						10.8.0-digiumphones-rc1
					
				
					
						10.8.0-digiumphones-rc2
					
				
					
						10.8.0-rc1
					
				
					
						10.8.0-rc2
					
				
					
						10.9.0
					
				
					
						10.9.0-digiumphones
					
				
					
						10.9.0-digiumphones-rc1
					
				
					
						10.9.0-digiumphones-rc2
					
				
					
						10.9.0-digiumphones-rc3
					
				
					
						10.9.0-rc1
					
				
					
						10.9.0-rc2
					
				
					
						10.9.0-rc3
					
				
					
						11.0.0
					
				
					
						11.0.0-beta1
					
				
					
						11.0.0-beta2
					
				
					
						11.0.0-rc1
					
				
					
						11.0.0-rc2
					
				
					
						11.0.1
					
				
					
						11.0.2
					
				
					
						11.1.0
					
				
					
						11.1.0-rc1
					
				
					
						11.1.0-rc2
					
				
					
						11.1.0-rc3
					
				
					
						11.1.1
					
				
					
						11.1.2
					
				
					
						11.10.0
					
				
					
						11.10.0-rc1
					
				
					
						11.10.1
					
				
					
						11.10.2
					
				
					
						11.11.0
					
				
					
						11.11.0-rc1
					
				
					
						11.12.0
					
				
					
						11.12.0-rc1
					
				
					
						11.12.1
					
				
					
						11.13.0
					
				
					
						11.13.0-rc1
					
				
					
						11.13.1
					
				
					
						11.14.0
					
				
					
						11.14.0-rc1
					
				
					
						11.14.0-rc2
					
				
					
						11.14.1
					
				
					
						11.14.2
					
				
					
						11.15.0
					
				
					
						11.15.0-rc1
					
				
					
						11.15.0-rc2
					
				
					
						11.15.1
					
				
					
						11.16.0
					
				
					
						11.16.0-rc1
					
				
					
						11.17.0
					
				
					
						11.17.0-rc1
					
				
					
						11.17.1
					
				
					
						11.18.0-rc1
					
				
					
						11.19.0-rc1
					
				
					
						11.2.0
					
				
					
						11.2.0-rc1
					
				
					
						11.2.0-rc2
					
				
					
						11.2.1
					
				
					
						11.2.2
					
				
					
						11.20.0-rc1
					
				
					
						11.20.0-rc2
					
				
					
						11.20.0-rc3
					
				
					
						11.21.0
					
				
					
						11.21.0-rc1
					
				
					
						11.21.0-rc2
					
				
					
						11.21.0-rc3
					
				
					
						11.21.1
					
				
					
						11.22.0-rc1
					
				
					
						11.3.0
					
				
					
						11.3.0-rc1
					
				
					
						11.3.0-rc2
					
				
					
						11.4.0
					
				
					
						11.4.0-rc1
					
				
					
						11.4.0-rc2
					
				
					
						11.4.0-rc3
					
				
					
						11.5.0
					
				
					
						11.5.0-rc1
					
				
					
						11.5.0-rc2
					
				
					
						11.5.1
					
				
					
						11.6-cert11
					
				
					
						11.6.0
					
				
					
						11.6.0-rc1
					
				
					
						11.6.0-rc2
					
				
					
						11.6.1
					
				
					
						11.7.0
					
				
					
						11.7.0-rc1
					
				
					
						11.7.0-rc2
					
				
					
						11.8.0
					
				
					
						11.8.0-rc1
					
				
					
						11.8.0-rc2
					
				
					
						11.8.0-rc3
					
				
					
						11.8.1
					
				
					
						11.9.0
					
				
					
						11.9.0-rc1
					
				
					
						11.9.0-rc2
					
				
					
						11.9.0-rc3
					
				
					
						12.0.0
					
				
					
						12.0.0-alpha1
					
				
					
						12.0.0-alpha2
					
				
					
						12.0.0-beta1
					
				
					
						12.0.0-beta2
					
				
					
						12.1.0
					
				
					
						12.1.0-rc1
					
				
					
						12.1.0-rc2
					
				
					
						12.1.0-rc3
					
				
					
						12.1.1
					
				
					
						12.2.0
					
				
					
						12.2.0-rc1
					
				
					
						12.2.0-rc2
					
				
					
						12.2.0-rc3
					
				
					
						12.3.0
					
				
					
						12.3.0-rc1
					
				
					
						12.3.0-rc2
					
				
					
						12.3.1
					
				
					
						12.3.2
					
				
					
						12.4.0
					
				
					
						12.4.0-rc1
					
				
					
						12.5.0
					
				
					
						12.5.0-rc1
					
				
					
						12.5.1
					
				
					
						12.6.0
					
				
					
						12.6.0-rc1
					
				
					
						12.6.1
					
				
					
						12.7.0
					
				
					
						12.7.0-rc1
					
				
					
						12.7.0-rc2
					
				
					
						12.7.1
					
				
					
						12.7.2
					
				
					
						12.8.0
					
				
					
						12.8.0-rc1
					
				
					
						12.8.0-rc2
					
				
					
						12.8.1
					
				
					
						12.8.2
					
				
					
						13.0.0
					
				
					
						13.0.0-beta1
					
				
					
						13.0.0-beta2
					
				
					
						13.0.0-beta3
					
				
					
						13.0.1
					
				
					
						13.0.2
					
				
					
						13.1-cert2
					
				
					
						13.1.0
					
				
					
						13.1.0-rc1
					
				
					
						13.1.0-rc2
					
				
					
						13.1.1
					
				
					
						13.2.0
					
				
					
						13.2.0-rc1
					
				
					
						13.2.1
					
				
					
						13.3.0
					
				
					
						13.3.0-rc1
					
				
					
						13.3.1
					
				
					
						13.3.2
					
				
					
						13.4.0-rc1
					
				
					
						13.5.0-rc1
					
				
					
						13.6.0-rc1
					
				
					
						13.6.0-rc2
					
				
					
						13.6.0-rc3
					
				
					
						13.7.0
					
				
					
						13.7.0-rc1
					
				
					
						13.7.0-rc2
					
				
					
						13.7.0-rc3
					
				
					
						13.7.1
					
				
					
						13.8.0-rc1
					
				
					
						certified/1.8.11-cert1
					
				
					
						certified/1.8.11-cert10
					
				
					
						certified/1.8.11-cert2
					
				
					
						certified/1.8.11-cert3-rc1
					
				
					
						certified/1.8.11-cert3-rc2
					
				
					
						certified/1.8.11-cert4
					
				
					
						certified/1.8.11-cert5
					
				
					
						certified/1.8.11-cert5-rc1
					
				
					
						certified/1.8.11-cert5-rc2
					
				
					
						certified/1.8.11-cert6
					
				
					
						certified/1.8.11-cert7
					
				
					
						certified/1.8.11-cert8
					
				
					
						certified/1.8.11-cert9
					
				
					
						certified/1.8.11-cert9-rc1
					
				
					
						certified/1.8.15-cert1
					
				
					
						certified/1.8.15-cert1-rc1
					
				
					
						certified/1.8.15-cert1-rc2
					
				
					
						certified/1.8.15-cert1-rc3
					
				
					
						certified/1.8.15-cert2
					
				
					
						certified/1.8.15-cert3
					
				
					
						certified/1.8.15-cert4
					
				
					
						certified/1.8.15-cert5
					
				
					
						certified/1.8.15-cert6
					
				
					
						certified/1.8.15-cert7
					
				
					
						certified/1.8.28-cert1
					
				
					
						certified/1.8.28-cert1-rc1
					
				
					
						certified/1.8.28-cert2
					
				
					
						certified/1.8.28-cert3
					
				
					
						certified/1.8.28-cert4
					
				
					
						certified/1.8.28-cert5
					
				
					
						certified/1.8.6-cert1
					
				
					
						certified/11.2-cert1
					
				
					
						certified/11.2-cert1-rc1
					
				
					
						certified/11.2-cert1-rc2
					
				
					
						certified/11.2-cert2
					
				
					
						certified/11.2-cert3
					
				
					
						certified/11.6-cert1
					
				
					
						certified/11.6-cert1-rc1
					
				
					
						certified/11.6-cert1-rc2
					
				
					
						certified/11.6-cert10
					
				
					
						certified/11.6-cert11
					
				
					
						certified/11.6-cert12
					
				
					
						certified/11.6-cert2
					
				
					
						certified/11.6-cert3
					
				
					
						certified/11.6-cert4
					
				
					
						certified/11.6-cert5
					
				
					
						certified/11.6-cert6
					
				
					
						certified/11.6-cert7
					
				
					
						certified/11.6-cert8
					
				
					
						certified/11.6-cert9
					
				
					
						certified/13.1-cert1
					
				
					
						certified/13.1-cert1-rc1
					
				
					
						certified/13.1-cert1-rc2
					
				
					
						certified/13.1-cert1-rc3
					
				
					
						certified/13.1-cert2
					
				
					
						certified/13.1-cert3
					
				
			
		${ noResults }
		
	
		
			80 Commits (9de5cd209e5918d27d03afaaddb41125d7a76701)
		
	
	
		
	
	| Author | SHA1 | Message | Date | 
|---|---|---|---|
|  | 38bed4515d | res_pjsip:  Add ability to identify by Authorization username A feature of chan_sip that service providers relied upon was the ability to identify by the Authorization username. This is most often used when customers have a PBX that needs to register rather than identify by IP address. From my own experiance, this is pretty common with small businesses who otherwise don't need a static IP. In this scenario, a register from the customer's PBX may succeed because From will usually contain the PBXs account id but an INVITE will contain the caller id. With nothing recognizable in From, the service provider's Asterisk can never match to an endpoint and the INVITE just stays unauthorized. The fixes: A new value "auth_username" has been added to endpoint/identify_by that will use the username and digest fields in the Authorization header instead of username and domain in the the From header to match an endpoint, or the To header to match an aor. This code as added to res_pjsip_endpoint_identifier_user rather than creating a new module. Although identify_by was always a comma-separated list, there was only 1 choice so order wasn't preserved. So to keep the order, a vector was added to the end of ast_sip_endpoint. This is only used by res_pjsip_registrar to find the aor. The res_pjsip_endpoint_identifier_* modules are called in globals/endpoint_identifier_order. Along the way, the logic in res_pjsip_registrar was corrected to match most-specific to least-specific as res_pjsip_endpoint_identifier_user does. The order is: username@domain username@domain_alias username Auth by username does present 1 problem however, the first INVITE won't have an Authorization header so the distributor, not finding a match on anything, sends a securty_alert. It still sends a 401 with a challenge so the next INVITE will have the Authorization header and presumably succeed. As a result though, that first security alert is actually a false alarm. To address this, a new feature has been added to pjsip_distributor that keeps track of unidentified requests and only sends the security alert if a configurable number of unidentified requests come from the same IP in a configurable amout of time. Those configuration options have been added to the global config object. This feature is only used when auth_username is enabled. Finally, default_realm was added to the globals object to replace the hard coded "asterisk" used when an endpoint is not yet identified. The testsuite tests all pass but new tests are forthcoming for this new feature. ASTERISK-25835 #close Reported-by: Ross Beer Change-Id: I30ba62d208e6f63439600916fcd1c08a365ed69d | 10 years ago | 
|  | d8f0bc3572 | res_pjsip_mwi:  Add voicemail extension and mwi_subscribe_replaces_unsolicited res_pjsip_mwi was missing the chan_sip "vmexten" functionality which adds the Message-Account header to the MWI NOTIFY. Also, specifying mailboxes on endpoints for unsolicited mwi and on aors for subscriptions required that the admin know in advance which the client wanted. If you specified mailboxes on the endpoint, subscriptions were rejected even if you also specified mailboxes on the aor. Voicemail extension: * Added a global default_voicemail_extension which defaults to "". * Added voicemail_extension to both endpoint and aor. * Added ast_sip_subscription_get_dialog for support. * Added ast_sip_subscription_get_sip_uri for support. When an unsolicited NOTIFY is constructed, the From header is parsed, the voicemail extension from the endpoint is substituted for the user, and the result placed in the Message-Account field in the body. When a subscribed NOTIFY is constructed, the subscription dialog local uri is parsed, the voicemail_extension from the aor (looked up from the subscription resource name) is substituted for the user, and the result placed in the Message-Account field in the body. If no voicemail extension was defined, the Message-Account field is not added to the NOTIFY body. mwi_subscribe_replaces_unsolicited: * Added mwi_subscribe_replaces_unsolicited to endpoint. The previous behavior was to reject a subscribe if a previous internal subscription for unsolicited MWI was found for the mailbox. That remains the default. However, if there are mailboxes also set on the aor and the client subscribes and mwi_subscribe_replaces_unsolicited is set, the existing internal subscription is removed and replaced with the external subscription. This allows an admin to configure mailboxes on both the endpoint and aor and allows the client to select which to use. ASTERISK-25865 #close Reported-by: Ross Beer Change-Id: Ic15a9415091760539c7134a5ba3dc4a6a1217cea | 10 years ago | 
|  | c7eb18d865 | chan_pjsip:  Add 'pjsip show channelstats' Added the ability to show channel statistics to chan_pjsip (cli_functions.c) Moved the existing 'pjsip show channel(s)' functionality from pjsip_configuration to cli_functions.c. The stats needed chan_pjsip's private header so it made sense to move the existing channel commands as well. Now using stasis_cache_dump to get the channel snapshots rather than retrieving all endpoints, then getting each one's channel snapshots. Much more efficient. Change-Id: I03b114522126d27434030b285bf6d531ddd79869 | 10 years ago | 
|  | 530cff5f5f | res_pjsip:  Strip spaces from items parsed from comma-separated lists Configurations like "aors = a, b, c" were either ignoring everything after "a" or trying to look up " b". Same for mailboxes, ciphers, contacts and a few others. To fix, all the strsep(©, ",") calls have been wrapped in ast_strip. To facilitate this, ast_strip, ast_skip_blanks and ast_skip_nonblanks were updated to handle null pointers. In some cases, an ast_strlen_zero() test was added to skip consecutive commas. There was also an attempt to ast_free an ast_strdupa'd string in ast_sip_for_each_aor which was causing a SEGV. I removed it. Although this issue was reported for realtime, the issue was in the res_pjsip modules so all config mechanisms were affected. ASTERISK-25829 #close Reported-by: Mateusz Kowalski Change-Id: I0b22a2cf22a7c1c50d4ecacbfa540155bec0e7a2 | 10 years ago | 
|  | b1b797e0e7 | res_pjsip:  Refactor load_module/unload_module load_module was just too hairy with every step having to clean up all previous steps on failure. Some of the pjproject init calls have now been moved to a separate load_pjsip function and the unload_pjsip function was enhanced to clean up everything if an error happened at any stage of the load process. In the process, a bunch of missing pj_shutdowns, serializer_pool_shutdowns and ast_threadpool_shutdowns were also corrected. Change-Id: I5eec711b437c35b56605ed99537ebbb30463b302 | 10 years ago | 
|  | 236896f391 | Merge "pjsip:  Add option global/regcontext" into 13 | 10 years ago | 
|  | 219c204a41 | pjsip_sdp_rtp:  Add option endpoint/bind_rtp_to_media_address On a system with multiple ip addresses in the same subnet, if a transport is bound to a specific ip address and endpoint/media_address is set, the SIP/SDP will have the correct address in all fields but the rtp stream MAY still originate from one of the other ip addresses, most probably the "primary" ip address. This happens because res_pjsip_sdp_rtp/create_rtp always calls ast_instance_new with the "all" ip address (0.0.0.0 or ::). The new option causes res_pjsip_sdp_rtp/create_rtp to call ast_rtp_instance_new with the endpoint's media_address (if specified) instead of the "all" address. This causes the packets to originate from the specified address. ASTERISK-25632 ASTERISK-25637 Reported-by: Olivier Krief Reported-by: Dan Journo Change-Id: I3dfaa079e54ba7fb7c4fd1f5f7bd9509bbf8bd88 | 10 years ago | 
|  | 22801a06ee | pjsip:  Add option global/regcontext Added new global option (regcontext) to pjsip. When set, Asterisk will dynamically create and destroy a NoOp priority 1 extension for a given endpoint who registers or unregisters with us. ASTERISK-25670 #close Reported-by: Daniel Journo Change-Id: Ib1530c5b45340625805c057f8ff1fb240a43ea62 | 10 years ago | 
|  | 21962dad93 | res_pjsip:  Add existence and readablity checks for tls related files Both transport and endpoint now check for the existence and readability of tls certificate and key files before passing them on to pjproject. This will cause the object to not load rather than waiting for pjproject to discover that there's a problem when a session is attempted. NOTE: chan_sip also uses ast_rtp_dtls_cfg_parse but it's located in build_peer which is gigantic and I didn't want to disturb it. Error messages will emit but it won't interrupt chan_sip loading. ASTERISK-25618 #close Change-Id: Ie43f2c1d653ac1fda6a6f6faecb7c2ebadaf47c9 Reported-by: George Joseph Tested-by: George Joseph | 10 years ago | 
|  | 450579e908 | res_pjsip/contacts/statsd:  Make contact lifecycle events more consistent It will never be perfect or even pretty, mostly because of the differences between static and dynamic contacts. Created: Can't use the contact or contact_status alloc functions because the objects come and go regardless of the actual state. Can't use the contact_apply_handler, ast_sip_location_add_contact or a sorcery created handler because they only get called for dynamic contacts. Similarly, permanent_uri_handler only gets called for static contacts. So, Matt had it right. :) ast_res_pjsip_find_or_create_contact_status is the only place it can go and not have duplicated code. Both permanent_uri_handler and contact_apply_handler call find_or_create. Removed: Can't use the destructors for the same reason as above. The only place to put this is in persistent_endpoint_contact_deleted_observer which I believe is the "correct" place but even that will handle only dynamic contacts. This doesn't called on shutdown however. There is no hook to use for static contacts that may be removed because of a config change while asterisk is in operation. I moved the cleanup of contact_status from ast_sip_location_delete_contact to the handler as well. Status Change and RTT: Although they worked fine where they were (in update_contact_status) I moved them to persistent_endpoint_contact_status_observer to make it more consistent with removed. There was logic there already to detect a state change. Finally, fixed a nit in permanent_uri_handler rmudgett reported eralier. ASTERISK-25608 #close Change-Id: I4b56e7dfc3be3baaaf6f1eac5b2068a0b79e357d Reported-by: George Joseph Tested-by: George Joseph | 10 years ago | 
|  | ed9134282e | res_pjsip:  Update logging to show contact->uri in messages An earlier commit changed the id of dynamic contacts to contain a hash instead of the uri. This patch updates status change logging to show the aor/uri instead of the id. This required adding the aor id to contact and contact_status and adding uri to contact_status. The aor id gets added to contact and contact_status in their allocators and the uri gets added to contact_status in pjsip_options when the contact_status is created or updated. ASTERISK-25598 #close Reported-by: George Joseph Tested-by: George Joseph Change-Id: I56cbec1d2ddbe8461367dd8b6da8a6f47f6fe511 | 10 years ago | 
|  | 715f770c9f | pjsip_configuration: On delete, remove the persistent version of an endpoint When an endpoint is deleted (such as through an API), the persistent endpoint currently continues to lurk around. While this isn't harmful from a memory consumption perspective - as all persistent endpoints are reclaimed on shutdown - it does cause Stasis endpoint related operations to continue to believe that the endpoint may or may not exist. This patch causes the persistent endpoint related to a PJSIP endpoint to be destroyed if the PJSIP endpoint is deleted. Change-Id: I85ac707b4d5e6aad882ac275b0c2e2154affa5bb | 10 years ago | 
|  | 162acd45f7 | res_pjsip:  Add "like" processing to pjsip list and show commands Add the ability to filter output from pjsip list and show commands using the "like" predicate like chan_sip. For endpoints, aors, auths, registrations, identifyies and transports, the modification was a simple change of an ast_sorcery_retrieve_by_fields call to ast_sorcery_retrieve_by_regex. For channels and contacts a little more work had to be done because neither of those objects are true sorcery objects. That was just removing the non-matching object from the final container. Of course, a little extra plumbing in the common pjsip_cli code was needed to parse the "like" and pass the regex to the get_container callbacks. Some of the get_container code in res_pjsip_endpoint_identifier was also refactored for simplicity. ASTERISK-25477 #close Reported by: Bryant Zimmerman Tested by: George Joseph Change-Id: I646d9326b778aac26bb3e2bcd7fa1346d24434f1 | 10 years ago | 
|  | f2725c8b77 | res_pjsip: Move URI validation to use time. In a realtime based system with a limited number of threadpool threads it is possible for a deadlock to occur. This happens when permanent endpoint state is updated, which will cause database queries to be done. These queries may result in URI validation being done which is done synchronously using a PJSIP thread. If all PJSIP threads are in use processing traffic they themselves may be blocked waiting to get the permanent endpoint container lock when identifying an endpoint. This change moves URI validation to occur at use time instead of configuration time. While this comes at a cost of not seeing a problem until you use it it does solve the underlying deadlock problem. ASTERISK-25486 #close Change-Id: I2d7d167af987d23b3e8199e4a68f3359eba4c76a | 10 years ago | 
|  | bc6fe07f5c | res_pjsip/pjsip_configuration: Disregard empty auth values When an endpoint is backed by a non-static conf file backend (such as the AstDB or Realtime), the 'auth' object may be returned as being an empty string. Currently, res_pjsip will interpret that as being a valid auth object, and will attempt to authenticate inbound requests. This isn't desired; is an auth value is empty (which the name of an auth object cannot be), we should instead interpret that as being an invalid auth object and skip it. ASTERISK-25339 #close Change-Id: Ic32b0c6eb5575107d5164a8c40099e687cd722c7 | 10 years ago | 
|  | 2749721791 | pjsip: Add rtp_timeout and rtp_timeout_hold endpoint options. This change adds support for the 'rtp_timeout' and 'rtp_timeout_hold' endpoint options. These allow the channel to be hung up if RTP is not received from the remote endpoint for a specified number of seconds. ASTERISK-25259 #close Change-Id: I3f39daaa7da2596b5022737b77799d16204175b9 | 10 years ago | 
|  | d9094ddd73 | res_pjsip: Add rtp_keepalive endpoint option. This adds an "rtp_keepalive" option for PJSIP endpoints. Similar to the chan_sip option, this specifies an interval, in seconds, at which we will send RTP comfort noise frames. This can be useful for keeping RTP sessions alive as well as keeping NAT associations alive during lulls. ASTERISK-25242 #close Reported by Mark Michelson Change-Id: I06660ba672c0a343814af4cec838e6025cafd54b | 10 years ago | 
|  | cd2213f1ae | res_pjsip/configuration: Fix a variety of default value problems This patch fixes some bad default value handling in the following settings: * The 'message_context' and 'accountcode' settings are not mandatory. As such, we can allow their stringfield values to be empty. * The 'media_encryption' setting applies a default value of 'none' to the setting, which it then can't parse or understand. Since the value is documented to be 'no', this will now apply that as the default value. Change-Id: Ib9be7f97a7a5b9bc7aee868edf5acf38774cff83 | 10 years ago | 
|  | 31c77b157b | res_pjsip: Add option to force G.726 to be treated as AAL2 packed. Some phones send g.726 audio packed for AAL2, which differs from what is recommended by RFC 3351. If Asterisk receives audio formatted as such when negotiating g.726 then it sounds a bit distorted. Added an option to res_pjsip_endpoint that allows g.726 negotiated audio to be treated as g.726 AAL2 packed. ASTERISK-25158 #close Reported by: Steve Pitts Change-Id: Ie7e21f75493d7fe53e75e12c971e72f5afa33615 | 11 years ago | 
|  | 9e7827e3ac | pjsip_configuration: Fix leak in persistent_endpoint_update_state. The loop to find the first available contact of an endpoint grabbed contact from the iterator, then checked for offline state. This caused the first contact after the state was found to leak a reference. ASTERISK-25141 Change-Id: Id0f1d87410fc63742db0594eb4b18b36e99aec08 | 11 years ago | 
|  | 262d590819 | res_pjsip: Add AMI events for chan_pjsip contact lifecycle changes Add a new ContactStatus AMI event. Publish the following status/state changes: Created Removed Reachable Unreachable Unknown Contact URI, new status/state, aor and endpoint names, and the last qualify rtt result are included in the event. ASTERISK-25114 #close Change-Id: Id25aae5f7122facba183273efb3e8f36c20fb61e Reported-by: George Joseph <george.joseph@fairview5.com> Tested-by: George Joseph <george.joseph@fairview5.com> | 11 years ago | 
|  | 60e2fbfe62 | res_pjsip: Refactor endpt_send_transaction (qualify_timeout) This patch refactors the transaction timeout processing to eliminate calling the lower level public pjsip functions and reverts to calling pjsip_endpt_send_request again. This is the result of me noticing a possible incompatibility with pjproject-2.4 which was causing contact status flapping. The original version of this feature used the lower level calls to get access to the tsx structure in order to cancel the transaction when our own timer expires. Since we no longer have that access, if our own timer expires before the pjsip timer, we call the callbacks and just let the pjsip transaction take it's own course. When the transaction ends, it discovers the callbacks have already been run and just cleans itself up. A few messages in pjsip_configuration were also added/cleaned up. ASTERISK-25105 #close Change-Id: I0810f3999cf63f3a72607bbecac36af0a957f33e Reported-by: George Joseph <george.joseph@fairview5.com> Tested-by: George Joseph <george.joseph@fairview5.com> | 11 years ago | 
|  | 63169e00ff | pjsip_options:  Fix non-qualified contacts showing as unavailable The "Add qualify_timeout processing and eventing" patch introduced an issue where contacts that had qualify_frequency set to 0 were showing Unavailable instead Unknown. This patch checks for qualify_frequency=0 and create an "Unknown" contact_status with an RTT = 0. Previously, the lack of contact_status implied Unknown but since we're now changing endpoint state based on contact_status, I've had to add new UNKNOWN status so that changes could trigger the appropriate contact_status observers. ASTERISK-24977: #close Change-Id: Ifcbc01533ce57f0e4e584b89a395326e098b8fe7 | 11 years ago | 
|  | 674b18bdf0 | pjsip_options: Add qualify_timeout processing and eventing This is the second follow-on to https://reviewboard.asterisk.org/r/4572/ and the discussion at http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html The basic issues are that changes in contact status don't cause events to be emitted for the associated endpoint. Only dynamic contact add/delete actions update the endpoint. Also, the qualify timeout is fixed by pjsip at 32 seconds which is a long time. This patch makes use of the new transaction timeout feature in r4585 and provides the following capabilities... 1. A new aor/contact variable 'qualify_timeout' has been added that allows the user to specify the maximum time in milliseconds to wait for a response to an OPTIONS message. The default is 3000ms. When the timer expires, the contact is marked unavailable. 2. Contact status changes are now propagated up to the endpoint as follows... When any contact is 'Available', the endpoint is marked as 'Reachable'. When all contacts are 'Unavailable', the endpoint is marked as 'Unreachable'. The existing endpoint events are generated appropriately. ASTERISK-24863 #close Change-Id: Id0ce0528e58014da1324856ea537e7765466044a Tested-by: Dmitriy Serov Tested-by: George Joseph <george.joseph@fairview5.com> | 11 years ago | 
|  | 88b0fa7755 | res_pjsip: Add an 'auto' option for DTMF Mode This patch adds support for automatically detecting the type of DTMF that a PJSIP endpoint supports. When the 'dtmf_mode' endpoint option is set to 'auto', the channel created for an endpoint will attempt to determine if RFC 4733 DTMF is supported. If so, it will use that DTMF type. If not, the DTMF type for the channel will be set to inband. Review: https://reviewboard.asterisk.org/r/4438 ASTERISK-24706 #close Reported by: yaron nahum patches: yaron_patch_3_Feb.diff submitted by yaron nahum (License 6676) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@434637 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 2270c40d33 | res_pjsip: config option 'timers' can't be set to 'no' When setting the configuration option 'timers' equal to 'no' the bit flag was not properly negated. This patch clears all associated flags and only sets the specified one. pjsip will handle any necessary flag combinations. Also went ahead and did similar for the '100rel' option. ASTERISK-24910 #close Reported by: Ray Crumrine Review: https://reviewboard.asterisk.org/r/4582/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@434131 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | b1e9552b08 | chan_pjsip: Add "rpid_immediate" option to prevent unnecessary "180 Ringing" messages. Incoming PJSIP call legs that have not been answered yet send unnecessary "180 Ringing" or "183 Progress" messages every time a connected line update happens. If the outgoing channel is also PJSIP then the incoming channel will always send a "180 Ringing" or "183 Progress" message when the outgoing channel sends the INVITE. Consequences of these unnecessary messages: * The caller can start hearing ringback before the far end even gets the call. * Many phones tend to grab the first connected line information and refuse to update the display if it changes. The first information is not likely to be correct if the call goes to an endpoint not under the control of the first Asterisk box. When connected line first went into Asterisk in v1.8, chan_sip received an undocumented option "rpid_immediate" that defaults to disabled. When enabled, the option immediately passes connected line update information to the caller in "180 Ringing" or "183 Progress" messages as described above. * Added "rpid_immediate" option to prevent unnecessary "180 Ringing" or "183 Progress" messages. The default is "no" to disable sending the unnecessary messages. ASTERISK-24781 #close Reported by: Richard Mudgett Review: https://reviewboard.asterisk.org/r/4473/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@433338 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | a3292230b8 | chan_pjsip: AMI action PJSIPShowEndpoint closes AMI connection on error. Also fixed similar problem with AMI action PJSIPShowEndpoints. ASTERISK-24872 #close Reported by: Dmitriy Serov Review: https://reviewboard.asterisk.org/r/4487/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@432894 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | c24a294f0b | res_pjsip: Fix pjsip.conf type=global object default value handling. When a type=global section is not defined in pjsip.conf the global defaults are not applied. As a result the mandatory Max-Forwards header is not added to SIP messages for res_pjsip/chan_pjsip. The handling of pjsip.conf type=global objects has several problems: 1) If the global object is missing the defaults are not applied. 2) If the global object is missing the default_outbound_endpoint's default value is not returned by ast_sip_global_default_outbound_endpoint(). 3) Defines are needed so default values only need to be changed in one place. * Added a sorcery instance observer callback to check if there were any type=global sections loaded. If there were more than one then issue an error message. If there were none then apply the global defaults. * Fixed ast_sip_global_default_outbound_endpoint() to return the documented default when no type=global object is defined. * Made defines for the global default values. * Increased the default_useragent[] size because SVN version strings can get lengthy and 128 characters may not be enough. * Fixed an off-nominal code path ref leak in global_alloc() if the string fields fail to initialize. * Eliminated RAII_VAR in get_global_cfg() and ast_sip_global_default_outbound_endpoint(). ASTERISK-24807 #close Reported by: Anatoli Review: https://reviewboard.asterisk.org/r/4467/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@432766 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | e8ec15a9ef | res_pjsip: dtls_handler causes Asterisk to crash There have been a couple of times where a crash occurred in the dtls_handler section of the code for res_pjsip. Unfortunately, in working this issue the problem was unable to be reproduced. After looking at the backtraces and through the code the current best guess as to why this happened might be due to a reentrance problem and the strtok function. So, the current fix is to convert the strtok function into the reentrant version of the function, strtok_r. ASTERISK-24741 #close Reported by: Zane Conkle Review: https://reviewboard.asterisk.org/r/4409/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@431698 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | b8ea23b0d1 | Allow disabling of 100rel support on PJSIP endpoints. Due to an inversion error, setting 100rel=no would not actually change the current value of the setting (which defaulted to "yes"). With this fix, the inversion is corrected. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@431420 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 9e3d316dd1 | res_pjsip: make it unloadable (take 2) Due to the original patch causing memory corruptions it was removed until the problem could be resolved. This patch is the original patch plus some added locking around stasis router subcription that was needed to avoid the memory corruption. Description of the original problem and patch (still applicable): The res_pjsip module was previously unloadable. With this patch it can now be unloaded. This patch is based off the original patch on the issue (listed below) by Corey Farrell with a few modifications. Namely, removed a few changes not required to make the module unloadable and also fixed a bug that would cause asterisk to crash on unloading. This patch is the first step (should hopefully be followed by another/others at some point) in allowing res_pjsip and the modules that depend on it to be unloadable. At this time, res_pjsip and some of the modules that depend on res_pjsip cannot be unloaded without causing problems of some sort. The goal of this patch is to get res_pjsip and only res_pjsip to be able to unload successfully and/or shutdown without incident (crashes, leaks, etc...). Other dependent modules may still cause problems on unload. Basically made sure, with the patch applied, that res_pjsip (with no other dependent modules loaded) could be succesfully unloaded and Asterisk could shutdown without any leaks or crashes that pertained directly to res_pjsip. ASTERISK-24485 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4363/ patches: pjsip_unload-broken-r1.patch submitted by Corey Farrell (license 5909) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@431179 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 34c220203f | REVERTING res_pjsip: make it unloadable Due to the original patch causing memory corruptions the patch is being removed until the problem can be resolved. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@430734 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 77a036bf3f | res_pjsip: make it unloadable The res_pjsip module was previously unloadable. With this patch it can now be unloaded. This patch is based off the original patch on the issue (listed below) by Corey Farrell with a few modifications. Namely, removed a few changes not required to make the module unloadable and also fixed a bug that would cause asterisk to crash on unloading. This patch is the first step (should hopefully be followed by another/others at some point) in allowing res_pjsip and the modules that depend on it to be unloadable. At this time, res_pjsip and some of the modules that depend on res_pjsip cannot be unloaded without causing problems of some sort. The goal of this patch is to get res_pjsip and only res_pjsip to be able to unload successfully and/or shutdown without incident (crashes, leaks, etc...). Other dependent modules may still cause problems on unload. Basically made sure, with the patch applied, that res_pjsip (with no other dependent modules loaded) could be succesfully unloaded and Asterisk could shutdown without any leaks or crashes that pertained directly to res_pjsip. ASTERISK-24485 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4311/ patches: pjsip_unload-broken-r1.patch submitted by Corey Farrell (license 5909) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@430628 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 4b363688d4 | AMI: Make AMI actions that generate event lists consistent. * Made the following AMI actions use list API calls for consistency: Agents BridgeInfo BridgeList BridgeTechnologyList ConfbridgeLIst ConfbridgeLIstRooms CoreShowChannels DAHDIShowChannels DBGet DeviceStateList ExtensionStateList FAXSessions Hangup IAXpeerlist IAXpeers IAXregistry MeetmeList MeetmeListRooms MWIGet ParkedCalls Parkinglots PJSIPShowEndpoint PJSIPShowEndpoints PJSIPShowRegistrationsInbound PJSIPShowRegistrationsOutbound PJSIPShowResourceLists PJSIPShowSubscriptionsInbound PJSIPShowSubscriptionsOutbound PresenceStateList PRIShowSpans QueueStatus QueueSummary ShowDialPlan SIPpeers SIPpeerstatus SIPshowregistry SKINNYdevices SKINNYlines Status VoicemailUsersList * Incremented the AMI version to 2.7.0. * Changed astman_send_listack() to not use the listflag parameter and always set the value to "Start" so the start capitalization is consistent. i.e., The FAXSessions used "Start" while the rest of the system used "start". The corresponding complete event always used "Complete". * Fixed ami_show_resource_lists() "PJSIPShowResourceLists" to output the AMI ActionID for all of its list events. * Fixed off-nominal AMI protocol error in manager_bridge_info(), manager_parking_status_single_lot(), and manager_parking_status_all_lots(). Use of astman_send_error() after responding to the original AMI action request violates the action response pattern by sending two responses. * Fixed minor protocol error in action_getconfig() when no requested categories are found. Each line needs to be formatted as "Header: text". * Fixed off-nominal memory leak in manager_build_parked_call_string(). * Eliminated unnecessary use of RAII_VAR() in ami_subscription_detail(). ASTERISK-24049 #close Reported by: Jonathan Rose Review: https://reviewboard.asterisk.org/r/4315/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@430434 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 006ffdcfb2 | res_pjsip: Add 'user_eq_phone' option to add a 'user=phone' parameter when applicable. Note that this is a backport of r425804 from trunk. This change adds a configuration option which adds a 'user=phone' parameter if the user portion of the request URI or the From URI is determined to be a number. Review: https://reviewboard.asterisk.org/r/4073/ ASTERISK-24643 #close git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@430083 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | a0d9eab389 | res_pjsip_sdp_rtp: Add support for optimistic SRTP. Optimistic SRTP is the ability to enable SRTP but not have it be a fatal requirement. If SRTP can be used it will be, if not it won't be. This gives you a better chance of using it without having your sessions fail when it can't be. Encrypt all the things! Review: https://reviewboard.asterisk.org/r/3992/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@428222 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | cbba061f13 | res_pjsip: Enforce requirements for session timer minimum expiration period and normal expiration period. This change enforces the requirements in PJSIP for session timer configuration. The minimum expiration period must be 90 seconds or higher and the normal expiration period can not be lower than the minimum expiration period. If either of these were done the code would assert at session setup time. ASTERISK-24336 #close Reported by: Leon Rowland ........ Merged revisions 427978 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@427979 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | ef2c567597 | PJSIP: Restore functional default for callerid_privacy The pjsip config option default fixups from r424263 altered the functional default from "allowed_not_screened" to "allowed". This change restores the functional default value when none is provided. ........ Merged revisions 424426 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@424427 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | a1763a89a3 | res_pjsip: Add 'dtls_fingerprint' option to configure DTLS fingerprint hash. During the latest update to DTLS-SRTP support the ability to configure the hash used for fingerprints was added. This gave us two supported ones: SHA-1 and SHA-256. The default was accordingly updated to SHA-256. Unfortunately this configuration ability was not exposed within res_pjsip. This change adds a dtls_fingerprint option that controls it. #SIPit31 ........ Merged revisions 424290 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@424291 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | e3da76a352 | PJSIP: Handle defaults properly This updates the code behind PJSIP configuration options with custom handlers to deal with the assigned default values properly where it makes sense and adjusting the default value where it doesn't. Before applying this patch, there were several cases where the default value for an option would prevent that config section from loading properly. Reported by: Thomas Thompson Review: https://reviewboard.asterisk.org/r/4019/ ........ Merged revisions 424263 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@424266 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | a2482acdce | res_pjsip: ami: Fix error in AMI output when an endpoint has no transport When no transport is associated to an endpoint, the AMI output for PJSIPShowEndpoint indicates an error instead of silently ignoring the missing transport. This patch causes the error to appear only if a transport was specified on the endpoint and the transport doesn't exist. It also fixes an issue with counting the objects that were actually found. ASTERISK-24161 #close ASTERISK-24331 #close Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3998/ ........ Merged revisions 423282 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@423284 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | a2c912e997 | media formats: re-architect handling of media for performance improvements In the old times media formats were represented using a bit field. This was
fast but had a few limitations.
 1. Asterisk was limited in how many formats it could handle.
 2. Formats, being a bit field, could not include any attribute information.
    A format was strictly its type, e.g., "this is ulaw".
This was changed in Asterisk 10 (see
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal for
notes on that work) which led to the creation of the ast_format structure.
This structure allowed Asterisk to handle attributes and bundle information
with a format.
Additionally, ast_format_cap was created to act as a container for multiple
formats that, together, formed the capability of some entity. Another
mechanism was added to allow logic to be registered which performed format
attribute negotiation. Everywhere throughout the codebase Asterisk was
changed to use this strategy.
Unfortunately, in software, there is no free lunch. These new capabilities
came at a cost.
Performance analysis and profiling showed that we spend an inordinate
amount of time comparing, copying, and generally manipulating formats and
their related structures. Basic prototyping has shown that a reasonably
large performance improvement could be made in this area. This patch is the
result of that project, which overhauled the media format architecture
and its usage in Asterisk to improve performance.
Generally, the new philosophy for handling formats is as follows:
 * The ast_format structure is reference counted. This removed a large amount
   of the memory allocations and copying that was done in prior versions.
 * In order to prevent race conditions while keeping things performant, the
   ast_format structure is immutable by convention and lock-free. Violate this
   tenet at your peril!
 * Because formats are reference counted, codecs are also reference counted.
   The Asterisk core generally provides built-in codecs and caches the
   ast_format structures created to represent them. Generally, to prevent
   inordinate amounts of module reference bumping, codecs and formats can be
   added at run-time but cannot be removed.
 * All compatibility with the bit field representation of codecs/formats has
   been moved to a compatibility API. The primary user of this representation
   is chan_iax2, which must continue to maintain its bit-field usage of formats
   for interoperability concerns.
 * When a format is negotiated with attributes, or when a format cannot be
   represented by one of the cached formats, a new format object is created or
   cloned from an existing format. That format may have the same codec
   underlying it, but is a different format than a version of the format with
   different attributes or without attributes.
 * While formats are reference counted objects, the reference count maintained
   on the format should be manipulated with care. Formats are generally cached
   and will persist for the lifetime of Asterisk and do not explicitly need
   to have their lifetime modified. An exception to this is when the user of a
   format does not know where the format came from *and* the user may outlive
   the provider of the format. This occurs, for example, when a format is read
   from a channel: the channel may have a format with attributes (hence,
   non-cached) and the user of the format may last longer than the channel (if
   the reference to the channel is released prior to the format's reference).
For more information on this work, see the API design notes:
  https://wiki.asterisk.org/wiki/display/AST/Media+Format+Rewrite
Finally, this work was the culmination of a large number of developer's
efforts. Extra thanks goes to Corey Farrell, who took on a large amount of the
work in the Asterisk core, chan_sip, and was an invaluable resource in peer
reviews throughout this project.
There were a substantial number of patches contributed during this work; the
following issues/patch names simply reflect some of the work (and will cause
the release scripts to give attribution to the individuals who work on them).
Reviews:
 https://reviewboard.asterisk.org/r/3814
 https://reviewboard.asterisk.org/r/3808
 https://reviewboard.asterisk.org/r/3805
 https://reviewboard.asterisk.org/r/3803
 https://reviewboard.asterisk.org/r/3801
 https://reviewboard.asterisk.org/r/3798
 https://reviewboard.asterisk.org/r/3800
 https://reviewboard.asterisk.org/r/3794
 https://reviewboard.asterisk.org/r/3793
 https://reviewboard.asterisk.org/r/3792
 https://reviewboard.asterisk.org/r/3791
 https://reviewboard.asterisk.org/r/3790
 https://reviewboard.asterisk.org/r/3789
 https://reviewboard.asterisk.org/r/3788
 https://reviewboard.asterisk.org/r/3787
 https://reviewboard.asterisk.org/r/3786
 https://reviewboard.asterisk.org/r/3784
 https://reviewboard.asterisk.org/r/3783
 https://reviewboard.asterisk.org/r/3778
 https://reviewboard.asterisk.org/r/3774
 https://reviewboard.asterisk.org/r/3775
 https://reviewboard.asterisk.org/r/3772
 https://reviewboard.asterisk.org/r/3761
 https://reviewboard.asterisk.org/r/3754
 https://reviewboard.asterisk.org/r/3753
 https://reviewboard.asterisk.org/r/3751
 https://reviewboard.asterisk.org/r/3750
 https://reviewboard.asterisk.org/r/3748
 https://reviewboard.asterisk.org/r/3747
 https://reviewboard.asterisk.org/r/3746
 https://reviewboard.asterisk.org/r/3742
 https://reviewboard.asterisk.org/r/3740
 https://reviewboard.asterisk.org/r/3739
 https://reviewboard.asterisk.org/r/3738
 https://reviewboard.asterisk.org/r/3737
 https://reviewboard.asterisk.org/r/3736
 https://reviewboard.asterisk.org/r/3734
 https://reviewboard.asterisk.org/r/3722
 https://reviewboard.asterisk.org/r/3713
 https://reviewboard.asterisk.org/r/3703
 https://reviewboard.asterisk.org/r/3689
 https://reviewboard.asterisk.org/r/3687
 https://reviewboard.asterisk.org/r/3674
 https://reviewboard.asterisk.org/r/3671
 https://reviewboard.asterisk.org/r/3667
 https://reviewboard.asterisk.org/r/3665
 https://reviewboard.asterisk.org/r/3625
 https://reviewboard.asterisk.org/r/3602
 https://reviewboard.asterisk.org/r/3519
 https://reviewboard.asterisk.org/r/3518
 https://reviewboard.asterisk.org/r/3516
 https://reviewboard.asterisk.org/r/3515
 https://reviewboard.asterisk.org/r/3512
 https://reviewboard.asterisk.org/r/3506
 https://reviewboard.asterisk.org/r/3413
 https://reviewboard.asterisk.org/r/3410
 https://reviewboard.asterisk.org/r/3387
 https://reviewboard.asterisk.org/r/3388
 https://reviewboard.asterisk.org/r/3389
 https://reviewboard.asterisk.org/r/3390
 https://reviewboard.asterisk.org/r/3321
 https://reviewboard.asterisk.org/r/3320
 https://reviewboard.asterisk.org/r/3319
 https://reviewboard.asterisk.org/r/3318
 https://reviewboard.asterisk.org/r/3266
 https://reviewboard.asterisk.org/r/3265
 https://reviewboard.asterisk.org/r/3234
 https://reviewboard.asterisk.org/r/3178
ASTERISK-23114 #close
Reported by: mjordan
  media_formats_translation_core.diff uploaded by kharwell (License 6464)
  rb3506.diff uploaded by mjordan (License 6283)
  media_format_app_file.diff uploaded by kharwell (License 6464) 
  misc-2.diff uploaded by file (License 5000)
  chan_mild-3.diff uploaded by file (License 5000) 
  chan_obscure.diff uploaded by file (License 5000) 
  jingle.diff uploaded by file (License 5000) 
  funcs.diff uploaded by file (License 5000) 
  formats.diff uploaded by file (License 5000) 
  core.diff uploaded by file (License 5000) 
  bridges.diff uploaded by file (License 5000) 
  mf-codecs-2.diff uploaded by file (License 5000) 
  mf-app_fax.diff uploaded by file (License 5000) 
  mf-apps-3.diff uploaded by file (License 5000) 
  media-formats-3.diff uploaded by file (License 5000) 
ASTERISK-23715
  rb3713.patch uploaded by coreyfarrell (License 5909)
  rb3689.patch uploaded by mjordan (License 6283)
  
ASTERISK-23957
  rb3722.patch uploaded by mjordan (License 6283) 
  mf-attributes-3.diff uploaded by file (License 5000) 
ASTERISK-23958
Tested by: jrose
  rb3822.patch uploaded by coreyfarrell (License 5909) 
  rb3800.patch uploaded by jrose (License 6182)
  chan_sip.diff uploaded by mjordan (License 6283) 
  rb3747.patch uploaded by jrose (License 6182)
ASTERISK-23959 #close
Tested by: sgriepentrog, mjordan, coreyfarrell
  sip_cleanup.diff uploaded by opticron (License 6273)
  chan_sip_caps.diff uploaded by mjordan (License 6283) 
  rb3751.patch uploaded by coreyfarrell (License 5909) 
  chan_sip-3.diff uploaded by file (License 5000) 
ASTERISK-23960 #close
Tested by: opticron
  direct_media.diff uploaded by opticron (License 6273) 
  pjsip-direct-media.diff uploaded by file (License 5000) 
  format_cap_remove.diff uploaded by opticron (License 6273) 
  media_format_fixes.diff uploaded by opticron (License 6273) 
  chan_pjsip-2.diff uploaded by file (License 5000) 
ASTERISK-23966 #close
Tested by: rmudgett
  rb3803.patch uploaded by rmudgetti (License 5621)
  chan_dahdi.diff uploaded by file (License 5000) 
  
ASTERISK-24064 #close
Tested by: coreyfarrell, mjordan, opticron, file, rmudgett, sgriepentrog, jrose
  rb3814.patch uploaded by rmudgett (License 5621) 
  moh_cleanup.diff uploaded by opticron (License 6273) 
  bridge_leak.diff uploaded by opticron (License 6273) 
  translate.diff uploaded by file (License 5000) 
  rb3795.patch uploaded by rmudgett (License 5621) 
  tls_fix.diff uploaded by mjordan (License 6283) 
  fax-mf-fix-2.diff uploaded by file (License 5000) 
  rtp_transfer_stuff uploaded by mjordan (License 6283) 
  rb3787.patch uploaded by rmudgett (License 5621) 
  media-formats-explicit-translate-format-3.diff uploaded by file (License 5000) 
  format_cache_case_fix.diff uploaded by opticron (License 6273) 
  rb3774.patch uploaded by rmudgett (License 5621) 
  rb3775.patch uploaded by rmudgett (License 5621) 
  rtp_engine_fix.diff uploaded by opticron (License 6273) 
  rtp_crash_fix.diff uploaded by opticron (License 6273) 
  rb3753.patch uploaded by mjordan (License 6283) 
  rb3750.patch uploaded by mjordan (License 6283) 
  rb3748.patch uploaded by rmudgett (License 5621) 
  media_format_fixes.diff uploaded by opticron (License 6273) 
  rb3740.patch uploaded by mjordan (License 6283) 
  rb3739.patch uploaded by mjordan (License 6283) 
  rb3734.patch uploaded by mjordan (License 6283) 
  rb3689.patch uploaded by mjordan (License 6283) 
  rb3674.patch uploaded by coreyfarrell (License 5909) 
  rb3671.patch uploaded by coreyfarrell (License 5909) 
  rb3667.patch uploaded by coreyfarrell (License 5909) 
  rb3665.patch uploaded by mjordan (License 6283) 
  rb3625.patch uploaded by coreyfarrell (License 5909) 
  rb3602.patch uploaded by coreyfarrell (License 5909) 
  format_compatibility-2.diff uploaded by file (License 5000) 
  core.diff uploaded by file (License 5000) 
  
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@419044 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | fd94fea599 | res_pjsip: Support setting a default accountcode on endpoints Most channel drivers let you specify a default accountcode to be set on channels associated with a particular peer/endpoint/object. Prior to this patch, chan_pjsip/res_pjsip did not support such a setting. This patch adds a new setting to the res_pjsip endpoint object, 'accountcode'. When a channel is created that is associated with an endpoint with this value set, the channel will automatically have its accountcode property set to the value configured for the endpoint. Review: https://reviewboard.asterisk.org/r/3724/ ASTERISK-24000 #close Reported by: Matt Jordan ........ Merged revisions 418756 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418757 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 11 years ago | 
|  | 6e60f5d317 | Recorded merge of revisions 417677 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ res_rtp_asterisk: Add SHA-256 support for DTLS and perform DTLS negotiation on RTCP. This change fixes up DTLS support in res_rtp_asterisk so it can accept and provide a SHA-256 fingerprint, so it occurs on RTCP, and so it occurs after ICE negotiation completes. Configuration options to chan_sip and chan_pjsip have also been added to allow behavior to be tweaked (such as forcing the AVP type media transports in SDP). ASTERISK-22961 #close Reported by: Jay Jideliov Review: https://reviewboard.asterisk.org/r/3679/ Review: https://reviewboard.asterisk.org/r/3686/ ........ Merged revisions 417678 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@417679 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 12 years ago | 
|  | 15dcaeef82 | res_pjsip: Add ActionID to events created as a result of PJSIP AMI actions A number of various PJSIP AMI actions were failing to parse out and place the ActionID into their responses. This patch updates the various PJSIP actions such that the passed in ActionID is emitted on any event list complete events, as well as any intermediate events created as a result of the action. #ASTERISK-23947 #close Reported by: Mark Michelson Review: https://reviewboard.asterisk.org/r/3675/ ........ Merged revisions 417460 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@417461 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 12 years ago | 
|  | 9cc1a8e893 | stasis: Reduce creation of channel snapshots to improve performance During some performance testing of Asterisk with AGI, ARI, and lots of Local
channels, we noticed that there's quite a hit in performance during channel
creation and releasing to the dialplan (ARI continue). After investigating
the performance spike that occurs during channel creation, we discovered
that we create a lot of channel snapshots that are technically unnecessary.
This includes creating snapshots during:
 * AGI execution
 * Returning objects for ARI commands
 * During some Local channel operations
 * During some dialling operations
 * During variable setting
 * During some bridging operations
And more.
This patch does the following:
 - It removes a number of fields from channel snapshots. These fields were
   rarely used, were expensive to have on the snapshot, and hurt performance.
   This included formats, translation paths, Log Call ID, callgroup, pickup
   group, and all channel variables. As a result, AMI Status,
   "core show channel", "core show channelvar", and "pjsip show channel" were
   modified to either hit the live channel or not show certain pieces of data.
   While this is unfortunate, the performance gain from this patch is worth
   the loss in behaviour.
 - It adds a mechanism to publish a cached snapshot + blob. A large number of
   publications were changed to use this, including:
   - During Dial begin
   - During Variable assignment (if no AMI variables are emitted - if AMI
     variables are set, we have to make snapshots when a variable is changed)
   - During channel pickup
   - When a channel is put on hold/unhold
   - When a DTMF digit is begun/ended
   - When creating a bridge snapshot
   - When an AOC event is raised
   - During Local channel optimization/Local bridging
   - When endpoint snapshots are generated
   - All AGI events
   - All ARI responses that return a channel
   - Events in the AgentPool, MeetMe, and some in Queue
 - Additionally, some extraneous channel snapshots were being made that were
   unnecessary. These were removed.
 - The result of ast_hashtab_hash_string is now cached in stasis_cache. This
   reduces a large number of calls to ast_hashtab_hash_string, which reduced
   the amount of time spent in this function in gprof by around 50%.
#ASTERISK-23811 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3568/
........
Merged revisions 416211 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@416216 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 12 years ago | 
|  | abd3e4040b | Allow Asterisk to compile under GCC 4.10 This resolves a large number of compiler warnings from GCC 4.10 which cause the build to fail under dev mode. The vast majority are signed/unsigned mismatches in printf-style format strings. ........ Merged revisions 413586 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 413587 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 413588 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@413589 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 12 years ago | 
|  | 1a9ff2fffb | res_pjsip: Handle reloading when permanent contacts exist and qualify is configured. This change fixes a problem where permanent contacts being qualified were not being updated. This was caused by the permanent contacts getting a uuid and not a known identifier, causing an inability to look them up when updating in the qualify code. A bug also existed where the new configuration may not be available immediately when updating qualifies. (closes issue ASTERISK-23514) Reported by: Richard Mudgett Review: https://reviewboard.asterisk.org/r/3448/ ........ Merged revisions 412551 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@412552 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 12 years ago | 
|  | eefcb79bfb | Prevent duplicate sorcery wizards from being applied to sorcery object types. This commit contains several changes to sorcery: 1) Application of sorcery configuration based on module name is automatically performed when sorcery is opened for a module. 2) Sorcery will not attempt to apply the same wizard to an object type more than once. 3) Sorcery gives more exact results when attempting to apply a wizard, whether as the default or based on configuration. Sorcery unit tests still pass for me after making these changes. Review: https://reviewboard.asterisk.org/r/3326 ........ Merged revisions 411159 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@411656 65c4cc65-6c06-0410-ace0-fbb531ad65f3 | 12 years ago |