Merge remote branch 'fsorig/master' into releases.3.5

Conflicts:
	build/modules.conf.in
	libs/freetdm/mod_freetdm/mod_freetdm.c
This commit is contained in:
David Yat Sin 2012-05-31 13:57:42 -04:00
commit eb0404d025
798 changed files with 62916 additions and 81327 deletions

15
.gitattributes vendored Normal file
View File

@ -0,0 +1,15 @@
# gitattributes
*.exe -diff binary executable windows dfsg-nonfree debian-ignore
*.wav -diff binary sound
*.gif -diff binary image
*.jpg -diff binary image
*.jpeg -diff binary image
*.pbm -diff binary image
/clients/flex* dfsg-nonfree
/debian* debian-ignore
/freeswitch.xcodeproj debian-ignore
/libs/ilbc* dfsg-nonfree
/libs/libg722_1* dfsg-nonfree
/libs/win32* windows debian-ignore
/htdocs* dfsg-nonfree debian-ignore
/w32* windows debian-ignore

23
.gitignore vendored
View File

@ -43,6 +43,7 @@ configure.lineno
config.log
config.status
core.*
TAGS
*.2010.log
*.Build.CppClean.log
*.tlog
@ -57,6 +58,7 @@ core.*
!/w32/Setup/inno_setup/vcredist_x86.exe
/.version
/.stamp-*
/a.out.dSYM
/AUTHORS
/ChangeLog
@ -71,6 +73,7 @@ core.*
/Makefile.in
/modules.conf
/NEWS
/noreg
/Path
/quiet_libtool
/README
@ -199,3 +202,23 @@ src/mod/formats/mod_shout/*/*/mod_shout.log
/src/mod/languages/mod_managed/x64/Release_CLR/FREESWITCH.MANAGED.DLL.metagen
/src/mod/languages/mod_managed/x64/Release_CLR/RSAENH.DLL.bi
/src/mod/languages/mod_managed/x64/Release_CLR/TZRES.DLL.bi
libs/apr-util/a.out.dSYM/Contents/Info.plist
libs/apr-util/a.out.dSYM/Contents/Resources/DWARF/a.out
libs/apr/a.out.dSYM/Contents/Info.plist
libs/apr/a.out.dSYM/Contents/Resources/DWARF/a.out
libs/iksemel/a.out.dSYM/Contents/Info.plist
libs/iksemel/a.out.dSYM/Contents/Resources/DWARF/a.out
libs/ilbc/a.out.dSYM/Contents/Info.plist
libs/ilbc/a.out.dSYM/Contents/Resources/DWARF/a.out
libs/libedit/a.out.dSYM/Contents/Info.plist
libs/libedit/a.out.dSYM/Contents/Resources/DWARF/a.out
libs/pcre/a.out.dSYM/Contents/Info.plist
libs/pcre/a.out.dSYM/Contents/Resources/DWARF/a.out
libs/sqlite/lemon.dSYM/Contents/Info.plist
libs/sqlite/lemon.dSYM/Contents/Resources/DWARF/lemon
libs/sqlite/mkkeywordhash.dSYM/Contents/Info.plist
libs/sqlite/mkkeywordhash.dSYM/Contents/Resources/DWARF/mkkeywordhash
libs/sqlite/sqlite3.dSYM/Contents/Info.plist
libs/sqlite/sqlite3.dSYM/Contents/Resources/DWARF/sqlite3
libs/srtp/a.out.dSYM/Contents/Info.plist
libs/srtp/a.out.dSYM/Contents/Resources/DWARF/a.out

View File

@ -953,6 +953,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_abstraction", "src\mod\
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_gsmopen", "src\mod\endpoints\mod_gsmopen\mod_gsmopen.2008.vcproj", "{74B120FF-6935-4DFE-A142-CDB6BEA99C90}"
ProjectSection(ProjectDependencies) = postProject
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53} = {26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsmlib", "src\mod\endpoints\mod_gsmopen\gsmlib\gsmlib-1.10-patched-13ubuntu\win32\gsmlib.vcproj", "{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
All|Win32 = All|Win32
@ -2698,6 +2705,20 @@ Global
{BDA173DB-F8EF-4270-9553-B453AF92E43A}.Release|Win32.Build.0 = Release|Win32
{BDA173DB-F8EF-4270-9553-B453AF92E43A}.Release|x64.ActiveCfg = Release|x64
{BDA173DB-F8EF-4270-9553-B453AF92E43A}.Release|x64.Build.0 = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.All|Win32.ActiveCfg = Release|Win32
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.All|Win32.Build.0 = Release|Win32
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.All|x64.ActiveCfg = Release|Win32
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Debug|Win32.ActiveCfg = Debug|Win32
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Debug|x64.ActiveCfg = Debug|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|Win32.ActiveCfg = Release|Win32
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|x64.ActiveCfg = Release|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.All|Win32.ActiveCfg = Debug|Win32
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.All|Win32.Build.0 = Debug|Win32
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.All|x64.ActiveCfg = Debug|Win32
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Debug|Win32.ActiveCfg = Debug|Win32
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Debug|x64.ActiveCfg = Debug|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Release|Win32.ActiveCfg = Release|Win32
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -2723,6 +2744,7 @@ Global
{CC1DD008-9406-448D-A0AD-33C3186CFADB} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{48414740-C693-4968-9846-EE058020C64F} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{74B120FF-6935-4DFE-A142-CDB6BEA99C90} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{30A5B29C-983E-4580-9FD0-D647CCDCC7EB} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
@ -2822,6 +2844,7 @@ Global
{56B91D01-9150-4BBF-AFA1-5B68AB991B76} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{B376D494-D7DD-4B2A-99E2-52916D5A8CD8} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{23B4D303-79FC-49E0-89E2-2280E7E28940} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {C120A020-773F-4EA3-923F-B67AF28B750D}
{4F92B672-DADB-4047-8D6A-4BB3796733FD} = {C120A020-773F-4EA3-923F-B67AF28B750D}
{2DEE4895-1134-439C-B688-52203E57D878} = {C120A020-773F-4EA3-923F-B67AF28B750D}

View File

@ -320,6 +320,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ldns", "libs\win32\ldns\ldn
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpcre Generate pcre_chartables.c", "libs\win32\pcre\pcre_chartables.c.2010.vcxproj", "{1CED5987-A529-46DC-B30F-870D85FF9C94}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzrtp", "libs\libzrtp\projects\win\libzrtp.2010.vcxproj", "{C13CC324-0032-4492-9A30-310A6BD64FF5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
All|Win32 = All|Win32
@ -1989,6 +1991,17 @@ Global
{1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.ActiveCfg = Release|Win32
{1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|Win32.Build.0 = Release|Win32
{1CED5987-A529-46DC-B30F-870D85FF9C94}.Release|x64.ActiveCfg = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.All|Win32.ActiveCfg = Release|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.All|x64.ActiveCfg = Release|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.All|x64.Build.0 = Release|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|Win32.ActiveCfg = Debug|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|Win32.Build.0 = Debug|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x64.ActiveCfg = Debug|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x64.Build.0 = Debug|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|Win32.ActiveCfg = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|Win32.Build.0 = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x64.ActiveCfg = Release|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -2089,6 +2102,7 @@ Global
{ABB71A76-42B0-47A4-973A-42E3D920C6FD} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{9778F1C0-09BC-4698-8EBC-BD982247209A} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{56B91D01-9150-4BBF-AFA1-5B68AB991B76} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{C13CC324-0032-4492-9A30-310A6BD64FF5} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{EC3E5C7F-EE09-47E2-80FE-546363D14A98} = {B8F5B47B-8568-46EB-B320-64C17D2A98BC}
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{ACFFF684-4D19-4D48-AF12-88EA1D778BDF} = {0C808854-54D1-4230-BFF5-77B5FD905000}

View File

@ -521,6 +521,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_abstraction", "src\mod\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_sms", "src\mod\applications\mod_sms\mod_sms.2010.vcxproj", "{2469B306-B027-4FF2-8815-C9C1EA2CAE79}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsmlib", "src\mod\endpoints\mod_gsmopen\gsmlib\gsmlib-1.10-patched-13ubuntu\win32\gsmlib.2010.vcxproj", "{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_gsmopen", "src\mod\endpoints\mod_gsmopen\mod_gsmopen.2010.vcxproj", "{74B120FF-6935-4DFE-A142-CDB6BEA99C90}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzrtp", "libs\libzrtp\projects\win\libzrtp.2010.vcxproj", "{C13CC324-0032-4492-9A30-310A6BD64FF5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
All|Win32 = All|Win32
@ -3453,7 +3459,7 @@ Global
{7C22BDFF-CC09-400C-8A09-660733980028}.Release|x64.ActiveCfg = Release|x64
{7C22BDFF-CC09-400C-8A09-660733980028}.Release|x64.Build.0 = Release|x64
{7C22BDFF-CC09-400C-8A09-660733980028}.Release|x64 Setup.ActiveCfg = Release|x64
{7C22BDFF-CC09-400C-8A09-660733980028}.Release|x86 Setup.ActiveCfg = Release|x64
{7C22BDFF-CC09-400C-8A09-660733980028}.Release|x86 Setup.ActiveCfg = Release|Win32
{23B4D303-79FC-49E0-89E2-2280E7E28940}.All|Win32.ActiveCfg = Release|x64
{23B4D303-79FC-49E0-89E2-2280E7E28940}.All|x64.ActiveCfg = Release|x64
{23B4D303-79FC-49E0-89E2-2280E7E28940}.All|x64.Build.0 = Release|x64
@ -3470,7 +3476,7 @@ Global
{23B4D303-79FC-49E0-89E2-2280E7E28940}.Release|x64.ActiveCfg = Release|x64
{23B4D303-79FC-49E0-89E2-2280E7E28940}.Release|x64.Build.0 = Release|x64
{23B4D303-79FC-49E0-89E2-2280E7E28940}.Release|x64 Setup.ActiveCfg = Release|x64
{23B4D303-79FC-49E0-89E2-2280E7E28940}.Release|x86 Setup.ActiveCfg = Release|x64
{23B4D303-79FC-49E0-89E2-2280E7E28940}.Release|x86 Setup.ActiveCfg = Release|Win32
{47886A6C-CCA6-4F9F-A7D4-F97D06FB2B1A}.All|Win32.ActiveCfg = Release|x64
{47886A6C-CCA6-4F9F-A7D4-F97D06FB2B1A}.All|x64.ActiveCfg = Release|x64
{47886A6C-CCA6-4F9F-A7D4-F97D06FB2B1A}.All|x64.Build.0 = Release|x64
@ -3483,7 +3489,7 @@ Global
{47886A6C-CCA6-4F9F-A7D4-F97D06FB2B1A}.Release|Win32.ActiveCfg = Release|Win32
{47886A6C-CCA6-4F9F-A7D4-F97D06FB2B1A}.Release|x64.ActiveCfg = Release|x64
{47886A6C-CCA6-4F9F-A7D4-F97D06FB2B1A}.Release|x64 Setup.ActiveCfg = Release|x64
{47886A6C-CCA6-4F9F-A7D4-F97D06FB2B1A}.Release|x86 Setup.ActiveCfg = Release|x64
{47886A6C-CCA6-4F9F-A7D4-F97D06FB2B1A}.Release|x86 Setup.ActiveCfg = Release|Win32
{50AAC2CE-BFC9-4912-87CC-C6381850D735}.All|Win32.ActiveCfg = Release|x64
{50AAC2CE-BFC9-4912-87CC-C6381850D735}.All|x64.ActiveCfg = Release|x64
{50AAC2CE-BFC9-4912-87CC-C6381850D735}.All|x64.Build.0 = Release|x64
@ -3496,7 +3502,7 @@ Global
{50AAC2CE-BFC9-4912-87CC-C6381850D735}.Release|Win32.ActiveCfg = Release|Win32
{50AAC2CE-BFC9-4912-87CC-C6381850D735}.Release|x64.ActiveCfg = Release|x64
{50AAC2CE-BFC9-4912-87CC-C6381850D735}.Release|x64 Setup.ActiveCfg = Release|x64
{50AAC2CE-BFC9-4912-87CC-C6381850D735}.Release|x86 Setup.ActiveCfg = Release|x64
{50AAC2CE-BFC9-4912-87CC-C6381850D735}.Release|x86 Setup.ActiveCfg = Release|Win32
{4748FF56-CA85-4809-97D6-A94C0FAC1D77}.All|Win32.ActiveCfg = Release|x64
{4748FF56-CA85-4809-97D6-A94C0FAC1D77}.All|x64.ActiveCfg = Release|x64
{4748FF56-CA85-4809-97D6-A94C0FAC1D77}.All|x64.Build.0 = Release|x64
@ -3513,7 +3519,7 @@ Global
{4748FF56-CA85-4809-97D6-A94C0FAC1D77}.Release|x64.ActiveCfg = Release|x64
{4748FF56-CA85-4809-97D6-A94C0FAC1D77}.Release|x64.Build.0 = Release|x64
{4748FF56-CA85-4809-97D6-A94C0FAC1D77}.Release|x64 Setup.ActiveCfg = Release|x64
{4748FF56-CA85-4809-97D6-A94C0FAC1D77}.Release|x86 Setup.ActiveCfg = Release|x64
{4748FF56-CA85-4809-97D6-A94C0FAC1D77}.Release|x86 Setup.ActiveCfg = Release|Win32
{60C542EE-6882-4EA2-8C21-5AB6DB1BA73F}.All|Win32.ActiveCfg = Release|x64
{60C542EE-6882-4EA2-8C21-5AB6DB1BA73F}.All|x64.ActiveCfg = Release|x64
{60C542EE-6882-4EA2-8C21-5AB6DB1BA73F}.All|x64.Build.0 = Release|x64
@ -3530,7 +3536,7 @@ Global
{60C542EE-6882-4EA2-8C21-5AB6DB1BA73F}.Release|x64.ActiveCfg = Release|x64
{60C542EE-6882-4EA2-8C21-5AB6DB1BA73F}.Release|x64.Build.0 = Release|x64
{60C542EE-6882-4EA2-8C21-5AB6DB1BA73F}.Release|x64 Setup.ActiveCfg = Release|x64
{60C542EE-6882-4EA2-8C21-5AB6DB1BA73F}.Release|x86 Setup.ActiveCfg = Release|x64
{60C542EE-6882-4EA2-8C21-5AB6DB1BA73F}.Release|x86 Setup.ActiveCfg = Release|Win32
{2469B306-B027-4FF2-8815-C9C1EA2CAE79}.All|Win32.ActiveCfg = Release|x64
{2469B306-B027-4FF2-8815-C9C1EA2CAE79}.All|x64.ActiveCfg = Release|x64
{2469B306-B027-4FF2-8815-C9C1EA2CAE79}.All|x64.Build.0 = Release|x64
@ -3543,7 +3549,50 @@ Global
{2469B306-B027-4FF2-8815-C9C1EA2CAE79}.Release|Win32.ActiveCfg = Release|Win32
{2469B306-B027-4FF2-8815-C9C1EA2CAE79}.Release|x64.ActiveCfg = Release|x64
{2469B306-B027-4FF2-8815-C9C1EA2CAE79}.Release|x64 Setup.ActiveCfg = Release|x64
{2469B306-B027-4FF2-8815-C9C1EA2CAE79}.Release|x86 Setup.ActiveCfg = Release|x64
{2469B306-B027-4FF2-8815-C9C1EA2CAE79}.Release|x86 Setup.ActiveCfg = Release|Win32
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.All|Win32.ActiveCfg = Release|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.All|x64.ActiveCfg = Release|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.All|x64.Build.0 = Release|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.All|x64 Setup.ActiveCfg = Release|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.All|x86 Setup.ActiveCfg = Release|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Debug|Win32.ActiveCfg = Debug|Win32
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Debug|x64.ActiveCfg = Debug|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Debug|x64 Setup.ActiveCfg = Debug|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Debug|x86 Setup.ActiveCfg = Debug|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Release|Win32.ActiveCfg = Release|Win32
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Release|x64.ActiveCfg = Release|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Release|x64 Setup.ActiveCfg = Release|x64
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53}.Release|x86 Setup.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.All|Win32.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.All|x64.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.All|x64.Build.0 = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.All|x64 Setup.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.All|x86 Setup.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Debug|Win32.ActiveCfg = Debug|Win32
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Debug|x64.ActiveCfg = Debug|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Debug|x64 Setup.ActiveCfg = Debug|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Debug|x86 Setup.ActiveCfg = Debug|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|Win32.ActiveCfg = Release|Win32
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|x64.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|x64 Setup.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|x86 Setup.ActiveCfg = Release|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.All|Win32.ActiveCfg = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.All|Win32.Build.0 = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.All|x64.ActiveCfg = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.All|x64 Setup.ActiveCfg = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.All|x86 Setup.ActiveCfg = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|Win32.ActiveCfg = Debug|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|Win32.Build.0 = Debug|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x64.ActiveCfg = Debug|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x64.Build.0 = Debug|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x64 Setup.ActiveCfg = Debug|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x86 Setup.ActiveCfg = Debug|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|Win32.ActiveCfg = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|Win32.Build.0 = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x64.ActiveCfg = Release|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x64.Build.0 = Release|x64
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x64 Setup.ActiveCfg = Release|Win32
{C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x86 Setup.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -3569,6 +3618,7 @@ Global
{48414740-C693-4968-9846-EE058020C64F} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{05C9FB27-480E-4D53-B3B7-7338E2514666} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{74B120FF-6935-4DFE-A142-CDB6BEA99C90} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{30A5B29C-983E-4580-9FD0-D647CCDCC7EB} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
@ -3655,6 +3705,8 @@ Global
{E4D29906-8B73-4F8A-B5F4-CA8BFA648F5A} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{23B4D303-79FC-49E0-89E2-2280E7E28940} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{C13CC324-0032-4492-9A30-310A6BD64FF5} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{EC3E5C7F-EE09-47E2-80FE-546363D14A98} = {B8F5B47B-8568-46EB-B320-64C17D2A98BC}
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{ACFFF684-4D19-4D48-AF12-88EA1D778BDF} = {0C808854-54D1-4230-BFF5-77B5FD905000}

View File

@ -20,11 +20,18 @@ DEFAULT_SOUNDS=en-us-callie-8000
sounds_version=`grep $$base_sound_dir $(switch_srcdir)/build/sounds_version.txt | cut -d ' ' -f2`;\
soundfile=`echo freeswitch-sounds-$$full_sound_dir-$$moh_version.tar.gz`; \
echo $$full_sound_dir | grep music >/dev/null || soundfile=`echo freeswitch-sounds-$$full_sound_dir-$$sounds_version.tar.gz`; \
if test "$$target" = "install"; then $(MAKE) $(AM_MAKEFLAGS) core_install; else $(MAKE) $(AM_MAKEFLAGS) core ; fi; \
if test "$$target_prefix" = "sounds"; then \
if test "$$target" = "install"; then $(GETSOUNDS) $$soundfile $(DESTDIR)$(soundsdir)/; else $(GETSOUNDS) $$soundfile ; fi; \
if test "$$target" = "install"; then \
$(GETSOUNDS) $$soundfile $(DESTDIR)$(soundsdir)/;\
else \
$(GETSOUNDS) $$soundfile ; \
fi; \
else \
cd src/mod && $(MAKE) $(AM_MAKEFLAGS) $@ ;\
if test "$$target" = "install"; then \
$(MAKE) $(AM_MAKEFLAGS) core_install && cd src/mod && $(MAKE) $(AM_MAKEFLAGS) $@ ; \
else \
$(MAKE) $(AM_MAKEFLAGS) core && cd src/mod && $(MAKE) $(AM_MAKEFLAGS) $@ ;\
fi; \
fi
sounds: sounds-en-us-callie-8000
@ -64,7 +71,7 @@ cd-moh-install: uhd-moh-install sounds-music-48000-install
all-recursive: libfreeswitch.la
clean-recusive: clean_core
install-recursive: install-libLTLIBRARIES install-binPROGRAMS
$(RECURSIVE_TARGETS):
$(RECURSIVE_TARGETS): freeswitch
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@ -147,7 +154,16 @@ libfreeswitch_la_LDFLAGS += $(ODBC_LIB_FLAGS)
endif
if ENABLE_ZRTP
libfreeswitch_la_LDFLAGS += -lzrtp -lbn
CORE_CFLAGS += -I$(switch_srcdir)/libs/libzrtp/third_party/bgaes
CORE_CFLAGS += -I$(switch_srcdir)/libs/libzrtp/third_party/bnlib
CORE_CFLAGS += -isystem $(switch_srcdir)/libs/libzrtp/include
ZRTP_LDFLAGS = -L$(switch_srcdir)/libs/libzrtp/third_party/bnlib
ZRTP_LDFLAGS += -L$(switch_srcdir)/libs/libzrtp/projects/gnu/build
ZRTP_LIBS = -lbn -lzrtp
libfreeswitch_la_LDFLAGS += $(ZRTP_LDFLAGS)
libfreeswitch_la_LIBADD += $(ZRTP_LIBS)
CORE_LIBS += libs/libzrtp/projects/gnu/build/libzrtp.a
LIBS += libs/libzrtp/third_party/bnlib/libbn.a
endif
library_includedir = $(includedir)
@ -402,8 +418,8 @@ $(switch_builddir)/quiet_libtool: $(switch_builddir)/libtool
src/include/switch_version.h: src/include/switch_version.h.in .version $(libfreeswitch_la_SOURCES) $(library_include_HEADERS)
@have_version=1 ; \
force=0 ; \
grep "@SWITCH_VERSION_REVISION@" src/include/switch_version.h.in > /dev/null && have_version=0 ; \
test ! -f src/include/switch_version.h || grep "@SWITCH_VERSION_REVISION@" src/include/switch_version.h > /dev/null && force=1 ; \
grep -- "@SWITCH_VERSION_REVISION@" src/include/switch_version.h.in > /dev/null || have_version=0 ; \
test ! -f src/include/switch_version.h || grep -- "@SWITCH_VERSION_REVISION@" src/include/switch_version.h > /dev/null && force=1 ; \
if test $$have_version = 1 ; then \
cat src/include/switch_version.h.in > src/include/switch_version.h ; \
touch .version ; \
@ -429,6 +445,9 @@ src/include/switch_version.h: src/include/switch_version.h.in .version $(libfree
libs/libedit/src/.libs/libedit.a:
cd libs/libedit && $(MAKE)
libs/libzrtp/projects/gnu/build/libzrtp.a:
cd libs/libzrtp/projects/gnu && $(MAKE)
libs/curl/Makefile:
cd libs/curl && sh ./configure.gnu --prefix=$(prefix)
@ -460,7 +479,6 @@ libs/srtp/libsrtp.la: libs/srtp libs/srtp/.update
@cd libs/srtp && $(MAKE)
@$(TOUCH_TARGET)
##
## helper targets
##

View File

@ -1,300 +1,372 @@
#!/bin/sh
##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
##### bootstrap FreeSWITCH and FreeSWITCH libraries
echo "bootstrap: checking installation..."
BGJOB=false
while getopts jh arg
do
case $arg in
VERBOSE=false
BASEDIR=`pwd`;
LIBDIR=${BASEDIR}/libs;
SUBDIRS="apr \
libzrtp ilbc curl iksemel js js/nsprpub ldns libdingaling libedit libsndfile pcre sofia-sip \
speex sqlite srtp openzap freetdm spandsp libg722_1 portaudio unimrcp tiff-3.8.2 broadvoice silk libcodec2 \
fs";
while getopts 'jhd:v' o; do
case "$o" in
j) BGJOB=true;;
d) SUBDIRS="$OPTARG";;
v) VERBOSE=true;;
h) echo "Usage: $0 <options>"
echo " Options:"
echo " -j => Run Jobs in Background"
exit;;
echo " Options:"
echo " -d 'library1 library2'"
echo " => Bootstrap only specified subdirectories"
echo " -j => Run Jobs in Background"
exit;;
esac
done
BASEDIR=`pwd`;
LIBDIR=${BASEDIR}/libs;
SUBDIRS="ilbc curl iksemel js js/nsprpub ldns libdingaling libedit libsndfile pcre sofia-sip \
speex sqlite srtp openzap freetdm spandsp libg722_1 portaudio unimrcp tiff-3.8.2 broadvoice silk libcodec2";
ex() {
test $VERBOSE && echo "bootstrap: $@" >&2
$@
}
if [ ! -f modules.conf ]; then
setup_modules() {
if [ ! -f modules.conf ]; then
cp build/modules.conf.in modules.conf
fi
fi
}
# keep automake from making us magically GPL, and to stop complaining about missing files.
cp -f docs/COPYING .
cp -f docs/AUTHORS .
cp -f docs/ChangeLog .
touch NEWS
touch README
setup_gnu() {
# keep automake from making us magically GPL, and to stop
# complaining about missing files.
cp -f docs/COPYING .
cp -f docs/AUTHORS .
cp -f docs/ChangeLog .
touch NEWS
touch README
}
# autoconf 2.59 or newer
ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;s/[- ].*//g;q'`
if test -z "$ac_version"; then
echo "bootstrap: autoconf not found."
echo " You need autoconf version 2.59 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
fi
check_ac_ver() {
# autoconf 2.59 or newer
ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;s/[- ].*//g;q'`
if test -z "$ac_version"; then
echo "bootstrap: autoconf not found."
echo " You need autoconf version 2.59 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
fi
if test `uname -s` = "OpenBSD" && test "$ac_version" = "2.62"; then
echo "Autoconf 2.62 is broken on OpenBSD, please try another version"
exit 1
fi
IFS=_; set $ac_version; IFS=' '
ac_version=$1
IFS=.; set $ac_version; IFS=' '
if test "$1" = "2" -a "$2" -lt "59" || test "$1" -lt "2"; then
echo "bootstrap: autoconf version $ac_version found."
echo " You need autoconf version 2.59 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
else
echo "bootstrap: autoconf version $ac_version (ok)"
fi
}
if test `uname -s` = "OpenBSD" && test "$ac_version" = "2.62"; then
echo "Autoconf 2.62 is broken on OpenBSD, please try another version"
exit 1
fi
check_am_ver() {
# automake 1.7 or newer
am_version=`${AUTOMAKE:-automake} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;s/[- ].*//g;q'`
if test -z "$am_version"; then
echo "bootstrap: automake not found."
echo " You need automake version 1.7 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
fi
IFS=_; set $am_version; IFS=' '
am_version=$1
IFS=.; set $am_version; IFS=' '
if test "$1" = "1" -a "$2" -lt "7"; then
echo "bootstrap: automake version $am_version found."
echo " You need automake version 1.7 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
else
echo "bootstrap: automake version $am_version (ok)"
fi
}
IFS=_; set $ac_version; IFS=' '
ac_version=$1
IFS=.; set $ac_version; IFS=' '
if test "$1" = "2" -a "$2" -lt "59" || test "$1" -lt "2"; then
echo "bootstrap: autoconf version $ac_version found."
echo " You need autoconf version 2.59 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
else
echo "bootstrap: autoconf version $ac_version (ok)"
fi
check_acl_ver() {
# aclocal 1.7 or newer
acl_version=`${ACLOCAL:-aclocal} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;s/[- ].*//g;q'`
if test -z "$acl_version"; then
echo "bootstrap: aclocal not found."
echo " You need aclocal version 1.7 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
fi
IFS=_; set $acl_version; IFS=' '
acl_version=$1
IFS=.; set $acl_version; IFS=' '
if test "$1" = "1" -a "$2" -lt "7"; then
echo "bootstrap: aclocal version $acl_version found."
echo " You need aclocal version 1.7 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
else
echo "bootstrap: aclocal version $acl_version (ok)"
fi
}
check_lt_ver() {
# Sample libtool --version outputs:
# ltmain.sh (GNU libtool) 1.3.3 (1.385.2.181 1999/07/02 15:49:11)
# ltmain.sh (GNU libtool 1.1361 2004/01/02 23:10:52) 1.5a
# output is multiline from 1.5 onwards
# automake 1.7 or newer
# Require libtool 1.4 or newer
libtool=${LIBTOOL:-`${LIBDIR}/apr/build/PrintPath glibtool libtool libtool22 libtool15 libtool14`}
lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
if test -z "$lt_pversion"; then
echo "bootstrap: libtool not found."
echo " You need libtool version 1.5.14 or newer to build FreeSWITCH from source."
exit 1
fi
lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
IFS=.; set $lt_version; IFS=' '
lt_status="good"
am_version=`${AUTOMAKE:-automake} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;s/[- ].*//g;q'`
if test -z "$am_version"; then
echo "bootstrap: automake not found."
echo " You need automake version 1.7 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
fi
IFS=_; set $am_version; IFS=' '
am_version=$1
IFS=.; set $am_version; IFS=' '
if test "$1" = "1" -a "$2" -lt "7"; then
echo "bootstrap: automake version $am_version found."
echo " You need automake version 1.7 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
else
echo "bootstrap: automake version $am_version (ok)"
fi
if test -z "$1"; then a=0 ; else a=$1;fi
if test -z "$2"; then b=0 ; else b=$2;fi
if test -z "$3"; then c=0 ; else c=$3;fi
lt_major=$a
# aclocal 1.7 or newer
acl_version=`${ACLOCAL:-aclocal} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;s/[- ].*//g;q'`
if test -z "$acl_version"; then
echo "bootstrap: aclocal not found."
echo " You need aclocal version 1.7 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
fi
IFS=_; set $acl_version; IFS=' '
acl_version=$1
IFS=.; set $acl_version; IFS=' '
if test "$1" = "1" -a "$2" -lt "7"; then
echo "bootstrap: aclocal version $acl_version found."
echo " You need aclocal version 1.7 or newer installed"
echo " to build FreeSWITCH from source."
exit 1
else
echo "bootstrap: aclocal version $acl_version (ok)"
fi
# Sample libtool --version outputs:
# ltmain.sh (GNU libtool) 1.3.3 (1.385.2.181 1999/07/02 15:49:11)
# ltmain.sh (GNU libtool 1.1361 2004/01/02 23:10:52) 1.5a
# output is multiline from 1.5 onwards
# Require libtool 1.4 or newer
libtool=${LIBTOOL:-`${LIBDIR}/apr/build/PrintPath glibtool libtool libtool22 libtool15 libtool14`}
lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
if test -z "$lt_pversion"; then
echo "bootstrap: libtool not found."
echo " You need libtool version 1.5.14 or newer to build FreeSWITCH from source."
exit 1
fi
lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
IFS=.; set $lt_version; IFS=' '
lt_status="good"
if test -z "$1"; then a=0 ; else a=$1;fi
if test -z "$2"; then b=0 ; else b=$2;fi
if test -z "$3"; then c=0 ; else c=$3;fi
lt_major=$a
if test "$a" -eq "2"; then
lt_status="good"
elif test "$a" -lt "2"; then
if test "$b" -lt "5" -o "$b" = "5" -a "$c" -lt "14" ; then
if test "$a" -eq "2"; then
lt_status="good"
elif test "$a" -lt "2"; then
if test "$b" -lt "5" -o "$b" = "5" -a "$c" -lt "14" ; then
lt_status="bad"
fi
else
fi
else
lt_status="bad"
fi
if test $lt_status = "good"; then
echo "bootstrap: libtool version $lt_pversion (ok)"
else
echo "bootstrap: libtool version $lt_pversion found."
echo " You need libtool version 1.5.14 or newer to build FreeSWITCH from source."
exit 1
fi
fi
if test $lt_status = "good"; then
echo "bootstrap: libtool version $lt_pversion (ok)"
else
echo "bootstrap: libtool version $lt_pversion found."
echo " You need libtool version 1.5.14 or newer to build FreeSWITCH from source."
exit 1
fi
}
# check libtoolize availability
if [ -n "${LIBTOOL}" ]; then
check_libtoolize() {
# check libtoolize availability
if [ -n "${LIBTOOL}" ]; then
libtoolize=${LIBTOOLIZE:-`dirname "${libtool}"`/libtoolize}
else
else
libtoolize=${LIBTOOLIZE:-`${LIBDIR}/apr/build/PrintPath glibtoolize libtoolize libtoolize22 libtoolize15 libtoolize14`}
fi
if [ "x$libtoolize" = "x" ]; then
fi
if [ "x$libtoolize" = "x" ]; then
echo "libtoolize not found in path"
exit 1
fi
if [ ! -x "$libtoolize" ]; then
fi
if [ ! -x "$libtoolize" ]; then
echo "$libtoolize does not exist or is not executable"
exit 1
fi
# compare libtool and libtoolize version
ltl_pversion=`$libtoolize --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
ltl_version=`echo $ltl_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
IFS=.; set $ltl_version; IFS=' '
if [ "x${lt_version}" != "x${ltl_version}" ]; then
echo "$libtool and $libtoolize have different versions"
exit 1
fi
#
# Info output
#
echo "Bootstrapping using:"
echo " autoconf : ${AUTOCONF:-`which autoconf`}"
echo " automake : ${AUTOMAKE:-`which automake`}"
echo " aclocal : ${ACLOCAL:-`which aclocal`}"
echo " libtool : ${libtool} (${lt_version})"
echo " libtoolize: ${libtoolize}"
echo
echo "Entering directory ${LIBDIR}/apr"
cd ${LIBDIR}/apr
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# bootstrap: Build the support scripts needed to compile from a
# checked-out version of the source code.
# Create the libtool helper files
#
# Note: we copy (rather than link) them to simplify distribution.
# Note: APR supplies its own config.guess and config.sub -- we do not
# rely on libtool's versions
#
echo "Copying libtool helper files ..."
# Remove any libtool files so one can switch between libtool 1.3
# and libtool 1.4 by simply rerunning the bootstrap script.
(cd build ; rm -f ltconfig ltmain.sh libtool.m4)
if ${libtoolize} -n --install >/dev/null 2>&1 ; then
$libtoolize --force --copy --install
else
$libtoolize --force --copy
fi
if [ -f libtool.m4 ]; then
ltfile=`pwd`/libtool.m4
else
if [ $lt_major -eq 2 ]; then
ltfindcmd="`sed -n \"/aclocaldir=/{s/.*=/echo /p;q;}\" < $libtoolize`"
ltfile=${LIBTOOL_M4-`eval "$ltfindcmd"`/libtool.m4}
else
ltfindcmd="`sed -n \"/=[^\\\`]/p;/libtool_m4=/{s/.*=/echo /p;q;}\" \
< $libtoolize`"
ltfile=${LIBTOOL_M4-`eval "$ltfindcmd"`}
fi
# Expecting the code above to be very portable, but just in case...
if [ -z "$ltfile" -o ! -f "$ltfile" ]; then
ltpath=`dirname $libtoolize`
ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
fi
fi
if [ ! -f $ltfile ]; then
echo "$ltfile not found"
exit 1
fi
echo "bootstrap: Using libtool.m4 at ${ltfile}."
cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
# libtool.m4 from 1.6 requires ltsugar.m4
if [ -f ltsugar.m4 ]; then
rm -f build/ltsugar.m4
mv ltsugar.m4 build/ltsugar.m4
fi
# Clean up any leftovers
rm -f aclocal.m4 libtool.m4
# fix for FreeBSD (at least):
# libtool.m4 is in share/aclocal, while e.g. aclocal19 only looks in share/aclocal19
# get aclocal's default directory and include the libtool.m4 directory via -I if
# it's in a different location
aclocal_dir="`${ACLOCAL:-aclocal} --print-ac-dir`"
if [ -n "${aclocal_dir}" -a -n "${ltfile}" -a "`dirname ${ltfile}`" != "${aclocal_dir}" ] ; then
ACLOCAL_OPTS="-I `dirname ${ltfile}`"
fi
### run aclocal
echo "Re-creating aclocal.m4 ..."
${ACLOCAL:-aclocal} ${ACLOCAL_OPTS}
### do some work to toss config.cache?
echo "Creating configure ..."
${AUTOCONF:-autoconf}
#
# Generate the autoconf header
#
echo "Creating include/arch/unix/apr_private.h.in ..."
${AUTOHEADER:-autoheader}
# Libs automake automation function
libbootstrap()
{
i=$1
if [ -d ${LIBDIR}/${i} ] ; then
echo "Entering directory ${LIBDIR}/${i}"
cd ${LIBDIR}/${i}
rm -f aclocal.m4
CFFILE=
if [ -f ${LIBDIR}/${i}/configure.in ] ; then
CFFILE="${LIBDIR}/${i}/configure.in"
else
if [ -f ${LIBDIR}/${i}/configure.ac ] ; then
CFFILE="${LIBDIR}/${i}/configure.ac"
fi
fi
if [ ! -z ${CFFILE} ] ; then
# compare libtool and libtoolize version
ltl_pversion=`$libtoolize --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
ltl_version=`echo $ltl_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
IFS=.; set $ltl_version; IFS=' '
if [ "x${lt_version}" != "x${ltl_version}" ]; then
echo "$libtool and $libtoolize have different versions"
exit 1
fi
}
check_make() {
#
# Check to make sure we have GNU Make installed
#
make=`which make`
if [ -x "$make" ]; then
make_version=`$make --version | grep GNU`
if [ $? -ne 0 ]; then
make=`which gmake`
if [ -x "$make" ]; then
make_version=`$make --version | grep GNU`
if [ $? -ne 0 ]; then
echo "GNU Make does not exist or is not executable"
exit 1;
fi
fi
fi
fi
}
check_awk() {
# TODO: Building with mawk on at least Debian squeeze is know to
# work, but mawk is believed to fail on some systems. If we can
# replicate this, we need a particular behavior that we can test
# here to verify whether we have an acceptable awk.
:
}
print_autotools_vers() {
#
# Info output
#
echo "Bootstrapping using:"
echo " autoconf : ${AUTOCONF:-`which autoconf`}"
echo " automake : ${AUTOMAKE:-`which automake`}"
echo " aclocal : ${ACLOCAL:-`which aclocal`}"
echo " libtool : ${libtool} (${lt_version})"
echo " libtoolize: ${libtoolize}"
echo " make : ${make} (${make_version})"
echo " awk : ${awk} (${awk_version})"
echo
}
bootstrap_apr() {
echo "Entering directory ${LIBDIR}/apr"
cd ${LIBDIR}/apr
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# bootstrap: Build the support scripts needed to compile from a
# checked-out version of the source code.
# Create the libtool helper files
#
# Note: we copy (rather than link) them to simplify distribution.
# Note: APR supplies its own config.guess and config.sub -- we do not
# rely on libtool's versions
#
echo "Copying libtool helper files ..."
# Remove any libtool files so one can switch between libtool 1.3
# and libtool 1.4 by simply rerunning the bootstrap script.
(cd build ; rm -f ltconfig ltmain.sh libtool.m4)
if ${libtoolize} -n --install >/dev/null 2>&1 ; then
$libtoolize --force --copy --install
else
$libtoolize --force --copy
fi
if [ -f libtool.m4 ]; then
ltfile=`pwd`/libtool.m4
else
if [ $lt_major -eq 2 ]; then
ltfindcmd="`sed -n \"/aclocaldir=/{s/.*=/echo /p;q;}\" < $libtoolize`"
ltfile=${LIBTOOL_M4-`eval "$ltfindcmd"`/libtool.m4}
else
ltfindcmd="`sed -n \"/=[^\\\`]/p;/libtool_m4=/{s/.*=/echo /p;q;}\" \
< $libtoolize`"
ltfile=${LIBTOOL_M4-`eval "$ltfindcmd"`}
fi
# Expecting the code above to be very portable, but just in case...
if [ -z "$ltfile" -o ! -f "$ltfile" ]; then
ltpath=`dirname $libtoolize`
ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
fi
fi
if [ ! -f $ltfile ]; then
echo "$ltfile not found"
exit 1
fi
echo "bootstrap: Using libtool.m4 at ${ltfile}."
cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
# libtool.m4 from 1.6 requires ltsugar.m4
if [ -f ltsugar.m4 ]; then
rm -f build/ltsugar.m4
mv ltsugar.m4 build/ltsugar.m4
fi
# Clean up any leftovers
rm -f aclocal.m4 libtool.m4
# fix for FreeBSD (at least):
# libtool.m4 is in share/aclocal, while e.g. aclocal19 only looks in share/aclocal19
# get aclocal's default directory and include the libtool.m4 directory via -I if
# it's in a different location
aclocal_dir="`${ACLOCAL:-aclocal} --print-ac-dir`"
if [ -n "${aclocal_dir}" -a -n "${ltfile}" -a "`dirname ${ltfile}`" != "${aclocal_dir}" ] ; then
ACLOCAL_OPTS="-I `dirname ${ltfile}`"
fi
### run aclocal
echo "Re-creating aclocal.m4 ..."
${ACLOCAL:-aclocal} ${ACLOCAL_OPTS}
### do some work to toss config.cache?
rm -rf config.cache
echo "Creating configure ..."
${AUTOCONF:-autoconf}
#
# Generate the autoconf header
#
echo "Creating include/arch/unix/apr_private.h.in ..."
${AUTOHEADER:-autoheader}
# Remove autoconf 2.5x's cache directory
rm -rf autom4te*.cache
echo "Entering directory ${LIBDIR}/apr-util"
cd ${LIBDIR}/apr-util
./buildconf
}
bootstrap_libzrtp() {
(cd ${LIBDIR}/libzrtp/projects/gnu && ./bootstrap.sh)
}
# Libs automake automation function
libbootstrap() {
i=$1
if [ -d ${LIBDIR}/${i} ]; then
echo "Entering directory ${LIBDIR}/${i}"
ex cd ${LIBDIR}/${i}
ex rm -f aclocal.m4
CFFILE=
if [ -f ${LIBDIR}/${i}/configure.in ]; then
CFFILE="${LIBDIR}/${i}/configure.in"
else
if [ -f ${LIBDIR}/${i}/configure.ac ]; then
CFFILE="${LIBDIR}/${i}/configure.ac"
fi
fi
if [ ! -z ${CFFILE} ]; then
LTTEST=`grep "AC_PROG_LIBTOOL" ${CFFILE}`
LTTEST2=`grep "AM_PROG_LIBTOOL" ${CFFILE}`
AMTEST=`grep "AM_INIT_AUTOMAKE" ${CFFILE}`
@ -303,71 +375,101 @@ libbootstrap()
AXTEST=`grep "ACX_LIBTOOL_C_ONLY" ${CFFILE}`
echo "Creating aclocal.m4"
${ACLOCAL:-aclocal} ${ACLOCAL_OPTS} ${ACLOCAL_FLAGS}
ex ${ACLOCAL:-aclocal} ${ACLOCAL_OPTS} ${ACLOCAL_FLAGS}
#only run if AC_PROG_LIBTOOL is in configure.in/configure.ac
if [ ! -z "${LTTEST}" -o "${LTTEST2}" -o "${AXTEST}" ] ; then
echo "Running libtoolize..."
if ${libtoolize} -n --install >/dev/null 2>&1 ; then
$libtoolize --force --copy --install
else
$libtoolize --force --copy
fi
# only run if AC_PROG_LIBTOOL is in configure.in/configure.ac
if [ ! -z "${LTTEST}" -o "${LTTEST2}" -o "${AXTEST}" ]; then
echo "Running libtoolize..."
if ${libtoolize} -n --install >/dev/null 2>&1; then
ex $libtoolize --force --copy --install
else
ex $libtoolize --force --copy
fi
fi
echo "Creating configure"
${AUTOCONF:-autoconf}
ex ${AUTOCONF:-autoconf}
#only run if AC_CONFIG_HEADERS is found in configure.in/configure.ac
if [ ! -z "${AHTEST}" ] ; then
echo "Running autoheader..."
${AUTOHEADER:-autoheader} ;
# only run if AC_CONFIG_HEADERS is found in configure.in/configure.ac
if [ ! -z "${AHTEST}" ]; then
echo "Running autoheader..."
ex ${AUTOHEADER:-autoheader};
fi
#run if AM_INIT_AUTOMAKE / AC_PROG_INSTALL is in configure.in/configure.ac
if [ ! -z "${AMTEST}" -o "${AMTEST2}" ] ; then
echo "Creating Makefile.in"
${AUTOMAKE:-automake} --no-force --add-missing --copy ;
# run if AM_INIT_AUTOMAKE / AC_PROG_INSTALL is in configure.in/configure.ac
if [ ! -z "${AMTEST}" -o "${AMTEST2}" ]; then
echo "Creating Makefile.in"
ex ${AUTOMAKE:-automake} --no-force --add-missing --copy;
fi
rm -rf autom4te*.cache
fi
ex rm -rf autom4te*.cache
fi
else
echo "Skipping directory ${LIBDIR}/${i}"
echo "Skipping directory ${LIBDIR}/${i}"
fi
}
bootstrap_fs() {
cd ${BASEDIR}
rm -f aclocal.m4
${ACLOCAL:-aclocal} ${ACLOCAL_OPTS}
$libtoolize --copy --automake
${AUTOCONF:-autoconf}
${AUTOHEADER:-autoheader}
${AUTOMAKE:-automake} --no-force --add-missing --copy
rm -rf autom4te*.cache
}
# Remove autoconf 2.5x's cache directory
rm -rf autom4te*.cache
bootstrap_libs_pre() {
case "$1" in
*) return 0;;
esac
}
echo "Entering directory ${LIBDIR}/apr-util"
cd ${LIBDIR}/apr-util
if [ "${BGJOB}" = "false" ] ; then
./buildconf
else
./buildconf &
fi
bootstrap_libs_post() {
case "$1" in
ldns)
cd $BASEDIR/libs/ldns
if test ! -x install-sh; then
ex automake --add-missing --copy
ex rm -rf autom4te*.cache
fi
;;
esac
}
bootstrap_libs() {
for i in ${SUBDIRS}; do
case "$i" in
apr|fs|libzrtp)
${BGJOB} && wait
bootstrap_$i
continue
;;
esac
bootstrap_libs_pre ${i}
if ! ${BGJOB}; then
libbootstrap ${i} ; bootstrap_libs_post ${i}
else
(libbootstrap ${i} ; bootstrap_libs_post ${i}) &
fi
done
${BGJOB} && wait
}
for i in ${SUBDIRS}
do
if [ "${BGJOB}" = "false" ] ; then
libbootstrap ${i}
else
libbootstrap ${i} &
fi
done
run() {
setup_modules
setup_gnu
check_make
check_awk
check_ac_ver
check_am_ver
check_acl_ver
check_lt_ver
check_libtoolize
print_autotools_vers
bootstrap_libs
return 0
}
if [ "${BGJOB}" = "true" ] ; then
wait
fi
cd ${BASEDIR}
rm -f aclocal.m4
${ACLOCAL:-aclocal} ${ACLOCAL_OPTS}
$libtoolize --copy --automake
${AUTOCONF:-autoconf}
${AUTOHEADER:-autoheader}
${AUTOMAKE:-automake} --no-force --add-missing --copy
rm -rf autom4te*.cache
run

View File

@ -46,12 +46,7 @@
# Voice Platform
### END INIT INFO
#
# Check for missing binaries (stale symlinks should not happen)
# Note: Special treatment of stop for LSB conformance
FREESWITCH_BIN=/opt/freeswitch/bin/freeswitch
test -x $FREESWITCH_BIN || { echo "$FREESWITCH_BIN not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
# Check for existence of needed config file and read it
FREESWITCH_CONFIG=/etc/sysconfig/freeswitch
@ -62,6 +57,12 @@ test -r $FREESWITCH_CONFIG || { echo "$FREESWITCH_CONFIG not existing";
# Read config
. $FREESWITCH_CONFIG
# Check for missing binaries (stale symlinks should not happen)
# Note: Special treatment of stop for LSB conformance
test -x $FREESWITCH_BIN || { echo "$FREESWITCH_BIN not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
# Source LSB init functions
# providing start_daemon, killproc, pidofproc,
# log_success_msg, log_failure_msg and log_warning_msg.
@ -202,7 +203,7 @@ case "$1" in
## argument to this init script which is required for a reload.
## Note: probe is not (yet) part of LSB (as of 1.9)
test /opt/freeswitch/conf/freeswitch.xml -nt /opt/freeswitch/run/freeswitch.pid && echo reload
test ${FREESWITCH_HOME}/conf/freeswitch.xml -nt ${FREESWITCH_HOME}/run/freeswitch.pid && echo reload
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"

View File

@ -1,4 +1,5 @@
#!/bin/sh
##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
TAR=@TAR@
ZCAT=@ZCAT@
@ -8,39 +9,39 @@ WGET=@WGET@
CURL=@CURL@
if [ -f "$WGET" ]; then
DOWNLOAD_CMD=$WGET
DOWNLOAD_CMD=$WGET
elif [ -f "$CURL" ]; then
DOWNLOAD_CMD="$CURL -O"
DOWNLOAD_CMD="$CURL -O"
fi
if [ -n "`echo $1 | grep '://'`" ]; then
base=$1/
tarfile=$2
base=$1/
tarfile=$2
else
base=http://files.freeswitch.org/downloads/libs/
tarfile=$1
base=http://files.freeswitch.org/downloads/libs/
tarfile=$1
fi
uncompressed=`echo $tarfile | sed 's/\(\(\.tar\.gz\|\.tar\.bz2\|\.tar\.xz\)\|\(\.tgz\|\.tbz2\)\)$//'`
case `echo $tarfile | sed 's/^.*\.//'` in
bz2|tbz2) UNZIPPER=$BZIP ;;
xz) UNZIPPER=$XZ ;;
gz|tgz|*) UNZIPPER=$ZCAT ;;
bz2|tbz2) UNZIPPER=$BZIP ;;
xz) UNZIPPER=$XZ ;;
gz|tgz|*) UNZIPPER=$ZCAT ;;
esac
if [ ! -d $tarfile ]; then
if [ ! -f $tarfile ]; then
rm -fr $uncompressed
$DOWNLOAD_CMD $base$tarfile
if [ ! -f $tarfile ]; then
rm -fr $uncompressed
$DOWNLOAD_CMD $base$tarfile
if [ ! -f $tarfile ]; then
echo cannot find $tarfile
exit 1
fi
fi
if [ ! -d $uncompressed ]; then
$UNZIPPER -c -d $tarfile | $TAR -xf -
echo cannot find $tarfile
exit 1
fi
fi
if [ ! -d $uncompressed ]; then
$UNZIPPER -c -d $tarfile | $TAR -xf -
fi
fi
exit 0

View File

@ -1,4 +1,5 @@
#!/bin/sh
##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
TAR=@TAR@
ZCAT=@ZCAT@
@ -7,11 +8,11 @@ CURL=@CURL@
DIR=`pwd`
if [ -x "$WGET" ] ; then
DOWNLOAD_CMD=$WGET
if [ -x "$WGET" ]; then
DOWNLOAD_CMD=$WGET
fi
if [ "x${DOWNLOAD_CMD}" = "x" -a -x "$CURL" ] ; then
DOWNLOAD_CMD="$CURL -O"
DOWNLOAD_CMD="$CURL -O"
fi
base=http://files.freeswitch.org/
@ -22,17 +23,22 @@ echo -n "#"
pwd
echo "# $0 $1 $2"
if [ ! -f $tarfile ] ; then
$DOWNLOAD_CMD $base$tarfile
if [ ! -f $tarfile ] ; then
echo cannot find $tarfile
exit 1
fi
if [ -n "$FS_SOUNDS_DIR" ]; then
[ -d $FS_SOUNDS_DIR ] || mkdir -p $FS_SOUNDS_DIR
DIR=$FS_SOUNDS_DIR
fi
if [ ! -z $install ] ; then
test -d $install || mkdir $install
cd $install && $ZCAT -c -d $DIR/$tarfile | $TAR xf -
if [ ! -f $DIR/$tarfile ]; then
(cd $DIR && $DOWNLOAD_CMD $base$tarfile)
if [ ! -f $DIR/$tarfile ]; then
echo "cannot find $tarfile"
exit 1
fi
fi
if [ ! -z "$install" ]; then
test -d $install || mkdir $install
(cd $install && $ZCAT -c -d $DIR/$tarfile | $TAR xf -)
fi
exit 0

View File

@ -1,6 +1,6 @@
################################################################################
# ignore_helper.pl
# Copyright (c) 2007-2009 Anthony Minessale II <anthm@freeswitch.org>
# Copyright (c) 2007-2012 Anthony Minessale II <anthm@freeswitch.org>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation

1
build/next-release.txt Normal file
View File

@ -0,0 +1 @@
1.2-rc3

16
build/set-fs-version.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/sh
##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
sdir="."
[ -n "${0%/*}" ] && sdir="${0%/*}"
. $sdir/../scripts/ci/common.sh
check_pwd
check_input_ver_build $@
in_ver="$1"
if [ "$in_ver" = "auto" ]; then
in_ver="$(cat build/next-release.txt)"
fi
eval $(parse_version "$in_ver")
set_fs_ver "$gver" "$gmajor" "$gminor" "$gmicro" "$grev"

View File

@ -60,7 +60,7 @@
<load module="mod_g723_1"/>
<load module="mod_g729"/>
<load module="mod_amr"/>
<load module="mod_ilbc"/>
<!--<load module="mod_ilbc"/>-->
<load module="mod_speex"/>
<load module="mod_h26x"/>
<!--<load module="mod_siren"/>-->

View File

@ -1,4 +1,4 @@
<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
<profile name="external">
<!-- This profile is only for outbound registrations to providers -->
<gateways>
@ -29,10 +29,10 @@
<!-- This could be set to "passive" -->
<param name="manage-presence" value="passive"/>
<!-- used to share presence info across sofia profiles
manage-presence needs to be set to passive on this profile
if you want it to behave as if it were the internal profile
for presence.
<!-- used to share presence info across sofia profiles
manage-presence needs to be set to passive on this profile
if you want it to behave as if it were the internal profile
for presence.
-->
<!-- Name of the db to use for this profile -->
<param name="dbname" value="$${domain}"/>
@ -47,8 +47,10 @@
<param name="nonce-ttl" value="60"/>
<param name="auth-calls" value="false"/>
<param name="rtp-timeout-sec" value="1800"/>
<param name="inbound-late-negotiation" value="true"/>
<param name="inbound-zrtp-passthru" value="true"/>
<!--
DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
-->
<param name="rtp-ip" value="$${local_ip_v4}"/>
<param name="sip-ip" value="$${local_ip_v4}"/>

View File

@ -9,7 +9,7 @@
<!--/// domain to use in from: *optional* same as realm, if blank ///-->
<!--<param name="from-domain" value="asterlink.com"/>-->
<!--/// account password *required* ///-->
<!--<param name="password" value="2007"/>-->
<!--<param name="password" value="2007"/>-->
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<!--<param name="extension" value="cluecon"/>-->
<!--/// proxy host: *optional* same as realm, if blank ///-->

View File

@ -53,36 +53,39 @@
<param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
<!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
<param name="tls-version" value="$${sip_tls_version}"/>
<!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
<!--<param name="pass-rfc2833" value="true"/>-->
<!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<!--Uncomment to set all inbound calls to no media mode-->
<!--<param name="inbound-bypass-media" value="true"/>-->
<!--Uncomment to set all inbound calls to proxy media mode-->
<!--<param name="inbound-proxy-media" value="true"/>-->
<!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<!--<param name="inbound-late-negotiation" value="true"/>-->
<!-- Let calls hit the dialplan before selecting codec for the a-leg -->
<param name="inbound-late-negotiation" value="true"/>
<!-- Allow ZRTP clients to negotiate end-to-end security associations -->
<param name="inbound-zrtp-passthru" value="true"/>
<!-- this lets anything register -->
<!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
<!-- <param name="accept-blind-reg" value="true"/> -->
<!-- accept any authentication without actually checking (not a good feature for most people) -->
<!-- <param name="accept-blind-auth" value="true"/> -->
<!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
<!-- <param name="suppress-cng" value="true"/> -->
<!--TTL for nonce in sip auth-->
<param name="nonce-ttl" value="60"/>
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--<param name="disable-transcoding" value="true"/>-->
<!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
<!--<param name="NDLB-broken-auth-hash" value="true"/>-->
@ -128,4 +131,3 @@
</settings>
</profile>

View File

@ -1,7 +1,7 @@
<!--
This is a sofia sip profile/user agent. This will service exactly one ip and port.
In FreeSWITCH you can run multiple sip user agents on their own ip and port.
When you hear someone say "sofia profile" this is what they are talking about.
-->
@ -16,24 +16,24 @@
<gateways>
<X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
</gateways>
<domains>
<!-- indicator to parse the directory for domains with parse="true" to get gateways-->
<!--<domain name="$${domain}" parse="true"/>-->
<!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
<!--<domain name="all" alias="true" parse="true"/>-->
<domain name="all" alias="true" parse="false"/>
<domain name="all" alias="true" parse="false"/>
</domains>
<settings>
<!--
When calls are in no media this will bring them back to media
when you press the hold button.
When calls are in no media this will bring them back to media
when you press the hold button.
-->
<!--<param name="media-option" value="resume-media-on-hold"/> -->
<!--
This will allow a call after an attended transfer go back to
bypass media after an attended transfer.
This will allow a call after an attended transfer go back to
bypass media after an attended transfer.
-->
<!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
<!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
@ -63,7 +63,7 @@
<!--<param name="dtmf-type" value="info"/>-->
<param name="record-template" value="$${base_dir}/recordings/${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
<!-- This setting is for AAL2 bitpacking on G726 -->
<!-- <param name="bitpacking" value="aal2"/> -->
<!--max number of open dialogs in proceeding -->
@ -88,36 +88,39 @@
<param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
<!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
<param name="tls-version" value="$${sip_tls_version}"/>
<!--If you don't want to pass through timestamps from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
<!--<param name="pass-rfc2833" value="true"/>-->
<!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<!--Uncomment to set all inbound calls to no media mode-->
<!--<param name="inbound-bypass-media" value="true"/>-->
<!--Uncomment to set all inbound calls to proxy media mode-->
<!--<param name="inbound-proxy-media" value="true"/>-->
<!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<!--<param name="inbound-late-negotiation" value="true"/>-->
<!-- Let calls hit the dialplan before selecting codec for the a-leg -->
<param name="inbound-late-negotiation" value="true"/>
<!-- Allow ZRTP clients to negotiate end-to-end security associations -->
<param name="inbound-zrtp-passthru" value="true"/>
<!-- this lets anything register -->
<!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
<!-- <param name="accept-blind-reg" value="true"/> -->
<!-- accept any authentication without actually checking (not a good feature for most people) -->
<!-- <param name="accept-blind-auth" value="true"/> -->
<!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
<!-- <param name="suppress-cng" value="true"/> -->
<!--TTL for nonce in sip auth-->
<param name="nonce-ttl" value="60"/>
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--<param name="disable-transcoding" value="true"/>-->
<!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
<!--<param name="NDLB-broken-auth-hash" value="true"/>-->
@ -138,7 +141,7 @@
<!-- <param name="vad" value="out"/> -->
<!-- <param name="vad" value="both"/> -->
<!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
<!--all inbound reg will look in this domain for the users -->
<param name="force-register-domain" value="$${domain}"/>
<!--all inbound reg will stored in the db using this domain -->
@ -158,24 +161,24 @@
<!--<param name="disable-transfer" value="true"/>-->
<!--<param name="disable-register" value="true"/>-->
<!-- enable-3pcc can be set to either 'true' or 'proxy', true accepts the call right away, proxy waits until the call has been answered then sends accepts -->
<!-- enable-3pcc can be set to either 'true' or 'proxy', true accepts the call right away, proxy waits until the call has been answered then sends accepts -->
<!--<param name="enable-3pcc" value="true"/>-->
<!-- use at your own risk or if you know what this does.-->
<!--<param name="NDLB-force-rport" value="true"/>-->
<!--
Choose the realm challenge key. Default is auto_to if not set.
auto_from - uses the from field as the value for the sip realm.
auto_to - uses the to field as the value for the sip realm.
<anyvalue> - you can input any value to use for the sip realm.
Choose the realm challenge key. Default is auto_to if not set.
If you want URL dialing to work you'll want to set this to auto_from.
If you use any other value besides auto_to or auto_from you'll loose
the ability to do multiple domains.
Note: comment out to restore the behavior before 2008-09-29
auto_from - uses the from field as the value for the sip realm.
auto_to - uses the to field as the value for the sip realm.
<anyvalue> - you can input any value to use for the sip realm.
If you want URL dialing to work you'll want to set this to auto_from.
If you use any other value besides auto_to or auto_from you'll loose
the ability to do multiple domains.
Note: comment out to restore the behavior before 2008-09-29
-->
<param name="challenge-realm" value="auto_from"/>
@ -186,4 +189,3 @@
<!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
</settings>
</profile>

View File

@ -9,7 +9,7 @@
<!--/// domain to use in from: *optional* same as realm, if blank ///-->
<!--<param name="from-domain" value="asterlink.com"/>-->
<!--/// account password *required* ///-->
<!--<param name="password" value="2007"/>-->
<!--<param name="password" value="2007"/>-->
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<!--<param name="extension" value="cluecon"/>-->
<!--/// proxy host: *optional* same as realm, if blank ///-->

View File

@ -39,7 +39,7 @@
<load module="mod_g723_1"/>
<load module="mod_g729"/>
<load module="mod_amr"/>
<load module="mod_ilbc"/>
<!--<load module="mod_ilbc"/>-->
<load module="mod_speex"/>
<load module="mod_h26x"/>
<!--<load module="mod_siren"/>-->

View File

@ -1,4 +1,4 @@
<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
<profile name="external">
<!-- This profile is only for outbound registrations to providers -->
<gateways>
@ -7,7 +7,7 @@
<aliases>
<alias name="outbound"/>
<alias name="nat"/> <!-- for backwards compatibility -->
<alias name="nat"/> <!-- for backwards compatibility -->
</aliases>
<domains>
@ -30,10 +30,10 @@
<!-- This could be set to "passive" -->
<param name="manage-presence" value="false"/>
<!-- used to share presence info across sofia profiles
manage-presence needs to be set to passive on this profile
if you want it to behave as if it were the internal profile
for presence.
<!-- used to share presence info across sofia profiles
manage-presence needs to be set to passive on this profile
if you want it to behave as if it were the internal profile
for presence.
-->
<!-- Name of the db to use for this profile -->
<!--<param name="dbname" value="share_presence"/>-->
@ -48,8 +48,10 @@
<param name="nonce-ttl" value="60"/>
<param name="auth-calls" value="false"/>
<param name="rtp-timeout-sec" value="1800"/>
<param name="inbound-late-negotiation" value="true"/>
<param name="inbound-zrtp-passthru" value="true"/>
<!--
DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
-->
<param name="rtp-ip" value="$${local_ip_v4}"/>
<param name="sip-ip" value="$${local_ip_v4}"/>

View File

@ -9,7 +9,7 @@
<!--/// domain to use in from: *optional* same as realm, if blank ///-->
<!--<param name="from-domain" value="asterlink.com"/>-->
<!--/// account password *required* ///-->
<!--<param name="password" value="2007"/>-->
<!--<param name="password" value="2007"/>-->
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<!--<param name="extension" value="cluecon"/>-->
<!--/// proxy host: *optional* same as realm, if blank ///-->

View File

@ -53,36 +53,39 @@
<param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
<!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
<param name="tls-version" value="$${sip_tls_version}"/>
<!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
<!--<param name="pass-rfc2833" value="true"/>-->
<!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<!--Uncomment to set all inbound calls to no media mode-->
<!--<param name="inbound-bypass-media" value="true"/>-->
<!--Uncomment to set all inbound calls to proxy media mode-->
<!--<param name="inbound-proxy-media" value="true"/>-->
<!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<!--<param name="inbound-late-negotiation" value="true"/>-->
<!-- Let calls hit the dialplan before selecting codec for the a-leg -->
<param name="inbound-late-negotiation" value="true"/>
<!-- Allow ZRTP clients to negotiate end-to-end security associations -->
<param name="inbound-zrtp-passthru" value="true"/>
<!-- this lets anything register -->
<!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
<!-- <param name="accept-blind-reg" value="true"/> -->
<!-- accept any authentication without actually checking (not a good feature for most people) -->
<!-- <param name="accept-blind-auth" value="true"/> -->
<!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
<!-- <param name="suppress-cng" value="true"/> -->
<!--TTL for nonce in sip auth-->
<param name="nonce-ttl" value="60"/>
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--<param name="disable-transcoding" value="true"/>-->
<!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
<!--<param name="NDLB-broken-auth-hash" value="true"/>-->
@ -128,4 +131,3 @@
</settings>
</profile>

View File

@ -1,7 +1,7 @@
<!--
This is a sofia sip profile/user agent. This will service exactly one ip and port.
In FreeSWITCH you can run multiple sip user agents on their own ip and port.
When you hear someone say "sofia profile" this is what they are talking about.
-->
@ -15,24 +15,24 @@
<gateways>
<X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
</gateways>
<domains>
<!-- indicator to parse the directory for domains with parse="true" to get gateways-->
<!--<domain name="$${domain}" parse="true"/>-->
<!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
<!--<domain name="all" alias="true" parse="true"/>-->
<domain name="all" alias="true" parse="false"/>
<domain name="all" alias="true" parse="false"/>
</domains>
<settings>
<!--
When calls are in no media this will bring them back to media
when you press the hold button.
When calls are in no media this will bring them back to media
when you press the hold button.
-->
<!--<param name="media-option" value="resume-media-on-hold"/> -->
<!--
This will allow a call after an attended transfer go back to
bypass media after an attended transfer.
This will allow a call after an attended transfer go back to
bypass media after an attended transfer.
-->
<!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
<!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
@ -69,7 +69,7 @@
<!--<param name="dbname" value="share_presence"/>-->
<!--<param name="presence-hosts" value="$${domain}"/>-->
<!-- ************************************************* -->
<!-- This setting is for AAL2 bitpacking on G726 -->
<!-- <param name="bitpacking" value="aal2"/> -->
<!--max number of open dialogs in proceeding -->
@ -94,36 +94,39 @@
<param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
<!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
<param name="tls-version" value="$${sip_tls_version}"/>
<!--If you don't want to pass through timestamps from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
<!--<param name="pass-rfc2833" value="true"/>-->
<!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<!--Uncomment to set all inbound calls to no media mode-->
<!--<param name="inbound-bypass-media" value="true"/>-->
<!--Uncomment to set all inbound calls to proxy media mode-->
<!--<param name="inbound-proxy-media" value="true"/>-->
<!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<!--<param name="inbound-late-negotiation" value="true"/>-->
<!-- Let calls hit the dialplan before selecting codec for the a-leg -->
<param name="inbound-late-negotiation" value="true"/>
<!-- Allow ZRTP clients to negotiate end-to-end security associations -->
<param name="inbound-zrtp-passthru" value="true"/>
<!-- this lets anything register -->
<!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
<!-- <param name="accept-blind-reg" value="true"/> -->
<!-- accept any authentication without actually checking (not a good feature for most people) -->
<!-- <param name="accept-blind-auth" value="true"/> -->
<!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
<!-- <param name="suppress-cng" value="true"/> -->
<!--TTL for nonce in sip auth-->
<param name="nonce-ttl" value="60"/>
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--<param name="disable-transcoding" value="true"/>-->
<!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
<!--<param name="NDLB-broken-auth-hash" value="true"/>-->
@ -154,24 +157,24 @@
<!--<param name="disable-transfer" value="true"/>-->
<!--<param name="disable-register" value="true"/>-->
<!-- enable-3pcc can be set to either 'true' or 'proxy', true accepts the call right away, proxy waits until the call has been answered then sends accepts -->
<!-- enable-3pcc can be set to either 'true' or 'proxy', true accepts the call right away, proxy waits until the call has been answered then sends accepts -->
<!--<param name="enable-3pcc" value="true"/>-->
<!-- use at your own risk or if you know what this does.-->
<!--<param name="NDLB-force-rport" value="true"/>-->
<!--
Choose the realm challenge key. Default is auto_to if not set.
auto_from - uses the from field as the value for the sip realm.
auto_to - uses the to field as the value for the sip realm.
<anyvalue> - you can input any value to use for the sip realm.
Choose the realm challenge key. Default is auto_to if not set.
If you want URL dialing to work you'll want to set this to auto_from.
If you use any other value besides auto_to or auto_from you'll loose
the ability to do multiple domains.
Note: comment out to restore the behavior before 2008-09-29
auto_from - uses the from field as the value for the sip realm.
auto_to - uses the to field as the value for the sip realm.
<anyvalue> - you can input any value to use for the sip realm.
If you want URL dialing to work you'll want to set this to auto_from.
If you use any other value besides auto_to or auto_from you'll loose
the ability to do multiple domains.
Note: comment out to restore the behavior before 2008-09-29
-->
<param name="challenge-realm" value="auto_from"/>
@ -182,4 +185,3 @@
<!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
</settings>
</profile>

View File

@ -9,7 +9,7 @@
<!--/// domain to use in from: *optional* same as realm, if blank ///-->
<!--<param name="from-domain" value="asterlink.com"/>-->
<!--/// account password *required* ///-->
<!--<param name="password" value="2007"/>-->
<!--<param name="password" value="2007"/>-->
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<!--<param name="extension" value="cluecon"/>-->
<!--/// proxy host: *optional* same as realm, if blank ///-->

View File

@ -3,7 +3,7 @@
<X-PRE-PROCESS cmd="set" data="auto_answer=false"/>
<X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
<X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
<X-PRE-PROCESS cmd="set" data="codec_prefs=CELT@48000h,G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
<X-PRE-PROCESS cmd="set" data="codec_prefs=CELT@48000h,G722,PCMU,PCMA,GSM"/>
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
<X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
<X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
@ -86,10 +86,8 @@
<load module="mod_dptools"/>
<load module="mod_dialplan_xml"/>
<load module="mod_voipcodecs"/>
<load module="mod_ilbc"/>
<load module="mod_speex"/>
<load module="mod_celt"/>
<load module="mod_siren"/>
<load module="mod_sndfile"/>
<load module="mod_tone_stream"/>
<load module="mod_local_stream"/>

View File

@ -120,6 +120,10 @@
<!-- <param name="ivr-input-timeout" value="0" /> -->
<!-- Delay before a conference is asked to be terminated -->
<!-- <param name="endconf-grace-time" value="120" /> -->
<!-- Can be | delim of wait-mod|audio-always|video-bridge|video-floor-only
wait_mod will wait until the moderator in,
audio-always will always mix audio from all members regardless they are talking or not -->
<!-- <param name="conference-flags" value="audio-always"/> -->
</profile>
<profile name="wideband">

View File

@ -119,7 +119,7 @@
<!-- <param name="cookie-file" value="/tmp/cookie-mod_xml_curl.txt"/> -->
<!-- one or more of these imply you want to pick the exact variables that are transmitted -->
<!--<param name="enable-post-var" value="Unique-ID"/>-->
<!--<param name="enable-post-var" value="Caller-Unique-ID"/>-->
</params>
</profile>

View File

@ -16,6 +16,7 @@
<!-- <load module="mod_xml_rpc"/> -->
<!-- <load module="mod_xml_curl"/> -->
<!-- <load module="mod_xml_cdr"/> -->
<!-- <load module="mod_xml_scgi"/> -->
<!-- Event Handlers -->
<load module="mod_cdr_csv"/>
@ -62,6 +63,7 @@
<load module="mod_valet_parking"/>
<!--<load module="mod_fsk"/>-->
<!--<load module="mod_spy"/>-->
<!--<load module="mod_random"/>-->
<load module="mod_httapi"/>
<!-- SNOM Module -->
@ -80,10 +82,10 @@
<load module="mod_g723_1"/>
<load module="mod_g729"/>
<load module="mod_amr"/>
<load module="mod_ilbc"/>
<!--<load module="mod_ilbc"/>-->
<load module="mod_speex"/>
<load module="mod_h26x"/>
<load module="mod_siren"/>
<!--<load module="mod_siren"/>-->
<!--<load module="mod_isac"/>-->
<!--<load module="mod_celt"/>-->
<!--<load module="mod_opus"/>-->

View File

@ -0,0 +1,12 @@
<configuration name="xml_scgi.conf" description="SCGI XML Gateway">
<bindings>
<binding name="example">
<!-- one or more |-delim of configuration|directory|dialplan -->
<!-- <param name="host" value="127.0.0.1" bindings="dialplan"/> -->
<!-- <param name="port" value="8080"/> -->
<!-- <param name="timeout" value="10"/> -->
<!-- one or more of these imply you want to pick the exact variables that are transmitted -->
<!--<param name="enable-post-var" value="Unique-ID"/>-->
</binding>
</bindings>
</configuration>

View File

@ -29,7 +29,7 @@
<macro name="voicemail_change_pass_success">
<input pattern="(.*)">
<match>
<action function="play-file" data="ivr/ivr-Thank_you.wav"/>
<action function="play-file" data="voicemail/vm-password_has_been_changed.wav"/>
</match>
</input>
</macro>
@ -37,7 +37,7 @@
<macro name="voicemail_change_pass_fail">
<input pattern="(.*)">
<match>
<action function="play-file" data="voicemail/vm-fail_auth.wav"/>
<action function="play-file" data="voicemail/vm-password_not_valid.wav"/>
</match>
</input>
</macro>

View File

@ -1,14 +1,14 @@
<profile name="external">
<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
<!-- This profile is only for outbound registrations to providers -->
<gateways>
<X-PRE-PROCESS cmd="include" data="external/*.xml"/>
</gateways>
<aliases>
<!--
<alias name="outbound"/>
<alias name="nat"/>
<!--
<alias name="outbound"/>
<alias name="nat"/>
-->
</aliases>
@ -18,10 +18,10 @@
<settings>
<param name="debug" value="0"/>
<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
<!-- <param name="shutdown-on-fail" value="true"/> -->
<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
<!-- <param name="shutdown-on-fail" value="true"/> -->
<param name="sip-trace" value="no"/>
<param name="sip-capture" value="no"/>
<param name="sip-capture" value="no"/>
<param name="rfc2833-pt" value="101"/>
<!-- RFC 5626 : Send reg-id and sip.instance -->
<!--<param name="enable-rfc-5626" value="true"/> -->
@ -34,15 +34,15 @@
<param name="hold-music" value="$${hold_music}"/>
<param name="rtp-timer-name" value="soft"/>
<!--<param name="enable-100rel" value="true"/>-->
<!--<param name="disable-srv503" value="true"/>-->
<!--<param name="disable-srv503" value="true"/>-->
<!-- This could be set to "passive" -->
<param name="local-network-acl" value="localnet.auto"/>
<param name="manage-presence" value="false"/>
<!-- used to share presence info across sofia profiles
manage-presence needs to be set to passive on this profile
if you want it to behave as if it were the internal profile
for presence.
<!-- used to share presence info across sofia profiles
manage-presence needs to be set to passive on this profile
if you want it to behave as if it were the internal profile
for presence.
-->
<!-- Name of the db to use for this profile -->
<!--<param name="dbname" value="share_presence"/>-->
@ -56,8 +56,10 @@
<param name="inbound-codec-negotiation" value="generous"/>
<param name="nonce-ttl" value="60"/>
<param name="auth-calls" value="false"/>
<param name="inbound-late-negotiation" value="true"/>
<param name="inbound-zrtp-passthru" value="true"/>
<!--
DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
-->
<param name="rtp-ip" value="$${local_ip_v4}"/>
<param name="sip-ip" value="$${local_ip_v4}"/>
@ -90,6 +92,5 @@
<param name="tls-verify-in-subjects" value=""/>
<!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
<param name="tls-version" value="$${sip_tls_version}"/>
</settings>
</profile>

View File

@ -9,7 +9,7 @@
<!--/// domain to use in from: *optional* same as realm, if blank ///-->
<!--<param name="from-domain" value="asterlink.com"/>-->
<!--/// account password *required* ///-->
<!--<param name="password" value="2007"/>-->
<!--<param name="password" value="2007"/>-->
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<!--<param name="extension" value="cluecon"/>-->
<!--/// proxy host: *optional* same as realm, if blank ///-->

View File

@ -54,36 +54,39 @@
<param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
<!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
<param name="tls-version" value="$${sip_tls_version}"/>
<!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
<!--<param name="pass-rfc2833" value="true"/>-->
<!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<!--Uncomment to set all inbound calls to no media mode-->
<!--<param name="inbound-bypass-media" value="true"/>-->
<!--Uncomment to set all inbound calls to proxy media mode-->
<!--<param name="inbound-proxy-media" value="true"/>-->
<!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<!--<param name="inbound-late-negotiation" value="true"/>-->
<!-- Let calls hit the dialplan before selecting codec for the a-leg -->
<param name="inbound-late-negotiation" value="true"/>
<!-- Allow ZRTP clients to negotiate end-to-end security associations -->
<param name="inbound-zrtp-passthru" value="true"/>
<!-- this lets anything register -->
<!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
<!-- <param name="accept-blind-reg" value="true"/> -->
<!-- accept any authentication without actually checking (not a good feature for most people) -->
<!-- <param name="accept-blind-auth" value="true"/> -->
<!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
<!-- <param name="suppress-cng" value="true"/> -->
<!--TTL for nonce in sip auth-->
<param name="nonce-ttl" value="60"/>
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--<param name="disable-transcoding" value="true"/>-->
<!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
<!--<param name="NDLB-broken-auth-hash" value="true"/>-->
@ -103,8 +106,8 @@
<!-- <param name="vad" value="both"/> -->
<!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
<!--
These are enabled to make the default config work better out of the box.
If you need more than ONE domain you'll need to not use these options.
These are enabled to make the default config work better out of the box.
If you need more than ONE domain you'll need to not use these options.
-->
<!--all inbound reg will look in this domain for the users -->
@ -121,10 +124,9 @@
<!-- set to true to have the profile determine stun is not useful and turn it off globally-->
<!--<param name="stun-auto-disable" value="true"/>-->
<!-- the following can be used as workaround with bogus SRV/NAPTR records -->
<!--<param name="disable-srv" value="false" />-->
<!--<param name="disable-naptr" value="false" />-->
<!-- the following can be used as workaround with bogus SRV/NAPTR records -->
<!--<param name="disable-srv" value="false" />-->
<!--<param name="disable-naptr" value="false" />-->
</settings>
</profile>

View File

@ -2,57 +2,62 @@
<!--
This is a sofia sip profile/user agent. This will service exactly one ip and port.
In FreeSWITCH you can run multiple sip user agents on their own ip and port.
When you hear someone say "sofia profile" this is what they are talking about.
-->
<!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
<!--aliases are other names that will work as a valid profile name for this profile-->
<aliases>
<!--
<alias name="default"/>
<alias name="default"/>
-->
</aliases>
<!-- Outbound Registrations -->
<gateways>
<X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
</gateways>
<domains>
<!-- indicator to parse the directory for domains with parse="true" to get gateways-->
<!--<domain name="$${domain}" parse="true"/>-->
<!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
<!--<domain name="all" alias="true" parse="true"/>-->
<domain name="all" alias="true" parse="false"/>
<domain name="all" alias="true" parse="false"/>
</domains>
<settings>
<!-- inject delay between dtmf digits on send to help some slow interpreters (also per channel with rtp_digit_delay var -->
<!-- <param name="rtp-digit-delay" value="40"/>-->
<!--
When calls are in no media this will bring them back to media
when you press the hold button.
When calls are in no media this will bring them back to media
when you press the hold button.
-->
<!--<param name="media-option" value="resume-media-on-hold"/> -->
<!--
This will allow a call after an attended transfer go back to
bypass media after an attended transfer.
This will allow a call after an attended transfer go back to
bypass media after an attended transfer.
-->
<!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
<!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
<param name="debug" value="0"/>
<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
<!-- <param name="shutdown-on-fail" value="true"/> -->
<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
<!-- <param name="shutdown-on-fail" value="true"/> -->
<param name="sip-trace" value="no"/>
<param name="sip-capture" value="no"/>
<!-- Use presence_map.conf.xml to convert extension regex to presence protos for routing -->
<!-- <param name="presence-proto-lookup" value="true"/> -->
<!-- Don't be picky about negotiated DTMF just always offer 2833 and accept both 2833 and INFO -->
<!--<param name="liberal-dtmf" value="true"/>-->
<!--
<!--
Sometimes, in extremely rare edge cases, the Sofia SIP stack may stop
responding. These options allow you to enable and control a watchdog
on the Sofia SIP stack so that if it stops responding for the
@ -65,7 +70,7 @@
through the FreeSWITCH CLI either on an individual profile basis or
globally for all profiles. So, if you run in an HA environment with a
master and slave, you should use the CLI to make sure the watchdog is
only enabled on the master.
only enabled on the master.
If such crash occurs, FreeSWITCH will dump core if allowed. The
stacktrace will include function watchdog_triggered_abort().
-->
@ -101,26 +106,26 @@
<!--<param name="aggressive-nat-detection" value="true"/>-->
<!--
There are known issues (asserts and segfaults) when 100rel is enabled.
It is not recommended to enable 100rel at this time.
There are known issues (asserts and segfaults) when 100rel is enabled.
It is not recommended to enable 100rel at this time.
-->
<!--<param name="enable-100rel" value="true"/>-->
<!-- uncomment if you don't wish to try a next SRV destination on 503 response -->
<!-- RFC3263 Section 4.3 -->
<!--<param name="disable-srv503" value="true"/>-->
<!-- RFC3263 Section 4.3 -->
<!--<param name="disable-srv503" value="true"/>-->
<!-- Enable Compact SIP headers. -->
<!--<param name="enable-compact-headers" value="true"/>-->
<!--
enable/disable session timers
enable/disable session timers
-->
<!--<param name="enable-timer" value="false"/>-->
<!--<param name="minimum-session-expires" value="120"/>-->
<param name="apply-inbound-acl" value="domains"/>
<!--
This defines your local network, by default we detect your local network
and create this localnet.auto ACL for this.
This defines your local network, by default we detect your local network
and create this localnet.auto ACL for this.
-->
<param name="local-network-acl" value="localnet.auto"/>
<!--<param name="apply-register-acl" value="domains"/>-->
@ -129,10 +134,10 @@
<!-- 'true' means every time 'first-only' means on the first register -->
<!--<param name="send-message-query-on-register" value="true"/>-->
<!-- 'true' means every time 'first-only' means on the first register -->
<!--<param name="send-presence-on-register" value="first-only"/> -->
<!-- Caller-ID type (choose one, can be overridden by inbound call type and/or sip_cid_type channel variable -->
<!-- Remote-Party-ID header -->
@ -159,7 +164,7 @@
<param name="presence-hosts" value="$${domain},$${local_ip_v4}"/>
<param name="presence-privacy" value="$${presence_privacy}"/>
<!-- ************************************************* -->
<!-- This setting is for AAL2 bitpacking on G726 -->
<!-- <param name="bitpacking" value="aal2"/> -->
<!--max number of open dialogs in proceeding -->
@ -198,39 +203,42 @@
<!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
<param name="tls-version" value="$${sip_tls_version}"/>
<!-- turn on auto-flush during bridge (skip timer sleep when the socket already has data)
(reduces delay on latent connections default true, must be disabled explicitly)-->
<!-- turn on auto-flush during bridge (skip timer sleep when the socket already has data)
(reduces delay on latent connections default true, must be disabled explicitly)-->
<!--<param name="rtp-autoflush-during-bridge" value="false"/>-->
<!--If you don't want to pass through timestamps from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
<!--<param name="pass-rfc2833" value="true"/>-->
<!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<!--Uncomment to set all inbound calls to no media mode-->
<!--<param name="inbound-bypass-media" value="true"/>-->
<!--Uncomment to set all inbound calls to proxy media mode-->
<!--<param name="inbound-proxy-media" value="true"/>-->
<!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<!--<param name="inbound-late-negotiation" value="true"/>-->
<!-- Let calls hit the dialplan before selecting codec for the a-leg -->
<param name="inbound-late-negotiation" value="true"/>
<!-- Allow ZRTP clients to negotiate end-to-end security associations -->
<param name="inbound-zrtp-passthru" value="true"/>
<!-- this lets anything register -->
<!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
<!-- <param name="accept-blind-reg" value="true"/> -->
<!-- accept any authentication without actually checking (not a good feature for most people) -->
<!-- <param name="accept-blind-auth" value="true"/> -->
<!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
<!-- <param name="suppress-cng" value="true"/> -->
<!--TTL for nonce in sip auth-->
<param name="nonce-ttl" value="60"/>
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
that the originator is using-->
<!--<param name="disable-transcoding" value="true"/>-->
<!-- Handle 302 Redirect in the dialplan -->
<!--<param name="manual-redirect" value="true"/> -->
@ -247,16 +255,16 @@
<param name="inbound-reg-force-matching-username" value="true"/>
<!-- on authed calls, authenticate *all* the packets not just invite -->
<param name="auth-all-packets" value="false"/>
<!-- external_sip_ip
Used as the public IP address for SDP.
Can be an one of:
ip address - "12.34.56.78"
a stun server lookup - "stun:stun.server.com"
a DNS name - "host:host.server.com"
auto - Use guessed ip.
auto-nat - Use ip learned from NAT-PMP or UPNP
-->
Used as the public IP address for SDP.
Can be an one of:
ip address - "12.34.56.78"
a stun server lookup - "stun:stun.server.com"
a DNS name - "host:host.server.com"
auto - Use guessed ip.
auto-nat - Use ip learned from NAT-PMP or UPNP
-->
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>
@ -269,8 +277,8 @@
<!-- <param name="vad" value="both"/> -->
<!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
<!--
These are enabled to make the default config work better out of the box.
If you need more than ONE domain you'll need to not use these options.
These are enabled to make the default config work better out of the box.
If you need more than ONE domain you'll need to not use these options.
-->
<!--all inbound reg will look in this domain for the users -->
@ -292,28 +300,27 @@
<!--<param name="disable-transfer" value="true"/>-->
<!--<param name="disable-register" value="true"/>-->
<!--
enable-3pcc can be set to either 'true' or 'proxy', true accepts the call
right away, proxy waits until the call has been answered then sends accepts
<!--
enable-3pcc can be set to either 'true' or 'proxy', true accepts the call
right away, proxy waits until the call has been answered then sends accepts
-->
<!--<param name="enable-3pcc" value="true"/>-->
<!-- use at your own risk or if you know what this does.-->
<!--<param name="NDLB-force-rport" value="true"/>-->
<!--
Choose the realm challenge key. Default is auto_to if not set.
auto_from - uses the from field as the value for the sip realm.
auto_to - uses the to field as the value for the sip realm.
<anyvalue> - you can input any value to use for the sip realm.
Choose the realm challenge key. Default is auto_to if not set.
If you want URL dialing to work you'll want to set this to auto_from.
If you use any other value besides auto_to or auto_from you'll loose
the ability to do multiple domains.
Note: comment out to restore the behavior before 2008-09-29
auto_from - uses the from field as the value for the sip realm.
auto_to - uses the to field as the value for the sip realm.
<anyvalue> - you can input any value to use for the sip realm.
If you want URL dialing to work you'll want to set this to auto_from.
If you use any other value besides auto_to or auto_from you'll
loose the ability to do multiple domains.
Note: comment out to restore the behavior before 2008-09-29
-->
<param name="challenge-realm" value="auto_from"/>
<!--<param name="disable-rtp-auto-adjust" value="true"/>-->
@ -327,59 +334,58 @@
<!-- set this param to false if your gateway for some reason hates X- headers that it is supposed to ignore-->
<!--<param name="pass-callee-id" value="false"/>-->
<!-- clear clears them all or supply the name to add or the name prefixed with ~ to remove
valid values:
<!-- clear clears them all or supply the name to add or the name
prefixed with ~ to remove valid values:
clear
CISCO_SKIP_MARK_BIT_2833
SONUS_SEND_INVALID_TIMESTAMP_2833
clear
CISCO_SKIP_MARK_BIT_2833
SONUS_SEND_INVALID_TIMESTAMP_2833
-->
<!--<param name="auto-rtp-bugs" data="clear"/>-->
<!-- the following can be used as workaround with bogus SRV/NAPTR records -->
<!--<param name="disable-srv" value="false" />-->
<!--<param name="disable-naptr" value="false" />-->
<!-- the following can be used as workaround with bogus SRV/NAPTR records -->
<!--<param name="disable-srv" value="false" />-->
<!--<param name="disable-naptr" value="false" />-->
<!-- The following can be used to fine-tune timers within sofia's transport layer
Those settings are for advanced users and can safely be left as-is -->
<!-- Initial retransmission interval (in milliseconds).
Set the T1 retransmission interval used by the SIP transaction engine.
The T1 is the initial duration used by request retransmission timers A and E (UDP) as well as response retransmission timer G. -->
<!-- <param name="timer-T1" value="500" /> -->
<!-- Transaction timeout (defaults to T1 * 64).
Set the T1x64 timeout value used by the SIP transaction engine.
The T1x64 is duration used for timers B, F, H, and J (UDP) by the SIP transaction engine.
The timeout value T1x64 can be adjusted separately from the initial retransmission interval T1. -->
<!-- <param name="timer-T1X64" value="32000" /> -->
<!-- Maximum retransmission interval (in milliseconds).
Set the maximum retransmission interval used by the SIP transaction engine.
The T2 is the maximum duration used for the timers E (UDP) and G by the SIP transaction engine.
Note that the timer A is not capped by T2. Retransmission interval of INVITE requests grows exponentially
until the timer B fires. -->
<!-- <param name="timer-T2" value="4000" /> -->
<!--
Transaction lifetime (in milliseconds).
Set the lifetime for completed transactions used by the SIP transaction engine.
A completed transaction is kept around for the duration of T4 in order to catch late responses.
The T4 is the maximum duration for the messages to stay in the network and the duration of SIP timer K. -->
<!-- <param name="timer-T4" value="4000" /> -->
<!-- The following can be used to fine-tune timers within sofia's transport layer
Those settings are for advanced users and can safely be left as-is -->
<!-- Turn on a jitterbuffer for every call -->
<!-- <param name="auto-jitterbuffer-msec" value="60"/> -->
<!-- Initial retransmission interval (in milliseconds).
Set the T1 retransmission interval used by the SIP transaction engine.
The T1 is the initial duration used by request retransmission timers A and E (UDP) as well as response retransmission timer G. -->
<!-- <param name="timer-T1" value="500" /> -->
<!-- Transaction timeout (defaults to T1 * 64).
Set the T1x64 timeout value used by the SIP transaction engine.
The T1x64 is duration used for timers B, F, H, and J (UDP) by the SIP transaction engine.
The timeout value T1x64 can be adjusted separately from the initial retransmission interval T1. -->
<!-- <param name="timer-T1X64" value="32000" /> -->
<!-- By default mod_sofia will ignore the codecs in the sdp for hold/unhold operations
Set this to true if you want to actually parse the sdp and re-negotiate the codec during hold/unhold.
It's probably not what you want so stick with the default unless you really need to change this.
-->
<!--<param name="renegotiate-codec-on-hold" value="true"/>-->
<!-- Maximum retransmission interval (in milliseconds).
Set the maximum retransmission interval used by the SIP transaction engine.
The T2 is the maximum duration used for the timers E (UDP) and G by the SIP transaction engine.
Note that the timer A is not capped by T2. Retransmission interval of INVITE requests grows exponentially
until the timer B fires. -->
<!-- <param name="timer-T2" value="4000" /> -->
<!--
Transaction lifetime (in milliseconds).
Set the lifetime for completed transactions used by the SIP transaction engine.
A completed transaction is kept around for the duration of T4 in order to catch late responses.
The T4 is the maximum duration for the messages to stay in the network and the duration of SIP timer K. -->
<!-- <param name="timer-T4" value="4000" /> -->
<!-- Turn on a jitterbuffer for every call -->
<!-- <param name="auto-jitterbuffer-msec" value="60"/> -->
<!-- By default mod_sofia will ignore the codecs in the sdp for hold/unhold operations
Set this to true if you want to actually parse the sdp and re-negotiate the codec during hold/unhold.
It's probably not what you want so stick with the default unless you really need to change this.
-->
<!--<param name="renegotiate-codec-on-hold" value="true"/>-->
</settings>
</profile>

View File

@ -9,7 +9,7 @@
<!--/// domain to use in from: *optional* same as realm, if blank ///-->
<!--<param name="from-domain" value="asterlink.com"/>-->
<!--/// account password *required* ///-->
<!--<param name="password" value="2007"/>-->
<!--<param name="password" value="2007"/>-->
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<!--<param name="extension" value="cluecon"/>-->
<!--/// proxy host: *optional* same as realm, if blank ///-->

View File

@ -123,7 +123,7 @@
127 - BV32
-->
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=G722,PCMU,PCMA,GSM"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>
<!--

View File

@ -3,11 +3,11 @@
# Must change all of the below together
# For a release, set revision for that tagged release as well and uncomment
AC_INIT([freeswitch], [1.1.beta1], BUG-REPORT-ADDRESS)
AC_INIT([freeswitch], [1.2-rc2], BUG-REPORT-ADDRESS)
AC_SUBST(SWITCH_VERSION_MAJOR, [1])
AC_SUBST(SWITCH_VERSION_MINOR, [1])
AC_SUBST(SWITCH_VERSION_MICRO, [beta1])
#AC_SUBST(SWITCH_VERSION_REVISION, [])
AC_SUBST(SWITCH_VERSION_MINOR, [2])
AC_SUBST(SWITCH_VERSION_MICRO, [0])
AC_SUBST(SWITCH_VERSION_REVISION, [-rc2])
AC_CONFIG_FILES([src/include/switch_version.h.in:src/include/switch_version.h.template])
AC_CONFIG_FILES([.version:.version.in])
@ -363,13 +363,7 @@ AM_CONDITIONAL([ENABLE_SRTP],[test "${enable_srtp}" = "yes"])
AC_ARG_ENABLE(zrtp,
[AS_HELP_STRING([--enable-zrtp], [Compile with zrtp Support])],,[enable_zrtp="no"])
if test "x$enable_zrtp" = "xyes" ; then
saved_LIBS="$LIBS"
LIBS="$saved_LIBS -L/usr/local/lib -lbn -lpthread"
AC_CHECK_LIB(zrtp, zrtp_init, [has_zrtp="yes"], [has_zrtp="no"])
LIBS="$saved_LIBS"
if test "x$has_zrtp" = "xno"; then
AC_ERROR([Cannot locate zrtp libraries])
fi
LIBS="-lpthread $LIBS"
APR_ADDTO(SWITCH_AM_CFLAGS, -DENABLE_ZRTP)
fi
@ -397,6 +391,10 @@ AX_LIB_ODBC
if test "$ac_cv_found_odbc" = "yes" ; then
enable_core_odbc_support="yes"
fi
if test "x$enable_core_odbc_support" != "xno"; then
AC_CHECK_LIB([odbc], [SQLDisconnect],, AC_MSG_ERROR([no usable libodbc; please install unixodbc devel package or equivalent]))
fi
AC_ARG_ENABLE(timerfd-wrapper,
@ -404,11 +402,13 @@ AC_ARG_ENABLE(timerfd-wrapper,
AM_CONDITIONAL([ENABLE_TIMERFD_WRAPPER],[test "x$enable_timer_fd_wrapper" != "xno"])
AC_CHECK_LIB(z, inflateReset, have_libz=yes, have_libz=no)
AC_CHECK_LIB(z, inflateReset, have_libz=yes, AC_MSG_ERROR([no usable zlib; please install zlib devel package or equivalent]))
if test "x$have_libz" = "xyes" ; then
APR_ADDTO(SWITCH_AM_LDFLAGS, -lz)
fi
AC_CHECK_LIB(jpeg, jpeg_std_error,, AC_MSG_ERROR([no usable libjpeg; please install libjpeg devel package or equivalent]))
AC_CHECK_LIB(resolv, res_init, have_libresolv=yes, have_libresolv=no)
if test "x$have_libresolv" = "xyes" ; then
APR_ADDTO(SWITCH_AM_LDFLAGS, -lresolv)
@ -993,7 +993,6 @@ AC_CONFIG_FILES([Makefile
src/Makefile
src/mod/Makefile
src/mod/applications/mod_expr/Makefile
src/mod/applications/mod_fax/Makefile
src/mod/applications/mod_spandsp/Makefile
src/mod/applications/mod_osp/Makefile
src/mod/applications/mod_stress/Makefile
@ -1090,6 +1089,9 @@ AC_CONFIG_SUBDIRS([libs/broadvoice])
AC_CONFIG_SUBDIRS([libs/libg722_1])
AC_CONFIG_SUBDIRS([libs/silk])
AC_CONFIG_SUBDIRS([libs/libcodec2])
if test "x${enable_zrtp}" = "xyes"; then
AC_CONFIG_SUBDIRS([libs/libzrtp/projects/gnu])
fi
case $host in
*-openbsd*)

30
debian/.gitignore vendored Normal file
View File

@ -0,0 +1,30 @@
# gitignore
/.stamp-bootstrap
/control
/control-modules.*
/files
/modules.conf
/modules_.conf
/freeswitch-autotools.install
/freeswitch-mod-*.install
/freeswitch-conf-*.install
/freeswitch-music-*.install
/freeswitch-sounds-*.install
/*.lintian-overrides
/*.log
/*.substvars
/*.debhelper
/tmp
/freeswitch/
/freeswitch-conf*/
/freeswitch-dbg/
/freeswitch-dev/
/freeswitch-doc/
/freeswitch-init*/
/freeswitch-meta*/
/freeswitch-mod-*/
/freeswitch-music*/
/freeswitch-sounds*/
/freeswitch-systemd/
/freeswitch-sysvinit/
/libfreeswitch*/

26
debian/README.Debian vendored Normal file
View File

@ -0,0 +1,26 @@
FreeSWITCH for Debian
--------------
This debian packaging breaks out every module of freeswitch into a
separate package, so be sure to verify that you are actually
installing all the modules that you need.
As a break from the past, we now install all files into their correct
FHS locations.
This package does not install any configuration for freeswitch into
/etc/freeswitch. We leave you, the system administrator completely
responsible for that directory. If you install one of the conf
packages, it will install the corresponding sample configuration to
/usr/share/freeswitch/conf and you'll need to copy the bits you need
to /etc/freeswitch.
If you just want to get a working demo system up quickly, I'd
recommend doing the following:
aptitude install -y -r -o APT::Install-Suggests=true freeswitch-meta-vanilla
cp -a /usr/share/freeswitch/conf/vanilla /etc/freeswitch
/etc/init.d/freeswitch start
fs_cli
-- Travis Cross <tc@traviscross.com>, Sat, 5 May 2012 23:41:29 +0000

64
debian/README.source vendored Normal file
View File

@ -0,0 +1,64 @@
FreeSWITCH for Debian
--------------
You may be reading this because you're wondering where all the files
are in debian/, such as control.
Because FreeSWITCH has so many modules it was necessary to create a
system to autogenerate the majority of the packaging. This in done
mostly in the file debian/bootstrap.sh. This bootstrap needs to run
before any other step of the packaging, though we do try to
autogenerate it when possible.
The build dependencies, runtime dependencies, and other details about
modules can be configured in the debian/control-modules file. Even
though this file looks a bit like a debian control file and has a
similar format, we are parsing this file ourselves so the format is a
bit more restricted.
debian/control-modules currently supports the following fields:
# lines that begin with the hash character are comments
#
# every block must start with a Module field
Module: <category>/<module_name>
Description: <short description>
<long description> # empty lines with "."s are not yet supported
Build-Depends: <build deps for this module>
Depends: <runtime deps for this module>
Recommends: <recommended packages>
Suggests: <suggested packages>
Distro-Conflicts: <distributions on which this module should not be built> # not yet implemented
During bootstrap we build a file control-modules.gen. If the
control-modules file is properly formatted, this generated file should
be identical. This is a sanity check mechanism for our parsing, as
well as a way to automatically reorganize the file.
If the file debian/modules.conf is present, we read that file and only
build and package the files listed there. Otherwise, we build every
module except the ones that either should not be packaged, or for
which we don't yet have good packaging.
The format of debian/modules.conf is:
## comments should start with two hash characters
<category>/<module_name>
To build this package, I recommend running the following from the root
directory of your FS git working tree:
distro=sid
ver="$(cat build/next-release.txt | sed -e 's/-/~/g')~n$(date +%Y%m%dT%H%M%SZ)-1~${distro}+1"
git clean -fdx && git reset --hard HEAD
./build/set-fs-version.sh "$ver"
git add configure.in && git commit -m "bump to custom v$ver"
(cd debian && ./bootstrap.sh -c $distro)
dch -b -m -v "$ver" --force-distribution -D "$suite" "Custom build."
git-buildpackage -b -us -uc \
--git-verbose \
--git-pbuilder --git-dist=$distro \
--git-compression-level=1v --git-compression=xz
git reset --hard HEAD^
-- Travis Cross <tc@traviscross.com>, Thu, 24 May 2012 16:35:57 +0000

View File

@ -1,29 +0,0 @@
Please do not change the maintainer (as found in the control file).
Please DO send me a note before changing anything here. Also, PLEASE DO MAKE A
JIRA FIRST !!!!
This request is the result of far too many sleepless nights and far too many
people breaking this far too often. So, HANDS OFF FOR NOW !!!!
Again, to be perfectly clear:
1. Do not make any changes before verifying that they are OK with the current
maintainer (yes, that is me*).
2. Before the mere idea of making a change crosses your mind, create a ticket in
Jira and assign it to the current maintainer.
3. As current maintainer, I have other obligations besides fixing things people
break in the Debian build. So, please be patient; it can sometimes take a
bit for me to respond.
4. Creating and maintaining this packages has been a lot of work. Please help
me maintain it by not fixing it to death.
5. The maintainer is always right.
6. If you believe the maintainer is wrong, please see item #5.
* Michal Bielicki <michal.bielicki@seventhsignal.de>

809
debian/bootstrap.sh vendored Executable file
View File

@ -0,0 +1,809 @@
#!/bin/bash
##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
##### Author: Travis Cross <tc@traviscross.com>
mod_dir="../src/mod"
conf_dir="../conf"
fs_description="FreeSWITCH is a scalable open source cross-platform telephony platform designed to route and interconnect popular communication protocols using audio, video, text or any other form of media."
mod_build_depends="."
supported_distros="squeeze wheezy sid"
avoid_mods=(
applications/mod_fax
applications/mod_limit
applications/mod_mongo
applications/mod_mp4
applications/mod_osp
applications/mod_rad_auth
applications/mod_skel
applications/mod_soundtouch
asr_tts/mod_cepstral
asr_tts/mod_flite
codecs/mod_com_g729
codecs/mod_ilbc
codecs/mod_sangoma_codec
codecs/mod_siren
codecs/mod_skel_codec
codecs/mod_voipcodecs
endpoints/mod_gsmopen
endpoints/mod_h323
endpoints/mod_khomp
endpoints/mod_opal
endpoints/mod_reference
endpoints/mod_unicall
formats/mod_shout
languages/mod_spidermonkey
sdk/autotools
xml_int/mod_xml_ldap
)
avoid_mods_sid=(
endpoints/mod_portaudio
formats/mod_portaudio_stream
)
avoid_mods_wheezy=(
endpoints/mod_portaudio
formats/mod_portaudio_stream
)
avoid_mods_squeeze=(
formats/mod_vlc
languages/mod_managed
)
err () {
echo "$0 error: $1" >&2
exit 1
}
xread () {
local xIFS="$IFS"
IFS=''
read $@
local ret=$?
IFS="$xIFS"
return $ret
}
avoid_mod_filter () {
local x="avoid_mods_$codename[@]"
local -a mods=("${avoid_mods[@]}" "${!x}")
for x in "${mods[@]}"; do
if [ "$1" = "$x" ]; then
[ "$2" = "show" ] && echo "excluding module $x" >&2
return 1
fi
done
return 0
}
modconf_filter () {
while xread l; do
if [ "$1" = "$l" ]; then
[ "$2" = "show" ] && echo "including module $l" >&2
return 0
fi
done < modules.conf
return 1
}
mod_filter () {
if test -f modules.conf; then
modconf_filter $@
else
avoid_mod_filter $@
fi
}
mod_filter_show () {
mod_filter "$1" show
}
map_fs_modules () {
local filterfn="$1" percatfns="$2" permodfns="$3"
for x in $mod_dir/*; do
if test -d $x; then
category=${x##*/} category_path=$x
for f in $percatfns; do $f; done
for y in $x/*; do
module_name=${y##*/} module_path=$y
module=$category/$module_name
if $filterfn $category/$module; then
[ -f ${y}/module ] && . ${y}/module
for f in $permodfns; do $f; done
fi
unset module_name module_path module
done
unset category category_path
fi
done
}
map_modules () {
local filterfn="$1" percatfns="$2" permodfns="$3"
for x in $parse_dir/*; do
test -d $x || continue
category=${x##*/} category_path=$x
for f in $percatfns; do $f; done
for y in $x/*; do
test -f $y || continue
module=${y##*/} module_path=$y
$filterfn $category/$module || continue
module="" category="" module_name=""
section="" description="" long_description=""
build_depends="" depends="" recommends="" suggests=""
distro_conflicts=""
distro_vars=""
for x in $supported_distros; do
distro_vars="$distro_vars build_depends_$x"
eval build_depends_$x=""
done
. $y
[ -n "$description" ] || description="$module_name"
[ -n "$long_description" ] || description="Adds ${module_name}."
for f in $permodfns; do $f; done
unset \
module module_name module_path \
section description long_description \
build_depends depends recommends suggests \
distro_conflicts $distro_vars
done
unset category category_path
done
}
map_confs () {
local fs="$1"
for x in $conf_dir/*; do
test ! -d $x && continue
conf=${x##*/} conf_dir=$x
for f in $fs; do $f; done
unset conf conf_dir
done
}
print_source_control () {
cat <<EOF
Source: freeswitch
Section: comm
Priority: optional
Maintainer: Travis Cross <tc@traviscross.com>
Build-Depends:
# for debian
debhelper (>= 8.0.0),
# bootstrapping
automake (>= 1.9), autoconf, libtool,
# core build
dpkg-dev (>= 1.15.8.12), gcc (>= 4:4.4.5) , g++ (>= 4:4.4.5),
libc6-dev (>= 2.11.3), make (>= 3.81),
wget, pkg-config,
# configure options
libssl-dev, unixodbc-dev,
libncurses5-dev, libjpeg62-dev,
python-dev, erlang-dev,
# documentation
doxygen,
# for APR (not essential for build)
uuid-dev, libexpat1-dev, libgdbm-dev, libdb-dev,
# used by many modules
bison, zlib1g-dev,
# module build-depends
$(debian_wrap "${mod_build_depends}")
Standards-Version: 3.9.3
Homepage: http://freeswitch.org/
Vcs-Git: git://git.freeswitch.org/freeswitch
Vcs-Browser: http://git.freeswitch.org/git/freeswitch/
EOF
}
print_core_control () {
cat <<EOF
Package: freeswitch
Architecture: any
Depends: \${shlibs:Depends}, \${perl:Depends}, \${misc:Depends},
libfreeswitch1 (= \${binary:Version})
Recommends:
Suggests: freeswitch-dbg
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
.
This package contains the FreeSWITCH core.
Package: libfreeswitch1
Architecture: any
Depends: \${shlibs:Depends}, \${misc:Depends}
Recommends:
Suggests: libfreeswitch1-dbg
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
.
This package contains the FreeSWITCH core library.
Package: freeswitch-meta-bare
Architecture: any
Depends: \${misc:Depends}, freeswitch (= \${binary:Version})
Recommends:
freeswitch-doc (= \${binary:Version}),
freeswitch-mod-commands (= \${binary:Version}),
freeswitch-init (= \${binary:Version}),
freeswitch-music (= \${binary:Version}),
freeswitch-sounds (= \${binary:Version})
Suggests:
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the packages needed for a very
bare FreeSWITCH install.
Package: freeswitch-meta-default
Architecture: any
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-mod-commands (= \${binary:Version}),
freeswitch-mod-conference (= \${binary:Version}),
freeswitch-mod-db (= \${binary:Version}),
freeswitch-mod-dptools (= \${binary:Version}),
freeswitch-mod-fifo (= \${binary:Version}),
freeswitch-mod-hash (= \${binary:Version}),
freeswitch-mod-spandsp (= \${binary:Version}),
freeswitch-mod-voicemail (= \${binary:Version}),
freeswitch-mod-dialplan-xml (= \${binary:Version}),
freeswitch-mod-loopback (= \${binary:Version}),
freeswitch-mod-sofia (= \${binary:Version}),
freeswitch-mod-local-stream (= \${binary:Version}),
freeswitch-mod-native-file (= \${binary:Version}),
freeswitch-mod-tone-stream (= \${binary:Version}),
freeswitch-mod-lua (= \${binary:Version}),
freeswitch-mod-console (= \${binary:Version}),
freeswitch-mod-say-en (= \${binary:Version})
Recommends:
freeswitch-init (= \${binary:Version}),
freeswitch-meta-codecs (= \${binary:Version}),
freeswitch-music (= \${binary:Version}),
freeswitch-sounds (= \${binary:Version})
Suggests:
freeswitch-mod-cidlookup (= \${binary:Version}),
freeswitch-mod-curl (= \${binary:Version}),
freeswitch-mod-directory (= \${binary:Version}),
freeswitch-mod-enum (= \${binary:Version}),
freeswitch-mod-spy (= \${binary:Version}),
freeswitch-mod-valet-parking (= \${binary:Version})
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the packages needed for a
reasonably basic FreeSWITCH install.
Package: freeswitch-meta-vanilla
Architecture: any
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-mod-console (= \${binary:Version}),
freeswitch-mod-logfile (= \${binary:Version}),
freeswitch-mod-enum (= \${binary:Version}),
freeswitch-mod-cdr-csv (= \${binary:Version}),
freeswitch-mod-event-socket (= \${binary:Version}),
freeswitch-mod-sofia (= \${binary:Version}),
freeswitch-mod-loopback (= \${binary:Version}),
freeswitch-mod-commands (= \${binary:Version}),
freeswitch-mod-conference (= \${binary:Version}),
freeswitch-mod-db (= \${binary:Version}),
freeswitch-mod-dptools (= \${binary:Version}),
freeswitch-mod-expr (= \${binary:Version}),
freeswitch-mod-fifo (= \${binary:Version}),
freeswitch-mod-hash (= \${binary:Version}),
freeswitch-mod-voicemail (= \${binary:Version}),
freeswitch-mod-esf (= \${binary:Version}),
freeswitch-mod-fsv (= \${binary:Version}),
freeswitch-mod-cluechoo (= \${binary:Version}),
freeswitch-mod-valet-parking (= \${binary:Version}),
freeswitch-mod-httapi (= \${binary:Version}),
freeswitch-mod-dialplan-xml (= \${binary:Version}),
freeswitch-mod-dialplan-asterisk (= \${binary:Version}),
freeswitch-mod-spandsp (= \${binary:Version}),
freeswitch-mod-g723-1 (= \${binary:Version}),
freeswitch-mod-g729 (= \${binary:Version}),
freeswitch-mod-amr (= \${binary:Version}),
freeswitch-mod-speex (= \${binary:Version}),
freeswitch-mod-h26x (= \${binary:Version}),
freeswitch-mod-sndfile (= \${binary:Version}),
freeswitch-mod-native-file (= \${binary:Version}),
freeswitch-mod-local-stream (= \${binary:Version}),
freeswitch-mod-tone-stream (= \${binary:Version}),
freeswitch-mod-lua (= \${binary:Version}),
freeswitch-mod-say-en (= \${binary:Version}),
Recommends:
freeswitch-init (= \${binary:Version}),
freeswitch-music (= \${binary:Version}),
freeswitch-sounds (= \${binary:Version}),
freeswitch-conf-vanilla (= \${binary:Version}),
Suggests:
freeswitch-mod-spidermonkey (= \${binary:Version}),
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the packages needed for
running the FreeSWITCH vanilla example configuration.
Package: freeswitch-meta-codecs
Architecture: any
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-mod-amr (= \${binary:Version}),
freeswitch-mod-amrwb (= \${binary:Version}),
freeswitch-mod-bv (= \${binary:Version}),
freeswitch-mod-celt (= \${binary:Version}),
freeswitch-mod-codec2 (= \${binary:Version}),
freeswitch-mod-g723-1 (= \${binary:Version}),
freeswitch-mod-g729 (= \${binary:Version}),
freeswitch-mod-h26x (= \${binary:Version}),
freeswitch-mod-mp4v (= \${binary:Version}),
freeswitch-mod-opus (= \${binary:Version}),
freeswitch-mod-silk (= \${binary:Version}),
freeswitch-mod-spandsp (= \${binary:Version}),
freeswitch-mod-speex (= \${binary:Version}),
freeswitch-mod-theora (= \${binary:Version})
Suggests:
freeswitch-mod-ilbc (= \${binary:Version}),
freeswitch-mod-siren (= \${binary:Version})
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the packages needed to install
most FreeSWITCH codecs.
Package: freeswitch-dbg
Section: debug
Priority: extra
Architecture: any
Depends: \${misc:Depends}, freeswitch (= \${binary:Version})
Description: debugging symbols for FreeSWITCH
$(debian_wrap "${fs_description}")
.
This package contains debugging symbols for FreeSWITCH.
Package: libfreeswitch1-dbg
Section: debug
Priority: extra
Architecture: any
Depends: \${misc:Depends}, libfreeswitch1 (= \${binary:Version})
Description: debugging symbols for FreeSWITCH
$(debian_wrap "${fs_description}")
.
This package contains debugging symbols for libfreeswitch1.
Package: libfreeswitch-dev
Section: libdevel
Architecture: any
Depends: \${misc:Depends}, freeswitch
Description: development libraries and header files for FreeSWITCH
$(debian_wrap "${fs_description}")
.
This package contains include files for FreeSWITCH.
Package: freeswitch-doc
Section: doc
Architecture: all
Depends: \${misc:Depends}
Description: documentation for FreeSWITCH
$(debian_wrap "${fs_description}")
.
This package contains Doxygen-produce documentation for FreeSWITCH.
It may be an empty package at the moment.
Package: freeswitch-init
Architecture: all
Depends: \${misc:Depends},
freeswitch-sysvinit (= \${binary:Version}),
freeswitch-systemd (= \${binary:Version})
Description: FreeSWITCH startup configuration
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the default system startup
packages for FreeSWITCH.
Package: freeswitch-sysvinit
Architecture: all
Depends: \${misc:Depends}, lsb-base (>= 3.0-6)
Description: FreeSWITCH SysV init script
$(debian_wrap "${fs_description}")
.
This package contains the SysV init script for FreeSWITCH.
Package: freeswitch-systemd
Architecture: all
Depends: \${misc:Depends}
Description: FreeSWITCH systemd configuration
$(debian_wrap "${fs_description}")
.
This package contains the systemd configuration for FreeSWITCH.
## misc
## sounds
Package: freeswitch-music
Architecture: all
Depends: \${misc:Depends},
freeswitch-music-default (>= 1.0.8)
Description: Music on hold audio for FreeSWITCH
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the default music on hold
packages for FreeSWITCH.
Package: freeswitch-sounds
Architecture: all
Depends: \${misc:Depends},
freeswitch-sounds-en (= \${binary:Version})
Description: Sounds for FreeSWITCH
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the default sound packages for
FreeSWITCH.
Package: freeswitch-sounds-en
Architecture: all
Depends: \${misc:Depends},
freeswitch-sounds-en-us (= \${binary:Version})
Description: English sounds for FreeSWITCH
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the default English sound
packages for FreeSWITCH.
Package: freeswitch-sounds-en-us
Architecture: all
Depends: \${misc:Depends},
freeswitch-sounds-en-us-callie (>= 1.0.18)
Description: US English sounds for FreeSWITCH
$(debian_wrap "${fs_description}")
.
This is a metapackage which depends on the default US/English sound
packages for FreeSWITCH.
EOF
}
print_mod_control () {
local m_section="${section:-comm}"
cat <<EOF
Package: freeswitch-${module_name//_/-}
Section: ${m_section}
Architecture: any
$(debian_wrap "Depends: \${shlibs:Depends}, \${misc:Depends}, freeswitch, ${depends}")
$(debian_wrap "Recommends: ${recommends}")
$(debian_wrap "Suggests: freeswitch-${module_name//_/-}-dbg, ${suggests}")
Description: ${description} for FreeSWITCH
$(debian_wrap "${fs_description}")
.
$(debian_wrap "This package contains ${module_name} for FreeSWITCH.")
.
$(debian_wrap "${long_description}")
Package: freeswitch-${module_name//_/-}-dbg
Section: debug
Priority: extra
Architecture: any
Depends: \${misc:Depends},
freeswitch-${module_name//_/-} (= \${binary:Version})
Description: ${description} for FreeSWITCH (debug)
$(debian_wrap "${fs_description}")
.
$(debian_wrap "This package contains debugging symbols for ${module_name} for FreeSWITCH.")
.
$(debian_wrap "${long_description}")
EOF
}
print_mod_install () {
cat <<EOF
/usr/lib/freeswitch/mod/${1}.so
EOF
}
print_long_filename_override () {
local p="$1"
cat <<EOF
# The long file names are caused by appending the nightly information.
# Since one of these packages will never end up on a Debian CD, the
# related problems with long file names will never come up here.
${p}: package-has-long-file-name *
EOF
}
print_gpl_openssl_override () {
local p="$1"
cat <<EOF
# We're definitely not doing this. Nothing in FreeSWITCH has a more
# restrictive license than LGPL or MPL.
${p}: possible-gpl-code-linked-with-openssl
EOF
}
print_itp_override () {
local p="$1"
cat <<EOF
# We're not in Debian (yet) so we don't have an ITP bug to close.
${p}: new-package-should-close-itp-bug
EOF
}
print_common_overrides () {
print_long_filename_override "$1"
}
print_mod_overrides () {
print_common_overrides "$1"
print_gpl_openssl_override "$1"
}
print_conf_overrides () {
print_common_overrides "$1"
}
print_conf_control () {
cat <<EOF
Package: freeswitch-conf-${conf//_/-}
Architecture: all
Depends: \${misc:Depends}
Description: FreeSWITCH ${conf} configuration
$(debian_wrap "${fs_description}")
.
$(debian_wrap "This package contains the ${conf} configuration for FreeSWITCH.")
EOF
}
print_conf_install () {
cat <<EOF
conf/${conf} /usr/share/freeswitch/conf
EOF
}
print_edit_warning () {
echo "#### Do not edit! This file is auto-generated from debian/bootstrap.sh."; echo
}
gencontrol_per_mod () {
print_mod_control "$module_name" "$description" "$long_description" >> control
}
gencontrol_per_cat () {
(echo "## mod/$category"; echo) >> control
}
geninstall_per_mod () {
local f=freeswitch-${module_name//_/-}.install
(print_edit_warning; print_mod_install "$module_name") > $f
test -f $f.tmpl && cat $f.tmpl >> $f
}
genoverrides_per_mod () {
local f=freeswitch-${module_name//_/-}.lintian-overrides
(print_edit_warning; print_mod_overrides freeswitch-${module_name//_/-}) > $f
test -f $f.tmpl && cat $f.tmpl >> $f
}
genmodules_per_cat () {
echo "## $category" >> modules_.conf
}
genmodules_per_mod () {
echo "$module" >> modules_.conf
}
genconf () {
print_conf_control >> control
local p=freeswitch-conf-${conf//_/-}
local f=$p.install
(print_edit_warning; print_conf_install) > $f
test -f $f.tmpl && cat $f.tmpl >> $f
local f=$p.lintian-overrides
(print_edit_warning; print_conf_overrides "$p") > $f
test -f $f.tmpl && cat $f.tmpl >> $f
}
accumulate_build_depends () {
local x=""
if [ -n "$(eval echo \$build_depends_$codename)" ]; then
x="$(eval echo \$build_depends_$codename)"
else
x="${build_depends}"
fi
if [ -n "$x" ]; then
if [ ! "$mod_build_depends" = "." ]; then
mod_build_depends="${mod_build_depends}, ${x}"
else
mod_build_depends="${x}"
fi
fi
}
genmodctl_new_mod () {
grep -e "^Module: ${module}$" control-modules >/dev/null && return 0
cat <<EOF
Module: $module
Description: $description
$long_description
EOF
echo
}
genmodctl_new_cat () {
grep -e "^## mod/${category}$" control-modules >/dev/null && return 0
cat <<EOF
## mod/$category
EOF
}
pre_parse_mod_control () {
local fl=true ll_nl=false ll_descr=false
while xread l; do
if [ -z "$l" ]; then
# is newline
if ! $ll_nl && ! $fl; then
echo
fi
ll_nl=true
continue
elif [ -z "${l##\#*}" ]; then
# is comment
continue
elif [ -z "${l## *}" ]; then
# is continuation line
if ! $ll_descr; then
echo -n "$l"
else
echo -n "Long-Description: $(echo "$l" | sed -e 's/^ *//')"
fi
else
# is header line
$fl || echo
if [ "${l%%:*}" = "Description" ]; then
ll_descr=true
echo "Description: ${l#*: }"
continue
else
echo -n "$l"
fi
fi
fl=false ll_nl=false ll_descr=false
done < control-modules
}
var_escape () {
(echo -n \'; echo -n "$1" | sed -e "s/'/'\\\\''/g"; echo -n \')
}
parse_mod_control () {
pre_parse_mod_control > control-modules.preparse
local category=""
local module_name=""
rm -rf $parse_dir
while xread l; do
if [ -z "$l" ]; then
# is newline
continue
fi
local header="${l%%:*}"
local value="${l#*: }"
if [ "$header" = "Module" ]; then
category="${value%%/*}"
module_name="${value#*/}"
mkdir -p $parse_dir/$category
(echo "module=$(var_escape "$value")"; \
echo "category=$(var_escape "$category")"; \
echo "module_name=$(var_escape "$module_name")"; \
) >> $parse_dir/$category/$module_name
else
([ -n "$category" ] && [ -n "$module_name" ]) \
|| err "unexpected header $header"
local var_name="$(echo "$header" | sed -e 's/-/_/g' | tr '[A-Z]' '[a-z]')"
echo "${var_name}=$(var_escape "$value")" >> $parse_dir/$category/$module_name
fi
done < control-modules.preparse
}
debian_wrap () {
local fl=true
echo "$1" | fold -s -w 69 | while xread l; do
local v="$(echo "$l" | sed -e 's/ *$//g')"
if $fl; then
fl=false
echo "$v"
else
echo " $v"
fi
done
}
genmodctl_cat () {
(echo "## mod/$category"; echo)
}
genmodctl_mod () {
echo "Module: $module"
[ -n "$section" ] && echo "Section: $section"
echo "Description: $description"
echo "$long_description" | fold -s -w 69 | while xread l; do
local v="$(echo "$l" | sed -e 's/ *$//g')"
echo " $v"
done
[ -n "$build_depends" ] && debian_wrap "Build-Depends: $build_depends"
for x in $supported_distros; do
[ -n "$(eval echo \$build_depends_$x)" ] \
&& debian_wrap "Build-Depends-$x: $(eval echo \$build_depends_$x)"
done
[ -n "$depends" ] && debian_wrap "Depends: $depends"
[ -n "$reccomends" ] && debian_wrap "Recommends: $recommends"
[ -n "$suggests" ] && debian_wrap "Suggests: $suggests"
[ -n "$distro_conflicts" ] && debian_wrap "Distro-Conflicts: $distro_conflicts"
echo
}
codename="sid"
while getopts "c:" o; do
case "$o" in
c) codename="$OPTARG" ;;
esac
done
shift $(($OPTIND-1))
echo "Bootstrapping debian/ for ${codename}" >&2
echo >&2
echo "Please wait, this takes a few seconds..." >&2
echo "Adding any new modules to control-modules..." >&2
parse_dir=control-modules.parse
map_fs_modules ':' 'genmodctl_new_cat' 'genmodctl_new_mod' >> control-modules
echo "Parsing control-modules..." >&2
parse_mod_control
echo "Displaying includes/excludes..." >&2
map_modules 'mod_filter_show' '' ''
echo "Generating control-modules.gen as sanity check..." >&2
(echo "# -*- mode:debian-control -*-"; \
echo "##### Author: Travis Cross <tc@traviscross.com>"; echo; \
map_modules ':' 'genmodctl_cat' 'genmodctl_mod' \
) > control-modules.gen
echo "Accumulating build dependencies from modules..." >&2
map_modules 'mod_filter' '' 'accumulate_build_depends'
echo "Generating debian/..." >&2
> control
(print_edit_warning; print_source_control; print_core_control) >> control
echo "Generating debian/ (conf)..." >&2
(echo "### conf"; echo) >> control
map_confs 'genconf'
echo "Generating debian/ (modules)..." >&2
(echo "### modules"; echo) >> control
print_edit_warning > modules_.conf
map_modules "mod_filter" \
"gencontrol_per_cat genmodules_per_cat" \
"gencontrol_per_mod geninstall_per_mod genoverrides_per_mod genmodules_per_mod"
echo "Generating additional lintian overrides..." >&2
grep -e '^Package:' control | while xread l; do
m="${l#*: }"
f=$m.lintian-overrides
[ -s $f ] || print_edit_warning >> $f
if ! grep -e 'package-has-long-file-name' $f >/dev/null; then
print_long_filename_override "$m" >> $f
fi
if ! grep -e 'new-package-should-close-itp-bug' $f >/dev/null; then
print_itp_override "$m" >> $f
fi
done
for p in freeswitch libfreeswitch1; do
f=$p.lintian-overrides
[ -s $f ] || print_edit_warning >> $f
print_gpl_openssl_override "$p" >> $f
done
echo "Cleaning up..." >&2
rm -f control-modules.preparse
rm -rf control-modules.parse
diff control-modules control-modules.gen >/dev/null && rm -f control-modules.gen
echo "Done bootstrapping debian/" >&2
touch .stamp-bootstrap

876
debian/changelog vendored
View File

@ -1,868 +1,18 @@
freeswitch (1.0.head-git.master.20110530.1-1) unstable; urgency=low
freeswitch (1.2~rc2-1) unstable; urgency=low
* added mod_cdr_sqlite
* Bump version.
* Sounds and music have been moved to their own source packaging.
-- Michal Bielicki <michal.bielicki@seventhsignal.de> Mon, 30 May 2011 16:02:02 +0200
-- Travis Cross <tc@traviscross.com> Thu, 24 May 2012 15:15:10 +0000
freeswitch (1.0.head-git.master.20110402.1-1) unstable; urgency=low
freeswitch (1.2~alpha1-1) unstable; urgency=low
* Added Hebrew lang package
* Initial release of FreeSWITCH in new debian packaging.
* The debian packaging has been completely rewritten from the ground up.
* We now install to the correct locations outlined in the Filesystem
Hierarchy Standard (FHS).
* All modules are packaged separately from the core.
* We have a handy system for autogenerating the final packaging
configuration from a consolidated configuration file.
-- Michal Bielicki <michal.bielicki@seventhsignal.de> Sat, 02 Apr 2011 03:12:02 +0200
freeswitch (1.0.head-git.master.20110330.1-1) unstable; urgency=low
* removed mod_file_string since it has been merged into dptoolsa
-- Michal Bielicki <michal.bielicki@seventhsignal.de> Wed, 30 Mar 2011 11:39:02 +0200
freeswitch (1.0.head~git.master.20101222.1-1) unstable; urgency=low
* cleaning work
-- Michal Bielicki <michal.bielicki@seventhsignal.de> Wed, 22 Dec 2010 22:48:02 +0200
freeswitch (1.0.head~git.master.20101015.1-1) unstable; urgency=low
* reintroduced mod_flite
* disabled the patching stuff introduced by Julien ... needs an overwork
* reintroduced mod_tts_commandline
* cleaned up rules file and module make rules
* more trivial changes and updates :)
-- Michal Bielicki <michal.bielicki@seventhsignal.de> Fri, 15 Oct 2010 13:14:02 +0200
freeswitch (1.0.head~git.master.20101014.1-1) unstable; urgency=low
* replaced mod_openzap with mod_freetdm
* added mod_theora
* added mod_codec2
* added mod_amrwb
* added mod_portaudio_stream
* cleaned up rules file and module make rules
* added patches from Julien Duqene (FS-369)
* Various trivial changes and updates :)
-- Michal Bielicki <michal.bielicki@seventhsignal.de> Fri, 15 Oct 2010 05:05:02 +0200
freeswitch (1.0.head~git.master.20100601.2-1) unstable; urgency=low
* Various trivial changes and updates.
* Change upstream package version numbering scheme for unreleased versions:
new format is major.minor.micro~git.branch.date.commits-1
* Change source format to 3.0 (quilt).
* Upgrade debhelper compatibility to version 7.
* Update maintainer data and copyright file; now includes the full text
of the MPL since it is not (yet?) available in /usr/share/common-licenses/
* Build and install mod_file_string.so (FSBUILD-247)
* Work around build failure caused by clean rules for openzap.
* Remove several libraries from explicit dependencies, there were no special
version requirements and they should be picked up by dh_shlibdeps.
* Add dh_makeshlibs and make dh_shlibsdeps work again.
* Move openssl to Suggests: as it is not a required package to install or
run freeswitch.
* Add upstream-convert rule to apply patches, generate orig tarball
and set package version.
* Add check to ensure debian patches are applied before attempting build.
* Fix clean rule to avoid unwanted tree change before building orig.tar
archives with git-buildpackage.
-- Julien Plissonneau Duquene <exp-end-2010-06-88a41947@aqiii.org> Tue, 01 Jun 2010 09:53:44 -0400
freeswitch (1.0.6-1ubuntu1) maverick; urgency=low
[ Gabriel Gunderson ]
* upgrade: Added mod_callcenter and pulled out Python into its own
package.
[ Mathieu Parent ]
* Updated Uploaders list
* Updated Standards-Version to 3.9.1
-- Mathieu Parent <sathieu@debian.org> Thu, 23 Sep 2010 15:34:00 +0200
freeswitch (1.0.4-1ubuntu2) karmic; urgency=low
* upgrade: Add more verbosity when building to make it easier to find build
errors.
* upgrade: Remove the requirement for EXACTLY automake1.9 and change it to
need at least automake 1.9
* upgrade: Add the modules (directory, cluechoo, and valet_parking) to the
build files. These are in the standard build, so they should be here too.
-- William King <quentusrex@gmail.com> Fri, 18 Dec 2009 14:27:42 -0800
freeswitch (1.0.4-1ubuntu1) karmic; urgency=low
* upgrade: Pulling out the sounds into separate source files for easier management.
-- William King <quentusrex@gmail.com> Sun, 15 Nov 2009 16:38:13 -0800
freeswitch (1.0.4-1) unstable; urgency=low
* new
-- Mike Jerris <mike@jerris.com> Mon, 18 Feb 2009 17:39:00 -0500
freeswitch (1.0.3-1) unstable; urgency=low
* build: add targets cd-sounds[-install] and cd-moh[-install] for 48k sounds (r:11151)
* build: autoconf detect odbc library (FSBUILD-8)
* build: fix sound install on windows build (r:11635,11638)
* build: fix configure --sysconfdir (FSBUILD-84)
* build: fix uclibc build (MODLANG-99)
* build: fix adduser in debian (FSBUILD-122, FSBUILD-102)
* core: fix buffering issues (r:11101,11145,11152-11157,11162,11191,11200)
* core: fix c leg no hangup when converting attended to blind transfer before b leg answers (MODENDP-165/r:11061)
* core: fix codec and media handling issues (r:11104)
* core: fix double close of file handles and add recording of native files (r:11108-11113,11482,11483)
* core: fix file resampling issue (r:11090)
* core: fix incorrect call progress timestamps in timetable (r:11186-11187/FSCORE-268)
* core: fix media handling issues (r:11079-11082)
* core: fix multiple 2833 dtmf handling issues (r:11149,11261,11262,11266,11293,11294,11338/FSCORE-266,FSCORE-273)
* core: send more event types verbos bridge,unbridge,park,unpark (r:11097-11098)
* core: Prevent media setup on failed originates (r:11462/FSCORE-279)
* core: fix recorded soundfiles had random data at end of file (r:11491/MODAPP-205)
* core: fix user for windows service (r:11538/FSCORE-277)
* core: modify variable expansion code to expand in more places and to fix potential security issue from injecting variables (r:11569,11570)
* core: look for soundfiles in more locations based on rate (r:11601/MODFORM-23)
* core: state machine veto behavior changed (r:11610)
* core: add enable_file_write_buffering variable (r:11677)
* core: fix garbled audio on media bug during bridge using stateful codecs (FSCORE-288)
* core: fix tone detect running multiple bugs when detecting multiple tones
* core: add {instant_ringback=true} to make ringback not wait for indication to generate ringback
* core: fix segfault from race condition on multiple reloadxml calls (MOODAPP-211)
* core: modify xml locking so phrases do not lock the xml for the duration of playing them
* core: replace resampler with the speexdsp resampler
* core: fix windows calling convention on threads launched that return a value to fix shutdown segfault (FSCORE-298)
* core: do not auto-export origination_caller_id_* to avoid confusion (r:12052)
* core: API visibility support (GCC/SUNCC) (FSCORE-264)
* core: fix leak in exposed event class serialize method (r:12068)
* core: add volume as possible return value from input callback on embedded languages (r:12114)
* core: add resampler to seech handles (r:12141)
* core: add api.getTime to embedded languages (r:12149)
* freeswitch: allow you to specify -htdocs dir at runtime. (r:11614)
* fs_cli: add "debug" command to change the esl debug level at runtime (r:11057)
* iksemel: update to 1.3 (r:11645)
* libesl: fix disconnect failure (r:11078,11083)
* libesl: fix solaris build (r:11067,11068)
* libesl: add c++ wrapper and swigged wrappers for multiple scripting languages
* libg722_1: fix dct4.h code generator to include the "f" (r:11188-11189,11367)
* libilbc: update to new library from Steve Underwood
* mod_amrwb: add amr wideband passthrough codec (r:11971)
* mod_cepstral: fix failure return code handling (MODASRTTS-9)
* mod_conference: add 'conference xml_list' and 'conference [conf_name] xml_list' (r:11062-11063)
* mod_conference: make conference verbose-events param to control if events have all the channel data or not (r:11073-11077)
* mod_conference: add MINTWO flag to end conference when down to 1 participant (r:11523)
* mod_conference: refactor conference record function (r:11626)
* mod_conference: add conference list summary command (MODAPP-197)
* mod_conference: fix Deadlock or coredump on conference commands play, transfer (MODAPP-209)
* mod_dahdi_codec: added (MODCODEC-7)
* mod_dialplan_xml: make previous auto hunt feature optional and off by defaule use auto_hunt=true session or global variable to enable (r:12144)
* mod_dptools: Add failure_causes channel variable (r:12058)
* mod_easyroute: add configuration file example for custom-query (r:11055)
* mod_easyroute: add custom-query configuration option (r:11054)
* mod_easyroute: fix build error when not configured for odbc (r:11478)
* mod_easyroute: fix memory leak (r:11611)
* mod_erlang_event: add ability to spawn a process (module/function) outbound on a specified node. (r:11460,11477)
* mod_erlang_event: Fix some issues with standing up a new outbound listener and cleaning up after a failed session (r:11479)
* mod_erlang_event: Fix setting up a listener for an outbound session if one doesn't already exist (r:11488)
* mod_erlang_event: add "erlang" fscli command (r:11488)
* mod_erlang_event: Monitor spawned outbound processes for premature exits (r:11489)
* mod_erlang_event: Allow the event encoding strategy to be configurable; choices are string or binary (r:11495)
* mod_erlang_event: Allow certain tuple elements to be binaries or strings, to reduce conversion requirements on the erlang side (r:11496)
* mod_erlang_event: Support sending a message to a registered process to request a pid (when spawning won't cut it) (r:11499)
* mod_erlang_event: Ensure events received while a pid session is being created aren't discarded but are queued instead (r:11500)
* mod_erlang_event: Add freeswitch.erl - An erlang module to make talking to mod_erlang_event more painless (r:11525)
* mod_erlang_event: use rpc:call instead of spawn and to make the registered process argument to handlecall optional (r:11542)
* mod_event_socket: add ability to use a comma sep list of events on event-sink create-listener (r:11056)
* mod_event_socket: add debug logging to event-sink (r:11060)
* mod_event_socket: fix race condition (r:11680,12146)
* mod_dptools: add all modifier to break command (r:11557,11558)
* mod_dptools: add sound_test application (r:11658)
* mod_fax: Dont hangup after sending/receiving faxes
* mod_fifo: pause media bugs while not in a bridge (r:11466,11490)
* mod_fifo: allow unpark during chime list playing (r:11555/MODAPP-206)
* mod_fifo: fix outbound fifos doesn't check if the consumer is in the fifo in question. (r:11561/MODAPP-207)
* mod_fifo: Fix segfault when no argument were supplied to fifo_member call (MODAPP-210)
* mod_lcr: added (r:11180,11184,11532,11609)
* mod_limit: fix memory corruption caused by race condition when using limit hash (r:11070-11071)
* mod_limit: Fix transfer bug, fix leak and make the channel hangup if the extension is \!hangup_cause (r:11604,11932)
* mod_limit: add write different channel variables per realm_id (r:11608)
* mod_limit: Make max argument optional on the limit app, set the limit_usage variable to current count after inserting call in the db (r:11955)
* mod_lua: Create empty argv table when no args are passed to a Lua script (r:11559)
* mod_lua: use dll for lua windows build (FSCORE-299)
* mod_openmrcp: removed (r:11176-11179)
* mod_opal: added
* mod_pocketsphinx: fix leak (r:11974)
* mod_portaudio: fix stuck channels on outbound calls (r:11160,11470,11471,11472,11475,11476,11485)
* mod_python: fix build when site dir is not /usr/lib/python2.4 (r:12070)
* mod_say_en: add short form date/time (MODAPP-180)
* mod_sofia: add auto-rtp-bugs profile option to make rtp bug compensation configurable (r :11146-11147)
* mod_sofia: add support in sdp for a=maxptime (r:11103)
* mod_sofia: fix codec change race condition (r:11143)
* mod_sofia: fix notify event wasn't allowing content-length 0 (r:11106/MODENDP-167)
* mod_sofia: fix sending extra sdp in 200 OK when using 100rel in violation of sdp o/a protocol draft-ietf-sipping-sip-offeranswer-10 (r:11088)
* mod_sofia: fix sip_auto_answer=true (r:11069)
* mod_sofia: improve outbound registration error message (r:11059)
* mod_sofia: reset media timeout on re-invite (r:11161)
* mod_sofia: fix segfault due to missing contact header in invite (r:11463/MODENDP-177)
* mod_sofia: allow <params> tag in gateways as well as <variables> with direction inbound/outbound (default both) and call counter (r:11468)
* mod_sofia: add support or SLA, works with Polycom and Snom(Sylantro mode). (r:11562/MODENDP-179)
* mod_sofia: tolerate missing user in the request uri (r:11636)
* mod_sofia: Add purpose=gateways and profile=[name] so xml_curl requests make sense (MDXMLINT-46)
* mod_sofia: Add disable-srv and disable-naptr params to sip profiles (default false) (MODENDP-183)
* mod_sofia: add outbound-proxy param (MODENDP-184)
* mod_sofia: fix segfault with stun-enabled=false (SFSIP-120)
* mod_sofia: Profile Name in Expire Event is incorrect (MODENDP-185)
* mod_sofia: add "scrooge" mode to "inbound-codec-negotiation" (r:11881)
* mod_sofia: Add context to reconfig_sofia (r:12080)
* mod_sofia: fix segfault when calling from a Cisco 7940 using bypass_media (FSCORE-301)
* mod_sofia: ilbc to default to 30 if no mode= fmtp is defined on the inbound (r:12110)
* mod_sofia: fix challenge-realm (r:12113)
* mod_sofia: Segmentation fault when running killgw command on sofia profile without specifying a gateway (MODENDP-189)
* mod_sofia: gateways will inherit the context from its parent unless manually provided (r:12138)
* mod_sndfile: Add IMA ADPCM support (MODFORM-22)
* mod_spidermonkey: fix loading of spidermonkey modules (r:11084-11085)
* mod_spidermonkey: block some unwanted behaviours in session.originate
* mod_spidermonkey_socket: fix gc blocking (MODLANG-97)
* mod_xml_rpc: fixed authentication using @domain syntax (r:11064)
* mod_xml_rpc: fix http content types sent in responses (r:11099,11148,11150)
* mod_voicemail: voicemail insert into the proper fields (MODAPP-190)
* mod_voipcodecs: add G.726 24k (r:12083)
* sofia-sip: update to current sofia-sip repository
* spandsp: sync to latest snapshot and fix windows build
* speex: updated to 1.2rc1
* sqlite: fix random assert on windows (FSCORE-292)
-- Mike Jerris <mike@jerris.com> Mon, 18 Feb 2009 17:39:00 -0500
freeswitch (1.0.2-1) unstable; urgency=low
* all: don't add module interfaces before returning from error conditions in module load functions (MDXMLINT-36)
* all: fixed multiple memory leaks
* all: improved module unloading/reloading support
* build: add support for --switchconfdir (FSBUILD-84)
* build: fixed netbsd build
* build: make freeswitch stop graceflly with /etc/init.d/freeswitch stop on debian add working dir to start-stop-dir so freeswitch dumps core in workdir
* build: multiple packaging fixes
* build: user freeswitch not added to audio group on deb install (FSBUILD-95)
* Configuration: many updates to default configuration
* core: Add ability to choose uuid from originate string, originate_uuid var (use at your own risk)
* core: add bridge_generate_comfort_noise option for bridge to generate comfort noise to the A leg when there is no audio on the B leg
* core: add chan vars to param event during hangup hook
* core: add exec directive to xml preprocessor (not available on windows)
* core: add force_transfer_dialplan and force_transfer_context variables
* core: add hashing to event header lookup
* core: add hits to tone_detect
* core: add last_dtmf_duration variable
* core: add msleep function to swigged languages
* core: add park_after_bridge variable
* core: add per leg timeouts and specific cause codes in reject_on_single_fail
* core: add runtime selection of the module dir (FSCORE-198)
* core: add scheduler support for heartbeat
* core: add session heartbeat feature
* core: add session.destroy psuedo method to sort of destroy a session at least for the sake of FS
* core: add session.unsetInputCallback
* core: add strftime format string validation for user supplied values
* core: add vars param to switch_ivr_originate for recursion (MODAPP-175)
* core: added a "group" concept to the user directory
* core: added ability to do dns lookup to find ip with host: like stun: (FSCORE-219)
* core: added better locking for codec changes during a call
* core: added current_application and current_application_data variables
* core: added error/ magic endpoint so modules can return error causes in situations like sofia_contact
* core: added read_result channel variable
* core: added support for "F" to indicate flash in dtmf (FSCORE-213)
* core: allow calls to be stolen from originate
* core: allow you to get the privacy bits in the caller_profile
* core: change dso code to load symbols local
* core: changes core flags to be array based so we have more
* core: eavesdrop causes the people being eavesdropped on to not hear ach other (MODAPP-140)
* core: expose time table to variable interface via caller field lookup
* core: fix 100% cpu when sending parked call to moh (FSCORE-234)
* core: fix bridge app to make sure both channels are ready for media when one is only in ringing state
* core: fix buffer overflow (FSCORE-188)
* core: fix conference dial by allowing multiple braces in originate, fix bad pointer op (FSCORE-208)
* core: fix double detection of DTMF in IVR (FSCORE-221)
* core: fix hangup_after_bridge is false on a bridge started with the intercept app
* core: fix issue where pid file is accidentally truncated
* core: fix ivr timeout (FSCORE-181)
* core: fix memory leak in alias tab completion code
* core: fix min digits in read app
* core: fix out-of-bounds pointer in variable expansion (FSCORE-171)
* core: fix segfault in media bugs when in bypass media (FSCORE-193)
* core: fix segfault on gtalk to sip calls (FSCORE-212)
* core: fix segfault on reloadxml (FSCORE-176)
* core: fix segfault on trasfering eavesdopping party (FSCORE-210)
* core: fix segfault using switch_system function (FSCORE-196)
* core: fix session.bridge
* core: fix setting effective_caller_id_name / effective_caller_id_number on bridge dialstring (MODAPP-122)
* core: fix stream_raw_write (MODAPP-145)
* core: fix using resampling on ringback file
* core: fixed performance bottleneck in sqlite db's
* core: fixed race in reloadxml
* core: increment app before execute in case it returns to execute it will go to the next item in the list and not the same
* core: ivr menu max_failures and max_timeouts now default to 3 if not specified or invalid (less than 1) values are specified (FSCORE-244)
* core: ivr_menu max-timeouts option, result in ivr_menu_status var (FSCORE-183)
* core: let b legs use park_after_bridge too
* core: make events less verbose unless verbose_events is set
* core: parse private events during originate
* core: pass pdd data to a leg on oubound calls using bridge
* core: prevent crash in crazy situation with xml interface lookup failures (FSCORE-169)
* core: reduce cpu requirement for generated comfort noise
* core: remove interface names from core db on unload
* core: reworked timing resulting in significant performance increase and better rtp timing
* core: rewrite switch_play_and_get_digits (MODAPP-166)
* core: session.recordFile never terminates (MODLANG-79)
* core: session.transfer make dialplan and context optional
* core: set_user app now sets domain vars as well as user vars
* core: tone_detect not triggering app after tone detection (MODAPP-182)
* core: unprivileged user setting bigger stack for switch_system thread failure (FSCORE-197)
* core: user_exists returns false when fetching a user from XML Curl or other xml interfaces
* libesl: added c event socket library and fs_cli
* libsndfile: fix autoconf 2.62 support (LBSNDF-5)
* mod commands: add "all" modifier to "break" command
* mod_celt: added new module
* mod_commands: Add support for more than 2 variables to uuid_setvar_multi (MODAPP-171)
* mod_commands: Add support for passing the cause of hangup to the uuid_kill command (FSCORE-217)
* mod_commands: add attr lookup to user_data
* mod_commands: add domain_exists fsapi command
* mod_commands: add eval fsapi command
* mod_commands: add flush_dtmf app and uuid_flush_dtmf api command
* mod_commands: add fsctl send_sighup, fsctl shutdown asap, unsched_api commands
* mod_commands: add fsctl shutdown [elegant|restart|cancel]
* mod_commands: add new syntax to uuid_setvar to allow you to unset a var. <uuid> <var> [value] (MODAPP-167)
* mod_commands: add reload fsapi command to reload a module
* mod_commands: add system fsapi and application (MODAPP-138)
* mod_commands: added hupall fsapi command
* mod_commands: added strftime_tz api command
* mod_commands: break all now stops broadcast too
* mod_commands: fix api command sent through sched_api was getting the last char lopped off
* mod_commands: fix race on transfer with -both
* mod_commands: fix system dialplan app problems (MODAPP-86)
* mod_commands: only send content-type on status when it really is http.
* mod_conference: add fsapi to stop async playback too
* mod_conference: add video caps to mod_conference with video follow audio
* mod_conference: better sound prefix handling when using say: and allow say: on kick sounds.
* mod_conference: fix race in record
* mod_conference: fix runaway thread when floor holder has no video and other people do have video
* mod_conference: fix seg when kicking many members quickly (MODAPP-129)
* mod_conference: fix segfault on invalid chat event
* mod_conference: perpetual sound does not auto-mute, you can do that yourself if you want it
* mod_dialplan_xml: add Hunt- vars in dialplan lookup after transfer
* mod_dialplan_xml: fail call on extensions with nested conditions
* mod_dingaling: (LBDING-7) fix segfault on os x
* mod_dingaling: end call on ice timeout
* mod_dingaling: fix presence on jabber to be less protocol ambiguous
* mod_dingaling: fix segfault (LBDING-10)
* mod_dingaling: update to support latest client from google
* mod_dptools: add a mechanism to tell if a file played from sendmsg over event socket
* mod_dptools: add playback_terminator support to phrase and say app
* mod_dptools: add playback_terminator_used variable (MODAPP-132)
* mod_dptools: add presence application
* mod_dptools: fix originate api not parsing users properly (FSCORE-246)
* mod_dptools: fix record and record_session to create directory if it does not exist (FSCORE-250)
* mod_dptools: fixed limit and + parsing bug in record_session app (MODAPP-148)
* mod_dptools: remove_bugs added to remove all media bugs on a session
* mod_erlang_event: add new module
* mod_event_socket: missing : after Content-Length in event socket (MODEVENT-33)
* mod_event_socket: add event socket listener filters
* mod_event_socket: add stateful listener fsapi commands for ajax-y type event interface over http
* mod_event_socket: fix arg parsing errors (MODEVENT-34)
* mod_event_socket: fix shutdown segfault race (MODEVENT-32)
* mod_event_socket: inbound connection to event_socket can now take over an existing channel with 'myevents <uuid>' to take on the behaviour of an outbound socket
* mod_event_socket: let any channel get messages
* mod_event_socket: make event socket wait for hangup on outbound mode and send disconnect message
* mod_expr: fix endless loop
* mod_fax: new module
* mod_fifo: add fifo_consumer_wrapup_time var (MODAPP-117)
* mod_fifo: added callback agents
* mod_fifo: honor keyword silence (MODAPP-118)
* mod_flite: added windows build
* mod_fsv: fix in a windows enviroment opening the record file in text mode. (MODAPP-169)
* mod_http: added new module
* mod_java: updated to new module api to support read/write locks on interface
* mod_limit: accept dialplan context for transfer (MODAPP-161)
* mod_limit: added hashtable based limit functions
* mod_limit: prevent empty error log message (MODAPP-134)
* mod_local_stream: add start_local_stream and stop_local_stream fsapi commands to start/stop dynamically (MODFORM-13)
* mod_local_stream: fix leak and improve error checking
* mod_local_stream: fix seg when no timer name specified in config file. (MODFORM-16)
* mod_loopback: add new module
* mod_lua: add local scripts directory support (MODLANG-86)
* mod_lua: don't eval blank string
* mod_lua: fix originate
* mod_lua: fix segfault (MODLANG-77)
* mod_lua: update to lua 5.1.4 (MODLANG-87)
* mod_lumenvox: removed
* mod_managed: new module replaces mod_mono now supports native .net runtime on windows as well
* mod_opal: added to trunk (still very beta)
* mod_perl: fix segfault (MODLANG-77)
* mod_pocketsphinx: fix rpm build
* mod_portaudio: fix cpu race on inbound call to pa when no ring file is set
* mod_radius_cdr: dictionary update for cause code changes (MODEVENT-27)
* mod_radius_cdr: fix unload (MODEVENT-29)
* mod_shout: add stereo recording broadcast support
* mod_shout: added windows build
* mod_shout: fix segfault when recording mp3's (MODFORM-12)
* mod_shout: improved stability of mp3 decoding
* mod_siren: added new module
* mod_sndfile added support to record 16bit for the various rates including 48kHz
* mod_sofia: Add filter to "sofia status profile XXX" (MODENDP-138)
* mod_sofia: Add force-register-db-domain which works in conjunction with force-register-domain.
* mod_sofia: Add optional <variables> and <params> tag to <gateway> tag.
* mod_sofia: Challenge the right realm when to_host is outside the users domain. (MODENDP-136)
* mod_sofia: Improve notify messages through a proxy (MODENDP-147)
* mod_sofia: MWI for multiple domains (MODAPP-126)
* mod_sofia: Move "a=sendrecv" from session to media section of SDP (MODENDP-148)
* mod_sofia: add 200 OK re-invite without sdp
* mod_sofia: add custom sofia::gateway_state event (MODENDP-112)
* mod_sofia: add fire events for the refer SIP NOTIFY event package (MODENDP-152)
* mod_sofia: add more params for xml_curl directory lookup
* mod_sofia: add new auto vals for challenge-realm param <param name="challenge-realm" value="auto_from|auto_to|<hardcoded_val>"/>
* mod_sofia: add option to turn of auto_restart of sofia profiles on ip change
* mod_sofia: add params to use sip callid as uuid on inbound calls and uuid as sip callid on outbound calls
* mod_sofia: add parsing of Privacy header for privacy info (MODENDP-133)
* mod_sofia: add proto_specific_hangup_cause to both legs
* mod_sofia: add proxy 3pcc mode
* mod_sofia: add redirect variable to channel as well as partner channe (MODENDP-135)
* mod_sofia: add sip-forbid-register to user params to refuse to let a certian user register
* mod_sofia: add sip: into register-proxy when it's not specified
* mod_sofia: add sip_history_info var for inbound invites.
* mod_sofia: add sip_via_protocol variable
* mod_sofia: add sofia xmlstatus (MODENDP-156)
* mod_sofia: add support for params other than Replaces in Refer-To (MODENDP-143)
* mod_sofia: add support for profiles sharing databases so that you can have a domain that uses multiple profiles for split dns type setups
* mod_sofia: add support for refer transfer involving multiple machines
* mod_sofia: add support to send a notify in the invite dialog by specifying the uuid of the call. (SFSIP-92)
* mod_sofia: add suppress_from_cidname var to not have display name in from header (MODENDP-153)
* mod_sofia: added sip_hangup_disposition variable
* mod_sofia: allow send_message and notify events to send a message/notify without a body if needed.
* mod_sofia: append -1 .. -N postfix after any X-headers as vars that have the same name
* mod_sofia: cache auth_gateway_name in sofia for challenged bye
* mod_sofia: cancel proxy or no-media mode if you purposely answer or pre_answer
* mod_sofia: correct result code mapping for Unallocated Number (MODENDP-124)
* mod_sofia: disable 100rel by default
* mod_sofia: don't accept crypto in the RTP/AVP (MODENDP-126)
* mod_sofia: don't put CN in sdp answer if it was not in the offer.
* mod_sofia: fix Incorrect IP address shows up in SDP "o" field when multiple external IPs available and FS not bound to first (MODENDP-132)
* mod_sofia: fix Wrong RTP media port destination after reinvite/UNHOLD (SFSIP-82)
* mod_sofia: fix bug on linksys where they lie about the ptime and handle linksys transfer problem
* mod_sofia: fix chat (send an IM) assumes that the user's profile is the same as their domain, which isn't necessarily so (SFSIP-83)
* mod_sofia: fix dtmf handling of broken info dtmf endpoints
* mod_sofia: fix eyebeam presence to be RFC compliant (MODENDP-144)
* mod_sofia: fix ip change detection when in proxy mode
* mod_sofia: fix register_proxy ignoring the paramaters (MODENDP-121)
* mod_sofia: fix remote session refresh triggers request glare (MODENDP-131)
* mod_sofia: fix rtp auto adjust running when it should not
* mod_sofia: fix rtp sent to wrong port after some re-INVITE scenarios (MODENDP-141)
* mod_sofia: fix sending of cn packets across bridge when we shouldn't
* mod_sofia: fix sqlite issue with select of the sip contact
* mod_sofia: fixed segfault on invalid presence payload
* mod_sofia: gateway ping needs to look for 501 (SFSIP-78)
* mod_sofia: handle multi contact register responses and register timeout better
* mod_sofia: improve gateway resilience
* mod_sofia: log ip and port you get reply to invite from
* mod_sofia: make multiple-registations=true use the contact method and call-id option to do it the old way
* mod_sofia: make proxy mode pull the port from m=image as well
* mod_sofia: make register-proxy preserve the url composed from proxy but target the packets to desired address (MODENDP-121)
* mod_sofia: many fixes for sonus rtp issues silence_when_idle=400 chanvar to send generated silence duing sleeps etc
* mod_sofia: many fixes in presence handling
* mod_sofia: passthrough t.38 fixes
* mod_sofia: pick ipv4 or ipv6 based on sipip instead of having mixed in sdp
* mod_sofia: send NOTIFY on TCP/UDP depending on the SUBSCRIBE (SFSIP-104)
* mod_sofia: setting profile option multiple-registrations=contact key multi reg off the contact string
* mod_sofia: wait for a reply on refer
* mod_soundtouch: fixes and improvements, many options changed (MODAPP-149)
* mod_soundtouch: updated to new module api
* mod_spidermonkey: Segmentation fault in check_hangup_hook at mod_spidermonkey.c:1589 (MODLANG-74)
* mod_spidermonkey: fix bug in apiExecute
* mod_spidermonkey: fix memory pool handling and leaks
* mod_spidermonkey: limit recursion busting through the stack (FSCORE-202)
* mod_spidermonkey: make session.getVariable return blank string not the word false
* mod_spidermonkey_curl: add optional content-type arg
* mod_spidermonkey_odbc: fix numRows and add numCols
* mod_spidermonkey_odbc: fix segfault (MODLANG-75)
* mod_stress: new module for voice stress analysis
* mod_syslog: don't log blank lines (FSCORE-163)
* mod_tone_stream: let silence_stream://0 indicate perpetual silence
* mod_vmd: add new module to detect voicemail "beep"
* mod_voicemail: Add vm_alternate_greet_id param to directory entry (MODAPP-174)
* mod_voicemail: Patch to add voicemail preference controlling date announcement new param 'play-date-announcement' to values 'first' 'last' or 'never' defaults to first to retain previous behavior (MODAPP-121)
* mod_voicemail: Update mwi light after delete vm via web. (MODAPP-124)
* mod_voicemail: add ability to get to options without listening to every saved message (MODAPP-115)
* mod_voicemail: add ability to skip greeting when leaving a voicemail. (MODAPP-181)
* mod_voicemail: add change-pass-key config file option
* mod_voicemail: add forwarding support
* mod_voicemail: add local dtmf driven alternat vm pass
* mod_voicemail: add proper notification of a vm message being too short
* mod_voicemail: add support for auth via a1-hash
* mod_voicemail: add the "storage-dir" parameter to be set on a per-user basis (MODAPP-133)
* mod_voicemail: add voicemail_greeting_path variable
* mod_voicemail: added voicemail_alternate_greet_id variable
* mod_voicemail: allow changing of password from voicemail to update user directory if using non-static config (MODAPP-156)
* mod_voicemail: created email date (int overflow) (MODAPP-125)
* mod_voicemail: don't try to deliver vm when no file was recorded. (MODAPP-133)
* mod_voicemail: fix MWI with xml_curl used for directory (MODAPP-176)
* mod_voicemail: fix Voicemail messages occasionally lost / stranded (MODAPP-178)
* mod_voicemail: fix invalid event after message deleted (MODAPP-170)
* mod_voicemail: fix mwi for phones with multiple registrations problem (MODAPP-153)
* mod_voicemail: fix voicemail segfault on incorrect password (FSCORE-187)
* mod_voicemail: fix voicemail_inject error handling (MODAPP-133)
* mod_voicemail: fix voicemail_inject usage api call
* mod_voicemail: improve error checking (MODAPP-142)
* mod_voicemail: localize notification emails (MODAPP-139)
* mod_voicemail: make more multi-domain friendly (MODAPP-162)
* mod_voicemail: make playback created file macros optional (MODAPP-150)
* mod_voicemail: recognize operator key in more places (MODAPP-159)
* mod_voicemail: web interface displays incorrect created / last heard dates (MODAPP-123)
* mod_wanpipe: removed
* mod_xml_cdr: add https support
* mod_xml_cdr: add optional a-leg prefix to xml cdr filenames (MDXMLINT-39)
* mod_xml_cdr: add support for fallback webserver for cdr posting (FSCORE-238)
* mod_xml_curl: Allow specification of HTTP method, and dynamic expansion of variables in URI. (MDXMLINT-41)
* mod_xml_curl: added redirect following (max 10)
* mod_xml_ldap: almost a complete rewrite of this module
* mod_xml_rpc: allow setting of global realm without a global user (MDXMLINT-45)
* mod_xml_rpc: fix multiple segfaults
* mod_xml_rpc: fix segfault on originate via http
* sofia-sip: updated to 1.12.10 (plus a few patches)
-- Mike Jerris <mike@jerris.com> Mon, 29 Dec 2008 14:46:00 -0500
freeswitch (1.0.1-1) unstable; urgency=low
* FIX: prevent intercept race condition that can also be solved with continue_on_fail=originator_cancel
* FIX: NULL dereference detected by klockwork (www.klockwork.com)
* FIX: don't open failed local stream (MODFORM-9)
* FIX: instability in mod_local_stream in failure scenarios
* FIX: xmlrpc-c build on OS X 10.4 (FSBUILD-47)
* ENHANCEMENT: Added tab completion on many api commands in console
* ENHANCEMENT: polycom BLF support
* FIX: many sip NAT related fixes in mod_sofia
* FIX: support sip unregister with Contact: *
* FIX: multiple segfaults in xmlrpc-c
* FIX: sip unregister event being skipped
* FIX: hangup properly on malformed sip 3pcc calls being used as a way to ping
* ADD: enable-3pcc sofia profile param, it is now disabled by default.
* ADD: presence events to sip proxy mode
* ADD: legs param to cdr_csv
* ADD: support for perl as an embedded lanugage
* ENHANCEMENT: many new api's and functions to the embedded languages including api support, xml interface support, auto start scripts, and many new objects
* CHANGE: python embedded language api changed to match perl, lua, java
* FIX: many stability fixes in embedded langauges perl, lua, java, python
* ADD: failed_xml_cdr magic channel variable
* FIX: access free memory error in mod_sofia when using respond app
* ENHNACEMENT: make global_setvar only have 2 fields so you can set foo=bar=blah w/o quotes
* FIX: mod_spidermonkey keep hangup hook in the session thread
* ENHANCEMENT: mod_ldap added sasl support and search filters
* ADD: answered, waitForAnswer and mediaReady methods to embedded language Session object
* ENHANCEMENT: mod_voicemail param change to allow notification emails using templates
* ADD: per user acl in sofia
* FIX: deadlock in mod_portaudio
* ENHANCEMENT: blank username in sip will trigger a lookup for the user "nobody"
* ADD: import variable to import variables from a peer channel at time of originate
* FIX: api type fix for c++ modules when incorrectly using enums
* FIX: eliminate need for escaped , in [] on originate
* ADD: NDLB-force-rport option to force behavior as if rport was sent in the via
* ENHANCEMENT: honor execute_on_answer on outbound legs too
* ADD: execute_on_ring variable
* FIX: Seg fault in CoreSession() class destructor
* ADD: per channel caller id in originate
* ADD: sip_outgoing_call_id variable
* FIX: multiple memory leaks in mod_sofia
* FIX: find_local_ip IPv6 support
* ADD: variable expansion to on execute vars.(FSCORE-114)
* ADD: count optional arg to show calls and show channels (MODAPP-103)
* FIX: MODEVENT-25 (WSAWOULDBLOCK error on socket send in windows) in event socket
* FIX: multiple fixes to the logic in mod_say_zh
* ADD: inter digit timeout to swigged embedded languages getDigits method. (MODLANG-65)
* ADD: Linksys P-RTP-Stat SIP header values (SFSIP-66)
* FIX: small leak in core
* ADD: progress_timeout var to originate
* UPDATE: portaudio library
* FIX: added timeout to iax read
* ADD: 'pa rescan' to portaudio to look for new devices
* FIX: wait for broadcast to start when starting async hold to avoid race
* FIX: mod_rss, don't always play the first news feed
* FIX: mod_rss inverval to use the session inteval (audio problems on 30ms channels)
* ADD: Path: support in mod_sofia on register
* FIX: mod_shout record stream
* ENHANCEMENT: mod_voicemail support for effective_caller_id_name/number
* ADD: url encode/decode api calls
* FIX: "nua()" in debug information in sofia instead of the real function name
* FIX: better handling of sips: uris
* FIX: don't seg when using more than SWITCH_MAX_CODECS and bump SWITCH_MAX_CODECS to 50 (we have more than 30 in tree) (MODFORM-10)
* ADD: mod_yaml
* FIX: segfault on freeswitch startup if installed directories are removed
* FIX: segfault when intercept with inbound_late_negotiation=true set
* FIX: dont flood logs with eavesdrop messages (MODAPP-101)
* FIX: don't destroy a codec that has not been created (MODAPP-101)
* ENHANCEMENT: allows the "eavesdrop_group" variable to contain several groups, comma separated. (MODAPP-101)
* FIX: cross compile (FSBUILD-53)
* FIX: add header that Nuaunce considers mandatory (MODASRTTS-5)
* ADD: write locks to the core and a function to unregister event bindings (adds better ability to unload modules)
* ENHANCEMENT: make modules unbind events and un-reserve subclasses on module unload
* ADD: removable xml hook bindings
* ADD: EventConsumer object to embedded languages so you can make event handlers
* FIX: sending CN with supress-cng true
* FIX: segfault in the event system when trying to remove NULL event
* ADD: flags to turn off srtp auth and rtp auto adj (FSCORE-149 && MODENDP-115)
* FIX: use lighter math and avoid infinite loop in port allocator (FSCORE-148)
* ENHANCEMENT: let conference pin entry start during prompt (MODAPP-111)
* ADD: mod_pocketsphinx
* FIX: Misuse of SQLRowCount, issues with MSSQL (MODAPP-105)
* FIX: segfaults in mod_python with dtmf callback
* ENHANCEMENT: mod_conference auto-record parameter (MODAPP-112)
* ENHANCEMENT: reload support to many modules
* FIX: mod_sofia add replaces to supported header
* ENHANCEMENT: add args callback to sleep so you can process dtmf and events while "sleeping"
* ADD: mod_flite
* ENHANCEMENT: switch_xml converted back to c code and support double globs on windows
* ENHANCEMENT: mod_sofia support for adding and removing gateways without restarting profiles
* ADD: extract contact header info into A channel when unhandled 3xx response is received (MODENDP-116)
* FIX: outbound event_socket + late negotiation
* ADD: copy_xml_cdr variable
* ADD: silence_stream (like tone_stream but silent)
* ADD: module_exists api call
* ADD: emailer implementation for windows
* ADD: wait_for_silence application
* FIX: no error message generated if OS is unable to load a module ( due to dependency/installation issues )
* FIX: segfault in media bugs
* FIX: acl lists not correctly matching all ip adresses
* FIX: mod_spidermonkey exit() does not stop script when called from the hangup callback (return "exit" from the callback)
* FIX: mod_syslog works again
* FIX: crash on terminal resize
* FIX: audio problems on big endian
* ENHANCEMENT: Disable multiple registrations on a per-device basis (MODENDP-117)
* ADD: fifo_consumer_exit_key variable (MODAPP-100)
* ADD: cidr based user auth in mod_sofia
* ADD: uuid_send_dtmf fsapi command (MODAPP-114)
* ADD: server registration fiels to sip_registration database (MODENDP-118)
* FIX: use a variable, realm or to host to find gateway when it's not obvious (handles challenged REFER)
* ADD: timeout to curl run in javascript
* ADD: voicemail_inject fsapi command
* ADD: reboot option for sip phones to flush_inboud_reg sofia profile api command
* FIX: add small padding to end of mp3 to avoid cut off mp3 recording
* FIX: patch multiple SDP connection lines in sdp for proxy media mode (MODENDP-109)
* FIX: don't parse ringback variable in proxy situations
* ADD: per call vm recording ext with vm_message_ext variable
* ADD: sip_bye_h prefix to add headers to bye
* ENHANCEMENT: more interfaces available in show fsapi command
* FIX: don't leak in buffers on realloc fail
* FIX: fail out of a conference call if write fails
* ADD: auto ip-change detection
* ADD: mod_snom
* FIX: mod_sofia don't send sipfrag on transfer to cisco so they don't hang up the call
-- Mike Jerris <mike@jerris.com> Thu, 24 Jul 2008 07:00:00 -0500
freeswitch (1.0.1~trunk) unstable; urgency=low
* Updated revision number
* Fixed init problem reported by Jay Binks (FSSCRIPTS-1)
* Added a patch to the debian build system add more features (thanks to Hadley Rich) (FSBUILD-45)
- Added en-us-callie sounds and music on hold packages
- Added recommends and suggests
- Added mod_say_es and mod_say_nl
- Updated descriptions
- Added mod_cdr_csv
* Fixed typos and some errors in the previous patch.
* Modified monit script. Now it should work.
* The debian build system now bootstrap automagically if it's necessary and all scripts are in place.
-- Massimo Cetra <devel@navynet.it> Sun, 6 Jul 2008 16:30:00 +0100
freeswitch (1.0.0-1) unstable; urgency=low
* Enhanced sofia sip nat handling
* Many fixes found by Klockwork (www.klocwork.com)
* Added disable_app_log variable
* Fixed mod_local_stream with rates on windows
* Fixed finding of files in rate dirs on windows
* Fixed memory corruption from sofia_contact function
* Added sofia profile param NDLB-received-in-nat-reg-contact
* Added sofia profile param aggressive-nat-detection
* Fixed video sip calls in proxy media mode
* Added bridge_terminate_key var
* Update xmlrpc-c lib to trunk revision from upstream, fix windows xmlrpc
* Enhanced nat handling in proxy media mode in sip
* Add progress media to timetable so you can calculate pdd
* Fixed seg when using unicast on socket when call has no read_codec
* Fixed missed log events on busy box
* Added -bleg to intercept
* Enhance configure detection of python
* Fixed build on solaris and freebsd for several modules
* Added param "vm-email-only" to make voicemail sent by email only (previously default behavior)
* Added param "vm-mailto-notify" to allow sending a notification email
* Fixed mod_java build
* Fixed mwi failures for some devices that don't subscribe
* Removed fsapi functions (killchan, transfer, session_displace, reject)
* Removed fsapi functions (session_record, broadcast, hold, media)
* Many updates to sofia-sip library including over 100 fixes
-- Michael Jerris <mike@jerris.com> Tue, 27 May 2008 01:30:00 -0400
freeswitch (1.0~rc6-1) unstable; urgency=low
* Changed to not allow pass_2833 on transcoded calls
(it never worked, now it will tell you)
* Enhanced sofia sip nat handling
* Fix libedit build on solaris
* Fix session timers in mod_sofia
* Fix conference fire-call
* Change: add var_event down into the endpoints so chans
with no parents can still pass options
* Added enable-post-var param to xml_rpc
* Fix mod_lua build on solaris
* Many fixes found by Klockwork (www.klocwork.com)
* Add unregister event in mod_sofia
* Enhance python configure detection
* Add vm_boxcount api func
* Fixed att_xfer issue
* Fix sip now includes the Allow-Events header in more places
-- Michael Jerris <mike@jerris.com> Tue, 13 May 2008 02:01:00 -0400
freeswitch (1.0~rc5-1) unstable; urgency=low
* Changed internal state names to avoid confusion
Fixed video negotiation
Enhanced accuracy of windows timer
Fixed mod_ldap build
Added dialplan and context to sql table for channels
Multiple fixes to mod_lua and mod_perl
Fixed logic bug in fifo causing segfault
internal changes to sip stack so we can remove a hash redundant to the stack
Fixed multiple memory leaks in mod_sofia
Fixed event fetch segfault on sip subscribe
Fixed segfault on timer rollover in sofia on 64bit
Fixed audio timing issues in mod_portaudio
Changed names of sip profiles in default config to avoid confusion
Fixed memory usage leak-like behavior when playing files requiring resampling
Removed some unused api's
Fix rtp timeout when playing moh
Removed some un-needed libraries and files from tree
Fixed multiple issues in sip stack including multiple segfaults
Added support for sip transfers on bypass_media and proxy_media calls
Added say application
Fixed --disable-debug configure option
Enhanced switch_cpp wrapper (and perl, python, lua, java)
Fixed segfault on inavalid stun response
Fixed configure help output
Fixed segfault on mp3 playback
Fixed assert on invalid sdp (missing m= line)
Added configurable windows service name
Fixed proxy mode call transition to non proxy call
Fixed solaris build of voipcodecs
Fixed sofia seg when call failure edge case
-- Michael Jerris <mike@jerris.com> Tue, 13 May 2008 02:01:00 -0400
freeswitch (1.0~8327) unstable; urgency=low
* Adding perl and lua separate packages
* Adding mod_voipcodecs
-- root <root@fs.navynet.it> Tue, 6 May 2008 09:46:26 +0000
freeswitch (1.0~rc4-1) unstable; urgency=low
* Add tab completion in cli
Add "inline" dialplan
Fixed segfault in enum
Enhance enum to fork dial equal priority entries
Added auto-reload to enum
Fixed odbc bug is mod_sofia presence handling
Add presence for conference and dial an eavesdrop
Fix stack overflow segfault when recursively parking calls
Fixed race is sofia registration handling
Enhance sofia registration, unregister on keep-alive OPTIONS failure
Added internal routing loop detection/avoidance
Fixed race in bgapi in event socket
Fixed vars to execute apps before bridge "bridge_pre_execute_aleg_app" and "bridge_pre_execute_bleg_app"
Fixed re-setting sound prefix to no prefix after a pharse
Enhanced setting of bracket vars from originate so they show in the CHANNEL_ORIGINATE event
Add "enable-timer" and "enable-100rel" options to turn off default behaviors in sofia
Add originate_timeout to originate vars
Fixed hanging channels in mod_portaudio
Added auto time sync on vps migration to different hardware
Fixed seg on transfer when both legs are not sip
Added configurable dtmf duration defaults
Enhanced voicemail, allow interruption of hello message
Fixed voicemail to not light up light on saved messages
Enhance mod_amr honor disable dtx in fmtp (MODCODEC-3)
Fixed bootstrap to install automake dependencies so you can use tarball without same version of automake installed
Fixed MODLANG-56 (bad audio on originate and javascript streamFile)
Added hold/unhold dialplan apps
Enhanced sofia error checking to outlaw 0.0.0.0 in sofia ip params
Backport fixes from sofia-sip tree
Fixed MSVC build
Fixed segfault on sip SUBSCRIBE with Expires: 0
Added mod_say_zh
Added --with-pyton and --with-pyton-config configure options
Added mod_lua
Enhanced switch_cpp wrapper in core and normalized interfaces for perl, python, lua, and java
Fixed multiple issues in cpp wrapper and the languages perl, python, lua and java
Added back mod_perl
Added sofia gateway option ping to adjust options ping frequency
Added .net event socket lib to contrib
Fixed passing of exact response codes of sip across a bridge
Added mod_reference, reference endpoint module
Enhanced build so you can now make commented out modules using "make mod_name"
-- Michael Jerris <mike@jerris.com> Wed, 23 Apr 2008 12:58:00 -0400
freeswitch (1.0~rc3-1) unstable; urgency=low
* Enhance xml menu system
fixes upstream from sofia-sip library
Enhance mod_fifo
added close method to ODBC spidermonkey class
Fix multiple bugs in the cpp wrapper used in mod_java and mod_python
Fix hung sip channel issue using respond app or on re-invite with bypass media after 1xx or 2xx responses
-- Michael Jerris <mike@jerris.com> Wed, 9 Apr 2008 12:58:22 -0400
freeswitch (1.0~rc2-1) unstable; urgency=low
* Fixed speex protocol negotiation issues (8k vs 16k)
Fixed mod_iax race conditions
Fixed ptime negotiation issues when re-packetizing
Added ip based acl lists
*
-- Michael Jerris <mike@jerris.com> Wed, 9 Apr 2008 12:58:22 -0400
freeswitch (1.0~rc1-1) unstable; urgency=low
* loads of fixes
new cdr-csv module
new spidermonkey-curl module
-- Michal Bielicki <michal.bielicki@voiceworks.pl> Mon, 14 Jan 2008 23:37:04 +0100
freeswitch (1.0~beta3-1) unstable; urgency=low
* Additional scripts for changing the user to freeswitch
Added Startup Scripts
Monit integration
Settings file for integration into init
init.d file
added user freeswitch to own and run all off freeswitch
cleaned up config file control
new upstream release
split off codec pakcages
split off spidermonkey packages
-- Michal Bielicki <michal.bielicki@voiceworks.pl> Tue, 27 Nov 2007 13:20:21 +0100
freeswitch (1.0~beta2-1) unstable; urgency=low
* New upstream release
-- Paul van Genderen <paulvg@member.fsf.org> Wed, 17 Oct 2007 19:32:09 +0200
freeswitch (1.0~beta1-1) unstable; urgency=low
* New packages.
-- Robert McQueen <robot101@debian.org> Sun, 12 Nov 2006 17:32:23 -0500
-- Travis Cross <tc@traviscross.com> Sat, 05 May 2012 07:10:14 +0000

2
debian/compat vendored
View File

@ -1 +1 @@
7
8

279
debian/control vendored
View File

@ -1,279 +0,0 @@
Source: freeswitch
Section: comm
Priority: extra
Maintainer: FreeSWITCH developers <freeswitch-dev@lists.freeswitch.org>
Uploaders: Michal Bielicki <michal.bielicki@seventhsignal.pl>, Gabriel Gunderson <gabe@gundy.org>, William King <quentusrex@gmail.com>, Mathieu Parent <sathieu@debian.org>
Build-Depends: debhelper (>= 7), wget, automake (>=1.9), autoconf, libtool,
unixodbc-dev, libasound2-dev, libcurl3-openssl-dev|libcurl4-openssl-dev,
libssl-dev, ncurses-dev, libogg-dev, libvorbis-dev, libperl-dev, libgdbm-dev,
libdb-dev, libgnutls-dev, libtiff4-dev, python-dev, libx11-dev, uuid-dev,
libc6-dev
Homepage: http://freeswitch.org/
Standards-Version: 3.9.1
Vcs-Git: git://git.freeswitch.org/freeswitch.git
Vcs-Browser: http://fisheye.freeswitch.org/browse/freeswitch.git
Package: freeswitch
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: freeswitch-lang-en
Suggests: freeswitch-spidermonkey, freeswitch-lua, freeswitch-perl,
freeswitch-sounds-music-8000, monit, openssl
Description: open source telephony platform
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This is the main package that includes the FreeSWITCH daemon and most modules.
Package: freeswitch-dbg
Section: debug
Architecture: any
Depends: ${misc:Depends}, freeswitch (= ${binary:Version})
Description: debugging symbols for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package includes the debugging symbols useful for debugging FreeSWITCH.
The debugging symbols are used for execution tracing and core dump analysis.
Package: freeswitch-dev
Section: libdevel
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: development libraries and header files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the include files used if you wish to compile a package
which require FreeSWITCH's source file headers.
Package: freeswitch-spidermonkey
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: Javascript engine for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_spidermonkey language module.
Package: freeswitch-perl
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: Perl engine for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_perl language module.
Package: freeswitch-lua
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: Lua engine for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_lua language module.
Package: freeswitch-python
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: Python engine for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_python language module.
Package: freeswitch-codec-passthru-g7231
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: pass through g723.1 codec support for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_g723_1 codec module.
Package: freeswitch-codec-passthru-amr
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: pass through AMR codec support for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_amr codec module.
Package: freeswitch-codec-passthru-amrwb
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: pass through AMRWB codec support for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_amrwb codec module.
Package: freeswitch-codec-passthru-g729
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: pass through g729 codec support for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_g729 codec module.
Package: freeswitch-lang-en
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Recommends: freeswitch-sounds-en-us-callie-8000
Suggests: freeswitch-sounds-en-us-callie-16000, freeswitch-sounds-en-us-callie-32000,
freeswitch-sounds-en-us-callie-48000
Description: English language files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_say_en module and available language
configuration files.
Package: freeswitch-lang-de
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: German language files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_say_de module and available language
configuration files.
Package: freeswitch-lang-fr
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: French language files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_say_fr module and available language
configuration files.
Package: freeswitch-lang-it
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: Italian language files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_say_it module and available language
configuration files.
Package: freeswitch-lang-es
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: Spanish language files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_say_es module and available language
configuration files.
Package: freeswitch-lang-nl
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: Dutch language files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_say_nl module and available language
configuration files.
Package: freeswitch-lang-ru
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Recommends: freeswitch-sounds-ru-ru-elena-8000
Suggests: freeswitch-sounds-ru-ru-elena-16000, freeswitch-sounds-ru-ru-elena-32000,
freeswitch-sounds-ru-ru-elena-48000
Description: Russian language files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_say_ru module and available language
configuration files.
Package: freeswitch-lang-he
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: Hebrew language files for FreeSWITCH
FreeSWITCH is an open source telephony platform designed to facilitate the
creation of voice and chat driven products scaling from a soft-phone up to a
soft-switch. It can be used as a simple switching engine, a PBX, a media
gateway or a media server to host IVR applications using simple scripts or XML
to control the callflow.
.
This package contains the mod_say_he module and available language
configuration files.
Package: freeswitch-freetdm
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, freeswitch
Description: FreeTDM is a signaling and board API abstraction used mainly by the
FreeSWITCH project to place calls in TDM and analog telephony circuits. The library
was previously named "OpenZAP". Sangoma has worked along with the FreeSWITCH
developers in this library so Sangoma's customers can also use it to do custom
development. The library is still under heavy development but the overall API
does not change often. The intention of the library is to present a consistent
API for different telephony signaling stacks and board I/O APIs. FreeTDM can
either be used as a standalone API or along with FreeSWITCH as an endpoint
(mod_freetdm). If you want to use it as a part of FreeSWITCH remember following
the FreeSWITCH configuration section.
This package contains all the freetdm modules and libs and submodules

661
debian/control-modules vendored Normal file
View File

@ -0,0 +1,661 @@
# -*- mode:debian-control -*-
##### Author: Travis Cross <tc@traviscross.com>
## mod/applications
Module: applications/mod_abstraction
Description: Abstraction layer for APIs
This module provides a way to create new API functions via regex
rewriting.
Module: applications/mod_avmd
Description: Advanced voicemail detection
This module attempts to determine when a voicemail system has
answered the call.
Module: applications/mod_blacklist
Description: Blacklist helper
This module provides tools to blacklist callers.
Module: applications/mod_callcenter
Description: Call center
This module implements Automated Call Distribution (ACD) queues.
Module: applications/mod_cidlookup
Description: Caller ID name lookup
This module provides an API for querying caller ID name and location
data.
Module: applications/mod_cluechoo
Description: Clue Choo
This demo module renders a Clue Choo train on the FreeSWITCH console.
Module: applications/mod_commands
Description: Command module
This module provides miscellaneous API commands.
Module: applications/mod_conference
Description: Conference
This module provides multi-party conferencing.
Module: applications/mod_curl
Description: cURL
This module provides an API for making HTTP requests with cURL.
Module: applications/mod_db
Description: DB
This module implements simple db API, group support, and limit db
backend.
Module: applications/mod_directory
Description: Dial by name directory
This module implements a dial-by-name directory IVR.
Module: applications/mod_distributor
Description: Load distributor
This module implements a mechanism for performing load balancing.
Module: applications/mod_dptools
Description: Dialplan tools
This module implements basic dialplan tools.
Module: applications/mod_easyroute
Description: Easyroute
This module does destination lookup based on DID.
Module: applications/mod_enum
Description: ENUM
This module implements ENUM support.
Module: applications/mod_esf
Description: Multicast support
This module adds multi-cast support.
Module: applications/mod_esl
Description: Single ESL
This module adds an API for generating one-off ESL requests.
Module: applications/mod_expr
Description: Expr
This module adds expr support for expression evaluation.
Module: applications/mod_fax
Description: Fax
This module adds fax support provided by Steve Underwood's SpanDSP.
Module: applications/mod_fifo
Description: FIFO
This module adds a first-in first-out queue system.
Module: applications/mod_fsk
Description: Frequency-shift keying
This module adds frequency-shift keying support which can be used to
send and receive caller ID.
Module: applications/mod_fsv
Description: FSV
This module provides dialplan applications for recording and playing
FSV videos.
Module: applications/mod_hash
Description: Hash
This module provides a hash API, a key-value in-memory datastore.
Module: applications/mod_httapi
Description: HT-TAPI Hypertext Telephony API
This module provides an API for controlling the switch by responding
to HTTP requests.
Module: applications/mod_http_cache
Description: HTTP GET with caching
This module provides an API for making HTTP GET requests where the
result is cached.
Module: applications/mod_ladspa
Description: LADSPA
This module provides an API for accessing LADSPA plugins.
Build-Depends: ladspa-sdk
Suggests: tap-plugins, swh-plugins, autotalent
Module: applications/mod_lcr
Description: LCR
This module adds a facility for least-cost routing.
Module: applications/mod_limit
Description: Limit compatibility module
This module provides a backward-compatible interface to the DB limit
system.
Module: applications/mod_memcache
Description: Memcache
This module provides an interface to memcache servers.
Module: applications/mod_mongo
Description: MongoDB
This module provides an interface to MongoDB.
Build-Depends: scons, libboost-dev, libboost-system-dev,
libboost-date-time-dev, libboost-thread-dev, libboost-filesystem-dev
Module: applications/mod_mp4
Section: contrib/comm
Description: MP4 video support
This module adds support for MP4 video playback.
Build-Depends: libmp4v2-dev
Module: applications/mod_nibblebill
Description: Nibblebill
This module allows for real-time accounting of a cash balance and
using that information for call routing.
Module: applications/mod_osp
Description: Open Settlement Protocol
This module adds support for the Open Settlement Protocol (OSP).
Build-Depends: libosptk3-dev
Module: applications/mod_rad_auth
Description: RADIUS AA
This module implements RADIUS Authentication and Authorization.
Module: applications/mod_random
Description: Entropy extraction
This module extracts entropy from FreeSWITCH and feeds it into
/dev/random.
Module: applications/mod_redis
Description: Redis limit backend
This module provides a mechanism to use Redis as a backend data
store.
Module: applications/mod_rss
Description: RSS browser
This module provides an RSS browser.
Module: applications/mod_skel
Description: Framework demo module
This module demonstrates how to build an add-on module.
Module: applications/mod_sms
Description: Astract SMS
This module provides an abstract facility for interfacing with SMS
systems.
Module: applications/mod_snapshot
Description: Snapshot
This module can record a sliding window of audio and take snapshots
to disk.
Module: applications/mod_snipe_hunt
Description: Snipe hunt
This is a framework demo module.
Module: applications/mod_snom
Description: SNOM specific features
This module implements features specific to SNOM phones.
Module: applications/mod_soundtouch
Description: Soundtouch
This module implements example media bugs.
Module: applications/mod_spandsp
Description: SpanDSP
This module implements spandsp fax, dsp, and codec functionality.
Module: applications/mod_spy
Description: UserSpy
This module adds the ability to monitor the audio of a channel.
Module: applications/mod_stress
Description: Voice stress detection
This module attempts to detect voice stress on an audio channel.
Module: applications/mod_valet_parking
Description: Valet parking
This module implements the valet call parking strategy.
Module: applications/mod_vmd
Description: Voicemail detection
This module detects voicemail beeps at any frequency in O(1) time.
Module: applications/mod_voicemail
Description: Voicemail
This module provides a voicemail system.
Module: applications/mod_voicemail_ivr
Description: Voicemail IVR
This module provides an extensible voicemail IVR system.
## mod/asr_tts
Module: asr_tts/mod_cepstral
Description: mod_cepstral
Adds mod_cepstral.
Module: asr_tts/mod_flite
Description: mod_flite
Adds mod_flite.
Module: asr_tts/mod_pocketsphinx
Description: mod_pocketsphinx
Adds mod_pocketsphinx.
Module: asr_tts/mod_tts_commandline
Description: mod_tts_commandline
Adds mod_tts_commandline.
Module: asr_tts/mod_unimrcp
Description: mod_unimrcp
Adds mod_unimrcp.
## mod/codecs
Module: codecs/mod_amr
Description: mod_amr
Adds mod_amr.
Module: codecs/mod_amrwb
Description: mod_amrwb
Adds mod_amrwb.
Module: codecs/mod_bv
Description: mod_bv
Adds mod_bv.
Module: codecs/mod_celt
Description: mod_celt
Adds mod_celt.
Module: codecs/mod_codec2
Description: mod_codec2
Adds mod_codec2.
Module: codecs/mod_com_g729
Description: mod_com_g729
Adds mod_com_g729.
Module: codecs/mod_dahdi_codec
Description: mod_dahdi_codec
Adds mod_dahdi_codec.
Module: codecs/mod_g723_1
Description: mod_g723_1
Adds mod_g723_1.
Module: codecs/mod_g729
Description: mod_g729
Adds mod_g729.
Module: codecs/mod_h26x
Description: mod_h26x
Adds mod_h26x.
Module: codecs/mod_ilbc
Section: non-free/comm
Description: mod_ilbc
Adds mod_ilbc.
Module: codecs/mod_isac
Description: mod_isac
Adds mod_isac.
Module: codecs/mod_mp4v
Description: mod_mp4v
Adds mod_mp4v.
Module: codecs/mod_opus
Description: mod_opus
Adds mod_opus.
Module: codecs/mod_sangoma_codec
Description: mod_sangoma_codec
Adds mod_sangoma_codec.
Module: codecs/mod_silk
Description: mod_silk
Adds mod_silk.
Module: codecs/mod_siren
Section: non-free/comm
Description: mod_siren
Adds mod_siren.
Module: codecs/mod_skel_codec
Description: mod_skel_codec
Adds mod_skel_codec.
Module: codecs/mod_speex
Description: mod_speex
Adds mod_speex.
Build-Depends: libogg-dev
Module: codecs/mod_theora
Description: mod_theora
Adds mod_theora.
Module: codecs/mod_voipcodecs
Description: mod_voipcodecs
Adds mod_voipcodecs.
## mod/dialplans
Module: dialplans/mod_dialplan_asterisk
Description: mod_dialplan_asterisk
Adds mod_dialplan_asterisk.
Module: dialplans/mod_dialplan_directory
Description: mod_dialplan_directory
Adds mod_dialplan_directory.
Module: dialplans/mod_dialplan_xml
Description: mod_dialplan_xml
Adds mod_dialplan_xml.
## mod/directories
Module: directories/mod_ldap
Description: mod_ldap
Adds mod_ldap.
## mod/endpoints
Module: endpoints/mod_alsa
Description: mod_alsa
Adds mod_alsa.
Build-Depends: libasound2-dev
Module: endpoints/mod_dingaling
Description: mod_dingaling
Adds mod_dingaling.
Module: endpoints/mod_gsmopen
Description: mod_gsmopen
Adds mod_gsmopen.
Build-Depends: libx11-dev
Module: endpoints/mod_h323
Description: mod_h323
Adds mod_h323.
Build-Depends: libopenh323-dev, libpt-dev
Module: endpoints/mod_khomp
Description: mod_khomp
Adds mod_khomp.
Module: endpoints/mod_loopback
Description: mod_loopback
Adds mod_loopback.
Module: endpoints/mod_opal
Description: mod_opal
Adds mod_opal.
Module: endpoints/mod_portaudio
Description: mod_portaudio
Adds mod_portaudio.
Module: endpoints/mod_reference
Description: mod_reference
Adds mod_reference.
Module: endpoints/mod_rtmp
Description: mod_rtmp
Adds mod_rtmp.
Module: endpoints/mod_skinny
Description: mod_skinny
Adds mod_skinny.
Module: endpoints/mod_skypopen
Description: mod_skypopen
Adds mod_skypopen.
Build-Depends: libx11-dev
Module: endpoints/mod_sofia
Description: mod_sofia
Adds mod_sofia.
Module: endpoints/mod_unicall
Description: mod_unicall
Adds mod_unicall.
## mod/event_handlers
Module: event_handlers/mod_cdr_csv
Description: mod_cdr_csv
Adds mod_cdr_csv.
Module: event_handlers/mod_cdr_mongodb
Description: mod_cdr_mongodb
Adds mod_cdr_mongodb.
Module: event_handlers/mod_cdr_pg_csv
Description: mod_cdr_pg_csv
Adds mod_cdr_pg_csv.
Build-Depends: libpq-dev
Module: event_handlers/mod_cdr_sqlite
Description: mod_cdr_sqlite
Adds mod_cdr_sqlite.
Module: event_handlers/mod_erlang_event
Description: mod_erlang_event
Adds mod_erlang_event.
Build-Depends: erlang-dev
Module: event_handlers/mod_event_multicast
Description: mod_event_multicast
Adds mod_event_multicast.
Build-Depends: libssl-dev
Module: event_handlers/mod_event_socket
Description: mod_event_socket
Adds mod_event_socket.
Module: event_handlers/mod_event_test
Description: mod_event_test
Adds mod_event_test.
Module: event_handlers/mod_event_zmq
Description: mod_event_zmq
Adds mod_event_zmq.
Module: event_handlers/mod_json_cdr
Description: mod_json_cdr
Adds mod_json_cdr.
Module: event_handlers/mod_radius_cdr
Description: mod_radius_cdr
Adds mod_radius_cdr.
Module: event_handlers/mod_snmp
Description: mod_snmp
Adds mod_snmp.
Build-Depends: libsnmp-dev
## mod/formats
Module: formats/mod_local_stream
Description: mod_local_stream
Adds mod_local_stream.
Module: formats/mod_native_file
Description: mod_native_file
Adds mod_native_file.
Module: formats/mod_portaudio_stream
Description: mod_portaudio_stream
Adds mod_portaudio_stream.
Module: formats/mod_shell_stream
Description: mod_shell_stream
Adds mod_shell_stream.
Module: formats/mod_shout
Description: mod_shout
Adds mod_shout.
Build-Depends: libogg-dev, libvorbis-dev
Module: formats/mod_sndfile
Description: mod_sndfile
Adds mod_sndfile.
Module: formats/mod_tone_stream
Description: mod_tone_stream
Adds mod_tone_stream.
Module: formats/mod_vlc
Description: VLC streaming
This module provides VLC streaming.
Build-Depends: libvlc-dev (>= 2.0.0)
Distro-Conflicts: squeeze
## mod/languages
Module: languages/mod_java
Description: mod_java
Adds mod_java.
Build-Depends: default-jdk, gcj-jdk
Module: languages/mod_lua
Description: mod_lua
Adds mod_lua.
Module: languages/mod_managed
Description: mod_managed
Adds mod_managed.
Build-Depends: libmono-2.0-dev, mono-gmcs
Module: languages/mod_perl
Description: mod_perl
Adds mod_perl.
Build-Depends: libperl-dev
Module: languages/mod_python
Description: mod_python
Adds mod_python.
Build-Depends: python-dev
Module: languages/mod_spidermonkey
Description: mod_spidermonkey
Adds mod_spidermonkey.
Build-Depends: unixodbc-dev
Module: languages/mod_yaml
Description: mod_yaml
Adds mod_yaml.
Build-Depends: libyaml-dev
## mod/loggers
Module: loggers/mod_console
Description: mod_console
Adds mod_console.
Module: loggers/mod_logfile
Description: mod_logfile
Adds mod_logfile.
Module: loggers/mod_syslog
Description: mod_syslog
Adds mod_syslog.
## mod/say
Module: say/mod_say_de
Description: mod_say_de
Adds mod_say_de.
Module: say/mod_say_en
Description: mod_say_en
Adds mod_say_en.
Module: say/mod_say_es
Description: mod_say_es
Adds mod_say_es.
Module: say/mod_say_fa
Description: mod_say_fa
Adds mod_say_fa.
Module: say/mod_say_fr
Description: mod_say_fr
Adds mod_say_fr.
Module: say/mod_say_he
Description: mod_say_he
Adds mod_say_he.
Module: say/mod_say_hr
Description: mod_say_hr
Adds mod_say_hr.
Module: say/mod_say_hu
Description: mod_say_hu
Adds mod_say_hu.
Module: say/mod_say_it
Description: mod_say_it
Adds mod_say_it.
Module: say/mod_say_ja
Description: mod_say_ja
Adds mod_say_ja.
Module: say/mod_say_nl
Description: mod_say_nl
Adds mod_say_nl.
Module: say/mod_say_pt
Description: mod_say_pt
Adds mod_say_pt.
Module: say/mod_say_ru
Description: mod_say_ru
Adds mod_say_ru.
Module: say/mod_say_th
Description: mod_say_th
Adds mod_say_th.
Module: say/mod_say_zh
Description: mod_say_zh
Adds mod_say_zh.
## mod/sdk
Module: sdk/autotools
Description: autotools
Adds autotools.
## mod/timers
Module: timers/mod_posix_timer
Description: mod_posix_timer
Adds mod_posix_timer.
Module: timers/mod_timerfd
Description: mod_timerfd
Adds mod_timerfd.
## mod/xml_int
Module: xml_int/mod_xml_cdr
Description: mod_xml_cdr
Adds mod_xml_cdr.
Module: xml_int/mod_xml_curl
Description: mod_xml_curl
Adds mod_xml_curl.
Module: xml_int/mod_xml_ldap
Description: mod_xml_ldap
Adds mod_xml_ldap.
Build-Depends: libsasl2-dev
Module: xml_int/mod_xml_rpc
Description: mod_xml_rpc
Adds mod_xml_rpc.
Module: xml_int/mod_xml_scgi
Description: mod_xml_scgi
Adds mod_xml_scgi.

1549
debian/copyright vendored

File diff suppressed because it is too large Load Diff

5
debian/dirs vendored
View File

@ -1,5 +0,0 @@
opt/freeswitch/log
opt/freeswitch/db
opt/freeswitch/bin/scripts
etc/monit

View File

View File

@ -1 +0,0 @@
opt/freeswitch/mod/mod_amr.so*

View File

@ -1 +0,0 @@
opt/freeswitch/mod/mod_amrwb.so*

View File

@ -1 +0,0 @@
opt/freeswitch/mod/mod_g723_1.so*

View File

@ -1 +0,0 @@
opt/freeswitch/mod/mod_g729.so*

View File

@ -1,5 +0,0 @@
opt/freeswitch/include/*
opt/freeswitch/lib/*.a
opt/freeswitch/lib/*.la
opt/freeswitch/mod/*.a
opt/freeswitch/mod/*.la

1
debian/freeswitch-doc.docs vendored Normal file
View File

@ -0,0 +1 @@
#DOCS#

1
debian/freeswitch-doc.install vendored Normal file
View File

@ -0,0 +1 @@
#DOCS#

View File

@ -1,6 +0,0 @@
opt/freeswitch/conf/tones.conf
opt/freeswitch/conf/autoload_configs/freetdm.conf.xml
opt/freeswitch/conf/pika.conf
opt/freeswitch/conf/freetdm.conf
opt/freeswitch/conf/wanpipe.conf
opt/freeswitch/conf/zt.conf

View File

@ -1,10 +0,0 @@
opt/freeswitch/conf/tones.conf
opt/freeswitch/conf/autoload_configs/freetdm.conf.xml
opt/freeswitch/conf/pika.conf
opt/freeswitch/conf/freetdm.conf
opt/freeswitch/conf/wanpipe.conf
opt/freeswitch/conf/zt.conf
opt/freeswitch/lib/libfreetdm.so*
opt/freeswitch/mod/mod_freetdm.so*
opt/freeswitch/mod/ftm*.so*

View File

@ -1,4 +0,0 @@
/opt/freeswitch/conf/lang/de/demo/demo.xml
/opt/freeswitch/conf/lang/de/de.xml
/opt/freeswitch/conf/lang/de/vm/tts.xml
/opt/freeswitch/conf/lang/de/vm/sounds.xml

View File

@ -1,5 +0,0 @@
opt/freeswitch/conf/lang/de/demo/demo.xml
opt/freeswitch/conf/lang/de/de.xml
opt/freeswitch/conf/lang/de/vm/tts.xml
/opt/freeswitch/conf/lang/de/vm/sounds.xml
opt/freeswitch/mod/mod_say_de.so*

View File

@ -1,7 +0,0 @@
/opt/freeswitch/conf/lang/en/demo/demo-ivr.xml
/opt/freeswitch/conf/lang/en/demo/demo.xml
/opt/freeswitch/conf/lang/en/dir/sounds.xml
/opt/freeswitch/conf/lang/en/dir/tts.xml
/opt/freeswitch/conf/lang/en/en.xml
/opt/freeswitch/conf/lang/en/vm/sounds.xml
/opt/freeswitch/conf/lang/en/vm/tts.xml

View File

@ -1,8 +0,0 @@
opt/freeswitch/conf/lang/en/demo/demo-ivr.xml
opt/freeswitch/conf/lang/en/demo/demo.xml
opt/freeswitch/conf/lang/en/dir/sounds.xml
opt/freeswitch/conf/lang/en/dir/tts.xml
opt/freeswitch/conf/lang/en/en.xml
opt/freeswitch/conf/lang/en/vm/sounds.xml
opt/freeswitch/conf/lang/en/vm/tts.xml
opt/freeswitch/mod/mod_say_en.so*

View File

@ -1 +0,0 @@
opt/freeswitch/mod/mod_say_es.so*

View File

@ -1,5 +0,0 @@
/opt/freeswitch/conf/lang/fr/fr.xml
/opt/freeswitch/conf/lang/fr/demo/demo.xml
/opt/freeswitch/conf/lang/fr/dir/sounds.xml
/opt/freeswitch/conf/lang/fr/dir/tts.xml
/opt/freeswitch/conf/lang/fr/vm/sounds.xml

View File

@ -1,6 +0,0 @@
opt/freeswitch/conf/lang/fr/fr.xml
opt/freeswitch/conf/lang/fr/demo/demo.xml
opt/freeswitch/conf/lang/fr/dir/sounds.xml
opt/freeswitch/conf/lang/fr/dir/tts.xml
opt/freeswitch/conf/lang/fr/vm/sounds.xml
opt/freeswitch/mod/mod_say_fr.so*

View File

@ -1,5 +0,0 @@
/opt/freeswitch/conf/lang/he/demo/demo-ivr.xml
/opt/freeswitch/conf/lang/he/demo/demo.xml
/opt/freeswitch/conf/lang/he/dir/sounds.xml
/opt/freeswitch/conf/lang/he/he.xml
/opt/freeswitch/conf/lang/he/vm/sounds.xml

View File

@ -1,6 +0,0 @@
opt/freeswitch/conf/lang/he/demo/demo-ivr.xml
opt/freeswitch/conf/lang/he/demo/demo.xml
opt/freeswitch/conf/lang/he/dir/sounds.xml
opt/freeswitch/conf/lang/he/he.xml
opt/freeswitch/conf/lang/he/vm/sounds.xml
opt/freeswitch/mod/mod_say_he.so*

View File

@ -1 +0,0 @@
opt/freeswitch/mod/mod_say_it.so*

View File

@ -1 +0,0 @@
opt/freeswitch/mod/mod_say_nl.so*

View File

@ -1,7 +0,0 @@
/opt/freeswitch/conf/lang/ru/demo/demo-ivr.xml
/opt/freeswitch/conf/lang/ru/demo/demo.xml
/opt/freeswitch/conf/lang/ru/dir/sounds.xml
/opt/freeswitch/conf/lang/ru/dir/tts.xml
/opt/freeswitch/conf/lang/ru/ru.xml
/opt/freeswitch/conf/lang/ru/vm/sounds.xml
/opt/freeswitch/conf/lang/ru/vm/tts.xml

View File

@ -1,8 +0,0 @@
opt/freeswitch/conf/lang/ru/demo/demo-ivr.xml
opt/freeswitch/conf/lang/ru/demo/demo.xml
opt/freeswitch/conf/lang/ru/dir/sounds.xml
opt/freeswitch/conf/lang/ru/dir/tts.xml
opt/freeswitch/conf/lang/ru/ru.xml
opt/freeswitch/conf/lang/ru/vm/sounds.xml
opt/freeswitch/conf/lang/ru/vm/tts.xml
opt/freeswitch/mod/mod_say_ru.so*

View File

@ -1 +0,0 @@
/opt/freeswitch/conf/autoload_configs/lua.conf.xml

View File

@ -1,2 +0,0 @@
opt/freeswitch/conf/autoload_configs/lua.conf.xml
opt/freeswitch/mod/mod_lua.so*

View File

@ -0,0 +1 @@
/usr/share/freeswitch/scripts/freeswitch.jar

View File

@ -0,0 +1 @@
/usr/share/freeswitch/grammar

View File

@ -1 +0,0 @@
/opt/freeswitch/conf/autoload_configs/perl.conf.xml

View File

@ -1,3 +0,0 @@
opt/freeswitch/conf/autoload_configs/perl.conf.xml
opt/freeswitch/mod/mod_perl.so*
opt/freeswitch/perl/*

View File

@ -1 +0,0 @@
opt/freeswitch/conf/autoload_configs/python.conf.xml

View File

@ -1,5 +0,0 @@
opt/freeswitch/conf/autoload_configs/python.conf.xml
opt/freeswitch/mod/mod_python.so*
usr/lib/python2.*/*-packages/freeswitch.py*
usr/lib/python2.*/*-packages/ESL.py*
usr/lib/python2.*/*-packages/_ESL.so*

View File

@ -1 +0,0 @@
/opt/freeswitch/conf/autoload_configs/spidermonkey.conf.xml

View File

@ -1,6 +0,0 @@
opt/freeswitch/conf/autoload_configs/spidermonkey.conf.xml
opt/freeswitch/lib/libjs.so*
opt/freeswitch/lib/libnspr4.so*
opt/freeswitch/lib/libplc4.so*
opt/freeswitch/lib/libplds4.so*
opt/freeswitch/mod/mod_spidermonkey*.so*

View File

@ -0,0 +1,35 @@
;;;;; Author: Travis Cross <tc@traviscross.com>
[Unit]
Description=freeswitch
After=syslog.target network.target local-fs.target
[Service]
; service
Type=forking
PIDFile=/run/freeswitch/freeswitch.pid
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /run/freeswitch
ExecStartPre=/bin/chown freeswitch:freeswitch /run/freeswitch
ExecStart=/usr/bin/freeswitch -nc -nonat
TimeoutSec=45s
Restart=always
; exec
WorkingDirectory=/run/freeswitch
User=freeswitch
Group=freeswitch
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=60000
LimitSTACK=240
LimitRTPRIO=infinity
LimitRTTIME=7000000
IOSchedulingClass=realtime
IOSchedulingPriority=2
CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
UMask=0007
[Install]
WantedBy=multi-user.target

1
debian/freeswitch-systemd.install vendored Normal file
View File

@ -0,0 +1 @@
/lib/systemd/system/freeswitch.service

View File

@ -0,0 +1,2 @@
# /etc/default/freeswitch
DAEMON_OPTS=""

View File

@ -0,0 +1,116 @@
#!/bin/sh
### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
### BEGIN INIT INFO
# Provides: freeswitch
# Required-Start: $network $remote_fs $local_fs
# Required-Stop: $network $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: FreeSWITCH Softswitch
# Description: FreeSWITCH Softswitch
### END INIT INFO
# Author: Travis Cross <tc@traviscross.com>
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=freeswitch
NAME=freeswitch
DAEMON=/usr/bin/freeswitch
DAEMON_ARGS="-u freeswitch -g freeswitch -rp -nc -nonat"
USER=freeswitch
PIDFILE=/var/run/$NAME/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKDIR=/var/lib/$NAME
[ -x $DAEMON ] || exit 0
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start() {
start-stop-daemon --start --quiet \
--pidfile $PIDFILE --exec $DAEMON --name $NAME --user $USER \
--test > /dev/null \
|| return 1
ulimit -s 240
start-stop-daemon --start --quiet \
--pidfile $PIDFILE --exec $DAEMON --name $NAME --user $USER \
--chdir $WORKDIR -- $DAEMON_ARGS $DAEMON_OPTS \
|| return 2
return 0
}
stop_fs() {
start-stop-daemon --stop --quiet \
--pidfile $PIDFILE --name $NAME --user $USER \
--retry=TERM/30/KILL/5
}
stop_fs_children() {
start-stop-daemon --stop --quiet \
--exec $DAEMON \
--oknodo --retry=0/30/KILL/5
}
do_stop() {
stop_fs
RETVAL="$?"
[ "$RETVAL" -eq 2 ] && return 2
stop_fs_children
[ "$?" -eq 2 ] && return 2
rm -f $PIDFILE
return "$RETVAL"
}
do_reload() {
start-stop-daemon --stop --quiet \
--pidfile $PIDFILE --name $NAME --user $USER \
--signal HUP
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
reload|force-reload)
log_daemon_msg "Reloading $DESC" "$NAME"
do_reload
log_end_msg $?
;;
restart)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1|*) log_end_msg 1 ;;
esac
;;
*) log_end_msg 1 ;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac
exit 0

View File

@ -1,98 +0,0 @@
/opt/freeswitch/conf/autoload_configs/acl.conf.xml
/opt/freeswitch/conf/autoload_configs/alsa.conf.xml
/opt/freeswitch/conf/autoload_configs/callcenter.conf.xml
/opt/freeswitch/conf/autoload_configs/cdr_csv.conf.xml
/opt/freeswitch/conf/autoload_configs/cidlookup.conf.xml
/opt/freeswitch/conf/autoload_configs/conference.conf.xml
/opt/freeswitch/conf/autoload_configs/console.conf.xml
/opt/freeswitch/conf/autoload_configs/db.conf.xml
/opt/freeswitch/conf/autoload_configs/dialplan_directory.conf.xml
/opt/freeswitch/conf/autoload_configs/dingaling.conf.xml
/opt/freeswitch/conf/autoload_configs/directory.conf.xml
/opt/freeswitch/conf/autoload_configs/easyroute.conf.xml
/opt/freeswitch/conf/autoload_configs/enum.conf.xml
/opt/freeswitch/conf/autoload_configs/event_multicast.conf.xml
/opt/freeswitch/conf/autoload_configs/event_socket.conf.xml
/opt/freeswitch/conf/autoload_configs/fax.conf.xml
/opt/freeswitch/conf/autoload_configs/fifo.conf.xml
/opt/freeswitch/conf/autoload_configs/ivr.conf.xml
/opt/freeswitch/conf/autoload_configs/java.conf.xml
/opt/freeswitch/conf/autoload_configs/lcr.conf.xml
/opt/freeswitch/conf/autoload_configs/local_stream.conf.xml
/opt/freeswitch/conf/autoload_configs/logfile.conf.xml
/opt/freeswitch/conf/autoload_configs/memcache.conf.xml
/opt/freeswitch/conf/autoload_configs/modules.conf.xml
/opt/freeswitch/conf/autoload_configs/mongo.conf.xml
/opt/freeswitch/conf/autoload_configs/nibblebill.conf.xml
/opt/freeswitch/conf/autoload_configs/opal.conf.xml
/opt/freeswitch/conf/autoload_configs/pocketsphinx.conf.xml
/opt/freeswitch/conf/autoload_configs/portaudio.conf.xml
/opt/freeswitch/conf/autoload_configs/post_load_modules.conf.xml
/opt/freeswitch/conf/autoload_configs/rss.conf.xml
/opt/freeswitch/conf/autoload_configs/shout.conf.xml
/opt/freeswitch/conf/autoload_configs/skinny.conf.xml
/opt/freeswitch/conf/autoload_configs/sofia.conf.xml
/opt/freeswitch/conf/autoload_configs/switch.conf.xml
/opt/freeswitch/conf/autoload_configs/syslog.conf.xml
/opt/freeswitch/conf/autoload_configs/timezones.conf.xml
/opt/freeswitch/conf/autoload_configs/tts_commandline.conf.xml
/opt/freeswitch/conf/autoload_configs/unicall.conf.xml
/opt/freeswitch/conf/autoload_configs/voicemail.conf.xml
/opt/freeswitch/conf/autoload_configs/xml_cdr.conf.xml
/opt/freeswitch/conf/autoload_configs/xml_curl.conf.xml
/opt/freeswitch/conf/autoload_configs/xml_rpc.conf.xml
/opt/freeswitch/conf/autoload_configs/zeroconf.conf.xml
/opt/freeswitch/conf/dialplan/default/00_pizza_demo.xml
/opt/freeswitch/conf/dialplan/default/01_example.com.xml
/opt/freeswitch/conf/dialplan/default.xml
/opt/freeswitch/conf/dialplan/features.xml
/opt/freeswitch/conf/dialplan/public/00_inbound_did.xml
/opt/freeswitch/conf/dialplan/public.xml
/opt/freeswitch/conf/dialplan/skinny-patterns/20-Demo.xml
/opt/freeswitch/conf/dialplan/skinny-patterns/99-Default_Drop.xml
/opt/freeswitch/conf/dialplan/skinny-patterns/20-Local_extension.xml
/opt/freeswitch/conf/dialplan/skinny-patterns/90-External.xml
/opt/freeswitch/conf/dialplan/skinny-patterns.xml
/opt/freeswitch/conf/directory/default/1000.xml
/opt/freeswitch/conf/directory/default/1001.xml
/opt/freeswitch/conf/directory/default/1002.xml
/opt/freeswitch/conf/directory/default/1003.xml
/opt/freeswitch/conf/directory/default/1004.xml
/opt/freeswitch/conf/directory/default/1005.xml
/opt/freeswitch/conf/directory/default/1006.xml
/opt/freeswitch/conf/directory/default/1007.xml
/opt/freeswitch/conf/directory/default/1008.xml
/opt/freeswitch/conf/directory/default/1009.xml
/opt/freeswitch/conf/directory/default/1010.xml
/opt/freeswitch/conf/directory/default/1011.xml
/opt/freeswitch/conf/directory/default/1012.xml
/opt/freeswitch/conf/directory/default/1013.xml
/opt/freeswitch/conf/directory/default/1014.xml
/opt/freeswitch/conf/directory/default/1015.xml
/opt/freeswitch/conf/directory/default/1016.xml
/opt/freeswitch/conf/directory/default/1017.xml
/opt/freeswitch/conf/directory/default/1018.xml
/opt/freeswitch/conf/directory/default/1019.xml
/opt/freeswitch/conf/directory/default/brian.xml
/opt/freeswitch/conf/directory/default/default.xml
/opt/freeswitch/conf/directory/default/example.com.xml
/opt/freeswitch/conf/directory/default/skinny-example.xml
/opt/freeswitch/conf/directory/default.xml
/opt/freeswitch/conf/extensions.conf
/opt/freeswitch/conf/freeswitch.xml
/opt/freeswitch/conf/fur_elise.ttml
/opt/freeswitch/conf/ivr_menus/demo_ivr.xml
/opt/freeswitch/conf/jingle_profiles/client.xml
/opt/freeswitch/conf/jingle_profiles/server.xml
/opt/freeswitch/conf/mime.types
/opt/freeswitch/conf/notify-voicemail.tpl
/opt/freeswitch/conf/sip_profiles/external/example.xml
/opt/freeswitch/conf/sip_profiles/external.xml
/opt/freeswitch/conf/sip_profiles/internal/example.xml
/opt/freeswitch/conf/sip_profiles/internal-ipv6.xml
/opt/freeswitch/conf/sip_profiles/internal.xml
/opt/freeswitch/conf/skinny_profiles/internal.xml
/opt/freeswitch/conf/tetris.ttml
/opt/freeswitch/conf/vars.xml
/opt/freeswitch/conf/voicemail.tpl
/opt/freeswitch/conf/web-vm.tpl

View File

@ -1,11 +0,0 @@
# Startup settings for FreeSWITCH
# Enable initd (let init handle start and stop of freeswitch).
# Set to "true" (lowercase) to enable.
FREESWITCH_ENABLED="false"
# The parameters Freeswitch should be started with
FREESWITCH_PARAMS="-nc"

182
debian/freeswitch.init vendored
View File

@ -1,182 +0,0 @@
#! /bin/sh
### BEGIN INIT INFO
# Provides: freeswitch
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: The FreeSWITCH Voice Switching System
# Description: An advanced platform for voice services
### END INIT INFO
# Author: Anthony Minesalle II <anthm@freeswitch.org>
#
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/opt/freeswitch/bin
DESC="FreeSWITCH Voice Switching System"
NAME=freeswitch
DAEMON=/opt/freeswitch/bin/$NAME
USER=freeswitch
PIDFILE=/opt/freeswitch/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKDIR=/opt/$NAME
# Check if we are being executed by init
CALLEDSCRIPT=`basename $0`
if [ -r /etc/default/$NAME ]; then . /etc/default/$NAME; fi
if [ "$FREESWITCH_ENABLED" != "true" ]; then
echo "$DESC not enabled yet. Edit /etc/default/$NAME first."
exit 0 ;
fi
# Exit if the package is not installed
# [ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that sets ulimit values for the daemon
#
do_setlimits() {
ulimit -c unlimited
ulimit -d unlimited
ulimit -f unlimited
# ulimit -i unlimited
ulimit -n 999999
# ulimit -q unlimited
# ulimit -u unlimited
ulimit -v unlimited
# ulimit -x unlimited
ulimit -s 240
ulimit -l unlimited
return 0
}
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon -d $WORKDIR -c $USER --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
do_setlimits
start-stop-daemon -d $WORKDIR -c $USER --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$FREESWITCH_PARAMS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
$DAEMON -stop
start-stop-daemon -d $WORKDIR -c $USER --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon -d $WORKDIR -c $USER --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon -c $USER --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
log_daemon_msg "Reloading $DESC" "$NAME"
do_reload
log_end_msg $?
;;
restart)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
#echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac

View File

@ -1,171 +1 @@
opt/freeswitch/bin/freeswitch
opt/freeswitch/bin/fs_cli
opt/freeswitch/bin/fs_encode
opt/freeswitch/bin/fs_ivrd
opt/freeswitch/bin/fsxs
opt/freeswitch/bin/gentls_cert
opt/freeswitch/conf/autoload_configs/acl.conf.xml
opt/freeswitch/conf/autoload_configs/alsa.conf.xml
opt/freeswitch/conf/autoload_configs/callcenter.conf.xml
opt/freeswitch/conf/autoload_configs/cdr_csv.conf.xml
opt/freeswitch/conf/autoload_configs/cidlookup.conf.xml
opt/freeswitch/conf/autoload_configs/conference.conf.xml
opt/freeswitch/conf/autoload_configs/console.conf.xml
opt/freeswitch/conf/autoload_configs/db.conf.xml
opt/freeswitch/conf/autoload_configs/dialplan_directory.conf.xml
opt/freeswitch/conf/autoload_configs/dingaling.conf.xml
opt/freeswitch/conf/autoload_configs/directory.conf.xml
opt/freeswitch/conf/autoload_configs/easyroute.conf.xml
opt/freeswitch/conf/autoload_configs/enum.conf.xml
opt/freeswitch/conf/autoload_configs/event_multicast.conf.xml
opt/freeswitch/conf/autoload_configs/event_socket.conf.xml
opt/freeswitch/conf/autoload_configs/fax.conf.xml
opt/freeswitch/conf/autoload_configs/spandsp.conf.xml
opt/freeswitch/conf/autoload_configs/fifo.conf.xml
opt/freeswitch/conf/autoload_configs/ivr.conf.xml
opt/freeswitch/conf/autoload_configs/java.conf.xml
opt/freeswitch/conf/autoload_configs/lcr.conf.xml
opt/freeswitch/conf/autoload_configs/local_stream.conf.xml
opt/freeswitch/conf/autoload_configs/logfile.conf.xml
opt/freeswitch/conf/autoload_configs/memcache.conf.xml
opt/freeswitch/conf/autoload_configs/modules.conf.xml
opt/freeswitch/conf/autoload_configs/mongo.conf.xml
opt/freeswitch/conf/autoload_configs/nibblebill.conf.xml
opt/freeswitch/conf/autoload_configs/opal.conf.xml
opt/freeswitch/conf/autoload_configs/pocketsphinx.conf.xml
opt/freeswitch/conf/autoload_configs/portaudio.conf.xml
opt/freeswitch/conf/autoload_configs/post_load_modules.conf.xml
opt/freeswitch/conf/autoload_configs/rss.conf.xml
opt/freeswitch/conf/autoload_configs/shout.conf.xml
opt/freeswitch/conf/autoload_configs/skinny.conf.xml
opt/freeswitch/conf/autoload_configs/sofia.conf.xml
opt/freeswitch/conf/autoload_configs/switch.conf.xml
opt/freeswitch/conf/autoload_configs/syslog.conf.xml
opt/freeswitch/conf/autoload_configs/timezones.conf.xml
opt/freeswitch/conf/autoload_configs/tts_commandline.conf.xml
opt/freeswitch/conf/autoload_configs/unicall.conf.xml
opt/freeswitch/conf/autoload_configs/voicemail.conf.xml
opt/freeswitch/conf/autoload_configs/xml_cdr.conf.xml
opt/freeswitch/conf/autoload_configs/xml_curl.conf.xml
opt/freeswitch/conf/autoload_configs/xml_rpc.conf.xml
opt/freeswitch/conf/autoload_configs/zeroconf.conf.xml
opt/freeswitch/conf/dialplan/default/00_pizza_demo.xml
opt/freeswitch/conf/dialplan/default/01_example.com.xml
opt/freeswitch/conf/dialplan/default.xml
opt/freeswitch/conf/dialplan/features.xml
opt/freeswitch/conf/dialplan/public/00_inbound_did.xml
opt/freeswitch/conf/dialplan/public.xml
opt/freeswitch/conf/dialplan/skinny-patterns/20-Demo.xml
opt/freeswitch/conf/dialplan/skinny-patterns/99-Default_Drop.xml
opt/freeswitch/conf/dialplan/skinny-patterns/20-Local_extension.xml
opt/freeswitch/conf/dialplan/skinny-patterns/90-External.xml
opt/freeswitch/conf/dialplan/skinny-patterns.xml
opt/freeswitch/conf/directory/default/1000.xml
opt/freeswitch/conf/directory/default/1001.xml
opt/freeswitch/conf/directory/default/1002.xml
opt/freeswitch/conf/directory/default/1003.xml
opt/freeswitch/conf/directory/default/1004.xml
opt/freeswitch/conf/directory/default/1005.xml
opt/freeswitch/conf/directory/default/1006.xml
opt/freeswitch/conf/directory/default/1007.xml
opt/freeswitch/conf/directory/default/1008.xml
opt/freeswitch/conf/directory/default/1009.xml
opt/freeswitch/conf/directory/default/1010.xml
opt/freeswitch/conf/directory/default/1011.xml
opt/freeswitch/conf/directory/default/1012.xml
opt/freeswitch/conf/directory/default/1013.xml
opt/freeswitch/conf/directory/default/1014.xml
opt/freeswitch/conf/directory/default/1015.xml
opt/freeswitch/conf/directory/default/1016.xml
opt/freeswitch/conf/directory/default/1017.xml
opt/freeswitch/conf/directory/default/1018.xml
opt/freeswitch/conf/directory/default/1019.xml
opt/freeswitch/conf/directory/default/brian.xml
opt/freeswitch/conf/directory/default/default.xml
opt/freeswitch/conf/directory/default/example.com.xml
opt/freeswitch/conf/directory/default/skinny-example.xml
opt/freeswitch/conf/directory/default.xml
opt/freeswitch/conf/extensions.conf
opt/freeswitch/conf/freeswitch.xml
opt/freeswitch/conf/fur_elise.ttml
opt/freeswitch/conf/ivr_menus/demo_ivr.xml
opt/freeswitch/conf/jingle_profiles/client.xml
opt/freeswitch/conf/jingle_profiles/server.xml
opt/freeswitch/conf/mime.types
opt/freeswitch/conf/notify-voicemail.tpl
opt/freeswitch/conf/sip_profiles/external/example.xml
opt/freeswitch/conf/sip_profiles/external.xml
opt/freeswitch/conf/sip_profiles/internal/example.xml
opt/freeswitch/conf/sip_profiles/internal-ipv6.xml
opt/freeswitch/conf/sip_profiles/internal.xml
opt/freeswitch/conf/skinny_profiles/internal.xml
opt/freeswitch/conf/tetris.ttml
opt/freeswitch/conf/vars.xml
opt/freeswitch/conf/voicemail.tpl
opt/freeswitch/conf/web-vm.tpl
opt/freeswitch/htdocs/*
opt/freeswitch/lib/libfreeswitch*.so*
opt/freeswitch/mod/mod_avmd.so*
opt/freeswitch/mod/mod_bv.so*
opt/freeswitch/mod/mod_callcenter.so*
opt/freeswitch/mod/mod_cdr_csv.so*
opt/freeswitch/mod/mod_celt.so*
opt/freeswitch/mod/mod_cidlookup.so*
opt/freeswitch/mod/mod_cluechoo.so*
opt/freeswitch/mod/mod_console.so*
opt/freeswitch/mod/mod_codec2.so*
opt/freeswitch/mod/mod_commands.so*
opt/freeswitch/mod/mod_conference.so*
opt/freeswitch/mod/mod_console.so*
opt/freeswitch/mod/mod_curl.so*
opt/freeswitch/mod/mod_db.so*
opt/freeswitch/mod/mod_dialplan*.so*
opt/freeswitch/mod/mod_dingaling.so*
opt/freeswitch/mod/mod_directory.so*
opt/freeswitch/mod/mod_distributor.so*
opt/freeswitch/mod/mod_dptools.so*
opt/freeswitch/mod/mod_easyroute.so*
opt/freeswitch/mod/mod_enum.so*
opt/freeswitch/mod/mod_esf.so*
opt/freeswitch/mod/mod_event_*.so*
opt/freeswitch/mod/mod_expr.so*
opt/freeswitch/mod/mod_fifo.so*
opt/freeswitch/mod/mod_flite.so*
opt/freeswitch/mod/mod_fsv.so*
opt/freeswitch/mod/mod_hash.so*
opt/freeswitch/mod/mod_h26x.so*
opt/freeswitch/mod/mod_ilbc.so*
opt/freeswitch/mod/mod_lcr.so*
opt/freeswitch/mod/mod_limit.so*
opt/freeswitch/mod/mod_local_stream.so*
opt/freeswitch/mod/mod_logfile.so*
opt/freeswitch/mod/mod_loopback.so*
opt/freeswitch/mod/mod_memcache.so*
opt/freeswitch/mod/mod_mp4v.so*
opt/freeswitch/mod/mod_native_file.so*
opt/freeswitch/mod/mod_nibblebill.so*
opt/freeswitch/mod/mod_portaudio.so*
opt/freeswitch/mod/mod_portaudio_stream.so*
opt/freeswitch/mod/mod_redis.so*
opt/freeswitch/mod/mod_rss.so*
opt/freeswitch/mod/mod_shout.so*
opt/freeswitch/mod/mod_silk.so*
opt/freeswitch/mod/mod_siren.so*
opt/freeswitch/mod/mod_skinny.so*
opt/freeswitch/mod/mod_skypopen.so*
opt/freeswitch/mod/mod_sndfile.so*
opt/freeswitch/mod/mod_snom.so*
opt/freeswitch/mod/mod_cdr_sqlite.so*
opt/freeswitch/mod/mod_sofia.so*
opt/freeswitch/mod/mod_spandsp.so*
opt/freeswitch/mod/mod_speex.so*
opt/freeswitch/mod/mod_spy.so*
opt/freeswitch/mod/mod_syslog.so*
opt/freeswitch/mod/mod_theora.so*
opt/freeswitch/mod/mod_timerfd.so*
opt/freeswitch/mod/mod_tone_stream.so*
opt/freeswitch/mod/mod_tts_commandline.so*
opt/freeswitch/mod/mod_valet_parking.so*
opt/freeswitch/mod/mod_vmd.so*
opt/freeswitch/mod/mod_voicemail.so*
opt/freeswitch/mod/mod_xml_*.so*
/usr/bin

39
debian/freeswitch.postinst vendored Normal file
View File

@ -0,0 +1,39 @@
#!/bin/sh
set -e
case "$1" in
configure)
if ! getent group freeswitch >/dev/null; then
groupadd --system freeswitch
fi
if ! getent passwd freeswitch >/dev/null; then
useradd --system -g freeswitch -Gaudio \
-d /var/run/freeswitch \
-s /bin/false \
-e '' \
-c 'FreeSWITCH' \
freeswitch
fi
for x in \
/var/lib/freeswitch \
/var/lib/freeswitch/db \
/var/lib/freeswitch/recordings \
/var/lib/freeswitch/storage \
/var/log/freeswitch \
/var/run/freeswitch;
do
mkdir -p $x
chown -R freeswitch:freeswitch $x
chmod -R o-rwx,g+u $x
done
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

29
debian/freeswitch.postrm vendored Normal file
View File

@ -0,0 +1,29 @@
#!/bin/sh
set -e
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
if [ "$1" = "purge" ]; then
if getent passwd freeswitch >/dev/null; then
userdel freeswitch
fi
if getent group freeswitch >/dev/null; then
groupdel freeswitch
fi
for x in \
/var/lib/freeswitch \
/var/log/freeswitch \
/var/run/freeswitch;
do
rm -rf $x
done
fi
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

19
debian/freeswitch.preinst vendored Normal file
View File

@ -0,0 +1,19 @@
#!/bin/sh
set -e
case "$1" in
install|upgrade)
if [ -d /opt/freeswitch ]; then
echo "It looks like you have FreeSWITCH installed manually." >&2
fi
;;
abort-upgrade)
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

19
debian/freeswitch.prerm vendored Normal file
View File

@ -0,0 +1,19 @@
#!/bin/sh
set -e
case "$1" in
remove|upgrade|deconfigure)
if [ -d /etc/freeswitch ]; then
echo "We're about to remove a configured FreeSWITCH..." >&2
fi
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

12
debian/gbp.conf vendored Normal file
View File

@ -0,0 +1,12 @@
# git-buildpackage
[git-buildpackage]
verbose=True
ignore-branch=True
ignore-new=True
upstream-branch=master
debian-branch=master
upstream-tree=branch
tag=False
compression=xz
compression-level=9ev
builder=debuild --prepend-path=/usr/lib/ccache -eFS_* -eCCACHE_* -i\.git -I.git -Zxz -z9

4
debian/libfreeswitch-dev.install vendored Normal file
View File

@ -0,0 +1,4 @@
/usr/include
/usr/lib/libfreeswitch.so
/usr/lib/*.a
/usr/lib/pkgconfig

1
debian/libfreeswitch1.install vendored Normal file
View File

@ -0,0 +1 @@
/usr/lib/libfreeswitch.so.*

View File

@ -1,22 +0,0 @@
.TH "FREESWITCH" "1" "October 10, 2007" "" ""
.nh
.ad l
.SH "NAME"
freeswitch \- Open Source telephony platform
.SH "SYNOPSIS"
.HP 7
\fBfreeswitch\fR [\fIoption\fR...]
.SH "DESCRIPTION"
.PP
This manual page documents briefly the
\fBfreeswitch\fR
command.
.PP
This manual page was written for the
Debian
distribution because we're too lame to write a real manual page. But we have a superb website over here:
.UR http://www.freeswitch.org/
.BR http://www.freeswitch.org/
.SH "SEE ALSO"
.PP
\fBundocumented\fR(7).

View File

@ -1,25 +0,0 @@
check process freeswitch with pidfile /opt/freeswitch/run/freeswitch.pid
group voice
start program = "/etc/init.d/freeswitch start"
stop program = "/etc/init.d/freeswitch stop"
# Checks sip port on localhost, not wlways suitable
# if failed port 5060 type UDP then restart
# Checks mod_event_socket on localhost. Maybe more suitable
if failed port 8021 type TCP then restart
if 5 restarts within 5 cycles then timeout
depends on freeswitch_bin
depends on freeswitch_rc
check file freeswitch_bin with path /opt/freeswitch/bin/freeswitch
group voice
if failed checksum then unmonitor
if failed permission 750 then unmonitor
if failed uid freeswitch then unmonitor
# if failed gid daemon then unmonitor
check file freeswitch_rc with path /etc/init.d/freeswitch
group voice
if failed checksum then unmonitor
if failed permission 755 then unmonitor
if failed uid root then unmonitor
if failed gid root then unmonitor

60
debian/postinst vendored
View File

@ -1,60 +0,0 @@
#! /bin/sh
# set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
case "$1" in
configure)
if ! getent passwd freeswitch >/dev/null; then
adduser --disabled-password --quiet --system \
--home /opt/freeswitch \
--gecos "FreeSWITCH Voice Platform" --ingroup daemon \
freeswitch
adduser freeswitch audio
else
if [ "$(getent passwd freeswitch | cut -d : -f 6)" != "/opt/freeswitch" ]; then
echo "Error: pre-existing freeswitch user with non-standard home directory." >&2
exit 1
fi
usermod -d /opt/freeswitch -c "FreeSWITCH daemon,,," \
-g daemon -G audio freeswitch
fi
mkdir -p /opt/freeswitch
chown -R freeswitch:daemon /opt/freeswitch/
chmod -R o-rwx /opt/freeswitch/
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

Some files were not shown because too many files have changed in this diff Show More