[commit] r8393 - in freeswitch/branches/lukedashjr/syslibs: freeswitch freeswitch/build freeswitch/conf freeswitch/conf/autoload_configs freeswitch/conf/dialplan freeswitch/conf/directory freeswitch/conf/directory/default freeswitch/conf/lang/en/vm freeswitch/conf/sip_profiles freeswitch/debian freeswitch/docs freeswitch/scripts freeswitch/scripts/contrib/intralanman/javascript freeswitch/scripts/contrib/verifier freeswitch/scripts/contrib/verifier/EventSocket freeswitch/scripts/contri
Author: lukedashjr Date: Tue May 13 22:16:21 2008 New Revision: 8393 Added: freeswitch/branches/lukedashjr/syslibs/freeswitch/build/swigall.sh - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/build/swigall.sh freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/autoload_configs/lua.conf.xml - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/conf/autoload_configs/lua.conf.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/autoload_configs/perl.conf.xml - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/conf/autoload_configs/perl.conf.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/build_freeswitch_svn - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/build_freeswitch_svn freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/intralanman/javascript/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/intralanman/javascript/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/intralanman/javascript/cnam.js - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/intralanman/javascript/cnam.js freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Call.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Call.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/CallManager.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/CallManager.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/CallStateEvent.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/CallStateEvent.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/EventWatcher.csproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/EventWatcher.csproj freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Extension.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Extension.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.Designer.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.Designer.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.resx - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.resx freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/LabelTextBox.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/LabelTextBox.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Program.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Program.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/AssemblyInfo.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/AssemblyInfo.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Resources.Designer.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Resources.Designer.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Resources.resx - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Resources.resx freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Settings.Designer.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Settings.Designer.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Settings.settings - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Settings.settings freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ReadMePlease.txt - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ReadMePlease.txt freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/EventSocket.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/EventSocket.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/FreeSwitch.EventSocket.Test.csproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/FreeSwitch.EventSocket.Test.csproj freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/ParserTest.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/ParserTest.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Program.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Program.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties/AssemblyInfo.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties/AssemblyInfo.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.sln - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.sln freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/ChannelEvent.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/ChannelEvent.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelAnswer.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelAnswer.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelApplication.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelApplication.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelBridge.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelBridge.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelCreate.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelCreate.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelDestroy.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelDestroy.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelExecute.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelExecute.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelExecuteComplete.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelExecuteComplete.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelHangup.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelHangup.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelOriginate.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelOriginate.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelOutgoing.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelOutgoing.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelProgress.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelProgress.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelState.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelState.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelUnbridge.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelUnbridge.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelUnpark.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelUnpark.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventCodec.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventCodec.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventDtmf.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventDtmf.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventDtmfStatus.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventDtmfStatus.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelInfo.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelInfo.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/AnyCommand.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/AnyCommand.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Api.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Api.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/AuthCommand.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/AuthCommand.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/CmdBase.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/CmdBase.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/CommandReply.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/CommandReply.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ExecuteJavascript.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ExecuteJavascript.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/GetVariable.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/GetVariable.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/HoldCmd.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/HoldCmd.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Originate.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Originate.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ParkCmd.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ParkCmd.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Playback.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Playback.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/RecordCmd.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/RecordCmd.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendEventCmd.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendEventCmd.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendMsg.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendMsg.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SetVariable.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SetVariable.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SleepCmd.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SleepCmd.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/TransferCmd.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/TransferCmd.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventManager.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventManager.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventParser.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventParser.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventSocket.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventSocket.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventSocket.pfx - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventSocket.pfx freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventApiCommand.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventApiCommand.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventBase.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventBase.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventHeartbeat.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventHeartbeat.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventMessageQuery.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventMessageQuery.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventMessageWaiting.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventMessageWaiting.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventReSchedule.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventReSchedule.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/FreeSwitch.EventSocket.csproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/FreeSwitch.EventSocket.csproj freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/Address.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/Address.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/ChannelVariable.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/ChannelVariable.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/SipAddress.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/SipAddress.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/SofiaSipAddress.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/SofiaSipAddress.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/DtmfEventArgs.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/DtmfEventArgs.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/IvrInterface.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/IvrInterface.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/IvrQueue.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/IvrQueue.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/PrivateWaitDtmf.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/PrivateWaitDtmf.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/PartyInfo.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/PartyInfo.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/PlainEventMsg.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/PlainEventMsg.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Program.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Program.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties/AssemblyInfo.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties/AssemblyInfo.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresence.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresence.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceIn.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceIn.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceOut.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceOut.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceProbe.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceProbe.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventRoster.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventRoster.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventSofiaExpire.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventSofiaExpire.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventSofiaRegister.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventSofiaRegister.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/SipEvent.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/SipEvent.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/StringHelper.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/StringHelper.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/StringParser.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/StringParser.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/IvrSocket.csproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/IvrSocket.csproj freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Program.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Program.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties/AssemblyInfo.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties/AssemblyInfo.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Voicemail.cs - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Voicemail.cs freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/extract_log_range.pl - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/extract_log_range.pl freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/lua/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/lua/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/lua/helloworld.lua - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/lua/helloworld.lua freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/lua/mwi_event.lua - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/lua/mwi_event.lua freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/lua/originate.lua - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/lua/originate.lua freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/perl/ - copied from r8392, /freeswitch/tags/1.0.rc4/scripts/perl/ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/perl/mwi_event.pl - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/perl/mwi_event.pl freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/perl/originate.pl - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/scripts/perl/originate.pl freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_reference/ - copied from r8392, /freeswitch/tags/1.0.rc4/src/mod/endpoints/mod_reference/ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_reference/Makefile - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/endpoints/mod_reference/Makefile freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_reference/mod_reference.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/endpoints/mod_reference/mod_reference.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/ (props changed) - copied from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/Makefile - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/Makefile freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/freeswitch.i - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/freeswitch.i freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/freeswitch_lua.cpp - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/freeswitch_lua.cpp freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/freeswitch_lua.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/freeswitch_lua.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/hack.diff - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/hack.diff freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ - copied from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua-mode.el - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua-mode.el freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/Makefile - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/Makefile freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lapi.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lapi.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lapi.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lapi.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lauxlib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lauxlib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lauxlib.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lauxlib.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lbaselib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lbaselib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lcode.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lcode.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lcode.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lcode.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ldblib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ldblib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ldebug.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ldebug.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ldebug.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ldebug.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ldo.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ldo.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ldo.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ldo.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ldump.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ldump.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lfunc.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lfunc.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lfunc.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lfunc.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lgc.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lgc.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lgc.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lgc.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/linit.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/linit.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/liolib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/liolib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/llex.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/llex.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/llex.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/llex.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/llimits.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/llimits.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lmathlib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lmathlib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lmem.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lmem.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lmem.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lmem.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/loadlib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/loadlib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lobject.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lobject.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lobject.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lobject.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lopcodes.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lopcodes.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lopcodes.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lopcodes.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/loslib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/loslib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lparser.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lparser.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lparser.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lparser.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lstate.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lstate.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lstate.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lstate.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lstring.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lstring.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lstring.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lstring.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lstrlib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lstrlib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ltable.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ltable.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ltable.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ltable.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ltablib.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ltablib.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ltm.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ltm.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/ltm.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/ltm.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lua.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lua.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lua.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lua.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/luac.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/luac.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/luaconf.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/luaconf.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lualib.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lualib.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lundump.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lundump.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lundump.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lundump.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lvm.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lvm.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lvm.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lvm.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lzio.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lzio.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/lzio.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/lzio.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/lua/print.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/lua/print.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/mod_lua.2008.vcproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/mod_lua.2008.vcproj freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/mod_lua.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/mod_lua.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/mod_lua.vcproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/mod_lua.vcproj freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/mod_lua_extra.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/mod_lua_extra.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/mod_lua_extra.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/mod_lua_extra.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/mod_lua_wrap.cpp - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/mod_lua_wrap.cpp freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_lua/my_swigable_cpp.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_lua/my_swigable_cpp.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/ - copied from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/Makefile - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/Makefile freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/compiler.opts - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/compiler.opts freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/compiler.opts.in - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/compiler.opts.in freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/freeswitch.i - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/freeswitch.i freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/freeswitch.pm - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/freeswitch.pm freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/freeswitch_perl.cpp - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/freeswitch_perl.cpp freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/freeswitch_perl.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/freeswitch_perl.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/hack.diff - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/hack.diff freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/mod_perl.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/mod_perl.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/mod_perl.vcproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/mod_perl.vcproj freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/mod_perl_extra.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/mod_perl_extra.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/mod_perl_extra.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/mod_perl_extra.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/mod_perl_wrap.cpp - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/mod_perl_wrap.cpp freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/perlibs.h - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/perlibs.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/perlibs.h.in - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/perlibs.h.in freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_perl/perlxsi.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_perl/perlxsi.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/Makefile.in - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/languages/mod_python/Makefile.in freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/say/mod_say_zh/ - copied from r8392, /freeswitch/tags/1.0.rc4/src/mod/say/mod_say_zh/ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/say/mod_say_zh/mod_say_zh.2008.vcproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/say/mod_say_zh/mod_say_zh.2008.vcproj freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/say/mod_say_zh/mod_say_zh.c - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/say/mod_say_zh/mod_say_zh.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/say/mod_say_zh/mod_say_zh.vcproj - copied unchanged from r8392, /freeswitch/tags/1.0.rc4/src/mod/say/mod_say_zh/mod_say_zh.vcproj Removed: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/Makefile Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/Freeswitch.2008.sln freeswitch/branches/lukedashjr/syslibs/freeswitch/Freeswitch.sln freeswitch/branches/lukedashjr/syslibs/freeswitch/Makefile.am freeswitch/branches/lukedashjr/syslibs/freeswitch/build/modules.conf.in freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/autoload_configs/conference.conf.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/dialplan/default.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/directory/default.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/directory/default/brian.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/lang/en/vm/sounds.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/default.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/nat.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/outbound.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/vars.xml freeswitch/branches/lukedashjr/syslibs/freeswitch/configure.in freeswitch/branches/lukedashjr/syslibs/freeswitch/debian/changelog freeswitch/branches/lukedashjr/syslibs/freeswitch/debian/files freeswitch/branches/lukedashjr/syslibs/freeswitch/docs/AUTHORS freeswitch/branches/lukedashjr/syslibs/freeswitch/docs/ChangeLog freeswitch/branches/lukedashjr/syslibs/freeswitch/freeswitch.spec freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/socket/freepy/fseventlistener.py freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_core.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_cpp.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_ivr.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_platform.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_types.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/Makefile.am freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/applications/mod_commands/mod_commands.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/applications/mod_dptools/mod_dptools.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/asr_tts/mod_openmrcp/mod_openmrcp.2008.vcproj freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/codecs/mod_amr/mod_amr.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia_glue.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia_reg.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/mod_java.i freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/CoreSession.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/JavaSession.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_JavaVM.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_state_t.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_t.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_core_session_t.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_args_t.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_type_t.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_status_t.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_void.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/input_callback_state_t.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/session_flag_t.java freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/switch_swig_wrap.cpp freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch.py freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch_python.cpp freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch_python.h freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python.i freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python_wrap.cpp freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_console.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_io.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_rwlock.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_sqldb.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_cpp.cpp freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_event.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_bridge.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_menu.c freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_play_say.c freeswitch/branches/lukedashjr/syslibs/freeswitch/w32/Library/FreeSwitchCore.2008.vcproj freeswitch/branches/lukedashjr/syslibs/freeswitch/w32/Library/FreeSwitchCore.vcproj freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/.update freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c freeswitch/branches/lukedashjr/syslibs/libs/voipcodecs/src/lpc10_decode.c freeswitch/branches/lukedashjr/syslibs/libs/voipcodecs/src/oki_adpcm.c Log: MERGE to: http://svn.freeswitch.org/svn/freeswitch/tags/1.0.rc4@8392 Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/Freeswitch.2008.sln ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/Freeswitch.2008.sln (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/Freeswitch.2008.sln Tue May 13 22:16:21 2008 @@ -866,6 +866,11 @@ {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_lua", "src\mod\languages\mod_lua\mod_lua.2008.vcproj", "{7B077E7F-1BE7-4291-AB86-55E527B25CAC}" + ProjectSection(ProjectDependencies) = postProject + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -1446,6 +1451,12 @@ {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|Win32.ActiveCfg = Release|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|Win32.Build.0 = Release|Win32 {36E854E3-CE12-4348-A125-CCF3F9D74813}.Release|x64.ActiveCfg = Release|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.ActiveCfg = Debug|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.Build.0 = Debug|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|x64.ActiveCfg = Debug|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.ActiveCfg = Release|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.Build.0 = Release|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1493,6 +1504,7 @@ {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF} = {0C808854-54D1-4230-BFF5-77B5FD905000} {028C7278-05D7-4E18-82FE-BE231B844F41} = {0C808854-54D1-4230-BFF5-77B5FD905000} {36E854E3-CE12-4348-A125-CCF3F9D74813} = {0C808854-54D1-4230-BFF5-77B5FD905000} + {7B077E7F-1BE7-4291-AB86-55E527B25CAC} = {0C808854-54D1-4230-BFF5-77B5FD905000} {692F6330-4D87-4C82-81DF-40DB5892636E} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0} {E7116F50-2B10-472F-92BD-C8667AA9C1AE} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0} {1C453396-D912-4213-89FD-9B489162B7B5} = {A7AB4405-FDB7-4853-9FBB-1516B1C3D80A} Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/Freeswitch.sln ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/Freeswitch.sln (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/Freeswitch.sln Tue May 13 22:16:21 2008 @@ -3,20 +3,20 @@ # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchConsole", "w32\Console\FreeSwitchConsole.vcproj", "{1AF3A893-F7BE-43DD-B697-8AB2397C0D67}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchCoreLib", "w32\Library\FreeSwitchCore.vcproj", "{202D7A4E-760D-4D0E-AFA1-D7459CED30FF}" ProjectSection(ProjectDependencies) = postProject - {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} - {101130D1-3EA6-4ED2-B65D-CEB5243A20ED} = {101130D1-3EA6-4ED2-B65D-CEB5243A20ED} - {EEF031CB-FED8-451E-A471-91EC8D4F6750} = {EEF031CB-FED8-451E-A471-91EC8D4F6750} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} - {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} - {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9} {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} + {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9} + {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} + {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {EEF031CB-FED8-451E-A471-91EC8D4F6750} = {EEF031CB-FED8-451E-A471-91EC8D4F6750} + {101130D1-3EA6-4ED2-B65D-CEB5243A20ED} = {101130D1-3EA6-4ED2-B65D-CEB5243A20ED} + {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_g729", "src\mod\codecs\mod_g729\mod_g729.vcproj", "{1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}" @@ -26,35 +26,35 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_sndfile", "src\mod\formats\mod_sndfile\mod_sndfile.vcproj", "{AFAC0568-7548-42D5-9F6A-8D3400A1E4F6}" ProjectSection(ProjectDependencies) = postProject - {3D0370CA-BED2-4657-A475-32375CBCB6E4} = {3D0370CA-BED2-4657-A475-32375CBCB6E4} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {3D0370CA-BED2-4657-A475-32375CBCB6E4} = {3D0370CA-BED2-4657-A475-32375CBCB6E4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_iax", "src\mod\endpoints\mod_iax\mod_iax.vcproj", "{3A5B9131-F20C-4A85-9447-6C1610941CEE}" ProjectSection(ProjectDependencies) = postProject - {5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E} = {5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E} = {5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_PortAudio", "src\mod\endpoints\mod_portaudio\mod_PortAudio.vcproj", "{5FD31A25-5D83-4794-8BEE-904DAD84CE71}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {0A18A071-125E-442F-AFF7-A3F68ABECF99} = {0A18A071-125E-442F-AFF7-A3F68ABECF99} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {0A18A071-125E-442F-AFF7-A3F68ABECF99} = {0A18A071-125E-442F-AFF7-A3F68ABECF99} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_speex", "src\mod\codecs\mod_speex\mod_speex.vcproj", "{5580D60E-0F77-4716-9CD4-B8E5986FA375}" ProjectSection(ProjectDependencies) = postProject - {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {1C469CDD-A3AF-4A94-A592-B2CF12F2D918} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_woomera", "src\mod\endpoints\mod_woomera\mod_woomera.vcproj", "{FE3540C5-3303-46E0-A69E-D92F775687F1}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Codecs", "Codecs", "{F881ADA2-2F1A-4046-9FEB-191D9422D781}" @@ -75,8 +75,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_dialplan_xml", "src\mod\dialplans\mod_dialplan_xml\mod_dialplan_xml.vcproj", "{07113B25-D3AF-4E04-BA77-4CD1171F022C}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "FreeSwitchSetup", "w32\Setup\Setup.vdproj", "{B17FFBE6-A942-4056-8346-B624FB5D995B}" @@ -90,22 +90,22 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_dialplan_directory", "src\mod\dialplans\mod_dialplan_directory\mod_dialplan_directory.vcproj", "{A27CCA23-1541-4337-81A4-F0A6413078A0}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_zeroconf", "src\mod\event_handlers\mod_zeroconf\mod_zeroconf.vcproj", "{C7705DC4-2088-493E-AF8D-65BC6D65C125}" ProjectSection(ProjectDependencies) = postProject - {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} = {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {49C34584-B6DA-448F-83CF-27584DC9FC90} = {49C34584-B6DA-448F-83CF-27584DC9FC90} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {49C34584-B6DA-448F-83CF-27584DC9FC90} = {49C34584-B6DA-448F-83CF-27584DC9FC90} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} = {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_event_multicast", "src\mod\event_handlers\mod_event_multicast\mod_event_multicast.vcproj", "{784113EF-44D9-4949-835D-7065D3C7AD08}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libteletone", "libs\libteletone\libteletone.vcproj", "{89385C74-5860-4174-9CAF-A39E7C48909C}" @@ -114,10 +114,10 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey", "src\mod\languages\mod_spidermonkey\mod_spidermonkey.vcproj", "{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}" ProjectSection(ProjectDependencies) = postProject - {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} - {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} + {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ASR-TTS", "ASR-TTS", "{4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0}" @@ -129,22 +129,22 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_ilbc", "src\mod\codecs\mod_ilbc\mod_ilbc.vcproj", "{D3EC0AFF-76FC-4210-A825-9A17410660A3}" ProjectSection(ProjectDependencies) = postProject - {989BB874-7AF1-44CB-8E5C-CC8113D267E8} = {989BB874-7AF1-44CB-8E5C-CC8113D267E8} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {989BB874-7AF1-44CB-8E5C-CC8113D267E8} = {989BB874-7AF1-44CB-8E5C-CC8113D267E8} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_dingaling", "src\mod\endpoints\mod_dingaling\mod_dingaling.vcproj", "{FFAA4C52-3A53-4F99-90C1-D59D1F0427F3}" ProjectSection(ProjectDependencies) = postProject - {E727E8F6-935D-46FE-8B0E-37834748A0E3} = {E727E8F6-935D-46FE-8B0E-37834748A0E3} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {1906D736-08BD-4EE1-924F-B536249B9A54} = {1906D736-08BD-4EE1-924F-B536249B9A54} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {E727E8F6-935D-46FE-8B0E-37834748A0E3} = {E727E8F6-935D-46FE-8B0E-37834748A0E3} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_commands", "src\mod\applications\mod_commands\mod_commands.vcproj", "{30A5B29C-983E-4580-9FD0-D647CCDCC7EB}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Loggers", "Loggers", "{A7AB4405-FDB7-4853-9FBB-1516B1C3D80A}" @@ -158,35 +158,35 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_xml_rpc", "src\mod\xml_int\mod_xml_rpc\mod_xml_rpc.vcproj", "{CBEC7225-0C21-4DA8-978E-1F158F8AD950}" ProjectSection(ProjectDependencies) = postProject - {155844C3-EC5F-407F-97A4-A2DDADED9B2F} = {155844C3-EC5F-407F-97A4-A2DDADED9B2F} - {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} - {A3FE0076-B366-429D-A238-D7304DA7D3C1} = {A3FE0076-B366-429D-A238-D7304DA7D3C1} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {356EC96D-4C9F-47B5-9083-FC328B87BA94} = {356EC96D-4C9F-47B5-9083-FC328B87BA94} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {A3FE0076-B366-429D-A238-D7304DA7D3C1} = {A3FE0076-B366-429D-A238-D7304DA7D3C1} + {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} + {155844C3-EC5F-407F-97A4-A2DDADED9B2F} = {155844C3-EC5F-407F-97A4-A2DDADED9B2F} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_rss", "src\mod\applications\mod_rss\mod_rss.vcproj", "{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_conference", "src\mod\applications\mod_conference\mod_conference.vcproj", "{C24FB505-05D7-4319-8485-7540B44C8603}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_dptools", "src\mod\applications\mod_dptools\mod_dptools.vcproj", "{B5881A85-FE70-4F64-8607-2CAAE52669C6}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_event_socket", "src\mod\event_handlers\mod_event_socket\mod_event_socket.vcproj", "{05515420-16DE-4E63-BE73-85BE85BA5142}" ProjectSection(ProjectDependencies) = postProject - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Libraries", "_Libraries", "{EB910B0D-F27D-4B62-B67B-DE834C99AC5B}" @@ -197,8 +197,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdingaling", "libs\libdingaling\libdingaling.vcproj", "{1906D736-08BD-4EE1-924F-B536249B9A54}" ProjectSection(ProjectDependencies) = postProject - {E727E8F6-935D-46FE-8B0E-37834748A0E3} = {E727E8F6-935D-46FE-8B0E-37834748A0E3} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} + {E727E8F6-935D-46FE-8B0E-37834748A0E3} = {E727E8F6-935D-46FE-8B0E-37834748A0E3} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsrtp", "libs\srtp\libsrtp.vcproj", "{EEF031CB-FED8-451E-A471-91EC8D4F6750}" @@ -223,8 +223,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libaprutil", "libs\win32\apr-util\libaprutil.vcproj", "{F057DA7F-79E5-4B00-845C-EF446EF055E3}" ProjectSection(ProjectDependencies) = postProject - {101130D1-3EA6-4ED2-B65D-CEB5243A20ED} = {101130D1-3EA6-4ED2-B65D-CEB5243A20ED} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {101130D1-3EA6-4ED2-B65D-CEB5243A20ED} = {101130D1-3EA6-4ED2-B65D-CEB5243A20ED} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Downloads", "_Downloads", "{C120A020-773F-4EA3-923F-B67AF28B750D}" @@ -242,8 +242,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mDNSResponder static library", "libs\win32\howl\libmDNSResponder.vcproj", "{49C34584-B6DA-448F-83CF-27584DC9FC90}" ProjectSection(ProjectDependencies) = postProject - {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} = {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} {5927104D-C14C-4AC8-925C-4AB681762E75} = {5927104D-C14C-4AC8-925C-4AB681762E75} + {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} = {0D826AF5-0506-4C50-BB8B-7DB019AC21AE} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsndfile", "libs\win32\libsndfile\libsndfile.vcproj", "{3D0370CA-BED2-4657-A475-32375CBCB6E4}" @@ -263,16 +263,16 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_sofia", "src\mod\endpoints\mod_sofia\mod_sofia.vcproj", "{0DF3ABD0-DDC0-4265-B778-07C66780979B}" ProjectSection(ProjectDependencies) = postProject - {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4} = {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsofia_sip_ua_static", "libs\win32\sofia\libsofia_sip_ua_static.vcproj", "{70A49BC2-7500-41D0-B75D-EDCC5BE987A0}" ProjectSection(ProjectDependencies) = postProject - {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4} = {DF018947-0FFF-4EB3-BDEE-441DC81DA7A4} + {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download PTHREAD", "libs\win32\Download PTHREAD.vcproj", "{8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A}" @@ -284,70 +284,70 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_g723_1", "src\mod\codecs\mod_g723_1\mod_g723_1.vcproj", "{FEA1EEF7-876F-48DE-88BF-C0E3E606D758}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_native_file", "src\mod\formats\mod_native_file\mod_native_file.vcproj", "{9254C4B0-6F60-42B6-BB3A-36D63FC001C7}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey_core_db", "src\mod\languages\mod_spidermonkey_core_db\mod_spidermonkey_core_db.vcproj", "{ACFFF684-4D19-4D48-AF12-88EA1D778BDF}" ProjectSection(ProjectDependencies) = postProject - {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey_teletone", "src\mod\languages\mod_spidermonkey_teletone\mod_spidermonkey_teletone.vcproj", "{8F992C49-6C51-412F-B2A3-34EAB708EB65}" ProjectSection(ProjectDependencies) = postProject - {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libudns", "libs\win32\udns\libudns.vcproj", "{4043FC6A-9A30-4577-8AD5-9B233C9575D8}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_enum", "src\mod\applications\mod_enum\mod_enum.vcproj", "{71A967D5-0E99-4CEF-A587-98836EE6F2EF}" ProjectSection(ProjectDependencies) = postProject - {4043FC6A-9A30-4577-8AD5-9B233C9575D8} = {4043FC6A-9A30-4577-8AD5-9B233C9575D8} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {4043FC6A-9A30-4577-8AD5-9B233C9575D8} = {4043FC6A-9A30-4577-8AD5-9B233C9575D8} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey_odbc", "src\mod\languages\mod_spidermonkey_odbc\mod_spidermonkey_odbc.vcproj", "{0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}" ProjectSection(ProjectDependencies) = postProject - {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_xml_curl", "src\mod\xml_int\mod_xml_curl\mod_xml_curl.vcproj", "{AB91A099-7690-4ECF-8994-E458F4EA1ED4}" ProjectSection(ProjectDependencies) = postProject - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "say", "say", "{6CD61A1D-797C-470A-BE08-8C31B68BB336}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_say_en", "src\mod\say\mod_say_en\mod_say_en.vcproj", "{988CACF7-3FCB-4992-BE69-77872AE67DC8}" ProjectSection(ProjectDependencies) = postProject - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portaudio", "libs\portaudio\build\msvc\portaudio.vcproj", "{0A18A071-125E-442F-AFF7-A3F68ABECF99}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_xml_cdr", "src\mod\xml_int\mod_xml_cdr\mod_xml_cdr.vcproj", "{08DAD348-9E0A-4A2E-97F1-F1E7E24A7836}" ProjectSection(ProjectDependencies) = postProject - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_amr", "src\mod\codecs\mod_amr\mod_amr.vcproj", "{8DEB383C-4091-4F42-A56F-C9E46D552D79}" @@ -420,16 +420,16 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mrcpcore", "libs\openmrcp\mrcpcore\mrcpcore.vcproj", "{829A9309-3B94-43C0-846B-7EC9D6D35F8B}" ProjectSection(ProjectDependencies) = postProject - {AA91F0AC-6562-435E-814C-5C94689FEFA2} = {AA91F0AC-6562-435E-814C-5C94689FEFA2} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {AA91F0AC-6562-435E-814C-5C94689FEFA2} = {AA91F0AC-6562-435E-814C-5C94689FEFA2} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rtspcore", "libs\openmrcp\rtspcore\rtspcore.vcproj", "{EB751DC4-87BD-4766-B78D-DFB64BA9F988}" ProjectSection(ProjectDependencies) = postProject - {829A9309-3B94-43C0-846B-7EC9D6D35F8B} = {829A9309-3B94-43C0-846B-7EC9D6D35F8B} - {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} + {829A9309-3B94-43C0-846B-7EC9D6D35F8B} = {829A9309-3B94-43C0-846B-7EC9D6D35F8B} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mrcpmediaframe", "libs\openmrcp\module\mrcpmediaframe\mrcpmediaframe.vcproj", "{9EA22C31-BB7E-4C40-A698-2C6792D1E0C6}" @@ -446,8 +446,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mrcpsofiasip", "libs\openmrcp\module\mrcpsofiasip\mrcpsofiasip.vcproj", "{819C7242-6184-46FE-BC7B-C7E25C0581EE}" ProjectSection(ProjectDependencies) = postProject - {829A9309-3B94-43C0-846B-7EC9D6D35F8B} = {829A9309-3B94-43C0-846B-7EC9D6D35F8B} {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} + {829A9309-3B94-43C0-846B-7EC9D6D35F8B} = {829A9309-3B94-43C0-846B-7EC9D6D35F8B} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mrcpv2agent", "libs\openmrcp\module\mrcpv2agent\mrcpv2agent.vcproj", "{FB64EA08-3BC0-48AE-BE4B-74F1024B756E}" @@ -457,27 +457,27 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libopenmrcpclient", "libs\openmrcp\platform\libopenmrcpclient\libopenmrcpclient.vcproj", "{A407B661-D7DC-4E30-B268-FFF3296C35E6}" ProjectSection(ProjectDependencies) = postProject - {FB64EA08-3BC0-48AE-BE4B-74F1024B756E} = {FB64EA08-3BC0-48AE-BE4B-74F1024B756E} - {9EA22C31-BB7E-4C40-A698-2C6792D1E0C6} = {9EA22C31-BB7E-4C40-A698-2C6792D1E0C6} - {819C7242-6184-46FE-BC7B-C7E25C0581EE} = {819C7242-6184-46FE-BC7B-C7E25C0581EE} {CF78E84D-8456-44F2-8197-0E0E88D30A3C} = {CF78E84D-8456-44F2-8197-0E0E88D30A3C} + {819C7242-6184-46FE-BC7B-C7E25C0581EE} = {819C7242-6184-46FE-BC7B-C7E25C0581EE} + {9EA22C31-BB7E-4C40-A698-2C6792D1E0C6} = {9EA22C31-BB7E-4C40-A698-2C6792D1E0C6} + {FB64EA08-3BC0-48AE-BE4B-74F1024B756E} = {FB64EA08-3BC0-48AE-BE4B-74F1024B756E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_openmrcp", "src\mod\asr_tts\mod_openmrcp\mod_openmrcp.vcproj", "{E7116F50-2B10-472F-92BD-C8667AA9C1AE}" ProjectSection(ProjectDependencies) = postProject - {13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2} = {13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} - {A407B661-D7DC-4E30-B268-FFF3296C35E6} = {A407B661-D7DC-4E30-B268-FFF3296C35E6} - {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} - {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {70A49BC2-7500-41D0-B75D-EDCC5BE987A0} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} + {A407B661-D7DC-4E30-B268-FFF3296C35E6} = {A407B661-D7DC-4E30-B268-FFF3296C35E6} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2} = {13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey_socket", "src\mod\languages\mod_spidermonkey_socket\mod_spidermonkey_socket.vcproj", "{028C7278-05D7-4E18-82FE-BE231B844F41}" ProjectSection(ProjectDependencies) = postProject - {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_voicemail", "src\mod\applications\mod_voicemail\mod_voicemail.vcproj", "{D7F1E3F2-A3F4-474C-8555-15122571AF52}" @@ -842,26 +842,26 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_tone_stream", "src\mod\formats\mod_tone_stream\mod_tone_stream.vcproj", "{1A789A98-71EF-4EBD-8007-FC9ED585D32E}" ProjectSection(ProjectDependencies) = postProject - {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvoipcodecs", "libs\voipcodecs\libvoipcodecs.vcproj", "{CF70F278-3364-4395-A2E1-23501C9B8AD2}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_voipcodecs", "src\mod\codecs\mod_voipcodecs\mod_voipcodecs.vcproj", "{9EED03C8-8315-4214-8D13-8FF5FA46D93C}" ProjectSection(ProjectDependencies) = postProject - {CF70F278-3364-4395-A2E1-23501C9B8AD2} = {CF70F278-3364-4395-A2E1-23501C9B8AD2} {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {CF70F278-3364-4395-A2E1-23501C9B8AD2} = {CF70F278-3364-4395-A2E1-23501C9B8AD2} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aprtoolkit", "libs\openmrcp\aprtoolkit\aprtoolkit.vcproj", "{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_spidermonkey_curl", "src\mod\languages\mod_spidermonkey_curl\mod_spidermonkey_curl.vcproj", "{2CCED6DC-26FF-40F2-9585-E9E1049A4599}" ProjectSection(ProjectDependencies) = postProject - {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} - {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} - {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + {87EE9DA4-DE1E-4448-8324-183C98DCA588} = {87EE9DA4-DE1E-4448-8324-183C98DCA588} + {204FA0DE-305D-4414-AE2E-F195A23F390D} = {204FA0DE-305D-4414-AE2E-F195A23F390D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_fsv", "src\mod\applications\mod_fsv\mod_fsv.vcproj", "{4AE157CF-F2DD-4B5D-A1EE-4AC173B4F9AC}" @@ -869,6 +869,11 @@ {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_lua", "src\mod\languages\mod_lua\mod_lua.vcproj", "{7B077E7F-1BE7-4291-AB86-55E527B25CAC}" + ProjectSection(ProjectDependencies) = postProject + {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -1449,6 +1454,12 @@ {4AE157CF-F2DD-4B5D-A1EE-4AC173B4F9AC}.Release|Win32.ActiveCfg = Release|Win32 {4AE157CF-F2DD-4B5D-A1EE-4AC173B4F9AC}.Release|Win32.Build.0 = Release|Win32 {4AE157CF-F2DD-4B5D-A1EE-4AC173B4F9AC}.Release|x64.ActiveCfg = Release|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.ActiveCfg = Debug|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|Win32.Build.0 = Debug|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Debug|x64.ActiveCfg = Debug|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.ActiveCfg = Release|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|Win32.Build.0 = Release|Win32 + {7B077E7F-1BE7-4291-AB86-55E527B25CAC}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1524,6 +1535,7 @@ {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF} = {0C808854-54D1-4230-BFF5-77B5FD905000} {028C7278-05D7-4E18-82FE-BE231B844F41} = {0C808854-54D1-4230-BFF5-77B5FD905000} {2CCED6DC-26FF-40F2-9585-E9E1049A4599} = {0C808854-54D1-4230-BFF5-77B5FD905000} + {7B077E7F-1BE7-4291-AB86-55E527B25CAC} = {0C808854-54D1-4230-BFF5-77B5FD905000} {692F6330-4D87-4C82-81DF-40DB5892636E} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0} {E7116F50-2B10-472F-92BD-C8667AA9C1AE} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0} {1C453396-D912-4213-89FD-9B489162B7B5} = {A7AB4405-FDB7-4853-9FBB-1516B1C3D80A} Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/Makefile.am ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/Makefile.am (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/Makefile.am Tue May 13 22:16:21 2008 @@ -130,16 +130,16 @@ libfreeswitch_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS) libfreeswitch_la_LIBADD = $(CORE_LIBS) libfreeswitch_la_DEPENDENCIES = $(BUILT_SOURCES) -nodist_libfreeswitch_la_SOURCES = src/include/switch_version.h +nodist_libfreeswitch_la_SOURCES = src/include/switch_version.h src/include/switch_swigable_cpp.h MOD_LINK = $(BASE)/libfreeswitch.la -CLEANFILES = src/include/switch_version.h -BUILT_SOURCES = src/include/switch_version.h +CLEANFILES = src/include/switch_version.h src/include/switch_swigable_cpp.h +BUILT_SOURCES = src/include/switch_version.h src/include/switch_swigable_cpp.h bin_PROGRAMS = freeswitch freeswitch_SOURCES = src/switch.c -nodist_freeswitch_SOURCES = src/include/switch_version.h +nodist_freeswitch_SOURCES = src/include/switch_version.h freeswitch_CFLAGS = $(AM_CFLAGS) $(CORE_CFLAGS) freeswitch_LDFLAGS = $(AM_LDFLAGS) -rpath $(libdir) /usr/lib/stfu.o freeswitch_LDADD = libfreeswitch.la @@ -150,6 +150,8 @@ bin_SCRIPTS = scripts/gentls_cert scripts/fsxs +src/include/switch_swigable_cpp.h: src/include/switch_cpp.h + $(CC) -E src/include/switch_cpp.h -DSWITCH_DECLARE\(x\)=x -DSWITCH_DECLARE_CONSTRUCTOR= -DSWITCH_DECLARE_NONSTD\(x\)=x 2>/dev/null | grep -v "^#" > src/include/switch_swigable_cpp.h $(libfreeswitch_la_SOURCES): $(CORE_LIBS) $(switch_builddir)/quiet_libtool modules.conf @@ -240,8 +242,6 @@ everything: install -installall: install - up: clean svn update $(MAKE) -j core @@ -254,6 +254,10 @@ update-clean: clean modwipe uninstall +swigall: + @echo reswigging all + sh ./build/swigall.sh + sure: update-clean all speedy-sure: update-clean @@ -265,6 +269,8 @@ $(MAKE) all $(MAKE) install +installall: current + speedy-current: update-clean svn update $(MAKE) speedy-sure Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/build/modules.conf.in ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/build/modules.conf.in (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/build/modules.conf.in Tue May 13 22:16:21 2008 @@ -49,6 +49,8 @@ languages/mod_spidermonkey_core_db languages/mod_spidermonkey_socket #languages/mod_spidermonkey_odbc +#languages/mod_lua +#languages/mod_perl xml_int/mod_xml_rpc #xml_int/mod_xml_curl xml_int/mod_xml_cdr Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/autoload_configs/conference.conf.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/autoload_configs/conference.conf.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/autoload_configs/conference.conf.xml Tue May 13 22:16:21 2008 @@ -66,7 +66,7 @@ <!-- File to play endlessly (nobody will ever be able to talk) --> <!--<param name="perpetual-sound" value="perpetual.wav"/>--> <!-- File to play when you're alone (music on hold)--> - <param name="moh-sound" value="$${moh_uri}"/> + <param name="moh-sound" value="$${hold_music}"/> <!-- File to play when you join the conference --> <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/> <!-- File to play when you leave the conference --> @@ -104,7 +104,7 @@ <param name="muted-sound" value="conference/conf-muted.wav"/> <param name="unmuted-sound" value="conference/conf-unmuted.wav"/> <param name="alone-sound" value="conference/conf-alone.wav"/> - <param name="moh-sound" value="$${moh_uri}"/> + <param name="moh-sound" value="$${hold_music}"/> <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/> <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/> <param name="kicked-sound" value="conference/conf-kicked.wav"/> @@ -127,7 +127,7 @@ <param name="muted-sound" value="conference/conf-muted.wav"/> <param name="unmuted-sound" value="conference/conf-unmuted.wav"/> <param name="alone-sound" value="conference/conf-alone.wav"/> - <param name="moh-sound" value="$${moh_uri}"/> + <param name="moh-sound" value="$${hold_music}"/> <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/> <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/> <param name="kicked-sound" value="conference/conf-kicked.wav"/> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/dialplan/default.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/dialplan/default.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/dialplan/default.xml Tue May 13 22:16:21 2008 @@ -143,7 +143,7 @@ <anti-action application="set" data="call_timeout=30"/> <!-- <anti-action application="set" data="sip_exclude_contact=${network_addr}"/> --> <anti-action application="set" data="hangup_after_bridge=true"/> - <!--<anti-action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,BUSY,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> --> + <!--<anti-action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> --> <anti-action application="set" data="continue_on_fail=true"/> <anti-action application="db" data="insert/call_return/${dialed_ext}/${caller_id_number}"/> <anti-action application="db" data="insert/last_dial_ext/${dialed_ext}/${uuid}"/> @@ -216,7 +216,7 @@ --> <extension name="park"> <condition field="destination_number" expression="^5900$"> - <action application="set" data="fifo_music=$${moh_uri}"/> + <action application="set" data="fifo_music=$${hold_music}"/> <action application="fifo" data="5900@$${domain} in"/> </condition> </extension> @@ -241,7 +241,7 @@ <extension name="park"> <condition field="source" expression="mod_sofia"/> <condition field="destination_number" expression="park\+(\d+)"> - <action application="fifo" data="$1@$${domain} in undef $${moh_uri}"/> + <action application="fifo" data="$1@$${domain} in undef $${hold_music}"/> </condition> </extension> <!-- @@ -307,10 +307,10 @@ <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$"> <action application="answer"/> <action application="execute_extension" data="is_secure XML features"/> - <action application="playback" data="$${moh_uri}"/> + <action application="playback" data="$${hold_music}"/> <anti-action application="answer"/> <!--<anti-action application="send_display" data="Insecure Music On Hold"/>--> - <anti-action application="playback" data="$${moh_uri}"/> + <anti-action application="playback" data="$${hold_music}"/> </condition> </extension> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/directory/default.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/directory/default.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/directory/default.xml Tue May 13 22:16:21 2008 @@ -2,7 +2,7 @@ <!--the domain or ip (the right hand side of the @ in the addr--> <domain name="$${domain}"> <params> - <param name="dial-string" value="{presence_id=${dialed_ext}@${dialed_domain},transfer_fallback_extension=${dialed_user}}${sofia_contact(${dialed_domain}/${dialed_ext}@${dialed_domain})}"/> + <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain},transfer_fallback_extension=${dialed_user}}${sofia_contact(${dialed_domain}/${dialed_user}@${dialed_domain})}"/> </params> <variables> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/directory/default/brian.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/directory/default/brian.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/directory/default/brian.xml Tue May 13 22:16:21 2008 @@ -35,6 +35,8 @@ <!--<param name="caller-id-in-from" value="false"/>--> <!--extra sip params to send in the contact--> <!--<param name="contact-params" value="tport=tcp"/>--> + <!--send an options ping every x seconds, failure will unregister and/or mark it down--> + <!--<param name="ping" value="25"/>--> <!--</gateway>--> </gateways> <params> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/lang/en/vm/sounds.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/lang/en/vm/sounds.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/lang/en/vm/sounds.xml Tue May 13 22:16:21 2008 @@ -50,11 +50,11 @@ </macro> <macro name="voicemail_message_count"> - <input pattern="^1:(.*)$"> + <input pattern="^(1):(.*)$"> <match> <action function="play-file" data="voicemail/vm-you_have.wav"/> - <action function="say" data="1" method="pronounced" type="items"/> - <action function="play-file" data="voicemail/vm-new.wav"/> + <action function="say" data="$1" method="pronounced" type="items"/> + <action function="play-file" data="voicemail/vm-$2.wav"/> <action function="play-file" data="voicemail/vm-message.wav"/> <action function="play-file" data="voicemail/vm-in_folder.wav"/> </match> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/default.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/default.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/default.xml Tue May 13 22:16:21 2008 @@ -33,7 +33,7 @@ <param name="rtp-ip" value="$${local_ip_v4}"/> <!-- ip address to bind to --> <param name="sip-ip" value="$${local_ip_v4}"/> - <param name="hold-music" value="$${moh_uri}"/> + <param name="hold-music" value="$${hold_music}"/> <!--<param name="enable-timer" value="false"/>--> <!--<param name="enable-100rel" value="false"/>--> <!--<param name="apply-inbound-acl" value="lan"/>--> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/nat.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/nat.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/nat.xml Tue May 13 22:16:21 2008 @@ -14,7 +14,7 @@ <param name="dtmf-duration" value="100"/> <param name="codec-prefs" value="$${outbound_codec_prefs}"/> <param name="use-rtp-timer" value="true"/> - <param name="hold-music" value="$${moh_uri}"/> + <param name="hold-music" value="$${hold_music}"/> <param name="rtp-timer-name" value="soft"/> <param name="manage-presence" value="false"/> <param name="inbound-codec-negotiation" value="generous"/> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/outbound.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/outbound.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/sip_profiles/outbound.xml Tue May 13 22:16:21 2008 @@ -18,7 +18,7 @@ <param name="context" value="public"/> <param name="dtmf-duration" value="100"/> <param name="codec-prefs" value="$${outbound_codec_prefs}"/> - <param name="hold-music" value="$${moh_uri}"/> + <param name="hold-music" value="$${hold_music}"/> <param name="use-rtp-timer" value="true"/> <param name="rtp-timer-name" value="soft"/> <param name="manage-presence" value="false"/> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/vars.xml ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/vars.xml (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/conf/vars.xml Tue May 13 22:16:21 2008 @@ -3,7 +3,6 @@ --> <X-PRE-PROCESS cmd="set" data="sound_prefix=$${base_dir}/sounds/en/us/callie"/> <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/> - <X-PRE-PROCESS cmd="set" data="moh_uri=local_stream://moh"/> <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/> <!-- xmpp_client_profile and xmpp_server_profile xmpp_client_profile can be any string. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/configure.in ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/configure.in (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/configure.in Tue May 13 22:16:21 2008 @@ -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.0.pre4], BUG-REPORT-ADDRESS) +AC_INIT([freeswitch], [1.0.rc4], BUG-REPORT-ADDRESS) AC_SUBST(SWITCH_VERSION_MAJOR, [1]) AC_SUBST(SWITCH_VERSION_MINOR, [0]) -AC_SUBST(SWITCH_VERSION_MICRO, [pre4]) -#AC_SUBST(SWITCH_VERSION_REVISION, [svn-revision-here]) +AC_SUBST(SWITCH_VERSION_MICRO, [rc4]) +AC_SUBST(SWITCH_VERSION_REVISION, [8261]) AC_CONFIG_FILES([src/include/switch_version.h.in:src/include/switch_version.h.template]) @@ -563,12 +563,120 @@ AM_CONDITIONAL([ADD_LIBEDIT],[test "x$enable_core_libedit_support" != "xno"]) AM_CONDITIONAL([HAVE_MYSQL],[test "$found_mysql" = "yes"]) +# +# Python checks for mod_python +# +AC_ARG_WITH( + [python], + [AS_HELP_STRING([--with-python], [Use system provided version of python (default: try)])], + [with_python="$withval"], + [with_python="try"] +) + +AC_ARG_WITH( + [python-config], + [AS_HELP_STRING([--with-python-config=PATH], [Location of python-config])], + [with_python_config="$withval"], + [with_python_config="no"] +) + + +if test "$with_python" != "no" +then + if test "$with_python" != "yes" -a "$with_python" != "try" ; then + AC_MSG_CHECKING([for python]) + if test ! -x "$with_python" ; then + AC_MSG_ERROR([Specified python does not exist or is not executable: $with_python]) + fi + AC_MSG_RESULT([$with_python]) + AC_SUBST([PYTHON], ["$with_python"]) + else + AC_PATH_PROG([PYTHON], ["python"], ["no"], ["$PATH:/usr/bin:/usr/local/bin"]) + fi + + if test "$PYTHON" != "no" ; then + AC_MSG_CHECKING([python version]) + PYTHON_VER="`$PYTHON -V 2>&1 | cut -d' ' -f2`" + + if test -z "$PYTHON_VER" ; then + AC_MSG_ERROR([Unable to detect python version]) + fi + AC_MSG_RESULT([$PYTHON_VER]) + + AC_MSG_CHECKING([location of site-packages]) + + # NOTE: this assumes our desired location is always the last one in the list + # (= system package location is searched last) + # + # needs double brackets because m4 removes one pair + PYTHON_SITE_DIR="`$PYTHON -c 'import sys; print sys.path[[-1]];'`" + + if test -z "$PYTHON_SITE_DIR" ; then + AC_MSG_ERROR([Unable to detect python site-packages path]) + elif test ! -d "$PYTHON_SITE_DIR" ; then + AC_MSG_ERROR([Path $PYTHON_SITE_DIR returned by python does not exist!]) + fi + AC_MSG_RESULT([$PYTHON_SITE_DIR]) + AC_SUBST([PYTHON_SITE_DIR], [$PYTHON_SITE_DIR]) + + if test "$with_python_config" != "no" ; then + AC_MSG_CHECKING([for python-config]) + if test ! -x "$with_python_config" ; then + AC_MSG_ERROR([Specified python-config does not exist or is not executable: $with_python_config]) + fi + AC_MSG_RESULT([$with_python_config]) + AC_SUBST([PYTHON_CONFIG], ["$with_python_config"]) + else + AC_PATH_PROG([PYTHON_CONFIG], ["python-config"], ["no"], ["$PATH:/usr/bin:/usr/local/bin"]) + fi + + # this one is fatal if with_python != try + if test "$PYTHON_CONFIG" != "no" ; then + PYTHON_CFLAGS="`$PYTHON_CONFIG --cflags`" + PYTHON_LDFLAGS="`$PYTHON_CONFIG --ldflags`" + + # check whether system libpython is usable and has threads support + save_LIBS="$LIBS" + LIBS="$PYTHON_LDFLAGS" + AC_CHECK_FUNC([PyThread_init_thread], [python_has_threads="yes"], [python_has_threads="no"]) + LIBS="$save_LIBS" + + if test "$python_has_threads" = "no" ; then + if test "$with_python" = "try" ; then + AC_MSG_ERROR([Your python lacks threads support, can not build mod_python]) + fi + + AC_MSG_WARN([Your python lacks threads support, can not build mod_python]) + else + AC_MSG_NOTICE([Your python seems OK, do not forget to enable mod_python in modules.conf]) + AC_SUBST([PYTHON_CFLAGS], [$PYTHON_CFLAGS]) + AC_SUBST([PYTHON_LDFLAGS], [$PYTHON_LDFLAGS]) + fi + else + if test "$with_python" != "try" ; then + AC_MSG_ERROR([python-config could not be found, use --with-python-config to specify the location]) + fi + + AC_MSG_WARN([python-config could not be found, mod_python will not build, use --with-python-config to specify the location]) + fi + else + if test "$with_python" != "try" ; then + AC_MSG_ERROR([Could not find python, use --with-python to specify the location]) + fi + + AC_MSG_WARN([Could not find python, mod_python will not build, use --with-python to specify the location]) + fi +else + AC_MSG_WARN([python support disabled, building mod_python will fail!]) +fi + AC_CONFIG_FILES([Makefile src/Makefile src/mod/Makefile src/mod/endpoints/mod_sofia/Makefile src/mod/event_handlers/mod_radius_cdr/Makefile src/mod/languages/mod_java/Makefile + src/mod/languages/mod_python/Makefile src/include/switch_am_config.h build/getsounds.sh build/getlib.sh @@ -584,19 +692,31 @@ LIBTOOL='`if test -z "$(VERBOSE)" ; then echo $(SHELL) $(switch_builddir)/quiet_libtool ;else echo $(switch_builddir)/libtool; fi;`' TOUCH_TARGET='if test -f "$@";then touch "$@";fi;' CONF_MODULES='\`grep -v "\#" $(switch_builddir)/modules.conf | sed -e "s|^.*/||" | sort | uniq \`' +CONF_DISABLED_MODULES='\`grep "\#" $(switch_builddir)/modules.conf | sed -e "s|^.*/||" | sort | uniq \`' OUR_MODS='`if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods=\`for i in $$tmp_mods ; do echo $$i-all ; done \`; echo $$mods `' OUR_CLEAN_MODS='`if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods=\`for i in $$tmp_mods ; do echo $$i-clean ; done \`; echo $$mods `' OUR_INSTALL_MODS='`if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods=\`for i in $$tmp_mods ; do echo $$i-install ; done\`; echo $$mods `' OUR_UNINSTALL_MODS='`if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods=\`for i in $$tmp_mods ; do echo $$i-uninstall ; done\`; echo $$mods `' -AM_MAKEFLAGS='"OUR_MODULES=$(OUR_MODS)" "OUR_CLEAN_MODULES=$(OUR_CLEAN_MODS)" "OUR_INSTALL_MODULES=$(OUR_INSTALL_MODS)" "OUR_UNINSTALL_MODULES=$(OUR_UNINSTALL_MODS)" `test -n "$(VERBOSE)" || echo -s`' +OUR_DISABLED_MODS='`tmp_mods="$(CONF_DISABLED_MODULES)"; mods=\`for i in $$tmp_mods ; do echo $$i-all ; done \`; echo $$mods `' +OUR_DISABLED_CLEAN_MODS='`tmp_mods="$(CONF_DISABLED_MODULES)"; mods=\`for i in $$tmp_mods ; do echo $$i-clean ; done \`; echo $$mods `' +OUR_DISABLED_INSTALL_MODS='`tmp_mods="$(CONF_DISABLED_MODULES)"; mods=\`for i in $$tmp_mods ; do echo $$i-install ; done\`; echo $$mods `' +OUR_DISABLED_UNINSTALL_MODS='`tmp_mods="$(CONF_DISABLED_MODULES)"; mods=\`for i in $$tmp_mods ; do echo $$i-uninstall ; done\`; echo $$mods `' + +AM_MAKEFLAGS='"OUR_MODULES=$(OUR_MODS)" "OUR_CLEAN_MODULES=$(OUR_CLEAN_MODS)" "OUR_INSTALL_MODULES=$(OUR_INSTALL_MODS)" "OUR_UNINSTALL_MODULES=$(OUR_UNINSTALL_MODS)" "OUR_DISABLED_MODULES=$(OUR_DISABLED_MODS)" "OUR_DISABLED_CLEAN_MODULES=$(OUR_DISABLED_CLEAN_MODS)" "OUR_DISABLED_INSTALL_MODULES=$(OUR_DISABLED_INSTALL_MODS)" "OUR_DISABLED_UNINSTALL_MODULES=$(OUR_DISABLED_UNINSTALL_MODS)" `test -n "$(VERBOSE)" || echo -s`' #AM_MAKEFLAGS='`test -n "$(VERBOSE)" || echo -s`' AC_SUBST(LIBTOOL) AC_SUBST(TOUCH_TARGET) +AC_SUBST(CONF_DISABLED_MODULES) AC_SUBST(CONF_MODULES) + AC_SUBST(OUR_MODS) AC_SUBST(OUR_CLEAN_MODS) AC_SUBST(OUR_INSTALL_MODS) AC_SUBST(OUR_UNINSTALL_MODS) +AC_SUBST(OUR_DISABLED_MODS) +AC_SUBST(OUR_DISABLED_CLEAN_MODS) +AC_SUBST(OUR_DISABLED_INSTALL_MODS) +AC_SUBST(OUR_DISABLED_UNINSTALL_MODS) AC_SUBST(AM_MAKEFLAGS) AC_OUTPUT Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/debian/changelog ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/debian/changelog (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/debian/changelog Tue May 13 22:16:21 2008 @@ -1,3 +1,39 @@ +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 + + -- 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 Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/debian/files ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/debian/files (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/debian/files Tue May 13 22:16:21 2008 @@ -1,9 +1,9 @@ -freeswitch_1.0~rc3-1_i386.deb net extra -freeswitch-spidermonkey_1.0~rc3-1_i386.deb net extra -freeswitch-dev_1.0~rc3-1_i386.deb net extra -freeswitch-codec-passthru-g7231_1.0~rc3-1_i386.deb net extra -freeswitch-codec-passthru-amr_1.0~rc3-1_i386.deb net extra -freeswitch-codec-passthru-g729_1.0~rc3-1_i386.deb net extra -freeswitch-lang-en_1.0~rc3-1_i386.deb net extra -freeswitch-lang-de_1.0~rc3-1_i386.deb net extra -freeswitch-lang-fr_1.0~rc3-1_i386.deb net extra +freeswitch_1.0~rc4-1_i386.deb net extra +freeswitch-spidermonkey_1.0~rc4-1_i386.deb net extra +freeswitch-dev_1.0~rc4-1_i386.deb net extra +freeswitch-codec-passthru-g7231_1.0~rc4-1_i386.deb net extra +freeswitch-codec-passthru-amr_1.0~rc4-1_i386.deb net extra +freeswitch-codec-passthru-g729_1.0~rc4-1_i386.deb net extra +freeswitch-lang-en_1.0~rc4-1_i386.deb net extra +freeswitch-lang-de_1.0~rc4-1_i386.deb net extra +freeswitch-lang-fr_1.0~rc4-1_i386.deb net extra Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/docs/AUTHORS ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/docs/AUTHORS (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/docs/AUTHORS Tue May 13 22:16:21 2008 @@ -32,7 +32,7 @@ Johny Kadarisman <jkr888 at gmail.com> - mod_python fixups. Michael Murdock <mike at mmurdock dot org> - testing, documentation, bug finding and usability enhancements. Matt Klein <mklein@nmedia.net> - Jonas Gauffin <jonas at gauffin dot org> - Bugfixes and additions in mod_spidermonkey_odbc + Jonas Gauffin <jonas at gauffin dot org> - mod_cdr_odbc, mod_spidermonkey_socket, Bugfixes and additions in mod_spidermonkey_odbc and mod_spidermonkey, .net event socket library. Damjan Jovanovic <moctodliamgtavojtodnajmad backwards> - mod_java Juan Jose Comellas <juanjo@comellas.org> - Patch to switch_utils for arg parsing. Dale Thatcher <freeswitch at dalethatcher dot com> - Additions to mod_conference. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/docs/ChangeLog ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/docs/ChangeLog (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/docs/ChangeLog Tue May 13 22:16:21 2008 @@ -1,3 +1,38 @@ +freeswitch (1.0.rc4) + + 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 + freeswitch (1.0.rc3) Enhance xml menu system Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/freeswitch.spec ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/freeswitch.spec (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/freeswitch.spec Tue May 13 22:16:21 2008 @@ -5,7 +5,7 @@ Summary: FreeSWITCH open source telephony platform License: MPL Group: Productivity/Telephony/Servers -Version: 1.0.rc1 +Version: 1.0.rc4 Release: 1 URL: http://www.freeswitch.org/ Packager: Michal Bielicki Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/socket/freepy/fseventlistener.py ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/socket/freepy/fseventlistener.py (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/scripts/socket/freepy/fseventlistener.py Tue May 13 22:16:21 2008 @@ -85,7 +85,7 @@ msg = "auth %s" % passwd req = request.LoginRequest() self.active_request = req - self.transport.write("%s\n\n" % msg) + self.transport.write("%s\n\n" % str(msg)) return req.getDeferred() def sniff_events(self, output_type, events): @@ -95,7 +95,7 @@ """ event_list = " ".join(events) msg = "event %s %s" % (output_type, event_list) - self.transport.write("%s\n\n" % msg) + self.transport.write("%s\n\n" % str(msg)) def sniff_custom_events(self, output_type, events): """ @@ -115,7 +115,7 @@ @param output_type - eg, xml or plain """ msg = "event %s all" % output_type - self.transport.write("%s\n\n" % msg) + self.transport.write("%s\n\n" % str(msg)) def lineReceived(self, line): if not self.active_request: Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_core.h ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_core.h (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_core.h Tue May 13 22:16:21 2008 @@ -1600,6 +1600,8 @@ SWITCH_DECLARE(void) switch_time_set_monotonic(switch_bool_t enable); SWITCH_DECLARE(uint32_t) switch_core_max_dtmf_duration(uint32_t duration); SWITCH_DECLARE(uint32_t) switch_core_default_dtmf_duration(uint32_t duration); +SWITCH_DECLARE(switch_status_t) switch_console_set_complete(const char *string); +SWITCH_DECLARE(switch_status_t) switch_console_set_alias(const char *string); ///\} Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_cpp.h ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_cpp.h (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_cpp.h Tue May 13 22:16:21 2008 @@ -11,6 +11,12 @@ #include <switch.h> + +#define sanity_check(x) do { if (!(session && allocated)) { switch_log_printf(SWITCH_CHANNEL_LOG,SWITCH_LOG_ERROR, "session is not initalized\n"); return x;}} while(0) +#define sanity_check_noreturn do { if (!(session && allocated)) { switch_log_printf(SWITCH_CHANNEL_LOG,SWITCH_LOG_ERROR, "session is not initalized\n"); return;}} while(0) +#define init_vars() do { session = NULL; channel = NULL; uuid = NULL; tts_name = NULL; voice_name = NULL; memset(&args, 0, sizeof(args)); ap = NULL; caller_profile.source = "mod_unknown"; caller_profile.dialplan = ""; caller_profile.context = ""; caller_profile.caller_id_name = ""; caller_profile.caller_id_number = ""; caller_profile.network_addr = ""; caller_profile.ani = ""; caller_profile.aniii = ""; caller_profile.rdnis = ""; caller_profile.username = ""; on_hangup = NULL; memset(&cb_state, 0, sizeof(cb_state)); hook_state = CS_NEW; } while(0) + + // // C++ Interface: switch_to_cpp_mempool // @@ -21,7 +27,7 @@ // Copyright: See COPYING file that comes with this distribution // - +#if 0 #ifndef SWITCHTOMEMPOOL #define SWITCHTOMEMPOOL class SwitchToMempool { @@ -37,7 +43,7 @@ switch_memory_pool_t *memorypool; }; #endif - +#endif /* @@ -55,24 +61,45 @@ */ +SWITCH_DECLARE(void) consoleLog(char *level_str, char *msg); +SWITCH_DECLARE(void) consoleCleanLog(char *msg); -void console_log(char *level_str, char *msg); -void console_clean_log(char *msg); -char *api_execute(char *cmd, char *arg); -void api_reply_delete(char *reply); +class CoreSession; +class IVRMenu { + protected: + switch_ivr_menu_t *menu; + switch_memory_pool_t *pool; + public: + SWITCH_DECLARE_CONSTRUCTOR IVRMenu(IVRMenu *main, + const char *name, + const char *greeting_sound, + const char *short_greeting_sound, + const char *invalid_sound, + const char *exit_sound, + const char *confirm_macro, + const char *confirm_key, + int confirm_attempts, + int inter_timeout, + int digit_len, + int timeout, + int max_failures + ); + virtual SWITCH_DECLARE_CONSTRUCTOR ~IVRMenu(); + SWITCH_DECLARE(void) bindAction(char *action, const char *arg, const char *bind); + SWITCH_DECLARE(void) execute(CoreSession *session, const char *name); +}; -/** - * \brief - process language specific callback results - * - * First the actual callback is called, (in the case of python, - * PythonDTMFCallback), it then calls the language specific callback defined - * by the user (eg, some python method), and then _this_ function is called - * with the results of the language specific callback. - */ -switch_status_t process_callback_result(char *raw_result, - struct input_callback_state *cb_state, - switch_core_session_t *session); + +class API { + protected: + char *last_data; + public: + SWITCH_DECLARE_CONSTRUCTOR API(void); + virtual SWITCH_DECLARE_CONSTRUCTOR ~API(); + SWITCH_DECLARE(char *) execute(const char *command, const char *data); + SWITCH_DECLARE(char *) executeString(const char *command); +}; typedef struct input_callback_state { @@ -90,14 +117,42 @@ S_RDLOCK = (1 << 2) } session_flag_t; +class Stream { + protected: + switch_stream_handle_t mystream; + switch_stream_handle_t *stream_p; + int mine; + public: + SWITCH_DECLARE_CONSTRUCTOR Stream(void); + SWITCH_DECLARE_CONSTRUCTOR Stream(switch_stream_handle_t *); + virtual SWITCH_DECLARE_CONSTRUCTOR ~Stream(); + SWITCH_DECLARE(void) write(const char *data); + SWITCH_DECLARE(const char *)get_data(void); +}; -class switchEvent { +class Event { protected: - switch_event_t *event; public: - switchEvent(switch_event_types_t event_id, const char *subclass_name); + switch_event_t *event; + char *serialized_string; + int mine; + + SWITCH_DECLARE_CONSTRUCTOR Event(const char *type, const char *subclass_name = NULL); + SWITCH_DECLARE_CONSTRUCTOR Event(switch_event_t *wrap_me, int free_me=0); + virtual SWITCH_DECLARE_CONSTRUCTOR ~Event(); + SWITCH_DECLARE(const char *)serialize(const char *format=NULL); + SWITCH_DECLARE(bool) setPriority(switch_priority_t priority = SWITCH_PRIORITY_NORMAL); + SWITCH_DECLARE(char *)getHeader(char *header_name); + SWITCH_DECLARE(char *)getBody(void); + SWITCH_DECLARE(char *)getType(void); + SWITCH_DECLARE(bool) addBody(const char *value); + SWITCH_DECLARE(bool) addHeader(const char *header_name, const char *value); + SWITCH_DECLARE(bool) delHeader(const char *header_name); + SWITCH_DECLARE(bool) fire(void); + }; + class CoreSession { protected: switch_input_args_t args; // holds ptr to cb function and input_callback_state struct @@ -110,13 +165,15 @@ char *voice_name; void store_file_handle(switch_file_handle_t *fh); void *on_hangup; // language specific callback function, cast as void * - - + switch_file_handle_t local_fh; + switch_file_handle_t *fhp; + char dtmf_buf[512]; + SWITCH_DECLARE(switch_status_t) process_callback_result(char *ret); public: - CoreSession(); - CoreSession(char *uuid); - CoreSession(switch_core_session_t *new_session); - virtual ~CoreSession(); + SWITCH_DECLARE_CONSTRUCTOR CoreSession(); + SWITCH_DECLARE_CONSTRUCTOR CoreSession(char *uuid); + SWITCH_DECLARE_CONSTRUCTOR CoreSession(switch_core_session_t *new_session); + virtual SWITCH_DECLARE_CONSTRUCTOR ~CoreSession(); switch_core_session_t *session; switch_channel_t *channel; unsigned int flags; @@ -125,12 +182,14 @@ // field in this->args switch_channel_state_t hook_state; // store hookstate for on_hangup callback - int answer(); - int preAnswer(); - virtual void hangup(char *cause); - void setVariable(char *var, char *val); - const char *getVariable(char *var); - + SWITCH_DECLARE(int) answer(); + SWITCH_DECLARE(int) preAnswer(); + virtual SWITCH_DECLARE(void) hangup(char *cause = "normal_clearing"); + SWITCH_DECLARE(void) setVariable(char *var, char *val); + SWITCH_DECLARE(void) setPrivate(char *var, void *val); + SWITCH_DECLARE(void *)getPrivate(char *var); + SWITCH_DECLARE(const char *)getVariable(char *var); + /** \brief Record to a file * \param filename @@ -139,14 +198,14 @@ * to be considered silence (500 is a good starting point). * \param <[silence_secs]> seconds of silence to interrupt the record. */ - int recordFile(char *file_name, int max_len=0, int silence_threshold=0, int silence_secs=0); + SWITCH_DECLARE(int) recordFile(char *file_name, int max_len=0, int silence_threshold=0, int silence_secs=0); /** \brief Set attributes of caller data for purposes of outgoing calls * \param var - the variable name, eg, "caller_id_name" * \param val - the data to set, eg, "bob" */ - void setCallerData(char *var, char *val); + SWITCH_DECLARE(void) setCallerData(char *var, char *val); /** \brief Originate a call to a destination * @@ -157,7 +216,7 @@ * \return an int status code indicating success or failure * */ - int originate(CoreSession *a_leg_session, + SWITCH_DECLARE(int) originate(CoreSession *a_leg_session, char *dest, int timeout=60); @@ -170,17 +229,16 @@ * certain other methods are executing. * */ - void setDTMFCallback(void *cbfunc, char *funcargs); + SWITCH_DECLARE(void) setDTMFCallback(void *cbfunc, char *funcargs); - - int speak(char *text); - void set_tts_parms(char *tts_name, char *voice_name); + SWITCH_DECLARE(int) speak(char *text); + SWITCH_DECLARE(void) set_tts_parms(char *tts_name, char *voice_name); /** * For timeout milliseconds, call the dtmf function set previously * by setDTMFCallback whenever a dtmf or event is received */ - int collectDigits(int timeout); + SWITCH_DECLARE(int) collectDigits(int timeout); /** * Collect up to maxdigits digits worth of digits @@ -189,15 +247,20 @@ * (see mod_python.i). This does NOT call any callbacks upon * receiving dtmf digits. For that, use collectDigits. */ - int getDigits(char *dtmf_buf, - switch_size_t buflen, - switch_size_t maxdigits, - char *terminators, - char *terminator, - int timeout); + SWITCH_DECLARE(char *) getDigits( + int maxdigits, + char *terminators, + int timeout); + + SWITCH_DECLARE(int) transfer(char *extensions, char *dialplan, char *context); - int transfer(char *extensions, char *dialplan, char *context); + SWITCH_DECLARE(char *) read(int min_digits, + int max_digits, + const char *prompt_audio_file, + int timeout, + const char *valid_terminators); + /** \brief Play a file into channel and collect dtmfs * * See API docs in switch_ivr.h: switch_play_and_get_digits(..) @@ -206,14 +269,13 @@ * setDTMFCallback(..) as it uses its own internal callback * handler. */ - int playAndGetDigits(int min_digits, + SWITCH_DECLARE(char *) playAndGetDigits(int min_digits, int max_digits, int max_tries, int timeout, char *terminators, char *audio_files, char *bad_input_audio_files, - char *dtmf_buf, char *digits_regex); /** \brief Play a file that resides on disk into the channel @@ -224,26 +286,29 @@ * \return an int status code indicating success or failure * */ - int streamFile(char *file, int starting_sample_count=0); + SWITCH_DECLARE(int) streamFile(char *file, int starting_sample_count=0); /** \brief flush any pending events */ - int flushEvents(); + SWITCH_DECLARE(int) flushEvents(); /** \brief flush any pending digits */ - int flushDigits(); + SWITCH_DECLARE(int) flushDigits(); - int setAutoHangup(bool val); + SWITCH_DECLARE(int) setAutoHangup(bool val); /** \brief Set the hangup callback function * \param hangup_func - language specific function ptr cast into void * */ - void setHangupHook(void *hangup_func); + SWITCH_DECLARE(void) setHangupHook(void *hangup_func); + + SWITCH_DECLARE(bool) ready(); + + SWITCH_DECLARE(void) execute(char *app, char *data); - bool ready(); + SWITCH_DECLARE(void) sendEvent(Event *sendME); - void execute(char *app, char *data); virtual bool begin_allow_threads() = 0; virtual bool end_allow_threads() = 0; @@ -269,26 +334,24 @@ /* ---- functions not bound to CoreSession instance ----- */ -void console_log(char *level_str, char *msg); -void console_clean_log(char *msg); -char *api_execute(char *cmd, char *arg); -void api_reply_delete(char *reply); +SWITCH_DECLARE(void) console_log(char *level_str, char *msg); +SWITCH_DECLARE(void) console_clean_log(char *msg); /** \brief bridge the audio of session_b into session_a * * NOTE: the stuff regarding the dtmf callback might be completely * wrong and has not been reviewed or tested */ -void bridge(CoreSession &session_a, CoreSession &session_b); +SWITCH_DECLARE(void) bridge(CoreSession &session_a, CoreSession &session_b); /** \brief the actual hangup hook called back by freeswitch core * which in turn gets the session and calls the appropriate * instance method to complete the callback. */ -switch_status_t hanguphook(switch_core_session_t *session); +SWITCH_DECLARE_NONSTD(switch_status_t) hanguphook(switch_core_session_t *session); -switch_status_t dtmf_callback(switch_core_session_t *session, +SWITCH_DECLARE_NONSTD(switch_status_t) dtmf_callback(switch_core_session_t *session, void *input, switch_input_type_t itype, void *buf, Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_ivr.h ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_ivr.h (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_ivr.h Tue May 13 22:16:21 2008 @@ -466,7 +466,7 @@ \param message optional message \return SWITCH_STATUS_SUCCESS if all is well */ -SWITCH_DECLARE(switch_status_t) switch_ivr_hold_uuid(const char *uuid, const char *message); +SWITCH_DECLARE(switch_status_t) switch_ivr_hold_uuid(const char *uuid, const char *message, switch_bool_t moh); /*! \brief Signal the session with a protocol specific unhold message. @@ -481,7 +481,7 @@ \param message optional message \return SWITCH_STATUS_SUCCESS if all is well */ -SWITCH_DECLARE(switch_status_t) switch_ivr_hold(switch_core_session_t *session, const char *message); +SWITCH_DECLARE(switch_status_t) switch_ivr_hold(switch_core_session_t *session, const char *message, switch_bool_t moh); /*! \brief Signal the session with a protocol specific unhold message. @@ -717,6 +717,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_menu_stack_xml_build(switch_ivr_menu_xml_ctx_t * xml_menu_ctx, switch_ivr_menu_t ** menu_stack, switch_xml_t xml_menus, switch_xml_t xml_menu); +SWITCH_DECLARE(switch_status_t) switch_ivr_menu_str2action(const char *action_name, switch_ivr_action_t *action); + /*! *\param xml_menu_ctx The XML menu parser context previously created by switch_ivr_menu_stack_xml_init *\param name The xml tag name to add to the parser engine Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_platform.h ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_platform.h (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_platform.h Tue May 13 22:16:21 2008 @@ -171,6 +171,7 @@ #define SWITCH_MOD_DECLARE_DATA #define SWITCH_THREAD_FUNC #endif +#define SWITCH_DECLARE_CONSTRUCTOR SWITCH_DECLARE_DATA #ifdef DOXYGEN #define DoxyDefine(x) x #else Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_types.h ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_types.h (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/include/switch_types.h Tue May 13 22:16:21 2008 @@ -102,6 +102,7 @@ #define SWITCH_PATH_SEPARATOR "/" #endif #define SWITCH_URL_SEPARATOR "://" +#define SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE "proto_specific_hangup_cause" #define SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE "execute_on_answer" #define SWITCH_CALL_TIMEOUT_VARIABLE "call_timeout" #define SWITCH_HOLDING_UUID_VARIABLE "holding_uuid" Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/Makefile.am ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/Makefile.am (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/Makefile.am Tue May 13 22:16:21 2008 @@ -3,7 +3,7 @@ install: $(OUR_INSTALL_MODULES) uninstall: $(OUR_UNINSTALL_MODULES) -$(OUR_MODULES) $(OUR_CLEAN_MODULES) $(OUR_INSTALL_MODULES) $(OUR_UNINSTALL_MODULES): +$(OUR_MODULES) $(OUR_CLEAN_MODULES) $(OUR_INSTALL_MODULES) $(OUR_UNINSTALL_MODULES) $(OUR_DISABLED_MODULES) $(OUR_DISABLED_CLEAN_MODULES) $(OUR_DISABLED_INSTALL_MODULES) $(OUR_DISABLED_UNINSTALL_MODULES): @set fnord $$MAKEFLAGS; amf=$$2; \ target=`echo $@ | sed -e 's|^.*-||'`; \ modname=`echo $@ | sed -e 's|-.*||' | sed -e 's|^.*/||'`; \ Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/applications/mod_commands/mod_commands.c Tue May 13 22:16:21 2008 @@ -1171,7 +1171,7 @@ if (!strcasecmp(argv[0], "off")) { status = switch_ivr_unhold_uuid(argv[1]); } else { - status = switch_ivr_hold_uuid(argv[0], argv[1]); + status = switch_ivr_hold_uuid(argv[0], argv[1], 1); } } @@ -1885,7 +1885,38 @@ return 0; } -#define SHOW_SYNTAX "codec|application|api|dialplan|file|timer|calls|channels" +#define COMPLETE_SYNTAX "add <word>|del [<word>|*]" +SWITCH_STANDARD_API(complete_function) +{ + + switch_status_t status; + + if ((status = switch_console_set_complete(cmd)) == SWITCH_STATUS_SUCCESS) { + stream->write_function(stream, "+OK\n"); + } else { + stream->write_function(stream, "-USAGE: %s\n", COMPLETE_SYNTAX); + } + + return SWITCH_STATUS_SUCCESS; +} + + +#define ALIAS_SYNTAX "add <alias> <command> | del [<alias>|*]" +SWITCH_STANDARD_API(alias_function) +{ + + switch_status_t status; + + if ((status = switch_console_set_alias(cmd)) == SWITCH_STATUS_SUCCESS) { + stream->write_function(stream, "+OK\n"); + } else { + stream->write_function(stream, "-USAGE: %s\n", ALIAS_SYNTAX); + } + + return SWITCH_STATUS_SUCCESS; +} + +#define SHOW_SYNTAX "codec|application|api|dialplan|file|timer|calls|channels|aliases|complete" SWITCH_STANDARD_API(show_function) { char sql[1024]; @@ -1927,15 +1958,19 @@ stream->write_function(stream, "-USAGE: %s\n", SHOW_SYNTAX); return SWITCH_STATUS_SUCCESS; } else if (!strcasecmp(command, "codec") || !strcasecmp(command, "dialplan") || !strcasecmp(command, "file") || !strcasecmp(command, "timer")) { - sprintf(sql, "select type, name from interfaces where type = '%s'", command); + sprintf(sql, "select type, name from interfaces where type = '%s' order by type,name", command); } else if (!strcasecmp(command, "tasks")) { sprintf(sql, "select * from %s", command); } else if (!strcasecmp(command, "application") || !strcasecmp(command, "api")) { - sprintf(sql, "select name, description, syntax from interfaces where type = '%s' and description != ''", command); + sprintf(sql, "select name, description, syntax from interfaces where type = '%s' and description != '' order by type,name", command); } else if (!strcasecmp(command, "calls")) { - sprintf(sql, "select * from calls"); + sprintf(sql, "select * from calls order by created_epoch"); } else if (!strcasecmp(command, "channels")) { - sprintf(sql, "select * from channels"); + sprintf(sql, "select * from channels order by created_epoch"); + } else if (!strcasecmp(command, "aliases")) { + sprintf(sql, "select * from aliases order by alias"); + } else if (!strcasecmp(command, "complete")) { + sprintf(sql, "select * from complete order by a1,a2,a3,a4,a5,a6,a7,a8,a9,a10"); } else if (!strncasecmp(command, "help", 4)) { char *cmdname = NULL; @@ -1943,9 +1978,9 @@ holder.print_title = 0; if ((cmdname = strchr(command, ' ')) != 0) { *cmdname++ = '\0'; - switch_snprintf(sql, sizeof(sql) - 1, "select name, syntax, description from interfaces where type = 'api' and name = '%s'", cmdname); + switch_snprintf(sql, sizeof(sql) - 1, "select name, syntax, description from interfaces where type = 'api' and name = '%s' order by name", cmdname); } else { - switch_snprintf(sql, sizeof(sql) - 1, "select name, syntax, description from interfaces where type = 'api'"); + switch_snprintf(sql, sizeof(sql) - 1, "select name, syntax, description from interfaces where type = 'api' order by name"); } } else { stream->write_function(stream, "-USAGE: %s\n", SHOW_SYNTAX); @@ -2264,6 +2299,8 @@ SWITCH_ADD_API(commands_api_interface, "pause", "Pause", pause_function, PAUSE_SYNTAX); SWITCH_ADD_API(commands_api_interface, "break", "Break", break_function, BREAK_SYNTAX); SWITCH_ADD_API(commands_api_interface, "show", "Show", show_function, SHOW_SYNTAX); + SWITCH_ADD_API(commands_api_interface, "complete", "Complete", complete_function, COMPLETE_SYNTAX); + SWITCH_ADD_API(commands_api_interface, "alias", "Alias", alias_function, ALIAS_SYNTAX); SWITCH_ADD_API(commands_api_interface, "status", "status", status_function, ""); SWITCH_ADD_API(commands_api_interface, "uuid_bridge", "uuid_bridge", uuid_bridge_function, ""); SWITCH_ADD_API(commands_api_interface, "uuid_setvar", "uuid_setvar", uuid_setvar_function, SETVAR_SYNTAX); Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/applications/mod_dptools/mod_dptools.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/applications/mod_dptools/mod_dptools.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/applications/mod_dptools/mod_dptools.c Tue May 13 22:16:21 2008 @@ -37,6 +37,55 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_dptools_load); SWITCH_MODULE_DEFINITION(mod_dptools, mod_dptools_load, NULL, NULL); +SWITCH_STANDARD_DIALPLAN(inline_dialplan_hunt) +{ + switch_caller_extension_t *extension = NULL; + char *argv[4] = { 0 }; + int argc; + switch_channel_t *channel = switch_core_session_get_channel(session); + int x = 0; + char *lbuf; + char *target = arg; + + if (!caller_profile) { + caller_profile = switch_channel_get_caller_profile(channel); + } + + if ((extension = switch_caller_extension_new(session, "inline", "inline")) == 0) { + abort(); + } + + if (switch_strlen_zero(target)) { + target = caller_profile->destination_number; + } + + if (!switch_strlen_zero(target) && (lbuf = switch_core_session_strdup(session, target)) + && (argc = switch_separate_string(lbuf, ',', argv, (sizeof(argv) / sizeof(argv[0]))))) { + } else { + return NULL; + } + + + for(x = 0; x < argc; x++) { + char *app = argv[x]; + char *data = strchr(app, ':'); + + if (data) { + *data++ = '\0'; + } + + while(*app == ' ') { + app++; + } + + switch_caller_extension_add_application(session, extension, app, data); + } + + + return extension; + +} + #define DETECT_SPEECH_SYNTAX "<mod_name> <gram_name> <gram_path> [<addr>] OR grammar <gram_name> [<path>] OR pause OR resume" SWITCH_STANDARD_APP(detect_speech_function) { @@ -1848,7 +1897,7 @@ #define HOLD_SYNTAX "[<display message>]" SWITCH_STANDARD_APP(hold_function) { - switch_ivr_hold_uuid(switch_core_session_get_uuid(session), data); + switch_ivr_hold_uuid(switch_core_session_get_uuid(session), data, 1); } #define UNHOLD_SYNTAX "" @@ -1876,6 +1925,7 @@ { switch_api_interface_t *api_interface; switch_application_interface_t *app_interface; + switch_dialplan_interface_t *dp_interface; /* connect my internal structure to the blank pointer passed to me */ *module_interface = switch_loadable_module_create_module_interface(pool, modname); @@ -1894,7 +1944,7 @@ SWITCH_ADD_APP(app_interface, "unhold", "Send a un-hold message", "Send a un-hold message", unhold_function, UNHOLD_SYNTAX, SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "transfer", "Transfer a channel", TRANSFER_LONG_DESC, transfer_function, "<exten> [<dialplan> <context>]", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "check_acl", "Check an ip against an ACL list", - "Check an ip against an ACL list", check_acl_function, "<ip> <acl | cidr>", SAF_SUPPORT_NOMEDIA); + "Check an ip against an ACL list", check_acl_function, "<ip> <acl | cidr> [<hangup_cause>]", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "sleep", "Pause a channel", SLEEP_LONG_DESC, sleep_function, "<pausemilliseconds>", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "delay_echo", "echo audio at a specified delay", "Delay n ms", delay_function, "<delay ms>", SAF_NONE); SWITCH_ADD_APP(app_interface, "strftime", NULL, NULL, strftime_function, NULL, SAF_SUPPORT_NOMEDIA); @@ -1958,6 +2008,8 @@ SWITCH_ADD_APP(app_interface, "bridge", "Bridge Audio", "Bridge the audio between two sessions", audio_bridge_function, "<channel_url>", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "system", "Execute a system command", "Execute a system command", system_session_function, "<command>", SAF_SUPPORT_NOMEDIA); + SWITCH_ADD_DIALPLAN(dp_interface, "inline", inline_dialplan_hunt); + /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_SUCCESS; } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/asr_tts/mod_openmrcp/mod_openmrcp.2008.vcproj ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/asr_tts/mod_openmrcp/mod_openmrcp.2008.vcproj (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/asr_tts/mod_openmrcp/mod_openmrcp.2008.vcproj Tue May 13 22:16:21 2008 @@ -40,6 +40,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories=""$(InputDir)..\..\..\..\libs\openmrcp\platform\libopenmrcpclient\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\client\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\parser\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\media\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\resource\include";"$(InputDir)..\..\..\..\libs\openmrcp\mediaframe\include";"$(InputDir)..\..\..\..\libs\openmrcp\aprtoolkit\include";"$(InputDir)..\..\..\..\libs\apr\include"" + PreprocessorDefinitions="APT_LIB_EXPORT" UsePrecompiledHeader="0" /> <Tool @@ -54,6 +55,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2_32.lib advapi32.lib iphlpapi.lib" + LinkIncremental="2" AdditionalLibraryDirectories=""C:\Program Files\openmrcp\sdk\lib\winnt"" RandomizedBaseAddress="1" DataExecutionPrevention="0" @@ -104,6 +106,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories=""$(InputDir)..\..\..\..\libs\openmrcp\platform\libopenmrcpclient\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\client\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\parser\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\media\include";"$(InputDir)..\..\..\..\libs\openmrcp\mrcpcore\resource\include";"$(InputDir)..\..\..\..\libs\openmrcp\mediaframe\include";"$(InputDir)..\..\..\..\libs\openmrcp\aprtoolkit\include";"$(InputDir)..\..\..\..\libs\apr\include"" + PreprocessorDefinitions="APT_LIB_EXPORT" UsePrecompiledHeader="0" /> <Tool Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/codecs/mod_amr/mod_amr.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/codecs/mod_amr/mod_amr.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/codecs/mod_amr/mod_amr.c Tue May 13 22:16:21 2008 @@ -103,7 +103,7 @@ void *decoder_state; switch_byte_t enc_modes; switch_byte_t enc_mode; - switch_int_t dtx_mode; + int dtx_mode; uint32_t change_period; switch_byte_t max_ptime; switch_byte_t ptime; @@ -188,7 +188,7 @@ context->enc_modes |= (1 << atoi(m_argv[y])); } } else if (!strcasecmp(data, "dtx")) { - context->dtx_mode = if (atoi(arg)) ? AMR_DTX_ENABLED : AMR_DTX_DISABLED; + context->dtx_mode = (atoi(arg)) ? AMR_DTX_ENABLED : AMR_DTX_DISABLED; } } } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.c Tue May 13 22:16:21 2008 @@ -222,7 +222,14 @@ switch_channel_t *channel = switch_core_session_get_channel(session); switch_call_cause_t cause = switch_channel_get_cause(channel); int sip_cause = hangup_cause_to_sip(cause); - + const char *ps_cause = switch_channel_get_variable(channel, SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE); + + if (!switch_strlen_zero(ps_cause) && !strncasecmp(ps_cause, "sip:", 4)) { + int new_cause = atoi(ps_cause + 4); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Overriding SIP cause %d with %d from the other leg\n", + switch_channel_get_name(channel), sip_cause, new_cause); + sip_cause = new_cause; + } if (switch_test_flag(tech_pvt, TFLAG_SIP_HOLD) && cause != SWITCH_CAUSE_ATTENDED_TRANSFER) { const char *buuid; @@ -1161,6 +1168,8 @@ return 0; } +static const char *status_names[] = { "DOWN", "UP", NULL }; + static switch_status_t cmd_status(char **argv, int argc, switch_stream_handle_t *stream) { sofia_profile_t *profile = NULL; @@ -1180,7 +1189,7 @@ if (!strcasecmp(argv[0], "gateway")) { if ((gp = sofia_reg_find_gateway(argv[1]))) { switch_assert(gp->state < REG_STATE_LAST); - + stream->write_function(stream, "%s\n", line); stream->write_function(stream, "Name \t%s\n", switch_str_nil(gp->name)); stream->write_function(stream, "Scheme \t%s\n", switch_str_nil(gp->register_scheme)); @@ -1194,7 +1203,10 @@ stream->write_function(stream, "Context \t%s\n", switch_str_nil(gp->register_context)); stream->write_function(stream, "Expires \t%s\n", switch_str_nil(gp->expires_str)); stream->write_function(stream, "Freq \t%d\n", gp->freq); + stream->write_function(stream, "Ping \t%d\n", gp->ping); + stream->write_function(stream, "PingFreq\t%d\n", gp->ping_freq); stream->write_function(stream, "State \t%s\n", sofia_state_names[gp->state]); + stream->write_function(stream, "Status \t%s%s\n", status_names[gp->status], gp->pinging ? " (ping)" : ""); stream->write_function(stream, "%s\n", line); sofia_reg_release_gateway(gp); } else { @@ -1695,6 +1707,14 @@ goto error; } + if (gateway_ptr->status != SOFIA_GATEWAY_UP) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Gateway is down!\n"); + cause = SWITCH_CAUSE_NETWORK_OUT_OF_ORDER; + sofia_reg_release_gateway(gateway_ptr); + gateway_ptr = NULL; + goto error; + } + tech_pvt->transport = gateway_ptr->register_transport; /* Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.h ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.h (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/mod_sofia.h Tue May 13 22:16:21 2008 @@ -99,6 +99,7 @@ struct sofia_private { char uuid[SWITCH_UUID_FORMATTED_LENGTH + 1]; sofia_gateway_t *gateway; + char gateway_name[512]; }; #define set_param(ptr,val) if (ptr) {free(ptr) ; ptr = NULL;} if (val) {ptr = strdup(val);} @@ -221,6 +222,11 @@ SOFIA_TRANSPORT_SCTP } sofia_transport_t; +typedef enum { + SOFIA_GATEWAY_DOWN, + SOFIA_GATEWAY_UP +} sofia_gateway_status_t; + struct sofia_gateway { sofia_private_t *sofia_private; nua_handle_t *nh; @@ -241,6 +247,10 @@ uint32_t freq; time_t expires; time_t retry; + time_t ping; + int pinging; + sofia_gateway_status_t status; + uint32_t ping_freq; uint32_t flags; int32_t retry_seconds; reg_state_t state; Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia.c Tue May 13 22:16:21 2008 @@ -787,12 +787,16 @@ *params = NULL, *register_transport = NULL; + uint32_t ping_freq = 0; + gateway->register_transport = SOFIA_TRANSPORT_UDP; gateway->pool = profile->pool; gateway->profile = profile; gateway->name = switch_core_strdup(gateway->pool, name); gateway->freq = 0; gateway->next = NULL; + gateway->ping = 0; + gateway->ping_freq = 0; for (param = switch_xml_child(gateway_tag, "param"); param; param = param->next) { char *var = (char *) switch_xml_attr_soft(param, "name"); @@ -812,6 +816,8 @@ caller_id_in_from = val; } else if (!strcmp(var, "extension")) { extension = val; + } else if (!strcmp(var, "ping")) { + ping_freq = atoi(val); } else if (!strcmp(var, "proxy")) { proxy = val; } else if (!strcmp(var, "context")) { @@ -840,6 +846,15 @@ } } + if (ping_freq) { + if (ping_freq >= 5) { + gateway->ping_freq = ping_freq; + gateway->ping = switch_timestamp(NULL) + ping_freq; + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "ERROR: invalid ping!\n"); + } + } + if (switch_strlen_zero(realm)) { realm = name; } @@ -1152,8 +1167,8 @@ char stun_ip[50] = ""; char *myip = stun_ip; - switch_copy_string(myip, ip, sizeof(myip)); - + switch_copy_string(stun_ip, ip, sizeof(stun_ip)); + if (!strcasecmp(val, "0.0.0.0")) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Invald IP 0.0.0.0 replaced with %s\n", mod_sofia_globals.guess_ip); } else if (strcasecmp(val, "auto")) { @@ -1502,10 +1517,33 @@ } static void sofia_handle_sip_r_options(switch_core_session_t *session, int status, - char const *phrase, + char const *phrase, nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sofia_private_t *sofia_private, sip_t const *sip, tagi_t tags[]) { - if ((profile->pflags & PFLAG_UNREG_OPTIONS_FAIL) && status != 200 && sip && sip->sip_to) { + sofia_gateway_t *gateway = NULL; + + if (sofia_private && !switch_strlen_zero(sofia_private->gateway_name)) { + gateway = sofia_reg_find_gateway(sofia_private->gateway_name); + } + + if (gateway) { + if (status == 200 || status == 404) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "ping success %s\n", gateway->name); + gateway->status = SOFIA_GATEWAY_UP; + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "ping failed %s\n", gateway->name); + gateway->status = SOFIA_GATEWAY_DOWN; + if (gateway->state == REG_STATE_REGED) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "unregister %s\n", gateway->name); + gateway->state = REG_STATE_UNREGISTER; + } + } + gateway->ping = switch_timestamp(NULL) + gateway->ping_freq; + sofia_reg_release_gateway(gateway); + nua_handle_bind(nh, NULL); + free(sofia_private); + gateway->pinging = 0; + } else if ((profile->pflags & PFLAG_UNREG_OPTIONS_FAIL) && status != 200 && sip && sip->sip_to) { char *sql; time_t now = switch_timestamp(NULL); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Expire registration '%s@%s' due to options failure\n", @@ -1520,6 +1558,7 @@ ); sofia_glue_execute_sql(profile, &sql, SWITCH_TRUE); } + nua_handle_destroy(nh); } @@ -2072,6 +2111,8 @@ } switch_snprintf(st, sizeof(st), "%d", status); switch_channel_set_variable(channel, "sip_term_status", st); + switch_snprintf(st, sizeof(st), "sip:%d", status); + switch_channel_set_variable_partner(channel, SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE, st); switch_snprintf(st, sizeof(st), "%d", cause); switch_channel_set_variable(channel, "sip_term_cause", st); switch_channel_hangup(channel, cause); @@ -2620,15 +2661,16 @@ if ((profile->pflags & PFLAG_AUTH_CALLS) || (!(profile->pflags & PFLAG_BLIND_AUTH) && (sip->sip_proxy_authorization || sip->sip_authorization))) { - if (strcmp(network_ip, profile->sipip)) { + int rport = ntohs(((struct sockaddr_in *) msg_addrinfo(nua_current_request(nua))->ai_addr)->sin_port); + if (!strcmp(network_ip, profile->sipip) && rport == profile->sip_port) { + calling_myself++; + } else { if (sofia_reg_handle_register(nua, profile, nh, sip, REG_INVITE, key, sizeof(key), &v_event)) { if (v_event) { switch_event_destroy(&v_event); } return; } - } else { - calling_myself++; } is_auth++; } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia_glue.c Tue May 13 22:16:21 2008 @@ -1829,7 +1829,13 @@ } if (stream && strcasecmp(stream, "silence")) { - switch_ivr_broadcast(switch_channel_get_variable(tech_pvt->channel, SWITCH_SIGNAL_BOND_VARIABLE), stream, SMF_ECHO_ALEG | SMF_LOOP); + if (!strcasecmp(stream, "indicate_hold")) { + switch_channel_set_flag(tech_pvt->channel, CF_SUSPEND); + switch_channel_set_flag(tech_pvt->channel, CF_HOLD); + switch_ivr_hold_uuid(switch_channel_get_variable(tech_pvt->channel, SWITCH_SIGNAL_BOND_VARIABLE), NULL, 0); + } else { + switch_ivr_broadcast(switch_channel_get_variable(tech_pvt->channel, SWITCH_SIGNAL_BOND_VARIABLE), stream, SMF_ECHO_ALEG | SMF_LOOP); + } } } } else { @@ -1843,8 +1849,15 @@ if ((uuid = switch_channel_get_variable(tech_pvt->channel, SWITCH_SIGNAL_BOND_VARIABLE)) && (b_session = switch_core_session_locate(uuid))) { switch_channel_t *b_channel = switch_core_session_get_channel(b_session); - switch_channel_stop_broadcast(b_channel); - switch_channel_wait_for_flag(b_channel, CF_BROADCAST, SWITCH_FALSE, 5000); + + if (switch_channel_test_flag(tech_pvt->channel, CF_HOLD)) { + switch_ivr_unhold(b_session); + switch_channel_clear_flag(tech_pvt->channel, CF_SUSPEND); + switch_channel_clear_flag(tech_pvt->channel, CF_HOLD); + } else { + switch_channel_stop_broadcast(b_channel); + switch_channel_wait_for_flag(b_channel, CF_BROADCAST, SWITCH_FALSE, 5000); + } switch_core_session_rwunlock(b_session); } @@ -2285,23 +2298,26 @@ switch_mutex_lock(mod_sofia_globals.hash_mutex); if ((profile = (sofia_profile_t *) switch_core_hash_find(mod_sofia_globals.profile_hash, key))) { if (!(profile->pflags & PFLAG_RUNNING)) { +#ifdef SOFIA_DEBUG_RWLOCKS + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "Profile %s is not running\n", profile->name); +#endif profile = NULL; goto done; } if (switch_thread_rwlock_tryrdlock(profile->rwlock) != SWITCH_STATUS_SUCCESS) { #ifdef SOFIA_DEBUG_RWLOCKS - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, SWITCH_LOG_ERROR, "Profile %s is locked\n", profile->name); + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "Profile %s is locked\n", profile->name); #endif profile = NULL; } } else { #ifdef SOFIA_DEBUG_RWLOCKS - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, SWITCH_LOG_ERROR, "Profile %s is not in the hash\n", key); + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "Profile %s is not in the hash\n", key); #endif } #ifdef SOFIA_DEBUG_RWLOCKS if (profile) { - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, SWITCH_LOG_ERROR, "XXXXXXXXXXXXXX LOCK %s\n", profile->name); + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "XXXXXXXXXXXXXX LOCK %s\n", profile->name); } #endif @@ -2315,7 +2331,7 @@ { if (profile) { #ifdef SOFIA_DEBUG_RWLOCKS - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, SWITCH_LOG_ERROR, "XXXXXXXXXXXXXX UNLOCK %s\n", profile->name); + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "XXXXXXXXXXXXXX UNLOCK %s\n", profile->name); #endif switch_thread_rwlock_unlock(profile->rwlock); } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/endpoints/mod_sofia/sofia_reg.c Tue May 13 22:16:21 2008 @@ -80,6 +80,21 @@ gateway_ptr->expires_str = "0"; } + if (gateway_ptr->ping && !gateway_ptr->pinging && (now >= gateway_ptr->ping && (ostate == REG_STATE_NOREG || ostate == REG_STATE_REGED))) { + nua_handle_t *nh = nua_handle(profile->nua, NULL, NUTAG_URL(gateway_ptr->register_url), SIPTAG_CONTACT_STR(profile->url), TAG_END()); + sofia_private_t *pvt; + + pvt = malloc(sizeof(*pvt)); + switch_assert(pvt); + memset(pvt, 0, sizeof(*pvt)); + + switch_copy_string(pvt->gateway_name, gateway_ptr->name, sizeof(pvt->gateway_name)); + nua_handle_bind(nh, pvt); + + gateway_ptr->pinging = 1; + nua_options(nh, TAG_END()); + } + switch (ostate) { case REG_STATE_NOREG: break; @@ -87,6 +102,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "registered %s\n", gateway_ptr->name); gateway_ptr->expires = now + gateway_ptr->freq; gateway_ptr->state = REG_STATE_REGED; + gateway_ptr->status = SOFIA_GATEWAY_UP; break; case REG_STATE_UNREGISTER: @@ -143,6 +159,7 @@ case REG_STATE_FAILED: sofia_reg_kill_reg(gateway_ptr, 0); + gateway_ptr->status = SOFIA_GATEWAY_DOWN; case REG_STATE_TRYING: if (gateway_ptr->retry && now >= gateway_ptr->retry) { gateway_ptr->state = REG_STATE_UNREGED; @@ -344,7 +361,7 @@ sql = switch_mprintf("insert into sip_authentication (nonce, expires) values('%q', %ld)", uuid_str, switch_timestamp(NULL) + profile->nonce_ttl); switch_assert(sql != NULL); - sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, sql, NULL); + sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, sql, profile->ireg_mutex); switch_safe_free(sql); //sofia_glue_execute_sql(profile, &sql, SWITCH_TRUE); Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/mod_java.i ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/mod_java.i (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/mod_java.i Tue May 13 22:16:21 2008 @@ -52,6 +52,6 @@ %include "enums.swg" -%include switch_cpp.h +%include switch_swigable_cpp.h %include freeswitch_java.h Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/CoreSession.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/CoreSession.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/CoreSession.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. @@ -59,6 +59,14 @@ return freeswitchJNI.CoreSession_flags_get(swigCPtr, this); } + public void setAllocated(int value) { + freeswitchJNI.CoreSession_allocated_set(swigCPtr, this, value); + } + + public int getAllocated() { + return freeswitchJNI.CoreSession_allocated_get(swigCPtr, this); + } + public void setCb_state(input_callback_state_t value) { freeswitchJNI.CoreSession_cb_state_set(swigCPtr, this, input_callback_state_t.getCPtr(value), value); } @@ -85,19 +93,44 @@ } public void hangup(String cause) { - freeswitchJNI.CoreSession_hangup(swigCPtr, this, cause); + freeswitchJNI.CoreSession_hangup__SWIG_0(swigCPtr, this, cause); + } + + public void hangup() { + freeswitchJNI.CoreSession_hangup__SWIG_1(swigCPtr, this); } public void setVariable(String var, String val) { freeswitchJNI.CoreSession_setVariable(swigCPtr, this, var, val); } + public void setPrivate(String var, SWIGTYPE_p_void val) { + freeswitchJNI.CoreSession_setPrivate(swigCPtr, this, var, SWIGTYPE_p_void.getCPtr(val)); + } + + public SWIGTYPE_p_void getPrivate(String var) { + long cPtr = freeswitchJNI.CoreSession_getPrivate(swigCPtr, this, var); + return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false); + } + public String getVariable(String var) { return freeswitchJNI.CoreSession_getVariable(swigCPtr, this, var); } public int recordFile(String file_name, int max_len, int silence_threshold, int silence_secs) { - return freeswitchJNI.CoreSession_recordFile(swigCPtr, this, file_name, max_len, silence_threshold, silence_secs); + return freeswitchJNI.CoreSession_recordFile__SWIG_0(swigCPtr, this, file_name, max_len, silence_threshold, silence_secs); + } + + public int recordFile(String file_name, int max_len, int silence_threshold) { + return freeswitchJNI.CoreSession_recordFile__SWIG_1(swigCPtr, this, file_name, max_len, silence_threshold); + } + + public int recordFile(String file_name, int max_len) { + return freeswitchJNI.CoreSession_recordFile__SWIG_2(swigCPtr, this, file_name, max_len); + } + + public int recordFile(String file_name) { + return freeswitchJNI.CoreSession_recordFile__SWIG_3(swigCPtr, this, file_name); } public void setCallerData(String var, String val) { @@ -105,7 +138,11 @@ } public int originate(CoreSession a_leg_session, String dest, int timeout) { - return freeswitchJNI.CoreSession_originate(swigCPtr, this, CoreSession.getCPtr(a_leg_session), a_leg_session, dest, timeout); + return freeswitchJNI.CoreSession_originate__SWIG_0(swigCPtr, this, CoreSession.getCPtr(a_leg_session), a_leg_session, dest, timeout); + } + + public int originate(CoreSession a_leg_session, String dest) { + return freeswitchJNI.CoreSession_originate__SWIG_1(swigCPtr, this, CoreSession.getCPtr(a_leg_session), a_leg_session, dest); } public void setDTMFCallback(SWIGTYPE_p_void cbfunc, String funcargs) { @@ -124,20 +161,28 @@ return freeswitchJNI.CoreSession_collectDigits(swigCPtr, this, timeout); } - public int getDigits(byte[] dtmf_buf, int buflen, int maxdigits, String terminators, byte[] terminator, int timeout) { - return freeswitchJNI.CoreSession_getDigits(swigCPtr, this, dtmf_buf, buflen, maxdigits, terminators, terminator, timeout); + public String getDigits(int maxdigits, String terminators, int timeout) { + return freeswitchJNI.CoreSession_getDigits(swigCPtr, this, maxdigits, terminators, timeout); } public int transfer(String extensions, String dialplan, String context) { return freeswitchJNI.CoreSession_transfer(swigCPtr, this, extensions, dialplan, context); } - public int playAndGetDigits(int min_digits, int max_digits, int max_tries, int timeout, String terminators, String audio_files, String bad_input_audio_files, byte[] dtmf_buf, String digits_regex) { - return freeswitchJNI.CoreSession_playAndGetDigits(swigCPtr, this, min_digits, max_digits, max_tries, timeout, terminators, audio_files, bad_input_audio_files, dtmf_buf, digits_regex); + public String read(int min_digits, int max_digits, String prompt_audio_file, int timeout, String valid_terminators) { + return freeswitchJNI.CoreSession_read(swigCPtr, this, min_digits, max_digits, prompt_audio_file, timeout, valid_terminators); + } + + public String playAndGetDigits(int min_digits, int max_digits, int max_tries, int timeout, String terminators, String audio_files, String bad_input_audio_files, String digits_regex) { + return freeswitchJNI.CoreSession_playAndGetDigits(swigCPtr, this, min_digits, max_digits, max_tries, timeout, terminators, audio_files, bad_input_audio_files, digits_regex); } public int streamFile(String file, int starting_sample_count) { - return freeswitchJNI.CoreSession_streamFile(swigCPtr, this, file, starting_sample_count); + return freeswitchJNI.CoreSession_streamFile__SWIG_0(swigCPtr, this, file, starting_sample_count); + } + + public int streamFile(String file) { + return freeswitchJNI.CoreSession_streamFile__SWIG_1(swigCPtr, this, file); } public int flushEvents() { @@ -164,6 +209,10 @@ freeswitchJNI.CoreSession_execute(swigCPtr, this, app, data); } + public void sendEvent(Event sendME) { + freeswitchJNI.CoreSession_sendEvent(swigCPtr, this, Event.getCPtr(sendME), sendME); + } + public boolean begin_allow_threads() { return freeswitchJNI.CoreSession_begin_allow_threads(swigCPtr, this); } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/JavaSession.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/JavaSession.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/JavaSession.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_JavaVM.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_JavaVM.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_JavaVM.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_state_t.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_state_t.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_state_t.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_t.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_t.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_t.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_core_session_t.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_core_session_t.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_core_session_t.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_args_t.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_args_t.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_args_t.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_type_t.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_type_t.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_type_t.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_status_t.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_status_t.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_status_t.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_void.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_void.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_void.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. @@ -9,24 +9,20 @@ package org.freeswitch.swig; public class freeswitch { - public static void console_log(String level_str, String msg) { - freeswitchJNI.console_log(level_str, msg); - } - - public static void console_clean_log(String msg) { - freeswitchJNI.console_clean_log(msg); + public static void consoleLog(String level_str, String msg) { + freeswitchJNI.consoleLog(level_str, msg); } - public static String api_execute(String cmd, String arg) { - return freeswitchJNI.api_execute(cmd, arg); + public static void consoleCleanLog(String msg) { + freeswitchJNI.consoleCleanLog(msg); } - public static void api_reply_delete(String reply) { - freeswitchJNI.api_reply_delete(reply); + public static void console_log(String level_str, String msg) { + freeswitchJNI.console_log(level_str, msg); } - public static SWIGTYPE_p_switch_status_t process_callback_result(String raw_result, input_callback_state_t cb_state, SWIGTYPE_p_switch_core_session_t session) { - return new SWIGTYPE_p_switch_status_t(freeswitchJNI.process_callback_result(raw_result, input_callback_state_t.getCPtr(cb_state), cb_state, SWIGTYPE_p_switch_core_session_t.getCPtr(session)), true); + public static void console_clean_log(String msg) { + freeswitchJNI.console_clean_log(msg); } public static void bridge(CoreSession session_a, CoreSession session_b) { Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. @@ -9,11 +9,16 @@ package org.freeswitch.swig; class freeswitchJNI { - public final static native void console_log(String jarg1, String jarg2); - public final static native void console_clean_log(String jarg1); - public final static native String api_execute(String jarg1, String jarg2); - public final static native void api_reply_delete(String jarg1); - public final static native long process_callback_result(String jarg1, long jarg2, input_callback_state_t jarg2_, long jarg3); + public final static native void consoleLog(String jarg1, String jarg2); + public final static native void consoleCleanLog(String jarg1); + public final static native long new_IVRMenu(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4, String jarg5, String jarg6, String jarg7, String jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13); + public final static native void delete_IVRMenu(long jarg1); + public final static native void IVRMenu_bindAction(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4); + public final static native void IVRMenu_execute(long jarg1, IVRMenu jarg1_, long jarg2, CoreSession jarg2_, String jarg3); + public final static native long new_API(); + public final static native void delete_API(long jarg1); + public final static native String API_execute(long jarg1, API jarg1_, String jarg2, String jarg3); + public final static native String API_executeString(long jarg1, API jarg1_, String jarg2); public final static native void input_callback_state_t_function_set(long jarg1, input_callback_state_t jarg1_, long jarg2); public final static native long input_callback_state_t_function_get(long jarg1, input_callback_state_t jarg1_); public final static native void input_callback_state_t_threadState_set(long jarg1, input_callback_state_t jarg1_, long jarg2); @@ -27,6 +32,33 @@ public final static native int S_HUP_get(); public final static native int S_FREE_get(); public final static native int S_RDLOCK_get(); + public final static native long new_Stream__SWIG_0(); + public final static native long new_Stream__SWIG_1(long jarg1); + public final static native void delete_Stream(long jarg1); + public final static native void Stream_write(long jarg1, Stream jarg1_, String jarg2); + public final static native String Stream_get_data(long jarg1, Stream jarg1_); + public final static native void Event_event_set(long jarg1, Event jarg1_, long jarg2); + public final static native long Event_event_get(long jarg1, Event jarg1_); + public final static native void Event_serialized_string_set(long jarg1, Event jarg1_, String jarg2); + public final static native String Event_serialized_string_get(long jarg1, Event jarg1_); + public final static native void Event_mine_set(long jarg1, Event jarg1_, int jarg2); + public final static native int Event_mine_get(long jarg1, Event jarg1_); + public final static native long new_Event__SWIG_0(String jarg1, String jarg2); + public final static native long new_Event__SWIG_1(String jarg1); + public final static native long new_Event__SWIG_2(long jarg1, int jarg2); + public final static native long new_Event__SWIG_3(long jarg1); + public final static native void delete_Event(long jarg1); + public final static native String Event_serialize__SWIG_0(long jarg1, Event jarg1_, String jarg2); + public final static native String Event_serialize__SWIG_1(long jarg1, Event jarg1_); + public final static native boolean Event_setPriority__SWIG_0(long jarg1, Event jarg1_, long jarg2); + public final static native boolean Event_setPriority__SWIG_1(long jarg1, Event jarg1_); + public final static native String Event_getHeader(long jarg1, Event jarg1_, String jarg2); + public final static native String Event_getBody(long jarg1, Event jarg1_); + public final static native String Event_getType(long jarg1, Event jarg1_); + public final static native boolean Event_addBody(long jarg1, Event jarg1_, String jarg2); + public final static native boolean Event_addHeader(long jarg1, Event jarg1_, String jarg2, String jarg3); + public final static native boolean Event_delHeader(long jarg1, Event jarg1_, String jarg2); + public final static native boolean Event_fire(long jarg1, Event jarg1_); public final static native void delete_CoreSession(long jarg1); public final static native void CoreSession_session_set(long jarg1, CoreSession jarg1_, long jarg2); public final static native long CoreSession_session_get(long jarg1, CoreSession jarg1_); @@ -34,38 +66,52 @@ public final static native long CoreSession_channel_get(long jarg1, CoreSession jarg1_); public final static native void CoreSession_flags_set(long jarg1, CoreSession jarg1_, long jarg2); public final static native long CoreSession_flags_get(long jarg1, CoreSession jarg1_); + public final static native void CoreSession_allocated_set(long jarg1, CoreSession jarg1_, int jarg2); + public final static native int CoreSession_allocated_get(long jarg1, CoreSession jarg1_); public final static native void CoreSession_cb_state_set(long jarg1, CoreSession jarg1_, long jarg2, input_callback_state_t jarg2_); public final static native long CoreSession_cb_state_get(long jarg1, CoreSession jarg1_); public final static native void CoreSession_hook_state_set(long jarg1, CoreSession jarg1_, long jarg2); public final static native long CoreSession_hook_state_get(long jarg1, CoreSession jarg1_); public final static native int CoreSession_answer(long jarg1, CoreSession jarg1_); public final static native int CoreSession_preAnswer(long jarg1, CoreSession jarg1_); - public final static native void CoreSession_hangup(long jarg1, CoreSession jarg1_, String jarg2); + public final static native void CoreSession_hangup__SWIG_0(long jarg1, CoreSession jarg1_, String jarg2); + public final static native void CoreSession_hangup__SWIG_1(long jarg1, CoreSession jarg1_); public final static native void CoreSession_setVariable(long jarg1, CoreSession jarg1_, String jarg2, String jarg3); + public final static native void CoreSession_setPrivate(long jarg1, CoreSession jarg1_, String jarg2, long jarg3); + public final static native long CoreSession_getPrivate(long jarg1, CoreSession jarg1_, String jarg2); public final static native String CoreSession_getVariable(long jarg1, CoreSession jarg1_, String jarg2); - public final static native int CoreSession_recordFile(long jarg1, CoreSession jarg1_, String jarg2, int jarg3, int jarg4, int jarg5); + public final static native int CoreSession_recordFile__SWIG_0(long jarg1, CoreSession jarg1_, String jarg2, int jarg3, int jarg4, int jarg5); + public final static native int CoreSession_recordFile__SWIG_1(long jarg1, CoreSession jarg1_, String jarg2, int jarg3, int jarg4); + public final static native int CoreSession_recordFile__SWIG_2(long jarg1, CoreSession jarg1_, String jarg2, int jarg3); + public final static native int CoreSession_recordFile__SWIG_3(long jarg1, CoreSession jarg1_, String jarg2); public final static native void CoreSession_setCallerData(long jarg1, CoreSession jarg1_, String jarg2, String jarg3); - public final static native int CoreSession_originate(long jarg1, CoreSession jarg1_, long jarg2, CoreSession jarg2_, String jarg3, int jarg4); + public final static native int CoreSession_originate__SWIG_0(long jarg1, CoreSession jarg1_, long jarg2, CoreSession jarg2_, String jarg3, int jarg4); + public final static native int CoreSession_originate__SWIG_1(long jarg1, CoreSession jarg1_, long jarg2, CoreSession jarg2_, String jarg3); public final static native void CoreSession_setDTMFCallback(long jarg1, CoreSession jarg1_, long jarg2, String jarg3); public final static native int CoreSession_speak(long jarg1, CoreSession jarg1_, String jarg2); public final static native void CoreSession_set_tts_parms(long jarg1, CoreSession jarg1_, String jarg2, String jarg3); public final static native int CoreSession_collectDigits(long jarg1, CoreSession jarg1_, int jarg2); - public final static native int CoreSession_getDigits(long jarg1, CoreSession jarg1_, byte[] jarg2, int jarg3, int jarg4, String jarg5, byte[] jarg6, int jarg7); + public final static native String CoreSession_getDigits(long jarg1, CoreSession jarg1_, int jarg2, String jarg3, int jarg4); public final static native int CoreSession_transfer(long jarg1, CoreSession jarg1_, String jarg2, String jarg3, String jarg4); - public final static native int CoreSession_playAndGetDigits(long jarg1, CoreSession jarg1_, int jarg2, int jarg3, int jarg4, int jarg5, String jarg6, String jarg7, String jarg8, byte[] jarg9, String jarg10); - public final static native int CoreSession_streamFile(long jarg1, CoreSession jarg1_, String jarg2, int jarg3); + public final static native String CoreSession_read(long jarg1, CoreSession jarg1_, int jarg2, int jarg3, String jarg4, int jarg5, String jarg6); + public final static native String CoreSession_playAndGetDigits(long jarg1, CoreSession jarg1_, int jarg2, int jarg3, int jarg4, int jarg5, String jarg6, String jarg7, String jarg8, String jarg9); + public final static native int CoreSession_streamFile__SWIG_0(long jarg1, CoreSession jarg1_, String jarg2, int jarg3); + public final static native int CoreSession_streamFile__SWIG_1(long jarg1, CoreSession jarg1_, String jarg2); public final static native int CoreSession_flushEvents(long jarg1, CoreSession jarg1_); public final static native int CoreSession_flushDigits(long jarg1, CoreSession jarg1_); public final static native int CoreSession_setAutoHangup(long jarg1, CoreSession jarg1_, boolean jarg2); public final static native void CoreSession_setHangupHook(long jarg1, CoreSession jarg1_, long jarg2); public final static native boolean CoreSession_ready(long jarg1, CoreSession jarg1_); public final static native void CoreSession_execute(long jarg1, CoreSession jarg1_, String jarg2, String jarg3); + public final static native void CoreSession_sendEvent(long jarg1, CoreSession jarg1_, long jarg2, Event jarg2_); public final static native boolean CoreSession_begin_allow_threads(long jarg1, CoreSession jarg1_); public final static native boolean CoreSession_end_allow_threads(long jarg1, CoreSession jarg1_); public final static native String CoreSession_get_uuid(long jarg1, CoreSession jarg1_); public final static native long CoreSession_get_cb_args(long jarg1, CoreSession jarg1_); public final static native void CoreSession_check_hangup_hook(long jarg1, CoreSession jarg1_); public final static native long CoreSession_run_dtmf_callback(long jarg1, CoreSession jarg1_, long jarg2, long jarg3); + public final static native void console_log(String jarg1, String jarg2); + public final static native void console_clean_log(String jarg1); public final static native void bridge(long jarg1, CoreSession jarg1_, long jarg2, CoreSession jarg2_); public final static native long hanguphook(long jarg1); public final static native long dtmf_callback(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5); Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/input_callback_state_t.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/input_callback_state_t.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/input_callback_state_t.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/session_flag_t.java ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/session_flag_t.java (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/src/org/freeswitch/swig/session_flag_t.java Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. @@ -27,15 +27,18 @@ throw new IllegalArgumentException("No enum " + session_flag_t.class + " with value " + swigValue); } + @SuppressWarnings("unused") private session_flag_t() { this.swigValue = SwigNext.next++; } + @SuppressWarnings("unused") private session_flag_t(int swigValue) { this.swigValue = swigValue; SwigNext.next = swigValue+1; } + @SuppressWarnings("unused") private session_flag_t(session_flag_t swigEnum) { this.swigValue = swigEnum.swigValue; SwigNext.next = this.swigValue+1; Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/switch_swig_wrap.cpp ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/switch_swig_wrap.cpp (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_java/switch_swig_wrap.cpp Tue May 13 22:16:21 2008 @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.35 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -10,7 +10,7 @@ #ifdef __cplusplus -template<class T> class SwigValueWrapper { +template<typename T> class SwigValueWrapper { T *tt; public: SwigValueWrapper() : tt(0) { } @@ -23,6 +23,10 @@ private: SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs); }; + +template <typename T> T SwigValueInit() { + return T(); +} #endif /* ----------------------------------------------------------------------------- @@ -32,14 +36,14 @@ /* template workaround for compilers that cannot correctly implement the C++ standard */ #ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) -# if (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template # else -# define SWIGTEMPLATEDISAMBIGUATOR +# define SWIGTEMPLATEDISAMBIGUATOR # endif #endif @@ -122,6 +126,12 @@ # define _CRT_SECURE_NO_DEPRECATE #endif +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + /* Fix for jlong on some versions of gcc on Windows */ #if defined(__GNUC__) && !defined(__INTELC__) @@ -197,7 +207,7 @@ extern "C" { #endif -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_console_1log(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2) { +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_consoleLog(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2) { char *arg1 = (char *) 0 ; char *arg2 = (char *) 0 ; @@ -213,13 +223,13 @@ arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); if (!arg2) return ; } - console_log(arg1,arg2); + consoleLog(arg1,arg2); if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_console_1clean_1log(JNIEnv *jenv, jclass jcls, jstring jarg1) { +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_consoleCleanLog(JNIEnv *jenv, jclass jcls, jstring jarg1) { char *arg1 = (char *) 0 ; (void)jenv; @@ -229,72 +239,219 @@ arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); if (!arg1) return ; } - console_clean_log(arg1); + consoleCleanLog(arg1); if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); } -SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_api_1execute(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2) { - jstring jresult = 0 ; - char *arg1 = (char *) 0 ; +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1IVRMenu(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4, jstring jarg5, jstring jarg6, jstring jarg7, jstring jarg8, jint jarg9, jint jarg10, jint jarg11, jint jarg12, jint jarg13) { + jlong jresult = 0 ; + IVRMenu *arg1 = (IVRMenu *) 0 ; char *arg2 = (char *) 0 ; - char *result = 0 ; + char *arg3 = (char *) 0 ; + char *arg4 = (char *) 0 ; + char *arg5 = (char *) 0 ; + char *arg6 = (char *) 0 ; + char *arg7 = (char *) 0 ; + char *arg8 = (char *) 0 ; + int arg9 ; + int arg10 ; + int arg11 ; + int arg12 ; + int arg13 ; + IVRMenu *result = 0 ; (void)jenv; (void)jcls; - arg1 = 0; - if (jarg1) { - arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); - if (!arg1) return 0; - } + (void)jarg1_; + arg1 = *(IVRMenu **)&jarg1; arg2 = 0; if (jarg2) { arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); if (!arg2) return 0; } - result = (char *)api_execute(arg1,arg2); - if(result) jresult = jenv->NewStringUTF((const char *)result); - if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; + } + arg4 = 0; + if (jarg4) { + arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0); + if (!arg4) return 0; + } + arg5 = 0; + if (jarg5) { + arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0); + if (!arg5) return 0; + } + arg6 = 0; + if (jarg6) { + arg6 = (char *)jenv->GetStringUTFChars(jarg6, 0); + if (!arg6) return 0; + } + arg7 = 0; + if (jarg7) { + arg7 = (char *)jenv->GetStringUTFChars(jarg7, 0); + if (!arg7) return 0; + } + arg8 = 0; + if (jarg8) { + arg8 = (char *)jenv->GetStringUTFChars(jarg8, 0); + if (!arg8) return 0; + } + arg9 = (int)jarg9; + arg10 = (int)jarg10; + arg11 = (int)jarg11; + arg12 = (int)jarg12; + arg13 = (int)jarg13; + result = (IVRMenu *)new IVRMenu(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11,arg12,arg13); + *(IVRMenu **)&jresult = result; if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4); + if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5); + if (arg6) jenv->ReleaseStringUTFChars(jarg6, (const char *)arg6); + if (arg7) jenv->ReleaseStringUTFChars(jarg7, (const char *)arg7); + if (arg8) jenv->ReleaseStringUTFChars(jarg8, (const char *)arg8); return jresult; } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_api_1reply_1delete(JNIEnv *jenv, jclass jcls, jstring jarg1) { - char *arg1 = (char *) 0 ; +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_delete_1IVRMenu(JNIEnv *jenv, jclass jcls, jlong jarg1) { + IVRMenu *arg1 = (IVRMenu *) 0 ; (void)jenv; (void)jcls; - arg1 = 0; - if (jarg1) { - arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); - if (!arg1) return ; + arg1 = *(IVRMenu **)&jarg1; + delete arg1; + +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_IVRMenu_1bindAction(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4) { + IVRMenu *arg1 = (IVRMenu *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + char *arg4 = (char *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(IVRMenu **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return ; } - api_reply_delete(arg1); - if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return ; + } + arg4 = 0; + if (jarg4) { + arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0); + if (!arg4) return ; + } + (arg1)->bindAction(arg2,(char const *)arg3,(char const *)arg4); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4); } -SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_process_1callback_1result(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jobject jarg2_, jlong jarg3) { - jlong jresult = 0 ; - char *arg1 = (char *) 0 ; - input_callback_state *arg2 = (input_callback_state *) 0 ; - switch_core_session_t *arg3 = (switch_core_session_t *) 0 ; - switch_status_t result; +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_IVRMenu_1execute(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jstring jarg3) { + IVRMenu *arg1 = (IVRMenu *) 0 ; + CoreSession *arg2 = (CoreSession *) 0 ; + char *arg3 = (char *) 0 ; (void)jenv; (void)jcls; + (void)jarg1_; (void)jarg2_; - arg1 = 0; - if (jarg1) { - arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); - if (!arg1) return 0; + arg1 = *(IVRMenu **)&jarg1; + arg2 = *(CoreSession **)&jarg2; + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return ; } - arg2 = *(input_callback_state **)&jarg2; - arg3 = *(switch_core_session_t **)&jarg3; - result = process_callback_result(arg1,arg2,arg3); - *(switch_status_t **)&jresult = new switch_status_t((switch_status_t &)result); - if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + (arg1)->execute(arg2,(char const *)arg3); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1API(JNIEnv *jenv, jclass jcls) { + jlong jresult = 0 ; + API *result = 0 ; + + (void)jenv; + (void)jcls; + result = (API *)new API(); + *(API **)&jresult = result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_delete_1API(JNIEnv *jenv, jclass jcls, jlong jarg1) { + API *arg1 = (API *) 0 ; + + (void)jenv; + (void)jcls; + arg1 = *(API **)&jarg1; + delete arg1; + +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_API_1execute(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) { + jstring jresult = 0 ; + API *arg1 = (API *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(API **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; + } + result = (char *)(arg1)->execute((char const *)arg2,(char const *)arg3); + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_API_1executeString(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jstring jresult = 0 ; + API *arg1 = (API *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(API **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (char *)(arg1)->executeString((char const *)arg2); + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); return jresult; } @@ -486,122 +643,621 @@ } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_delete_1CoreSession(JNIEnv *jenv, jclass jcls, jlong jarg1) { - CoreSession *arg1 = (CoreSession *) 0 ; +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1Stream_1_1SWIG_10(JNIEnv *jenv, jclass jcls) { + jlong jresult = 0 ; + Stream *result = 0 ; (void)jenv; (void)jcls; - arg1 = *(CoreSession **)&jarg1; - delete arg1; - + result = (Stream *)new Stream(); + *(Stream **)&jresult = result; + return jresult; } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1session_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { - CoreSession *arg1 = (CoreSession *) 0 ; - switch_core_session_t *arg2 = (switch_core_session_t *) 0 ; +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1Stream_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1) { + jlong jresult = 0 ; + switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ; + Stream *result = 0 ; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(CoreSession **)&jarg1; - arg2 = *(switch_core_session_t **)&jarg2; - if (arg1) (arg1)->session = arg2; - + arg1 = *(switch_stream_handle_t **)&jarg1; + result = (Stream *)new Stream(arg1); + *(Stream **)&jresult = result; + return jresult; } -SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1session_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jlong jresult = 0 ; - CoreSession *arg1 = (CoreSession *) 0 ; - switch_core_session_t *result = 0 ; +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_delete_1Stream(JNIEnv *jenv, jclass jcls, jlong jarg1) { + Stream *arg1 = (Stream *) 0 ; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(CoreSession **)&jarg1; - result = (switch_core_session_t *) ((arg1)->session); - *(switch_core_session_t **)&jresult = result; - return jresult; + arg1 = *(Stream **)&jarg1; + delete arg1; + } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1channel_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { - CoreSession *arg1 = (CoreSession *) 0 ; - switch_channel_t *arg2 = (switch_channel_t *) 0 ; +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_Stream_1write(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + Stream *arg1 = (Stream *) 0 ; + char *arg2 = (char *) 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(CoreSession **)&jarg1; - arg2 = *(switch_channel_t **)&jarg2; - if (arg1) (arg1)->channel = arg2; - + arg1 = *(Stream **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return ; + } + (arg1)->write((char const *)arg2); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); } -SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1channel_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jlong jresult = 0 ; - CoreSession *arg1 = (CoreSession *) 0 ; - switch_channel_t *result = 0 ; +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_Stream_1get_1data(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + Stream *arg1 = (Stream *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(CoreSession **)&jarg1; - result = (switch_channel_t *) ((arg1)->channel); - *(switch_channel_t **)&jresult = result; + arg1 = *(Stream **)&jarg1; + result = (char *)(arg1)->get_data(); + if(result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1flags_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { - CoreSession *arg1 = (CoreSession *) 0 ; - unsigned int arg2 ; +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1event_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + Event *arg1 = (Event *) 0 ; + switch_event_t *arg2 = (switch_event_t *) 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(CoreSession **)&jarg1; - arg2 = (unsigned int)jarg2; - if (arg1) (arg1)->flags = arg2; + arg1 = *(Event **)&jarg1; + arg2 = *(switch_event_t **)&jarg2; + if (arg1) (arg1)->event = arg2; } -SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1flags_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1event_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jlong jresult = 0 ; - CoreSession *arg1 = (CoreSession *) 0 ; - unsigned int result; + Event *arg1 = (Event *) 0 ; + switch_event_t *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(CoreSession **)&jarg1; - result = (unsigned int) ((arg1)->flags); - jresult = (jlong)result; + arg1 = *(Event **)&jarg1; + result = (switch_event_t *) ((arg1)->event); + *(switch_event_t **)&jresult = result; return jresult; } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1cb_1state_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { - CoreSession *arg1 = (CoreSession *) 0 ; - input_callback_state *arg2 = (input_callback_state *) 0 ; +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1serialized_1string_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; (void)jenv; (void)jcls; (void)jarg1_; - (void)jarg2_; - arg1 = *(CoreSession **)&jarg1; - arg2 = *(input_callback_state **)&jarg2; - if (arg1) (arg1)->cb_state = *arg2; - -} - - -SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1cb_1state_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jlong jresult = 0 ; - CoreSession *arg1 = (CoreSession *) 0 ; + arg1 = *(Event **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return ; + } + { + if (arg1->serialized_string) delete [] arg1->serialized_string; + if (arg2) { + arg1->serialized_string = (char *) (new char[strlen((const char *)arg2)+1]); + strcpy((char *)arg1->serialized_string, (const char *)arg2); + } else { + arg1->serialized_string = 0; + } + } + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1serialized_1string_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + result = (char *) ((arg1)->serialized_string); + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1mine_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + Event *arg1 = (Event *) 0 ; + int arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + arg2 = (int)jarg2; + if (arg1) (arg1)->mine = arg2; + +} + + +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1mine_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + Event *arg1 = (Event *) 0 ; + int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + result = (int) ((arg1)->mine); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1Event_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2) { + jlong jresult = 0 ; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + Event *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = 0; + if (jarg1) { + arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); + if (!arg1) return 0; + } + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (Event *)new Event((char const *)arg1,(char const *)arg2); + *(Event **)&jresult = result; + if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1Event_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jstring jarg1) { + jlong jresult = 0 ; + char *arg1 = (char *) 0 ; + Event *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = 0; + if (jarg1) { + arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); + if (!arg1) return 0; + } + result = (Event *)new Event((char const *)arg1); + *(Event **)&jresult = result; + if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1Event_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jint jarg2) { + jlong jresult = 0 ; + switch_event_t *arg1 = (switch_event_t *) 0 ; + int arg2 ; + Event *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = *(switch_event_t **)&jarg1; + arg2 = (int)jarg2; + result = (Event *)new Event(arg1,arg2); + *(Event **)&jresult = result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1Event_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1) { + jlong jresult = 0 ; + switch_event_t *arg1 = (switch_event_t *) 0 ; + Event *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = *(switch_event_t **)&jarg1; + result = (Event *)new Event(arg1); + *(Event **)&jresult = result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_delete_1Event(JNIEnv *jenv, jclass jcls, jlong jarg1) { + Event *arg1 = (Event *) 0 ; + + (void)jenv; + (void)jcls; + arg1 = *(Event **)&jarg1; + delete arg1; + +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1serialize_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jstring jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (char *)(arg1)->serialize((char const *)arg2); + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1serialize_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + result = (char *)(arg1)->serialize(); + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1setPriority_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jboolean jresult = 0 ; + Event *arg1 = (Event *) 0 ; + switch_priority_t arg2 ; + bool result; + switch_priority_t *argp2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + argp2 = *(switch_priority_t **)&jarg2; + if (!argp2) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null switch_priority_t"); + return 0; + } + arg2 = *argp2; + result = (bool)(arg1)->setPriority(arg2); + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1setPriority_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + Event *arg1 = (Event *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + result = (bool)(arg1)->setPriority(); + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1getHeader(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jstring jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (char *)(arg1)->getHeader(arg2); + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1getBody(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + result = (char *)(arg1)->getBody(); + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1getType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + result = (char *)(arg1)->getType(); + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1addBody(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jboolean jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (bool)(arg1)->addBody((char const *)arg2); + jresult = (jboolean)result; + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1addHeader(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) { + jboolean jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; + } + result = (bool)(arg1)->addHeader((char const *)arg2,(char const *)arg3); + jresult = (jboolean)result; + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1delHeader(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jboolean jresult = 0 ; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (bool)(arg1)->delHeader((char const *)arg2); + jresult = (jboolean)result; + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_Event_1fire(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + Event *arg1 = (Event *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(Event **)&jarg1; + result = (bool)(arg1)->fire(); + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_delete_1CoreSession(JNIEnv *jenv, jclass jcls, jlong jarg1) { + CoreSession *arg1 = (CoreSession *) 0 ; + + (void)jenv; + (void)jcls; + arg1 = *(CoreSession **)&jarg1; + delete arg1; + +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1session_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + CoreSession *arg1 = (CoreSession *) 0 ; + switch_core_session_t *arg2 = (switch_core_session_t *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = *(switch_core_session_t **)&jarg2; + if (arg1) (arg1)->session = arg2; + +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1session_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + switch_core_session_t *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + result = (switch_core_session_t *) ((arg1)->session); + *(switch_core_session_t **)&jresult = result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1channel_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + CoreSession *arg1 = (CoreSession *) 0 ; + switch_channel_t *arg2 = (switch_channel_t *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = *(switch_channel_t **)&jarg2; + if (arg1) (arg1)->channel = arg2; + +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1channel_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + switch_channel_t *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + result = (switch_channel_t *) ((arg1)->channel); + *(switch_channel_t **)&jresult = result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1flags_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + CoreSession *arg1 = (CoreSession *) 0 ; + unsigned int arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = (unsigned int)jarg2; + if (arg1) (arg1)->flags = arg2; + +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1flags_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + unsigned int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + result = (unsigned int) ((arg1)->flags); + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1allocated_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + CoreSession *arg1 = (CoreSession *) 0 ; + int arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = (int)jarg2; + if (arg1) (arg1)->allocated = arg2; + +} + + +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1allocated_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + result = (int) ((arg1)->allocated); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1cb_1state_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { + CoreSession *arg1 = (CoreSession *) 0 ; + input_callback_state *arg2 = (input_callback_state *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + arg1 = *(CoreSession **)&jarg1; + arg2 = *(input_callback_state **)&jarg2; + if (arg1) (arg1)->cb_state = *arg2; + +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1cb_1state_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; input_callback_state *result = 0 ; (void)jenv; @@ -649,39 +1305,162 @@ } -SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1answer(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1answer(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + result = (int)(arg1)->answer(); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1preAnswer(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + result = (int)(arg1)->preAnswer(); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1hangup_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return ; + } + (arg1)->hangup(arg2); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1hangup_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + CoreSession *arg1 = (CoreSession *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + (arg1)->hangup(); +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1setVariable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) { + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return ; + } + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return ; + } + (arg1)->setVariable(arg2,arg3); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1setPrivate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) { + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + void *arg3 = (void *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return ; + } + arg3 = *(void **)&jarg3; + (arg1)->setPrivate(arg2,arg3); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); +} + + +SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1getPrivate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jlong jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; - int result; + char *arg2 = (char *) 0 ; + void *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; arg1 = *(CoreSession **)&jarg1; - result = (int)(arg1)->answer(); - jresult = (jint)result; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (void *)(arg1)->getPrivate(arg2); + *(void **)&jresult = result; + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); return jresult; } -SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1preAnswer(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1getVariable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jstring jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; - int result; + char *arg2 = (char *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; arg1 = *(CoreSession **)&jarg1; - result = (int)(arg1)->preAnswer(); - jresult = (jint)result; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (char *)(arg1)->getVariable(arg2); + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); return jresult; } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1hangup(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1recordFile_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3, jint jarg4, jint jarg5) { + jint jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; + int arg3 ; + int arg4 ; + int arg5 ; + int result; (void)jenv; (void)jcls; @@ -690,17 +1469,25 @@ arg2 = 0; if (jarg2) { arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); - if (!arg2) return ; + if (!arg2) return 0; } - (arg1)->hangup(arg2); + arg3 = (int)jarg3; + arg4 = (int)jarg4; + arg5 = (int)jarg5; + result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5); + jresult = (jint)result; if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; } -SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1setVariable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) { +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1recordFile_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3, jint jarg4) { + jint jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; + int arg3 ; + int arg4 ; + int result; (void)jenv; (void)jcls; @@ -709,24 +1496,23 @@ arg2 = 0; if (jarg2) { arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); - if (!arg2) return ; - } - arg3 = 0; - if (jarg3) { - arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); - if (!arg3) return ; + if (!arg2) return 0; } - (arg1)->setVariable(arg2,arg3); + arg3 = (int)jarg3; + arg4 = (int)jarg4; + result = (int)(arg1)->recordFile(arg2,arg3,arg4); + jresult = (jint)result; if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); - if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + return jresult; } -SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1getVariable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { - jstring jresult = 0 ; +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1recordFile_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3) { + jint jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; - char *result = 0 ; + int arg3 ; + int result; (void)jenv; (void)jcls; @@ -737,20 +1523,18 @@ arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); if (!arg2) return 0; } - result = (char *)(arg1)->getVariable(arg2); - if(result) jresult = jenv->NewStringUTF((const char *)result); + arg3 = (int)jarg3; + result = (int)(arg1)->recordFile(arg2,arg3); + jresult = (jint)result; if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); return jresult; } -SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1recordFile(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3, jint jarg4, jint jarg5) { +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1recordFile_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { jint jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; - int arg3 = (int) 0 ; - int arg4 = (int) 0 ; - int arg5 = (int) 0 ; int result; (void)jenv; @@ -762,10 +1546,7 @@ arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); if (!arg2) return 0; } - arg3 = (int)jarg3; - arg4 = (int)jarg4; - arg5 = (int)jarg5; - result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5); + result = (int)(arg1)->recordFile(arg2); jresult = (jint)result; if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); return jresult; @@ -797,12 +1578,12 @@ } -SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1originate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jstring jarg3, jint jarg4) { +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1originate_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jstring jarg3, jint jarg4) { jint jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; CoreSession *arg2 = (CoreSession *) 0 ; char *arg3 = (char *) 0 ; - int arg4 = (int) 60 ; + int arg4 ; int result; (void)jenv; @@ -824,6 +1605,31 @@ } +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1originate_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jstring jarg3) { + jint jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + CoreSession *arg2 = (CoreSession *) 0 ; + char *arg3 = (char *) 0 ; + int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + arg1 = *(CoreSession **)&jarg1; + arg2 = *(CoreSession **)&jarg2; + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; + } + result = (int)(arg1)->originate(arg2,arg3); + jresult = (jint)result; + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + return jresult; +} + + SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1setDTMFCallback(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) { CoreSession *arg1 = (CoreSession *) 0 ; void *arg2 = (void *) 0 ; @@ -908,48 +1714,28 @@ } -SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1getDigits(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2, jint jarg3, jint jarg4, jstring jarg5, jbyteArray jarg6, jint jarg7) { - jint jresult = 0 ; +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1getDigits(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jstring jarg3, jint jarg4) { + jstring jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; - char *arg2 = (char *) 0 ; - int arg3 ; + int arg2 ; + char *arg3 = (char *) 0 ; int arg4 ; - char *arg5 = (char *) 0 ; - char *arg6 = (char *) 0 ; - int arg7 ; - int result; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; arg1 = *(CoreSession **)&jarg1; - { - arg2 = (char*) jenv->GetByteArrayElements(jarg2, 0); - if (!arg2) return 0; + arg2 = (int)jarg2; + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; } - arg3 = (int)jarg3; arg4 = (int)jarg4; - arg5 = 0; - if (jarg5) { - arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0); - if (!arg5) return 0; - } - { - arg6 = (char*) jenv->GetByteArrayElements(jarg6, 0); - if (!arg6) return 0; - } - arg7 = (int)jarg7; - result = (int)(arg1)->getDigits(arg2,arg3,arg4,arg5,arg6,arg7); - jresult = (jint)result; - { - jenv->ReleaseByteArrayElements(jarg2, (jbyte*) arg2, 0); - } - { - jenv->ReleaseByteArrayElements(jarg6, (jbyte*) arg6, 0); - } - - if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5); - + result = (char *)(arg1)->getDigits(arg2,arg3,arg4); + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); return jresult; } @@ -990,8 +1776,43 @@ } -SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1playAndGetDigits(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3, jint jarg4, jint jarg5, jstring jarg6, jstring jarg7, jstring jarg8, jbyteArray jarg9, jstring jarg10) { - jint jresult = 0 ; +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1read(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3, jstring jarg4, jint jarg5, jstring jarg6) { + jstring jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + int arg2 ; + int arg3 ; + char *arg4 = (char *) 0 ; + int arg5 ; + char *arg6 = (char *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = (int)jarg2; + arg3 = (int)jarg3; + arg4 = 0; + if (jarg4) { + arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0); + if (!arg4) return 0; + } + arg5 = (int)jarg5; + arg6 = 0; + if (jarg6) { + arg6 = (char *)jenv->GetStringUTFChars(jarg6, 0); + if (!arg6) return 0; + } + result = (char *)(arg1)->read(arg2,arg3,(char const *)arg4,arg5,(char const *)arg6); + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4); + if (arg6) jenv->ReleaseStringUTFChars(jarg6, (const char *)arg6); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1playAndGetDigits(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3, jint jarg4, jint jarg5, jstring jarg6, jstring jarg7, jstring jarg8, jstring jarg9) { + jstring jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; int arg2 ; int arg3 ; @@ -1001,8 +1822,7 @@ char *arg7 = (char *) 0 ; char *arg8 = (char *) 0 ; char *arg9 = (char *) 0 ; - char *arg10 = (char *) 0 ; - int result; + char *result = 0 ; (void)jenv; (void)jcls; @@ -1027,34 +1847,26 @@ arg8 = (char *)jenv->GetStringUTFChars(jarg8, 0); if (!arg8) return 0; } - { - arg9 = (char*) jenv->GetByteArrayElements(jarg9, 0); + arg9 = 0; + if (jarg9) { + arg9 = (char *)jenv->GetStringUTFChars(jarg9, 0); if (!arg9) return 0; } - arg10 = 0; - if (jarg10) { - arg10 = (char *)jenv->GetStringUTFChars(jarg10, 0); - if (!arg10) return 0; - } - result = (int)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10); - jresult = (jint)result; - { - jenv->ReleaseByteArrayElements(jarg9, (jbyte*) arg9, 0); - } + result = (char *)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); + if(result) jresult = jenv->NewStringUTF((const char *)result); if (arg6) jenv->ReleaseStringUTFChars(jarg6, (const char *)arg6); if (arg7) jenv->ReleaseStringUTFChars(jarg7, (const char *)arg7); if (arg8) jenv->ReleaseStringUTFChars(jarg8, (const char *)arg8); - - if (arg10) jenv->ReleaseStringUTFChars(jarg10, (const char *)arg10); + if (arg9) jenv->ReleaseStringUTFChars(jarg9, (const char *)arg9); return jresult; } -SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1streamFile(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3) { +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1streamFile_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3) { jint jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; - int arg3 = (int) 0 ; + int arg3 ; int result; (void)jenv; @@ -1074,6 +1886,28 @@ } +SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1streamFile_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jint jresult = 0 ; + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CoreSession **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + result = (int)(arg1)->streamFile(arg2); + jresult = (jint)result; + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1flushEvents(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; @@ -1174,6 +2008,20 @@ } +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1sendEvent(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { + CoreSession *arg1 = (CoreSession *) 0 ; + Event *arg2 = (Event *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + arg1 = *(CoreSession **)&jarg1; + arg2 = *(Event **)&jarg2; + (arg1)->sendEvent(arg2); +} + + SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1begin_1allow_1threads(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jboolean jresult = 0 ; CoreSession *arg1 = (CoreSession *) 0 ; @@ -1273,6 +2121,43 @@ } +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_console_1log(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2) { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + + (void)jenv; + (void)jcls; + arg1 = 0; + if (jarg1) { + arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); + if (!arg1) return ; + } + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return ; + } + console_log(arg1,arg2); + if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); +} + + +SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_console_1clean_1log(JNIEnv *jenv, jclass jcls, jstring jarg1) { + char *arg1 = (char *) 0 ; + + (void)jenv; + (void)jcls; + arg1 = 0; + if (jarg1) { + arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); + if (!arg1) return ; + } + console_clean_log(arg1); + if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); +} + + SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_bridge(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { CoreSession *arg1 = 0 ; CoreSession *arg2 = 0 ; Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch.py ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch.py (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch.py Tue May 13 22:16:21 2008 @@ -48,11 +48,42 @@ del types -console_log = _freeswitch.console_log -console_clean_log = _freeswitch.console_clean_log -api_execute = _freeswitch.api_execute -api_reply_delete = _freeswitch.api_reply_delete -process_callback_result = _freeswitch.process_callback_result +consoleLog = _freeswitch.consoleLog +consoleCleanLog = _freeswitch.consoleCleanLog +class IVRMenu(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, IVRMenu, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, IVRMenu, name) + __repr__ = _swig_repr + def __init__(self, *args): + this = _freeswitch.new_IVRMenu(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _freeswitch.delete_IVRMenu + __del__ = lambda self : None; + def bindAction(*args): return _freeswitch.IVRMenu_bindAction(*args) + def execute(*args): return _freeswitch.IVRMenu_execute(*args) +IVRMenu_swigregister = _freeswitch.IVRMenu_swigregister +IVRMenu_swigregister(IVRMenu) + +class API(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, API, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, API, name) + __repr__ = _swig_repr + def __init__(self, *args): + this = _freeswitch.new_API(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _freeswitch.delete_API + __del__ = lambda self : None; + def execute(*args): return _freeswitch.API_execute(*args) + def executeString(*args): return _freeswitch.API_executeString(*args) +API_swigregister = _freeswitch.API_swigregister +API_swigregister(API) + class input_callback_state_t(_object): __swig_setmethods__ = {} __setattr__ = lambda self, name, value: _swig_setattr(self, input_callback_state_t, name, value) @@ -83,6 +114,56 @@ S_HUP = _freeswitch.S_HUP S_FREE = _freeswitch.S_FREE S_RDLOCK = _freeswitch.S_RDLOCK +class Stream(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, Stream, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, Stream, name) + __repr__ = _swig_repr + def __init__(self, *args): + this = _freeswitch.new_Stream(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _freeswitch.delete_Stream + __del__ = lambda self : None; + def write(*args): return _freeswitch.Stream_write(*args) + def get_data(*args): return _freeswitch.Stream_get_data(*args) +Stream_swigregister = _freeswitch.Stream_swigregister +Stream_swigregister(Stream) + +class Event(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, Event, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, Event, name) + __repr__ = _swig_repr + __swig_setmethods__["event"] = _freeswitch.Event_event_set + __swig_getmethods__["event"] = _freeswitch.Event_event_get + if _newclass:event = _swig_property(_freeswitch.Event_event_get, _freeswitch.Event_event_set) + __swig_setmethods__["serialized_string"] = _freeswitch.Event_serialized_string_set + __swig_getmethods__["serialized_string"] = _freeswitch.Event_serialized_string_get + if _newclass:serialized_string = _swig_property(_freeswitch.Event_serialized_string_get, _freeswitch.Event_serialized_string_set) + __swig_setmethods__["mine"] = _freeswitch.Event_mine_set + __swig_getmethods__["mine"] = _freeswitch.Event_mine_get + if _newclass:mine = _swig_property(_freeswitch.Event_mine_get, _freeswitch.Event_mine_set) + def __init__(self, *args): + this = _freeswitch.new_Event(*args) + try: self.this.append(this) + except: self.this = this + __swig_destroy__ = _freeswitch.delete_Event + __del__ = lambda self : None; + def serialize(*args): return _freeswitch.Event_serialize(*args) + def setPriority(*args): return _freeswitch.Event_setPriority(*args) + def getHeader(*args): return _freeswitch.Event_getHeader(*args) + def getBody(*args): return _freeswitch.Event_getBody(*args) + def getType(*args): return _freeswitch.Event_getType(*args) + def addBody(*args): return _freeswitch.Event_addBody(*args) + def addHeader(*args): return _freeswitch.Event_addHeader(*args) + def delHeader(*args): return _freeswitch.Event_delHeader(*args) + def fire(*args): return _freeswitch.Event_fire(*args) +Event_swigregister = _freeswitch.Event_swigregister +Event_swigregister(Event) + class CoreSession(_object): __swig_setmethods__ = {} __setattr__ = lambda self, name, value: _swig_setattr(self, CoreSession, name, value) @@ -101,6 +182,9 @@ __swig_setmethods__["flags"] = _freeswitch.CoreSession_flags_set __swig_getmethods__["flags"] = _freeswitch.CoreSession_flags_get if _newclass:flags = _swig_property(_freeswitch.CoreSession_flags_get, _freeswitch.CoreSession_flags_set) + __swig_setmethods__["allocated"] = _freeswitch.CoreSession_allocated_set + __swig_getmethods__["allocated"] = _freeswitch.CoreSession_allocated_get + if _newclass:allocated = _swig_property(_freeswitch.CoreSession_allocated_get, _freeswitch.CoreSession_allocated_set) __swig_setmethods__["cb_state"] = _freeswitch.CoreSession_cb_state_set __swig_getmethods__["cb_state"] = _freeswitch.CoreSession_cb_state_get if _newclass:cb_state = _swig_property(_freeswitch.CoreSession_cb_state_get, _freeswitch.CoreSession_cb_state_set) @@ -111,6 +195,8 @@ def preAnswer(*args): return _freeswitch.CoreSession_preAnswer(*args) def hangup(*args): return _freeswitch.CoreSession_hangup(*args) def setVariable(*args): return _freeswitch.CoreSession_setVariable(*args) + def setPrivate(*args): return _freeswitch.CoreSession_setPrivate(*args) + def getPrivate(*args): return _freeswitch.CoreSession_getPrivate(*args) def getVariable(*args): return _freeswitch.CoreSession_getVariable(*args) def recordFile(*args): return _freeswitch.CoreSession_recordFile(*args) def setCallerData(*args): return _freeswitch.CoreSession_setCallerData(*args) @@ -121,6 +207,7 @@ def collectDigits(*args): return _freeswitch.CoreSession_collectDigits(*args) def getDigits(*args): return _freeswitch.CoreSession_getDigits(*args) def transfer(*args): return _freeswitch.CoreSession_transfer(*args) + def read(*args): return _freeswitch.CoreSession_read(*args) def playAndGetDigits(*args): return _freeswitch.CoreSession_playAndGetDigits(*args) def streamFile(*args): return _freeswitch.CoreSession_streamFile(*args) def flushEvents(*args): return _freeswitch.CoreSession_flushEvents(*args) @@ -129,6 +216,7 @@ def setHangupHook(*args): return _freeswitch.CoreSession_setHangupHook(*args) def ready(*args): return _freeswitch.CoreSession_ready(*args) def execute(*args): return _freeswitch.CoreSession_execute(*args) + def sendEvent(*args): return _freeswitch.CoreSession_sendEvent(*args) def begin_allow_threads(*args): return _freeswitch.CoreSession_begin_allow_threads(*args) def end_allow_threads(*args): return _freeswitch.CoreSession_end_allow_threads(*args) def get_uuid(*args): return _freeswitch.CoreSession_get_uuid(*args) @@ -138,6 +226,8 @@ CoreSession_swigregister = _freeswitch.CoreSession_swigregister CoreSession_swigregister(CoreSession) +console_log = _freeswitch.console_log +console_clean_log = _freeswitch.console_clean_log bridge = _freeswitch.bridge hanguphook = _freeswitch.hanguphook dtmf_callback = _freeswitch.dtmf_callback Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch_python.cpp ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch_python.cpp (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch_python.cpp Tue May 13 22:16:21 2008 @@ -55,13 +55,17 @@ char *resultStr; bool did_swap_in = false; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "check_hangup_hook called\n"); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "check_hangup_hook has been DISABLED, please do not use hangup hooks in python code until further notice!\n"); if (!session) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "No valid session\n"); return; } + return; + + /*! NEEDS TO BE FIXED: + // The did_swap_in boolean was added to fix the following problem: // Design flaw - we swap in threadstate based on the assumption that thread state // is currently _swapped out_ when this hangup hook is called. However, nothing known to @@ -101,7 +105,7 @@ } Py_XDECREF(result); - + */ } switch_status_t PySession::run_dtmf_callback(void *input, @@ -201,7 +205,7 @@ if (pyresult && pyresult != Py_None) { resultStr = (char *) PyString_AsString(pyresult); - switch_status_t cbresult = process_callback_result(resultStr, &cb_state, session); + switch_status_t cbresult = process_callback_result(resultStr); return cbresult; } else { Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch_python.h ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch_python.h (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/freeswitch_python.h Tue May 13 22:16:21 2008 @@ -21,8 +21,6 @@ void console_log(char *level_str, char *msg); void console_clean_log(char *msg); -char *api_execute(char *cmd, char *arg); -void api_reply_delete(char *reply); class PySession : public CoreSession { private: Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python.c Tue May 13 22:16:21 2008 @@ -169,28 +169,31 @@ // swap out thread state if (session) { - // record the fact that thread state is swapped in - switch_channel_t *channel = switch_core_session_get_channel(session); - PyThreadState *swapin_tstate = (PyThreadState *) switch_channel_get_private(channel, "SwapInThreadState"); - // so lets assume nothing in the python script swapped any thread state in - // or out .. thread state will currently be swapped in, and the SwapInThreadState - // will be null - if (swapin_tstate == NULL) { - // swap it out - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Threadstate mod_python.c swap-out! \n"); - // PyEval_ReleaseThread(cur_tstate); - swapin_tstate = (void *) PyEval_SaveThread(); - switch_channel_set_private(channel, "SwapInThreadState", (void *) swapin_tstate); - } - else { - // thread state is already swapped out, so, nothing for us to do - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "according to chan priv data, already swapped out \n"); - } - } + // record the fact that thread state is swapped in + switch_channel_t *channel = switch_core_session_get_channel(session); + PyThreadState *swapin_tstate = (PyThreadState *) switch_channel_get_private(channel, "SwapInThreadState"); + // so lets assume nothing in the python script swapped any thread state in + // or out .. thread state will currently be swapped in, and the SwapInThreadState + // will be null + if (swapin_tstate == NULL) { + // clear out threadstate + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "clear threadstate \n"); + // we know we are swapped in because swapin_tstate is NULL, and therefore we have the GIL, so + // it is safe to call PyThreadState_Get. + PyThreadState *cur_tstate = PyThreadState_Get(); + PyThreadState_Clear(cur_tstate); + PyEval_ReleaseThread(cur_tstate); + PyThreadState_Delete(cur_tstate); + } + else { + // thread state is already swapped out, so, nothing for us to do + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "according to chan priv data, already swapped out \n"); + } + } else { - // they ran python script from cmd line, behave a bit differently (untested) - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Threadstate mod_python.c swap-out! \n"); - PyEval_ReleaseThread(tstate); + // they ran python script from cmd line, behave a bit differently (untested) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "No session: Threadstate mod_python.c swap-out! \n"); + PyEval_ReleaseThread(tstate); } switch_safe_free(dupargs); @@ -290,22 +293,22 @@ if (!Py_IsInitialized()) { - // initialize python system - Py_Initialize(); + // initialize python system + Py_Initialize(); - // create GIL and a threadstate - PyEval_InitThreads(); + // create GIL and a threadstate + PyEval_InitThreads(); - // save threadstate since it's interp field will be needed - // to create new threadstates, and will be needed for shutdown - mainThreadState = PyThreadState_Get(); + // save threadstate since it's interp field will be needed + // to create new threadstates, and will be needed for shutdown + mainThreadState = PyThreadState_Get(); - // swap out threadstate since the call threads will create - // their own and swap in their threadstate - PyThreadState_Swap(NULL); + // swap out threadstate since the call threads will create + // their own and swap in their threadstate + PyThreadState_Swap(NULL); - // release GIL - PyEval_ReleaseLock(); + // release GIL + PyEval_ReleaseLock(); } /* indicate that the module should continue to be loaded */ Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python.i ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python.i (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python.i Tue May 13 22:16:21 2008 @@ -23,7 +23,7 @@ * tell swig to grok everything defined in these header files and * build all sorts of c wrappers and python shadows of the c wrappers. */ -%include switch_cpp.h +%include switch_swigable_cpp.h %include freeswitch_python.h Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python_wrap.cpp ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python_wrap.cpp (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_python/mod_python_wrap.cpp Tue May 13 22:16:21 2008 @@ -2465,21 +2465,28 @@ /* -------- TYPES TABLE (BEGIN) -------- */ -#define SWIGTYPE_p_CoreSession swig_types[0] -#define SWIGTYPE_p_PySession swig_types[1] -#define SWIGTYPE_p_char swig_types[2] -#define SWIGTYPE_p_input_callback_state swig_types[3] -#define SWIGTYPE_p_session_flag_t swig_types[4] -#define SWIGTYPE_p_swap_state_t swig_types[5] -#define SWIGTYPE_p_switch_channel_state_t swig_types[6] -#define SWIGTYPE_p_switch_channel_t swig_types[7] -#define SWIGTYPE_p_switch_core_session_t swig_types[8] -#define SWIGTYPE_p_switch_input_args_t swig_types[9] -#define SWIGTYPE_p_switch_input_type_t swig_types[10] -#define SWIGTYPE_p_switch_status_t swig_types[11] -#define SWIGTYPE_p_void swig_types[12] -static swig_type_info *swig_types[14]; -static swig_module_info swig_module = {swig_types, 13, 0, 0, 0, 0}; +#define SWIGTYPE_p_API swig_types[0] +#define SWIGTYPE_p_CoreSession swig_types[1] +#define SWIGTYPE_p_Event swig_types[2] +#define SWIGTYPE_p_IVRMenu swig_types[3] +#define SWIGTYPE_p_PySession swig_types[4] +#define SWIGTYPE_p_Stream swig_types[5] +#define SWIGTYPE_p_char swig_types[6] +#define SWIGTYPE_p_input_callback_state swig_types[7] +#define SWIGTYPE_p_session_flag_t swig_types[8] +#define SWIGTYPE_p_swap_state_t swig_types[9] +#define SWIGTYPE_p_switch_channel_state_t swig_types[10] +#define SWIGTYPE_p_switch_channel_t swig_types[11] +#define SWIGTYPE_p_switch_core_session_t swig_types[12] +#define SWIGTYPE_p_switch_event_t swig_types[13] +#define SWIGTYPE_p_switch_input_args_t swig_types[14] +#define SWIGTYPE_p_switch_input_type_t swig_types[15] +#define SWIGTYPE_p_switch_priority_t swig_types[16] +#define SWIGTYPE_p_switch_status_t swig_types[17] +#define SWIGTYPE_p_switch_stream_handle_t swig_types[18] +#define SWIGTYPE_p_void swig_types[19] +static swig_type_info *swig_types[21]; +static swig_module_info swig_module = {swig_types, 20, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -2641,40 +2648,6 @@ -SWIGINTERNINLINE PyObject * -SWIG_FromCharPtrAndSize(const char* carray, size_t size) -{ - if (carray) { - if (size > INT_MAX) { - swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); - return pchar_descriptor ? - SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); - } else { - return PyString_FromStringAndSize(carray, static_cast< int >(size)); - } - } else { - return SWIG_Py_Void(); - } -} - - -SWIGINTERNINLINE PyObject * -SWIG_FromCharPtr(const char *cptr) -{ - return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); -} - - - #define SWIG_From_long PyInt_FromLong - - -SWIGINTERNINLINE PyObject * -SWIG_From_int (int value) -{ - return SWIG_From_long (value); -} - - #include <limits.h> #ifndef LLONG_MIN # define LLONG_MIN LONG_LONG_MIN @@ -2768,18 +2741,13 @@ SWIGINTERN int -SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) +SWIG_AsVal_long (PyObject *obj, long* val) { if (PyInt_Check(obj)) { - long v = PyInt_AsLong(obj); - if (v >= 0) { - if (val) *val = v; - return SWIG_OK; - } else { - return SWIG_OverflowError; - } + if (val) *val = PyInt_AsLong(obj); + return SWIG_OK; } else if (PyLong_Check(obj)) { - unsigned long v = PyLong_AsUnsignedLong(obj); + long v = PyLong_AsLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_OK; @@ -2790,7 +2758,7 @@ #ifdef SWIG_PYTHON_CAST_MODE { int dispatch = 0; - unsigned long v = PyLong_AsUnsignedLong(obj); + long v = PyInt_AsLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_AddCast(SWIG_OK); @@ -2800,8 +2768,8 @@ if (!dispatch) { double d; int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); - if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { - if (val) *val = (unsigned long)(d); + if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) { + if (val) *val = (long)(d); return res; } } @@ -2812,44 +2780,75 @@ SWIGINTERN int -SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val) +SWIG_AsVal_int (PyObject * obj, int *val) { - unsigned long v; - int res = SWIG_AsVal_unsigned_SS_long (obj, &v); + long v; + int res = SWIG_AsVal_long (obj, &v); if (SWIG_IsOK(res)) { - if ((v > UINT_MAX)) { + if ((v < INT_MIN || v > INT_MAX)) { return SWIG_OverflowError; } else { - if (val) *val = static_cast< unsigned int >(v); + if (val) *val = static_cast< int >(v); } } return res; } -SWIGINTERNINLINE PyObject* -SWIG_From_unsigned_SS_long (unsigned long value) +SWIGINTERNINLINE PyObject * +SWIG_FromCharPtrAndSize(const char* carray, size_t size) { - return (value > LONG_MAX) ? - PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value)); + if (carray) { + if (size > INT_MAX) { + swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); + return pchar_descriptor ? + SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); + } else { + return PyString_FromStringAndSize(carray, static_cast< int >(size)); + } + } else { + return SWIG_Py_Void(); + } } +SWIGINTERNINLINE PyObject * +SWIG_FromCharPtr(const char *cptr) +{ + return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); +} + + + #define SWIG_From_long PyInt_FromLong + + SWIGINTERNINLINE PyObject * -SWIG_From_unsigned_SS_int (unsigned int value) +SWIG_From_int (int value) { - return SWIG_From_unsigned_SS_long (value); + return SWIG_From_long (value); +} + + +SWIGINTERNINLINE PyObject* + SWIG_From_bool (bool value) +{ + return PyBool_FromLong(value ? 1 : 0); } SWIGINTERN int -SWIG_AsVal_long (PyObject *obj, long* val) +SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) { if (PyInt_Check(obj)) { - if (val) *val = PyInt_AsLong(obj); - return SWIG_OK; + long v = PyInt_AsLong(obj); + if (v >= 0) { + if (val) *val = v; + return SWIG_OK; + } else { + return SWIG_OverflowError; + } } else if (PyLong_Check(obj)) { - long v = PyLong_AsLong(obj); + unsigned long v = PyLong_AsUnsignedLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_OK; @@ -2860,7 +2859,7 @@ #ifdef SWIG_PYTHON_CAST_MODE { int dispatch = 0; - long v = PyInt_AsLong(obj); + unsigned long v = PyLong_AsUnsignedLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_AddCast(SWIG_OK); @@ -2870,8 +2869,8 @@ if (!dispatch) { double d; int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); - if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) { - if (val) *val = (long)(d); + if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { + if (val) *val = (unsigned long)(d); return res; } } @@ -2882,21 +2881,36 @@ SWIGINTERN int -SWIG_AsVal_int (PyObject * obj, int *val) +SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val) { - long v; - int res = SWIG_AsVal_long (obj, &v); + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long (obj, &v); if (SWIG_IsOK(res)) { - if ((v < INT_MIN || v > INT_MAX)) { + if ((v > UINT_MAX)) { return SWIG_OverflowError; } else { - if (val) *val = static_cast< int >(v); + if (val) *val = static_cast< unsigned int >(v); } } return res; } +SWIGINTERNINLINE PyObject* +SWIG_From_unsigned_SS_long (unsigned long value) +{ + return (value > LONG_MAX) ? + PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value)); +} + + +SWIGINTERNINLINE PyObject * +SWIG_From_unsigned_SS_int (unsigned int value) +{ + return SWIG_From_unsigned_SS_long (value); +} + + SWIGINTERN int SWIG_AsVal_bool (PyObject *obj, bool *val) { @@ -2914,17 +2928,10 @@ } } - -SWIGINTERNINLINE PyObject* - SWIG_From_bool (bool value) -{ - return PyBool_FromLong(value ? 1 : 0); -} - #ifdef __cplusplus extern "C" { #endif -SWIGINTERN PyObject *_wrap_console_log(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_consoleLog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; char *arg1 = (char *) 0 ; char *arg2 = (char *) 0 ; @@ -2937,18 +2944,18 @@ PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO:console_log",&obj0,&obj1)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OO:consoleLog",&obj0,&obj1)) SWIG_fail; res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "console_log" "', argument " "1"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "consoleLog" "', argument " "1"" of type '" "char *""'"); } arg1 = reinterpret_cast< char * >(buf1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "console_log" "', argument " "2"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "consoleLog" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); - console_log(arg1,arg2); + consoleLog(arg1,arg2); resultobj = SWIG_Py_Void(); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; if (alloc2 == SWIG_NEWOBJ) delete[] buf2; @@ -2960,7 +2967,7 @@ } -SWIGINTERN PyObject *_wrap_console_clean_log(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_consoleCleanLog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; char *arg1 = (char *) 0 ; int res1 ; @@ -2968,13 +2975,13 @@ int alloc1 = 0 ; PyObject * obj0 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"O:console_clean_log",&obj0)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"O:consoleCleanLog",&obj0)) SWIG_fail; res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "console_clean_log" "', argument " "1"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "consoleCleanLog" "', argument " "1"" of type '" "char *""'"); } arg1 = reinterpret_cast< char * >(buf1); - console_clean_log(arg1); + consoleCleanLog(arg1); resultobj = SWIG_Py_Void(); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return resultobj; @@ -2984,110 +2991,407 @@ } -SWIGINTERN PyObject *_wrap_api_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_IVRMenu(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - char *arg1 = (char *) 0 ; + IVRMenu *arg1 = (IVRMenu *) 0 ; char *arg2 = (char *) 0 ; - char *result = 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; + char *arg3 = (char *) 0 ; + char *arg4 = (char *) 0 ; + char *arg5 = (char *) 0 ; + char *arg6 = (char *) 0 ; + char *arg7 = (char *) 0 ; + char *arg8 = (char *) 0 ; + int arg9 ; + int arg10 ; + int arg11 ; + int arg12 ; + int arg13 ; + IVRMenu *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + int res4 ; + char *buf4 = 0 ; + int alloc4 = 0 ; + int res5 ; + char *buf5 = 0 ; + int alloc5 = 0 ; + int res6 ; + char *buf6 = 0 ; + int alloc6 = 0 ; + int res7 ; + char *buf7 = 0 ; + int alloc7 = 0 ; + int res8 ; + char *buf8 = 0 ; + int alloc8 = 0 ; + int val9 ; + int ecode9 = 0 ; + int val10 ; + int ecode10 = 0 ; + int val11 ; + int ecode11 = 0 ; + int val12 ; + int ecode12 = 0 ; + int val13 ; + int ecode13 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + PyObject * obj6 = 0 ; + PyObject * obj7 = 0 ; + PyObject * obj8 = 0 ; + PyObject * obj9 = 0 ; + PyObject * obj10 = 0 ; + PyObject * obj11 = 0 ; + PyObject * obj12 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO:api_execute",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOOO:new_IVRMenu",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11,&obj12)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IVRMenu, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "api_execute" "', argument " "1"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IVRMenu" "', argument " "1"" of type '" "IVRMenu *""'"); } - arg1 = reinterpret_cast< char * >(buf1); + arg1 = reinterpret_cast< IVRMenu * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "api_execute" "', argument " "2"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_IVRMenu" "', argument " "2"" of type '" "char const *""'"); } arg2 = reinterpret_cast< char * >(buf2); - result = (char *)api_execute(arg1,arg2); - resultobj = SWIG_FromCharPtr((const char *)result); - if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_IVRMenu" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_IVRMenu" "', argument " "4"" of type '" "char const *""'"); + } + arg4 = reinterpret_cast< char * >(buf4); + res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5); + if (!SWIG_IsOK(res5)) { + SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "new_IVRMenu" "', argument " "5"" of type '" "char const *""'"); + } + arg5 = reinterpret_cast< char * >(buf5); + res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6); + if (!SWIG_IsOK(res6)) { + SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "new_IVRMenu" "', argument " "6"" of type '" "char const *""'"); + } + arg6 = reinterpret_cast< char * >(buf6); + res7 = SWIG_AsCharPtrAndSize(obj6, &buf7, NULL, &alloc7); + if (!SWIG_IsOK(res7)) { + SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "new_IVRMenu" "', argument " "7"" of type '" "char const *""'"); + } + arg7 = reinterpret_cast< char * >(buf7); + res8 = SWIG_AsCharPtrAndSize(obj7, &buf8, NULL, &alloc8); + if (!SWIG_IsOK(res8)) { + SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "new_IVRMenu" "', argument " "8"" of type '" "char const *""'"); + } + arg8 = reinterpret_cast< char * >(buf8); + ecode9 = SWIG_AsVal_int(obj8, &val9); + if (!SWIG_IsOK(ecode9)) { + SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "new_IVRMenu" "', argument " "9"" of type '" "int""'"); + } + arg9 = static_cast< int >(val9); + ecode10 = SWIG_AsVal_int(obj9, &val10); + if (!SWIG_IsOK(ecode10)) { + SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "new_IVRMenu" "', argument " "10"" of type '" "int""'"); + } + arg10 = static_cast< int >(val10); + ecode11 = SWIG_AsVal_int(obj10, &val11); + if (!SWIG_IsOK(ecode11)) { + SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "new_IVRMenu" "', argument " "11"" of type '" "int""'"); + } + arg11 = static_cast< int >(val11); + ecode12 = SWIG_AsVal_int(obj11, &val12); + if (!SWIG_IsOK(ecode12)) { + SWIG_exception_fail(SWIG_ArgError(ecode12), "in method '" "new_IVRMenu" "', argument " "12"" of type '" "int""'"); + } + arg12 = static_cast< int >(val12); + ecode13 = SWIG_AsVal_int(obj12, &val13); + if (!SWIG_IsOK(ecode13)) { + SWIG_exception_fail(SWIG_ArgError(ecode13), "in method '" "new_IVRMenu" "', argument " "13"" of type '" "int""'"); + } + arg13 = static_cast< int >(val13); + result = (IVRMenu *)new IVRMenu(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11,arg12,arg13); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IVRMenu, SWIG_POINTER_NEW | 0 ); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + if (alloc5 == SWIG_NEWOBJ) delete[] buf5; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + if (alloc7 == SWIG_NEWOBJ) delete[] buf7; + if (alloc8 == SWIG_NEWOBJ) delete[] buf8; return resultobj; fail: - if (alloc1 == SWIG_NEWOBJ) delete[] buf1; if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + if (alloc5 == SWIG_NEWOBJ) delete[] buf5; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + if (alloc7 == SWIG_NEWOBJ) delete[] buf7; + if (alloc8 == SWIG_NEWOBJ) delete[] buf8; return NULL; } -SWIGINTERN PyObject *_wrap_api_reply_delete(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_IVRMenu(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - char *arg1 = (char *) 0 ; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; + IVRMenu *arg1 = (IVRMenu *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; PyObject * obj0 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"O:api_reply_delete",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!PyArg_ParseTuple(args,(char *)"O:delete_IVRMenu",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IVRMenu, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "api_reply_delete" "', argument " "1"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IVRMenu" "', argument " "1"" of type '" "IVRMenu *""'"); } - arg1 = reinterpret_cast< char * >(buf1); - api_reply_delete(arg1); + arg1 = reinterpret_cast< IVRMenu * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); - if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return resultobj; fail: - if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return NULL; } -SWIGINTERN PyObject *_wrap_process_callback_result(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IVRMenu_bindAction(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - char *arg1 = (char *) 0 ; - input_callback_state *arg2 = (input_callback_state *) 0 ; - switch_core_session_t *arg3 = (switch_core_session_t *) 0 ; - switch_status_t result; - int res1 ; - char *buf1 = 0 ; - int alloc1 = 0 ; + IVRMenu *arg1 = (IVRMenu *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + char *arg4 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + int res4 ; + char *buf4 = 0 ; + int alloc4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:IVRMenu_bindAction",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IVRMenu, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IVRMenu_bindAction" "', argument " "1"" of type '" "IVRMenu *""'"); + } + arg1 = reinterpret_cast< IVRMenu * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IVRMenu_bindAction" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IVRMenu_bindAction" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "IVRMenu_bindAction" "', argument " "4"" of type '" "char const *""'"); + } + arg4 = reinterpret_cast< char * >(buf4); + (arg1)->bindAction(arg2,(char const *)arg3,(char const *)arg4); + resultobj = SWIG_Py_Void(); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IVRMenu_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IVRMenu *arg1 = (IVRMenu *) 0 ; + CoreSession *arg2 = (CoreSession *) 0 ; + char *arg3 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; - void *argp3 = 0 ; - int res3 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OOO:process_callback_result",&obj0,&obj1,&obj2)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!PyArg_ParseTuple(args,(char *)"OOO:IVRMenu_execute",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IVRMenu, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "process_callback_result" "', argument " "1"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IVRMenu_execute" "', argument " "1"" of type '" "IVRMenu *""'"); } - arg1 = reinterpret_cast< char * >(buf1); - res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_input_callback_state, 0 | 0 ); + arg1 = reinterpret_cast< IVRMenu * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "process_callback_result" "', argument " "2"" of type '" "input_callback_state *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IVRMenu_execute" "', argument " "2"" of type '" "CoreSession *""'"); } - arg2 = reinterpret_cast< input_callback_state * >(argp2); - res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_switch_core_session_t, 0 | 0 ); + arg2 = reinterpret_cast< CoreSession * >(argp2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "process_callback_result" "', argument " "3"" of type '" "switch_core_session_t *""'"); + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IVRMenu_execute" "', argument " "3"" of type '" "char const *""'"); } - arg3 = reinterpret_cast< switch_core_session_t * >(argp3); - result = process_callback_result(arg1,arg2,arg3); - resultobj = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0 ); - if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + arg3 = reinterpret_cast< char * >(buf3); + (arg1)->execute(arg2,(char const *)arg3); + resultobj = SWIG_Py_Void(); + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return resultobj; fail: - if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return NULL; +} + + +SWIGINTERN PyObject *IVRMenu_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_IVRMenu, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *_wrap_new_API(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + API *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)":new_API")) SWIG_fail; + result = (API *)new API(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_API, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_delete_API(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + API *arg1 = (API *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:delete_API",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_API, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_API" "', argument " "1"" of type '" "API *""'"); + } + arg1 = reinterpret_cast< API * >(argp1); + delete arg1; + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_API_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + API *arg1 = (API *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:API_execute",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_API, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "API_execute" "', argument " "1"" of type '" "API *""'"); + } + arg1 = reinterpret_cast< API * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "API_execute" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "API_execute" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + result = (char *)(arg1)->execute((char const *)arg2,(char const *)arg3); + resultobj = SWIG_FromCharPtr((const char *)result); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_API_executeString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + API *arg1 = (API *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:API_executeString",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_API, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "API_executeString" "', argument " "1"" of type '" "API *""'"); + } + arg1 = reinterpret_cast< API * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "API_executeString" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (char *)(arg1)->executeString((char const *)arg2); + resultobj = SWIG_FromCharPtr((const char *)result); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } +SWIGINTERN PyObject *API_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_API, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + SWIGINTERN PyObject *_wrap_input_callback_state_t_function_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; input_callback_state_t *arg1 = (input_callback_state_t *) 0 ; @@ -3344,101 +3648,1030 @@ return SWIG_Py_Void(); } -SWIGINTERN PyObject *_wrap_delete_CoreSession(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_Stream__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - CoreSession *arg1 = (CoreSession *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:delete_CoreSession",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, SWIG_POINTER_DISOWN | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CoreSession" "', argument " "1"" of type '" "CoreSession *""'"); - } - arg1 = reinterpret_cast< CoreSession * >(argp1); - delete arg1; + Stream *result = 0 ; - resultobj = SWIG_Py_Void(); + if (!PyArg_ParseTuple(args,(char *)":new_Stream")) SWIG_fail; + result = (Stream *)new Stream(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Stream, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_CoreSession_session_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_Stream__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - CoreSession *arg1 = (CoreSession *) 0 ; - switch_core_session_t *arg2 = (switch_core_session_t *) 0 ; + switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ; + Stream *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_session_set",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!PyArg_ParseTuple(args,(char *)"O:new_Stream",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_stream_handle_t, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_session_set" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Stream" "', argument " "1"" of type '" "switch_stream_handle_t *""'"); } - arg1 = reinterpret_cast< CoreSession * >(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_core_session_t, SWIG_POINTER_DISOWN | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_session_set" "', argument " "2"" of type '" "switch_core_session_t *""'"); + arg1 = reinterpret_cast< switch_stream_handle_t * >(argp1); + result = (Stream *)new Stream(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Stream, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_Stream(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[2]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 1); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 0) { + return _wrap_new_Stream__SWIG_0(self, args); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_switch_stream_handle_t, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_Stream__SWIG_1(self, args); + } } - arg2 = reinterpret_cast< switch_core_session_t * >(argp2); - if (arg1) (arg1)->session = arg2; - resultobj = SWIG_Py_Void(); - return resultobj; fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Stream'.\n Possible C/C++ prototypes are:\n Stream()\n Stream(switch_stream_handle_t *)\n"); return NULL; } -SWIGINTERN PyObject *_wrap_CoreSession_session_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_Stream(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - CoreSession *arg1 = (CoreSession *) 0 ; - switch_core_session_t *result = 0 ; + Stream *arg1 = (Stream *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_session_get",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!PyArg_ParseTuple(args,(char *)"O:delete_Stream",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Stream, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_session_get" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Stream" "', argument " "1"" of type '" "Stream *""'"); } - arg1 = reinterpret_cast< CoreSession * >(argp1); - result = (switch_core_session_t *) ((arg1)->session); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_core_session_t, 0 | 0 ); + arg1 = reinterpret_cast< Stream * >(argp1); + delete arg1; + + resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_CoreSession_channel_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_Stream_write(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - CoreSession *arg1 = (CoreSession *) 0 ; - switch_channel_t *arg2 = (switch_channel_t *) 0 ; + Stream *arg1 = (Stream *) 0 ; + char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_channel_set",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!PyArg_ParseTuple(args,(char *)"OO:Stream_write",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Stream, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_channel_set" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Stream_write" "', argument " "1"" of type '" "Stream *""'"); } - arg1 = reinterpret_cast< CoreSession * >(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_channel_t, SWIG_POINTER_DISOWN | 0 ); + arg1 = reinterpret_cast< Stream * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_channel_set" "', argument " "2"" of type '" "switch_channel_t *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Stream_write" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + (arg1)->write((char const *)arg2); + resultobj = SWIG_Py_Void(); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Stream_get_data(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Stream *arg1 = (Stream *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Stream_get_data",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Stream, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Stream_get_data" "', argument " "1"" of type '" "Stream *""'"); + } + arg1 = reinterpret_cast< Stream * >(argp1); + result = (char *)(arg1)->get_data(); + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *Stream_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_Stream, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *_wrap_Event_event_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + switch_event_t *arg2 = (switch_event_t *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Event_event_set",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_event_set" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_event_t, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_event_set" "', argument " "2"" of type '" "switch_event_t *""'"); + } + arg2 = reinterpret_cast< switch_event_t * >(argp2); + if (arg1) (arg1)->event = arg2; + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_event_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + switch_event_t *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Event_event_get",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_event_get" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + result = (switch_event_t *) ((arg1)->event); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_event_t, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_serialized_string_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Event_serialized_string_set",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_serialized_string_set" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_serialized_string_set" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + if (arg1->serialized_string) delete[] arg1->serialized_string; + if (arg2) { + size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1; + arg1->serialized_string = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), sizeof(char)*(size))); + } else { + arg1->serialized_string = 0; + } + resultobj = SWIG_Py_Void(); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_serialized_string_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Event_serialized_string_get",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_serialized_string_get" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + result = (char *) ((arg1)->serialized_string); + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_mine_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Event_mine_set",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_mine_set" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + ecode2 = SWIG_AsVal_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Event_mine_set" "', argument " "2"" of type '" "int""'"); + } + arg2 = static_cast< int >(val2); + if (arg1) (arg1)->mine = arg2; + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_mine_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + int result; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Event_mine_get",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_mine_get" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + result = (int) ((arg1)->mine); + resultobj = SWIG_From_int(static_cast< int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_Event__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + Event *result = 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:new_Event",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Event" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Event" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (Event *)new Event((char const *)arg1,(char const *)arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_NEW | 0 ); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_Event__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + Event *result = 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:new_Event",&obj0)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Event" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + result = (Event *)new Event((char const *)arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_NEW | 0 ); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_Event__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + switch_event_t *arg1 = (switch_event_t *) 0 ; + int arg2 ; + Event *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:new_Event",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_event_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Event" "', argument " "1"" of type '" "switch_event_t *""'"); + } + arg1 = reinterpret_cast< switch_event_t * >(argp1); + ecode2 = SWIG_AsVal_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_Event" "', argument " "2"" of type '" "int""'"); + } + arg2 = static_cast< int >(val2); + result = (Event *)new Event(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_Event__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + switch_event_t *arg1 = (switch_event_t *) 0 ; + Event *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:new_Event",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_event_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Event" "', argument " "1"" of type '" "switch_event_t *""'"); + } + arg1 = reinterpret_cast< switch_event_t * >(argp1); + result = (Event *)new Event(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Event, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_Event(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[3]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 2); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_switch_event_t, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_Event__SWIG_3(self, args); + } + } + if (argc == 1) { + int _v; + int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_Event__SWIG_1(self, args); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_switch_event_t, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_Event__SWIG_2(self, args); + } + } + } + if (argc == 2) { + int _v; + int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_Event__SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Event'.\n Possible C/C++ prototypes are:\n Event(char const *,char const *)\n Event(char const *)\n Event(switch_event_t *,int)\n Event(switch_event_t *)\n"); + return NULL; +} + + +SWIGINTERN PyObject *_wrap_delete_Event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:delete_Event",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Event" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + delete arg1; + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_serialize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Event_serialize",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_serialize" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_serialize" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (char *)(arg1)->serialize((char const *)arg2); + resultobj = SWIG_FromCharPtr((const char *)result); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_serialize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Event_serialize",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_serialize" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + result = (char *)(arg1)->serialize(); + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_serialize(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[3]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 2); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Event, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Event_serialize__SWIG_1(self, args); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Event, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Event_serialize__SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Event_serialize'.\n Possible C/C++ prototypes are:\n serialize(char const *)\n serialize()\n"); + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_setPriority__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + switch_priority_t arg2 ; + bool result; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Event_setPriority",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_setPriority" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + { + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_switch_priority_t, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_setPriority" "', argument " "2"" of type '" "switch_priority_t""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Event_setPriority" "', argument " "2"" of type '" "switch_priority_t""'"); + } else { + switch_priority_t * temp = reinterpret_cast< switch_priority_t * >(argp2); + arg2 = *temp; + if (SWIG_IsNewObj(res2)) delete temp; + } + } + result = (bool)(arg1)->setPriority(arg2); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_setPriority__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + bool result; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Event_setPriority",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_setPriority" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + result = (bool)(arg1)->setPriority(); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_setPriority(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[3]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 2); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Event, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Event_setPriority__SWIG_1(self, args); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Event, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_switch_priority_t, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Event_setPriority__SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Event_setPriority'.\n Possible C/C++ prototypes are:\n setPriority(switch_priority_t)\n setPriority()\n"); + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_getHeader(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Event_getHeader",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_getHeader" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_getHeader" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (char *)(arg1)->getHeader(arg2); + resultobj = SWIG_FromCharPtr((const char *)result); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_getBody(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Event_getBody",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_getBody" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + result = (char *)(arg1)->getBody(); + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_getType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Event_getType",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_getType" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + result = (char *)(arg1)->getType(); + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_addBody(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Event_addBody",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_addBody" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_addBody" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (bool)(arg1)->addBody((char const *)arg2); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_addHeader(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + bool result; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:Event_addHeader",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_addHeader" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_addHeader" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Event_addHeader" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + result = (bool)(arg1)->addHeader((char const *)arg2,(char const *)arg3); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_delHeader(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Event_delHeader",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_delHeader" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_delHeader" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (bool)(arg1)->delHeader((char const *)arg2); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Event_fire(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Event *arg1 = (Event *) 0 ; + bool result; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Event_fire",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_fire" "', argument " "1"" of type '" "Event *""'"); + } + arg1 = reinterpret_cast< Event * >(argp1); + result = (bool)(arg1)->fire(); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *Event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_Event, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *_wrap_delete_CoreSession(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:delete_CoreSession",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CoreSession" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + delete arg1; + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_session_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + switch_core_session_t *arg2 = (switch_core_session_t *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_session_set",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_session_set" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_core_session_t, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_session_set" "', argument " "2"" of type '" "switch_core_session_t *""'"); + } + arg2 = reinterpret_cast< switch_core_session_t * >(argp2); + if (arg1) (arg1)->session = arg2; + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_session_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + switch_core_session_t *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_session_get",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_session_get" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + result = (switch_core_session_t *) ((arg1)->session); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_core_session_t, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_channel_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + switch_channel_t *arg2 = (switch_channel_t *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_channel_set",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_channel_set" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_channel_t, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_channel_set" "', argument " "2"" of type '" "switch_channel_t *""'"); } arg2 = reinterpret_cast< switch_channel_t * >(argp2); if (arg1) (arg1)->channel = arg2; @@ -3450,51 +4683,104 @@ } -SWIGINTERN PyObject *_wrap_CoreSession_channel_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_channel_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + switch_channel_t *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_channel_get",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_channel_get" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + result = (switch_channel_t *) ((arg1)->channel); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_channel_t, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_flags_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_flags_set",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_flags_set" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_flags_set" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + if (arg1) (arg1)->flags = arg2; + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_flags_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; - switch_channel_t *result = 0 ; + unsigned int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_channel_get",&obj0)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_flags_get",&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_channel_get" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_flags_get" "', argument " "1"" of type '" "CoreSession *""'"); } arg1 = reinterpret_cast< CoreSession * >(argp1); - result = (switch_channel_t *) ((arg1)->channel); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_channel_t, 0 | 0 ); + result = (unsigned int) ((arg1)->flags); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_CoreSession_flags_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_allocated_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; - unsigned int arg2 ; + int arg2 ; void *argp1 = 0 ; int res1 = 0 ; - unsigned int val2 ; + int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_flags_set",&obj0,&obj1)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_allocated_set",&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_flags_set" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_allocated_set" "', argument " "1"" of type '" "CoreSession *""'"); } arg1 = reinterpret_cast< CoreSession * >(argp1); - ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_flags_set" "', argument " "2"" of type '" "unsigned int""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_allocated_set" "', argument " "2"" of type '" "int""'"); } - arg2 = static_cast< unsigned int >(val2); - if (arg1) (arg1)->flags = arg2; + arg2 = static_cast< int >(val2); + if (arg1) (arg1)->allocated = arg2; resultobj = SWIG_Py_Void(); return resultobj; @@ -3503,22 +4789,22 @@ } -SWIGINTERN PyObject *_wrap_CoreSession_flags_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_allocated_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; - unsigned int result; + int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_flags_get",&obj0)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_allocated_get",&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_flags_get" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_allocated_get" "', argument " "1"" of type '" "CoreSession *""'"); } arg1 = reinterpret_cast< CoreSession * >(argp1); - result = (unsigned int) ((arg1)->flags); - resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + result = (int) ((arg1)->allocated); + resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; @@ -3674,40 +4960,314 @@ if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_preAnswer" "', argument " "1"" of type '" "CoreSession *""'"); } - arg1 = reinterpret_cast< CoreSession * >(argp1); - result = (int)(arg1)->preAnswer(); - resultobj = SWIG_From_int(static_cast< int >(result)); + arg1 = reinterpret_cast< CoreSession * >(argp1); + result = (int)(arg1)->preAnswer(); + resultobj = SWIG_From_int(static_cast< int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_hangup__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_hangup",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_hangup" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_hangup" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + (arg1)->hangup(arg2); + resultobj = SWIG_Py_Void(); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_hangup__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_hangup",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_hangup" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + (arg1)->hangup(); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_hangup(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[3]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 2); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_CoreSession_hangup__SWIG_1(self, args); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_CoreSession_hangup__SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CoreSession_hangup'.\n Possible C/C++ prototypes are:\n hangup(char *)\n hangup()\n"); + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_setVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_setVariable",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setVariable" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setVariable" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_setVariable" "', argument " "3"" of type '" "char *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + (arg1)->setVariable(arg2,arg3); + resultobj = SWIG_Py_Void(); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_setPrivate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + void *arg3 = (void *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int res3 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_setPrivate",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setPrivate" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setPrivate" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3), 0, 0); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_setPrivate" "', argument " "3"" of type '" "void *""'"); + } + (arg1)->setPrivate(arg2,arg3); + resultobj = SWIG_Py_Void(); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_getPrivate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + void *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_getPrivate",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getPrivate" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_getPrivate" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (void *)(arg1)->getPrivate(arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0 ); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_getVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_getVariable",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getVariable" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_getVariable" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (char *)(arg1)->getVariable(arg2); + resultobj = SWIG_FromCharPtr((const char *)result); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } -SWIGINTERN PyObject *_wrap_CoreSession_hangup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_recordFile__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; + int arg3 ; + int arg4 ; + int arg5 ; + int result; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; + int val3 ; + int ecode3 = 0 ; + int val4 ; + int ecode4 = 0 ; + int val5 ; + int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_hangup",&obj0,&obj1)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OOOOO:CoreSession_recordFile",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_hangup" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_recordFile" "', argument " "1"" of type '" "CoreSession *""'"); } arg1 = reinterpret_cast< CoreSession * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_hangup" "', argument " "2"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_recordFile" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); - (arg1)->hangup(arg2); - resultobj = SWIG_Py_Void(); + ecode3 = SWIG_AsVal_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_recordFile" "', argument " "3"" of type '" "int""'"); + } + arg3 = static_cast< int >(val3); + ecode4 = SWIG_AsVal_int(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_recordFile" "', argument " "4"" of type '" "int""'"); + } + arg4 = static_cast< int >(val4); + ecode5 = SWIG_AsVal_int(obj4, &val5); + if (!SWIG_IsOK(ecode5)) { + SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_recordFile" "', argument " "5"" of type '" "int""'"); + } + arg5 = static_cast< int >(val5); + result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5); + resultobj = SWIG_From_int(static_cast< int >(result)); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: @@ -3716,77 +5276,93 @@ } -SWIGINTERN PyObject *_wrap_CoreSession_setVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_recordFile__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; + int arg3 ; + int arg4 ; + int result; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; - int res3 ; - char *buf3 = 0 ; - int alloc3 = 0 ; + int val3 ; + int ecode3 = 0 ; + int val4 ; + int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_setVariable",&obj0,&obj1,&obj2)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OOOO:CoreSession_recordFile",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setVariable" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_recordFile" "', argument " "1"" of type '" "CoreSession *""'"); } arg1 = reinterpret_cast< CoreSession * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setVariable" "', argument " "2"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_recordFile" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); - res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_setVariable" "', argument " "3"" of type '" "char *""'"); - } - arg3 = reinterpret_cast< char * >(buf3); - (arg1)->setVariable(arg2,arg3); - resultobj = SWIG_Py_Void(); + ecode3 = SWIG_AsVal_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_recordFile" "', argument " "3"" of type '" "int""'"); + } + arg3 = static_cast< int >(val3); + ecode4 = SWIG_AsVal_int(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_recordFile" "', argument " "4"" of type '" "int""'"); + } + arg4 = static_cast< int >(val4); + result = (int)(arg1)->recordFile(arg2,arg3,arg4); + resultobj = SWIG_From_int(static_cast< int >(result)); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; - if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; - if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return NULL; } -SWIGINTERN PyObject *_wrap_CoreSession_getVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_recordFile__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; - char *result = 0 ; + int arg3 ; + int result; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; + int val3 ; + int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_getVariable",&obj0,&obj1)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_recordFile",&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getVariable" "', argument " "1"" of type '" "CoreSession *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_recordFile" "', argument " "1"" of type '" "CoreSession *""'"); } arg1 = reinterpret_cast< CoreSession * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_getVariable" "', argument " "2"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_recordFile" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); - result = (char *)(arg1)->getVariable(arg2); - resultobj = SWIG_FromCharPtr((const char *)result); + ecode3 = SWIG_AsVal_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_recordFile" "', argument " "3"" of type '" "int""'"); + } + arg3 = static_cast< int >(val3); + result = (int)(arg1)->recordFile(arg2,arg3); + resultobj = SWIG_From_int(static_cast< int >(result)); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: @@ -3795,32 +5371,20 @@ } -SWIGINTERN PyObject *_wrap_CoreSession_recordFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_recordFile__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; - int arg3 = (int) 0 ; - int arg4 = (int) 0 ; - int arg5 = (int) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; - int val3 ; - int ecode3 = 0 ; - int val4 ; - int ecode4 = 0 ; - int val5 ; - int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO|OOO:CoreSession_recordFile",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_recordFile",&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_recordFile" "', argument " "1"" of type '" "CoreSession *""'"); @@ -3831,28 +5395,7 @@ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_recordFile" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); - if (obj2) { - ecode3 = SWIG_AsVal_int(obj2, &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_recordFile" "', argument " "3"" of type '" "int""'"); - } - arg3 = static_cast< int >(val3); - } - if (obj3) { - ecode4 = SWIG_AsVal_int(obj3, &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_recordFile" "', argument " "4"" of type '" "int""'"); - } - arg4 = static_cast< int >(val4); - } - if (obj4) { - ecode5 = SWIG_AsVal_int(obj4, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_recordFile" "', argument " "5"" of type '" "int""'"); - } - arg5 = static_cast< int >(val5); - } - result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5); + result = (int)(arg1)->recordFile(arg2); resultobj = SWIG_From_int(static_cast< int >(result)); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; @@ -3862,6 +5405,111 @@ } +SWIGINTERN PyObject *_wrap_CoreSession_recordFile(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[6]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 5); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_CoreSession_recordFile__SWIG_3(self, args); + } + } + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_CoreSession_recordFile__SWIG_2(self, args); + } + } + } + } + if (argc == 4) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_int(argv[3], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_CoreSession_recordFile__SWIG_1(self, args); + } + } + } + } + } + if (argc == 5) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_int(argv[3], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_int(argv[4], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_CoreSession_recordFile__SWIG_0(self, args); + } + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CoreSession_recordFile'.\n Possible C/C++ prototypes are:\n recordFile(char *,int,int,int)\n recordFile(char *,int,int)\n recordFile(char *,int)\n recordFile(char *)\n"); + return NULL; +} + + SWIGINTERN PyObject *_wrap_CoreSession_setCallerData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; @@ -3907,12 +5555,12 @@ } -SWIGINTERN PyObject *_wrap_CoreSession_originate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_originate__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; CoreSession *arg2 = (CoreSession *) 0 ; char *arg3 = (char *) 0 ; - int arg4 = (int) 60 ; + int arg4 ; int result; void *argp1 = 0 ; int res1 = 0 ; @@ -3928,7 +5576,7 @@ PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OOO|O:CoreSession_originate",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OOOO:CoreSession_originate",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_originate" "', argument " "1"" of type '" "CoreSession *""'"); @@ -3944,13 +5592,11 @@ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_originate" "', argument " "3"" of type '" "char *""'"); } arg3 = reinterpret_cast< char * >(buf3); - if (obj3) { - ecode4 = SWIG_AsVal_int(obj3, &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_originate" "', argument " "4"" of type '" "int""'"); - } - arg4 = static_cast< int >(val4); - } + ecode4 = SWIG_AsVal_int(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_originate" "', argument " "4"" of type '" "int""'"); + } + arg4 = static_cast< int >(val4); result = (int)(arg1)->originate(arg2,arg3,arg4); resultobj = SWIG_From_int(static_cast< int >(result)); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; @@ -3961,6 +5607,108 @@ } +SWIGINTERN PyObject *_wrap_CoreSession_originate__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + CoreSession *arg2 = (CoreSession *) 0 ; + char *arg3 = (char *) 0 ; + int result; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_originate",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_originate" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_originate" "', argument " "2"" of type '" "CoreSession *""'"); + } + arg2 = reinterpret_cast< CoreSession * >(argp2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_originate" "', argument " "3"" of type '" "char *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + result = (int)(arg1)->originate(arg2,arg3); + resultobj = SWIG_From_int(static_cast< int >(result)); + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return resultobj; +fail: + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_originate(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[5]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 4); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_CoreSession_originate__SWIG_1(self, args); + } + } + } + } + if (argc == 4) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_int(argv[3], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_CoreSession_originate__SWIG_0(self, args); + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CoreSession_originate'.\n Possible C/C++ prototypes are:\n originate(CoreSession *,char *,int)\n originate(CoreSession *,char *)\n"); + return NULL; +} + + SWIGINTERN PyObject *_wrap_CoreSession_setDTMFCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; @@ -4114,96 +5862,51 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; - char *arg2 = (char *) 0 ; - int arg3 ; + int arg2 ; + char *arg3 = (char *) 0 ; int arg4 ; - char *arg5 = (char *) 0 ; - char *arg6 = (char *) 0 ; - int arg7 ; - int result; + char *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; - int res2 ; - char temp2[128+1] ; - char *t2 = 0 ; - size_t n2 = 0 ; - int alloc2 = 0 ; - int val3 ; - int ecode3 = 0 ; + int val2 ; + int ecode2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; int val4 ; int ecode4 = 0 ; - int res5 ; - char *buf5 = 0 ; - int alloc5 = 0 ; - int res6 ; - char temp6[8+1] ; - char *t6 = 0 ; - size_t n6 = 0 ; - int alloc6 = 0 ; - int val7 ; - int ecode7 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - PyObject * obj6 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CoreSession_getDigits",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OOOO:CoreSession_getDigits",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getDigits" "', argument " "1"" of type '" "CoreSession *""'"); } arg1 = reinterpret_cast< CoreSession * >(argp1); - res2 = SWIG_AsCharPtrAndSize(obj1, &t2, &n2, &alloc2); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_getDigits" "', argument " "2"" of type '" "char *dtmf_buf""'"); - } - if ( n2 > (size_t) 128 ) n2 = (size_t) 128; - memcpy(temp2, t2, sizeof(char)*n2); - if (alloc2 == SWIG_NEWOBJ) delete[] t2; - temp2[n2 - 1] = 0; - arg2 = (char *) temp2; - ecode3 = SWIG_AsVal_int(obj2, &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_getDigits" "', argument " "3"" of type '" "int""'"); + ecode2 = SWIG_AsVal_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_getDigits" "', argument " "2"" of type '" "int""'"); } - arg3 = static_cast< int >(val3); + arg2 = static_cast< int >(val2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_getDigits" "', argument " "3"" of type '" "char *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); ecode4 = SWIG_AsVal_int(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_getDigits" "', argument " "4"" of type '" "int""'"); } arg4 = static_cast< int >(val4); - res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5); - if (!SWIG_IsOK(res5)) { - SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CoreSession_getDigits" "', argument " "5"" of type '" "char *""'"); - } - arg5 = reinterpret_cast< char * >(buf5); - res6 = SWIG_AsCharPtrAndSize(obj5, &t6, &n6, &alloc6); - if (!SWIG_IsOK(res6)) { - SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CoreSession_getDigits" "', argument " "6"" of type '" "char *terminator""'"); - } - if ( n6 > (size_t) 8 ) n6 = (size_t) 8; - memcpy(temp6, t6, sizeof(char)*n6); - if (alloc6 == SWIG_NEWOBJ) delete[] t6; - temp6[n6 - 1] = 0; - arg6 = (char *) temp6; - ecode7 = SWIG_AsVal_int(obj6, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CoreSession_getDigits" "', argument " "7"" of type '" "int""'"); - } - arg7 = static_cast< int >(val7); - result = (int)(arg1)->getDigits(arg2,arg3,arg4,arg5,arg6,arg7); - resultobj = SWIG_From_int(static_cast< int >(result)); - arg2[128] = 0; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtr(arg2)); - arg6[8] = 0; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtr(arg6)); - if (alloc5 == SWIG_NEWOBJ) delete[] buf5; + result = (char *)(arg1)->getDigits(arg2,arg3,arg4); + resultobj = SWIG_FromCharPtr((const char *)result); + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return resultobj; fail: - if (alloc5 == SWIG_NEWOBJ) delete[] buf5; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return NULL; } @@ -4266,6 +5969,79 @@ } +SWIGINTERN PyObject *_wrap_CoreSession_read(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + int arg2 ; + int arg3 ; + char *arg4 = (char *) 0 ; + int arg5 ; + char *arg6 = (char *) 0 ; + char *result = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int val2 ; + int ecode2 = 0 ; + int val3 ; + int ecode3 = 0 ; + int res4 ; + char *buf4 = 0 ; + int alloc4 = 0 ; + int val5 ; + int ecode5 = 0 ; + int res6 ; + char *buf6 = 0 ; + int alloc6 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CoreSession_read",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_read" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + ecode2 = SWIG_AsVal_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_read" "', argument " "2"" of type '" "int""'"); + } + arg2 = static_cast< int >(val2); + ecode3 = SWIG_AsVal_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_read" "', argument " "3"" of type '" "int""'"); + } + arg3 = static_cast< int >(val3); + res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CoreSession_read" "', argument " "4"" of type '" "char const *""'"); + } + arg4 = reinterpret_cast< char * >(buf4); + ecode5 = SWIG_AsVal_int(obj4, &val5); + if (!SWIG_IsOK(ecode5)) { + SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_read" "', argument " "5"" of type '" "int""'"); + } + arg5 = static_cast< int >(val5); + res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6); + if (!SWIG_IsOK(res6)) { + SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CoreSession_read" "', argument " "6"" of type '" "char const *""'"); + } + arg6 = reinterpret_cast< char * >(buf6); + result = (char *)(arg1)->read(arg2,arg3,(char const *)arg4,arg5,(char const *)arg6); + resultobj = SWIG_FromCharPtr((const char *)result); + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + return resultobj; +fail: + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + return NULL; +} + + SWIGINTERN PyObject *_wrap_CoreSession_playAndGetDigits(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; @@ -4277,8 +6053,7 @@ char *arg7 = (char *) 0 ; char *arg8 = (char *) 0 ; char *arg9 = (char *) 0 ; - char *arg10 = (char *) 0 ; - int result; + char *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; @@ -4299,13 +6074,8 @@ char *buf8 = 0 ; int alloc8 = 0 ; int res9 ; - char temp9[128+1] ; - char *t9 = 0 ; - size_t n9 = 0 ; + char *buf9 = 0 ; int alloc9 = 0 ; - int res10 ; - char *buf10 = 0 ; - int alloc10 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; @@ -4315,9 +6085,8 @@ PyObject * obj6 = 0 ; PyObject * obj7 = 0 ; PyObject * obj8 = 0 ; - PyObject * obj9 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:CoreSession_playAndGetDigits",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:CoreSession_playAndGetDigits",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_playAndGetDigits" "', argument " "1"" of type '" "CoreSession *""'"); @@ -4358,43 +6127,32 @@ SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "CoreSession_playAndGetDigits" "', argument " "8"" of type '" "char *""'"); } arg8 = reinterpret_cast< char * >(buf8); - res9 = SWIG_AsCharPtrAndSize(obj8, &t9, &n9, &alloc9); + res9 = SWIG_AsCharPtrAndSize(obj8, &buf9, NULL, &alloc9); if (!SWIG_IsOK(res9)) { - SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "CoreSession_playAndGetDigits" "', argument " "9"" of type '" "char *dtmf_buf""'"); - } - if ( n9 > (size_t) 128 ) n9 = (size_t) 128; - memcpy(temp9, t9, sizeof(char)*n9); - if (alloc9 == SWIG_NEWOBJ) delete[] t9; - temp9[n9 - 1] = 0; - arg9 = (char *) temp9; - res10 = SWIG_AsCharPtrAndSize(obj9, &buf10, NULL, &alloc10); - if (!SWIG_IsOK(res10)) { - SWIG_exception_fail(SWIG_ArgError(res10), "in method '" "CoreSession_playAndGetDigits" "', argument " "10"" of type '" "char *""'"); + SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "CoreSession_playAndGetDigits" "', argument " "9"" of type '" "char *""'"); } - arg10 = reinterpret_cast< char * >(buf10); - result = (int)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10); - resultobj = SWIG_From_int(static_cast< int >(result)); - arg9[128] = 0; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_FromCharPtr(arg9)); + arg9 = reinterpret_cast< char * >(buf9); + result = (char *)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); + resultobj = SWIG_FromCharPtr((const char *)result); if (alloc6 == SWIG_NEWOBJ) delete[] buf6; if (alloc7 == SWIG_NEWOBJ) delete[] buf7; if (alloc8 == SWIG_NEWOBJ) delete[] buf8; - if (alloc10 == SWIG_NEWOBJ) delete[] buf10; + if (alloc9 == SWIG_NEWOBJ) delete[] buf9; return resultobj; fail: if (alloc6 == SWIG_NEWOBJ) delete[] buf6; if (alloc7 == SWIG_NEWOBJ) delete[] buf7; if (alloc8 == SWIG_NEWOBJ) delete[] buf8; - if (alloc10 == SWIG_NEWOBJ) delete[] buf10; + if (alloc9 == SWIG_NEWOBJ) delete[] buf9; return NULL; } -SWIGINTERN PyObject *_wrap_CoreSession_streamFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CoreSession_streamFile__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; char *arg2 = (char *) 0 ; - int arg3 = (int) 0 ; + int arg3 ; int result; void *argp1 = 0 ; int res1 = 0 ; @@ -4407,7 +6165,7 @@ PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO|O:CoreSession_streamFile",&obj0,&obj1,&obj2)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_streamFile",&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_streamFile" "', argument " "1"" of type '" "CoreSession *""'"); @@ -4418,13 +6176,11 @@ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_streamFile" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); - if (obj2) { - ecode3 = SWIG_AsVal_int(obj2, &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_streamFile" "', argument " "3"" of type '" "int""'"); - } - arg3 = static_cast< int >(val3); - } + ecode3 = SWIG_AsVal_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_streamFile" "', argument " "3"" of type '" "int""'"); + } + arg3 = static_cast< int >(val3); result = (int)(arg1)->streamFile(arg2,arg3); resultobj = SWIG_From_int(static_cast< int >(result)); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; @@ -4435,6 +6191,89 @@ } +SWIGINTERN PyObject *_wrap_CoreSession_streamFile__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + char *arg2 = (char *) 0 ; + int result; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_streamFile",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_streamFile" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_streamFile" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + result = (int)(arg1)->streamFile(arg2); + resultobj = SWIG_From_int(static_cast< int >(result)); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CoreSession_streamFile(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[4]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 3); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_CoreSession_streamFile__SWIG_1(self, args); + } + } + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_CoreSession_streamFile__SWIG_0(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CoreSession_streamFile'.\n Possible C/C++ prototypes are:\n streamFile(char *,int)\n streamFile(char *)\n"); + return NULL; +} + + SWIGINTERN PyObject *_wrap_CoreSession_flushEvents(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; @@ -4605,6 +6444,36 @@ } +SWIGINTERN PyObject *_wrap_CoreSession_sendEvent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CoreSession *arg1 = (CoreSession *) 0 ; + Event *arg2 = (Event *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_sendEvent",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_sendEvent" "', argument " "1"" of type '" "CoreSession *""'"); + } + arg1 = reinterpret_cast< CoreSession * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_Event, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_sendEvent" "', argument " "2"" of type '" "Event *""'"); + } + arg2 = reinterpret_cast< Event * >(argp2); + (arg1)->sendEvent(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_CoreSession_begin_allow_threads(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = (CoreSession *) 0 ; @@ -4770,6 +6639,66 @@ return SWIG_Py_Void(); } +SWIGINTERN PyObject *_wrap_console_log(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:console_log",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "console_log" "', argument " "1"" of type '" "char *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "console_log" "', argument " "2"" of type '" "char *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + console_log(arg1,arg2); + resultobj = SWIG_Py_Void(); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_console_clean_log(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:console_clean_log",&obj0)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "console_clean_log" "', argument " "1"" of type '" "char *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + console_clean_log(arg1); + resultobj = SWIG_Py_Void(); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return NULL; +} + + SWIGINTERN PyObject *_wrap_bridge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; CoreSession *arg1 = 0 ; @@ -5221,11 +7150,18 @@ } static PyMethodDef SwigMethods[] = { - { (char *)"console_log", _wrap_console_log, METH_VARARGS, NULL}, - { (char *)"console_clean_log", _wrap_console_clean_log, METH_VARARGS, NULL}, - { (char *)"api_execute", _wrap_api_execute, METH_VARARGS, NULL}, - { (char *)"api_reply_delete", _wrap_api_reply_delete, METH_VARARGS, NULL}, - { (char *)"process_callback_result", _wrap_process_callback_result, METH_VARARGS, NULL}, + { (char *)"consoleLog", _wrap_consoleLog, METH_VARARGS, NULL}, + { (char *)"consoleCleanLog", _wrap_consoleCleanLog, METH_VARARGS, NULL}, + { (char *)"new_IVRMenu", _wrap_new_IVRMenu, METH_VARARGS, NULL}, + { (char *)"delete_IVRMenu", _wrap_delete_IVRMenu, METH_VARARGS, NULL}, + { (char *)"IVRMenu_bindAction", _wrap_IVRMenu_bindAction, METH_VARARGS, NULL}, + { (char *)"IVRMenu_execute", _wrap_IVRMenu_execute, METH_VARARGS, NULL}, + { (char *)"IVRMenu_swigregister", IVRMenu_swigregister, METH_VARARGS, NULL}, + { (char *)"new_API", _wrap_new_API, METH_VARARGS, NULL}, + { (char *)"delete_API", _wrap_delete_API, METH_VARARGS, NULL}, + { (char *)"API_execute", _wrap_API_execute, METH_VARARGS, NULL}, + { (char *)"API_executeString", _wrap_API_executeString, METH_VARARGS, NULL}, + { (char *)"API_swigregister", API_swigregister, METH_VARARGS, NULL}, { (char *)"input_callback_state_t_function_set", _wrap_input_callback_state_t_function_set, METH_VARARGS, NULL}, { (char *)"input_callback_state_t_function_get", _wrap_input_callback_state_t_function_get, METH_VARARGS, NULL}, { (char *)"input_callback_state_t_threadState_set", _wrap_input_callback_state_t_threadState_set, METH_VARARGS, NULL}, @@ -5237,6 +7173,29 @@ { (char *)"new_input_callback_state_t", _wrap_new_input_callback_state_t, METH_VARARGS, NULL}, { (char *)"delete_input_callback_state_t", _wrap_delete_input_callback_state_t, METH_VARARGS, NULL}, { (char *)"input_callback_state_t_swigregister", input_callback_state_t_swigregister, METH_VARARGS, NULL}, + { (char *)"new_Stream", _wrap_new_Stream, METH_VARARGS, NULL}, + { (char *)"delete_Stream", _wrap_delete_Stream, METH_VARARGS, NULL}, + { (char *)"Stream_write", _wrap_Stream_write, METH_VARARGS, NULL}, + { (char *)"Stream_get_data", _wrap_Stream_get_data, METH_VARARGS, NULL}, + { (char *)"Stream_swigregister", Stream_swigregister, METH_VARARGS, NULL}, + { (char *)"Event_event_set", _wrap_Event_event_set, METH_VARARGS, NULL}, + { (char *)"Event_event_get", _wrap_Event_event_get, METH_VARARGS, NULL}, + { (char *)"Event_serialized_string_set", _wrap_Event_serialized_string_set, METH_VARARGS, NULL}, + { (char *)"Event_serialized_string_get", _wrap_Event_serialized_string_get, METH_VARARGS, NULL}, + { (char *)"Event_mine_set", _wrap_Event_mine_set, METH_VARARGS, NULL}, + { (char *)"Event_mine_get", _wrap_Event_mine_get, METH_VARARGS, NULL}, + { (char *)"new_Event", _wrap_new_Event, METH_VARARGS, NULL}, + { (char *)"delete_Event", _wrap_delete_Event, METH_VARARGS, NULL}, + { (char *)"Event_serialize", _wrap_Event_serialize, METH_VARARGS, NULL}, + { (char *)"Event_setPriority", _wrap_Event_setPriority, METH_VARARGS, NULL}, + { (char *)"Event_getHeader", _wrap_Event_getHeader, METH_VARARGS, NULL}, + { (char *)"Event_getBody", _wrap_Event_getBody, METH_VARARGS, NULL}, + { (char *)"Event_getType", _wrap_Event_getType, METH_VARARGS, NULL}, + { (char *)"Event_addBody", _wrap_Event_addBody, METH_VARARGS, NULL}, + { (char *)"Event_addHeader", _wrap_Event_addHeader, METH_VARARGS, NULL}, + { (char *)"Event_delHeader", _wrap_Event_delHeader, METH_VARARGS, NULL}, + { (char *)"Event_fire", _wrap_Event_fire, METH_VARARGS, NULL}, + { (char *)"Event_swigregister", Event_swigregister, METH_VARARGS, NULL}, { (char *)"delete_CoreSession", _wrap_delete_CoreSession, METH_VARARGS, NULL}, { (char *)"CoreSession_session_set", _wrap_CoreSession_session_set, METH_VARARGS, NULL}, { (char *)"CoreSession_session_get", _wrap_CoreSession_session_get, METH_VARARGS, NULL}, @@ -5244,6 +7203,8 @@ { (char *)"CoreSession_channel_get", _wrap_CoreSession_channel_get, METH_VARARGS, NULL}, { (char *)"CoreSession_flags_set", _wrap_CoreSession_flags_set, METH_VARARGS, NULL}, { (char *)"CoreSession_flags_get", _wrap_CoreSession_flags_get, METH_VARARGS, NULL}, + { (char *)"CoreSession_allocated_set", _wrap_CoreSession_allocated_set, METH_VARARGS, NULL}, + { (char *)"CoreSession_allocated_get", _wrap_CoreSession_allocated_get, METH_VARARGS, NULL}, { (char *)"CoreSession_cb_state_set", _wrap_CoreSession_cb_state_set, METH_VARARGS, NULL}, { (char *)"CoreSession_cb_state_get", _wrap_CoreSession_cb_state_get, METH_VARARGS, NULL}, { (char *)"CoreSession_hook_state_set", _wrap_CoreSession_hook_state_set, METH_VARARGS, NULL}, @@ -5252,6 +7213,8 @@ { (char *)"CoreSession_preAnswer", _wrap_CoreSession_preAnswer, METH_VARARGS, NULL}, { (char *)"CoreSession_hangup", _wrap_CoreSession_hangup, METH_VARARGS, NULL}, { (char *)"CoreSession_setVariable", _wrap_CoreSession_setVariable, METH_VARARGS, NULL}, + { (char *)"CoreSession_setPrivate", _wrap_CoreSession_setPrivate, METH_VARARGS, NULL}, + { (char *)"CoreSession_getPrivate", _wrap_CoreSession_getPrivate, METH_VARARGS, NULL}, { (char *)"CoreSession_getVariable", _wrap_CoreSession_getVariable, METH_VARARGS, NULL}, { (char *)"CoreSession_recordFile", _wrap_CoreSession_recordFile, METH_VARARGS, NULL}, { (char *)"CoreSession_setCallerData", _wrap_CoreSession_setCallerData, METH_VARARGS, NULL}, @@ -5262,6 +7225,7 @@ { (char *)"CoreSession_collectDigits", _wrap_CoreSession_collectDigits, METH_VARARGS, NULL}, { (char *)"CoreSession_getDigits", _wrap_CoreSession_getDigits, METH_VARARGS, NULL}, { (char *)"CoreSession_transfer", _wrap_CoreSession_transfer, METH_VARARGS, NULL}, + { (char *)"CoreSession_read", _wrap_CoreSession_read, METH_VARARGS, NULL}, { (char *)"CoreSession_playAndGetDigits", _wrap_CoreSession_playAndGetDigits, METH_VARARGS, NULL}, { (char *)"CoreSession_streamFile", _wrap_CoreSession_streamFile, METH_VARARGS, NULL}, { (char *)"CoreSession_flushEvents", _wrap_CoreSession_flushEvents, METH_VARARGS, NULL}, @@ -5270,6 +7234,7 @@ { (char *)"CoreSession_setHangupHook", _wrap_CoreSession_setHangupHook, METH_VARARGS, NULL}, { (char *)"CoreSession_ready", _wrap_CoreSession_ready, METH_VARARGS, NULL}, { (char *)"CoreSession_execute", _wrap_CoreSession_execute, METH_VARARGS, NULL}, + { (char *)"CoreSession_sendEvent", _wrap_CoreSession_sendEvent, METH_VARARGS, NULL}, { (char *)"CoreSession_begin_allow_threads", _wrap_CoreSession_begin_allow_threads, METH_VARARGS, NULL}, { (char *)"CoreSession_end_allow_threads", _wrap_CoreSession_end_allow_threads, METH_VARARGS, NULL}, { (char *)"CoreSession_get_uuid", _wrap_CoreSession_get_uuid, METH_VARARGS, NULL}, @@ -5277,6 +7242,8 @@ { (char *)"CoreSession_check_hangup_hook", _wrap_CoreSession_check_hangup_hook, METH_VARARGS, NULL}, { (char *)"CoreSession_run_dtmf_callback", _wrap_CoreSession_run_dtmf_callback, METH_VARARGS, NULL}, { (char *)"CoreSession_swigregister", CoreSession_swigregister, METH_VARARGS, NULL}, + { (char *)"console_log", _wrap_console_log, METH_VARARGS, NULL}, + { (char *)"console_clean_log", _wrap_console_clean_log, METH_VARARGS, NULL}, { (char *)"bridge", _wrap_bridge, METH_VARARGS, NULL}, { (char *)"hanguphook", _wrap_hanguphook, METH_VARARGS, NULL}, { (char *)"dtmf_callback", _wrap_dtmf_callback, METH_VARARGS, NULL}, @@ -5299,8 +7266,12 @@ static void *_p_PySessionTo_p_CoreSession(void *x) { return (void *)((CoreSession *) ((PySession *) x)); } +static swig_type_info _swigt__p_API = {"_p_API", "API *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_CoreSession = {"_p_CoreSession", "CoreSession *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_Event = {"_p_Event", "Event *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_IVRMenu = {"_p_IVRMenu", "IVRMenu *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_PySession = {"_p_PySession", "PySession *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_Stream = {"_p_Stream", "Stream *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_input_callback_state = {"_p_input_callback_state", "input_callback_state *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_session_flag_t = {"_p_session_flag_t", "enum session_flag_t *|session_flag_t *", 0, 0, (void*)0, 0}; @@ -5308,14 +7279,21 @@ static swig_type_info _swigt__p_switch_channel_state_t = {"_p_switch_channel_state_t", "switch_channel_state_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_switch_channel_t = {"_p_switch_channel_t", "switch_channel_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_switch_core_session_t = {"_p_switch_core_session_t", "switch_core_session_t *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_switch_event_t = {"_p_switch_event_t", "switch_event_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_switch_input_args_t = {"_p_switch_input_args_t", "switch_input_args_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_switch_input_type_t = {"_p_switch_input_type_t", "switch_input_type_t *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_switch_priority_t = {"_p_switch_priority_t", "switch_priority_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_switch_status_t = {"_p_switch_status_t", "switch_status_t *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_switch_stream_handle_t = {"_p_switch_stream_handle_t", "switch_stream_handle_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0}; static swig_type_info *swig_type_initial[] = { + &_swigt__p_API, &_swigt__p_CoreSession, + &_swigt__p_Event, + &_swigt__p_IVRMenu, &_swigt__p_PySession, + &_swigt__p_Stream, &_swigt__p_char, &_swigt__p_input_callback_state, &_swigt__p_session_flag_t, @@ -5323,14 +7301,21 @@ &_swigt__p_switch_channel_state_t, &_swigt__p_switch_channel_t, &_swigt__p_switch_core_session_t, + &_swigt__p_switch_event_t, &_swigt__p_switch_input_args_t, &_swigt__p_switch_input_type_t, + &_swigt__p_switch_priority_t, &_swigt__p_switch_status_t, + &_swigt__p_switch_stream_handle_t, &_swigt__p_void, }; +static swig_cast_info _swigc__p_API[] = { {&_swigt__p_API, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_CoreSession[] = { {&_swigt__p_CoreSession, 0, 0, 0}, {&_swigt__p_PySession, _p_PySessionTo_p_CoreSession, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_Event[] = { {&_swigt__p_Event, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_IVRMenu[] = { {&_swigt__p_IVRMenu, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_PySession[] = { {&_swigt__p_PySession, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_Stream[] = { {&_swigt__p_Stream, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_input_callback_state[] = { {&_swigt__p_input_callback_state, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_session_flag_t[] = { {&_swigt__p_session_flag_t, 0, 0, 0},{0, 0, 0, 0}}; @@ -5338,14 +7323,21 @@ static swig_cast_info _swigc__p_switch_channel_state_t[] = { {&_swigt__p_switch_channel_state_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_switch_channel_t[] = { {&_swigt__p_switch_channel_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_switch_core_session_t[] = { {&_swigt__p_switch_core_session_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_switch_event_t[] = { {&_swigt__p_switch_event_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_switch_input_args_t[] = { {&_swigt__p_switch_input_args_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_switch_input_type_t[] = { {&_swigt__p_switch_input_type_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_switch_priority_t[] = { {&_swigt__p_switch_priority_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_switch_status_t[] = { {&_swigt__p_switch_status_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_switch_stream_handle_t[] = { {&_swigt__p_switch_stream_handle_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_void[] = { {&_swigt__p_void, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info *swig_cast_initial[] = { + _swigc__p_API, _swigc__p_CoreSession, + _swigc__p_Event, + _swigc__p_IVRMenu, _swigc__p_PySession, + _swigc__p_Stream, _swigc__p_char, _swigc__p_input_callback_state, _swigc__p_session_flag_t, @@ -5353,9 +7345,12 @@ _swigc__p_switch_channel_state_t, _swigc__p_switch_channel_t, _swigc__p_switch_core_session_t, + _swigc__p_switch_event_t, _swigc__p_switch_input_args_t, _swigc__p_switch_input_type_t, + _swigc__p_switch_priority_t, _swigc__p_switch_status_t, + _swigc__p_switch_stream_handle_t, _swigc__p_void, }; Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Tue May 13 22:16:21 2008 @@ -2752,6 +2752,7 @@ } jss->session = peer_session; + switch_set_flag(jss, S_HUP); *rval = BOOLEAN_TO_JSVAL(JS_TRUE); switch_channel_set_state(switch_core_session_get_channel(jss->session), CS_TRANSMIT); @@ -2781,7 +2782,7 @@ switch_channel_set_private(channel, "jss", NULL); switch_core_event_hook_remove_state_change(session, hanguphook); - if (switch_test_flag(jss, S_HUP) || switch_channel_get_state(channel) != CS_EXECUTE) { + if (switch_test_flag(jss, S_HUP)) { switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c Tue May 13 22:16:21 2008 @@ -134,7 +134,7 @@ { struct ldap_c *ldap = ldap_connection; switch_xml_t asdf = *xml; - switch_xml_t param, variable, params, variables; + switch_xml_t param, variable, params = NULL, variables = NULL; int i = 0; int loff = *off; @@ -217,7 +217,7 @@ xml_binding_t *binding = (xml_binding_t *)user_data; switch_event_header_t *hi; - switch_xml_t xml, sub; + switch_xml_t xml = NULL, sub = NULL; struct ldap_c ldap_connection; struct ldap_c *ldap = &ldap_connection; @@ -225,7 +225,7 @@ int auth_method = LDAP_AUTH_SIMPLE; int desired_version = LDAP_VERSION3; xml_ldap_query_type_t query_type; - char *dir_exten, *dir_domain; + char *dir_exten = NULL, *dir_domain = NULL; char *filter = "(objectClass=*)"; char *search_base = NULL; @@ -248,6 +248,9 @@ } else if (!strcmp(section,"phrases")) { query_type = XML_LDAP_PHRASE; + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "invalid section\n"); + return NULL; } if (params) { @@ -277,20 +280,24 @@ case XML_LDAP_DIRECTORY: if (dir_exten && dir_domain) { - xml = switch_xml_new("directory"); - switch_xml_set_attr_d(xml, "type", "freeswitch/xml"); - - sub = switch_xml_add_child_d(xml, "section", off++); - switch_xml_set_attr_d(sub, "name", "directory"); - - sub = switch_xml_add_child_d(sub, "domain", off++); - switch_xml_set_attr_d(sub, "name", dir_domain); + if ((xml = switch_xml_new("directory"))) { + switch_xml_set_attr_d(xml, "type", "freeswitch/xml"); + + if ((sub = switch_xml_add_child_d(xml, "section", off++))) { + switch_xml_set_attr_d(sub, "name", "directory"); + } - sub = switch_xml_add_child_d(sub, "user", off++); - switch_xml_set_attr_d(sub, "id", dir_exten); + if ((sub = switch_xml_add_child_d(sub, "domain", off++))) { + switch_xml_set_attr_d(sub, "name", dir_domain); + } + + if ((sub = switch_xml_add_child_d(sub, "user", off++))) { + switch_xml_set_attr_d(sub, "id", dir_exten); + } + } search_base = switch_mprintf(binding->queryfmt, dir_exten, dir_domain, binding->ldap_base); - + free(dir_exten); dir_exten = NULL; @@ -303,13 +310,15 @@ break; case XML_LDAP_DIALPLAN: - xml = switch_xml_new("document"); - switch_xml_set_attr_d(xml, "type", "freeswitch/xml"); + if ((xml = switch_xml_new("document"))) { + switch_xml_set_attr_d(xml, "type", "freeswitch/xml"); - sub = switch_xml_add_child_d(xml, "section", off++); - switch_xml_set_attr_d(sub, "name", "dialplan"); + if ((sub = switch_xml_add_child_d(xml, "section", off++))) { + switch_xml_set_attr_d(sub, "name", "dialplan"); + } - sub = switch_xml_add_child_d(xml, "context", off++); + sub = switch_xml_add_child_d(xml, "context", off++); + } search_base = switch_mprintf(binding->queryfmt, dir_exten, dir_domain, binding->ldap_base); break; @@ -323,6 +332,7 @@ } + if ((ldap->ld = ldap_init(binding->host, LDAP_PORT)) == NULL) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unable to connect to ldap server.%s\n", binding->host); goto cleanup; @@ -345,7 +355,7 @@ goto cleanup; } - if (xml_ldap_result(&ldap_connection, binding, &sub, &off, query_type) != SWITCH_STATUS_SUCCESS) { + if (sub && xml_ldap_result(&ldap_connection, binding, &sub, &off, query_type) != SWITCH_STATUS_SUCCESS) { goto cleanup; } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_console.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_console.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_console.c Tue May 13 22:16:21 2008 @@ -154,9 +154,64 @@ return ret ? SWITCH_STATUS_FALSE : SWITCH_STATUS_SUCCESS; } -static int switch_console_process(char *cmd) +static int alias_callback(void *pArg, int argc, char **argv, char **columnNames) { - char *arg = NULL; + char **r = (char **) pArg; + *r = strdup(argv[0]); + return -1; +} + +char *expand_alias(char *cmd, char *arg) +{ + char *errmsg = NULL; + char *r = NULL; + char *sql; + char *exp = NULL; + switch_core_db_t *db = switch_core_db_handle(); + int full = 0; + + sql = switch_mprintf("select command from aliases where alias='%q'", cmd); + + switch_core_db_exec(db, sql, alias_callback, &r, &errmsg); + + if (errmsg) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "error [%s][%s]\n", sql, errmsg); + free(errmsg); + } + + if (!r) { + sql = switch_mprintf("select command from aliases where alias='%q %q'", cmd, arg); + + switch_core_db_exec(db, sql, alias_callback, &r, &errmsg); + + if (errmsg) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "error [%s][%s]\n", sql, errmsg); + free(errmsg); + } + if (r) { + full++; + } + } + + + if (r) { + if (arg && !full) { + exp = switch_mprintf("%s %s", r, arg); + free(r); + } else { + exp = r; + } + } else { + exp = cmd; + } + + switch_core_db_close(db); + return exp; +} + +static int switch_console_process(char *cmd, int rec) +{ + char *arg = NULL, *alias = NULL; switch_stream_handle_t stream = { 0 }; if (!strcmp(cmd, "shutdown") || !strcmp(cmd, "...")) { @@ -175,6 +230,12 @@ *arg++ = '\0'; } + if (!rec && (alias = expand_alias(cmd, arg)) && alias != cmd) { + int r = switch_console_process(alias, ++rec); + free(alias); + return r; + } + SWITCH_STANDARD_STREAM(stream); if (stream.data) { if (switch_api_execute(cmd, arg, NULL, &stream) == SWITCH_STATUS_SUCCESS) { @@ -268,7 +329,7 @@ } cmd = strdup(c); - switch_console_process(cmd); + switch_console_process(cmd, 0); free(cmd); return CC_REDISPLAY; @@ -346,13 +407,16 @@ if (!switch_strlen_zero(line)) { char *cmd = strdup(line); char *p; - + const LineInfo *lf = el_line(el); + char *foo = (char *)lf->buffer; if ((p = strrchr(cmd, '\r')) || (p = strrchr(cmd, '\n'))) { *p = '\0'; } assert(cmd != NULL); history(myhistory, &ev, H_ENTER, line); - running = switch_console_process(cmd); + running = switch_console_process(cmd, 0); + el_deletestr(el, strlen(foo)+1); + memset(foo, 0, strlen(foo)); free(cmd); } } @@ -364,6 +428,250 @@ } +struct helper { + EditLine *el; + int len; + int hits; + int words; + char last[512]; + FILE *out; +}; + +static int comp_callback(void *pArg, int argc, char **argv, char **columnNames) +{ + struct helper *h = (struct helper *) pArg; + char *target = NULL; + + target = argv[0]; + + if (!target) { + return -1; + } + + fprintf(h->out, "%20s\t", target); + + switch_copy_string(h->last, target, sizeof(h->last)); + + if ((++h->hits % 4) == 0) { + fprintf(h->out, "\n"); + } + + return 0; +} + +static unsigned char complete(EditLine *el, int ch) +{ + switch_core_db_t *db = switch_core_db_handle(); + char *sql; + const LineInfo *lf = el_line(el); + char *dup = strdup(lf->buffer); + char *buf = dup; + char *p, *lp = NULL; + char *errmsg = NULL; + struct helper h = { el }; + unsigned char ret = CC_REDISPLAY; + + h.out = switch_core_get_console(); + + if ((p = strchr(buf, '\r')) || (p = strchr(buf, '\n'))) { + *p = '\0'; + } + + while(*buf == ' ') { + buf++; + } + + for(p = buf; p && *p; p++) { + if (*p == ' ') { + lp = p; + h.words++; + } + } + + if (lp) { + buf = lp + 1; + } + + h.len = strlen(buf); + + fprintf(h.out, "\n\n"); + + if (h.words == 0) { + sql = switch_mprintf("select distinct name from interfaces where type='api' and name like '%s%%' order by name", buf); + } else { + sql = switch_mprintf("select distinct uuid from channels where uuid like '%s%%' order by uuid", buf); + } + + switch_core_db_exec(db, sql, comp_callback, &h, &errmsg); + + if (errmsg) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "error [%s][%s]\n", sql, errmsg); + free(errmsg); + ret = CC_ERROR; + goto end; + } + + if (h.hits != 1) { + char *dupdup = strdup(dup); + switch_assert(dupdup); + int x, argc = 0; + char *argv[10] = {0}; + switch_stream_handle_t stream = { 0 }; + SWITCH_STANDARD_STREAM(stream); + + + argc = switch_separate_string(dupdup, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + + if (h.words == 0) { + stream.write_function(&stream, + "select distinct a1 from complete where " + "a1 not in (select name from interfaces) and "); + } else { + stream.write_function(&stream, + "select distinct a%d from complete where ", h.words + 1); + + } + + for(x = 0; x < argc; x++) { + stream.write_function(&stream, "(a%d = '' or a%d like '%s%%')%s", x+1, x+1, switch_str_nil(argv[x]), x == argc -1 ? "" : " and "); + } + + switch_core_db_exec(db, stream.data, comp_callback, &h, &errmsg); + + if (errmsg) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "error [%s][%s]\n", (char *) stream.data, errmsg); + free(errmsg); + ret = CC_ERROR; + } + + switch_safe_free(dupdup); + switch_safe_free(stream.data); + + if (ret == CC_ERROR) { + goto end; + } + } + + fprintf(h.out, "\n\n"); + + if (h.hits == 1) { + el_deletestr(el, h.len); + el_insertstr(el, h.last); + } + + end: + + fflush(h.out); + + switch_safe_free(sql); + switch_safe_free(dup); + + switch_core_db_close(db); + + return (ret); +} + + +SWITCH_DECLARE(switch_status_t) switch_console_set_complete(const char *string) +{ + char *mydata = NULL, *argv[11] = {0}; + int argc, x; + switch_status_t status = SWITCH_STATUS_FALSE; + + if (string && (mydata = strdup(string))) { + if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))))) { + switch_core_db_t *db = switch_core_db_handle(); + switch_stream_handle_t mystream = { 0 }; + SWITCH_STANDARD_STREAM(mystream); + + + if (!strcasecmp(argv[0], "stickyadd")) { + mystream.write_function(&mystream, "insert into complete values (1,"); + for(x = 0; x < 10; x++) { + mystream.write_function(&mystream, "'%s'%s", switch_str_nil(argv[x+1]), x == 9 ? ")" : ", "); + } + switch_core_db_persistant_execute(db, mystream.data, 5); + status = SWITCH_STATUS_SUCCESS; + } else if (!strcasecmp(argv[0], "add")) { + mystream.write_function(&mystream, "insert into complete values (0,"); + for(x = 0; x < 10; x++) { + mystream.write_function(&mystream, "'%s'%s", switch_str_nil(argv[x+1]), x == 9 ? ")" : ", "); + } + switch_core_db_persistant_execute(db, mystream.data, 5); + status = SWITCH_STATUS_SUCCESS; + } else if (!strcasecmp(argv[0], "del")) { + char *what = argv[1]; + if (!strcasecmp(what, "*")) { + switch_core_db_persistant_execute(db, "delete from complete", 1); + } else { + mystream.write_function(&mystream, "delete from complete where "); + for(x = 0; x < argc - 1; x++) { + mystream.write_function(&mystream, "a%d = '%s'%s", x+1, switch_str_nil(argv[x+1]), x == argc - 2 ? "" : " and "); + } + switch_core_db_persistant_execute(db, mystream.data, 1); + } + status = SWITCH_STATUS_SUCCESS; + } + switch_safe_free(mystream.data); + switch_core_db_close(db); + } + } + + switch_safe_free(mydata); + + return status; + +} + + +SWITCH_DECLARE(switch_status_t) switch_console_set_alias(const char *string) +{ + char *mydata = NULL, *argv[3] = {0}; + int argc; + switch_status_t status = SWITCH_STATUS_FALSE; + + if (string && (mydata = strdup(string))) { + if ((argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0])))) >= 2) { + switch_core_db_t *db = switch_core_db_handle(); + char *sql = NULL; + + + if (!strcasecmp(argv[0], "stickyadd") && argc == 3) { + sql = switch_mprintf("delete from aliases where alias='%q'", argv[1]); + switch_core_db_persistant_execute(db, sql, 5); + switch_safe_free(sql); + sql = switch_mprintf("insert into aliases (sticky, alias, command) values (1, '%q','%q')", argv[1], argv[2]); + switch_core_db_persistant_execute(db, sql, 5); + status = SWITCH_STATUS_SUCCESS; + } else if (!strcasecmp(argv[0], "add") && argc == 3) { + sql = switch_mprintf("delete from aliases where alias='%q'", argv[1]); + switch_core_db_persistant_execute(db, sql, 5); + switch_safe_free(sql); + sql = switch_mprintf("insert into aliases (sticky, alias, command) values (0, '%q','%q')", argv[1], argv[2]); + switch_core_db_persistant_execute(db, sql, 5); + status = SWITCH_STATUS_SUCCESS; + } else if (!strcasecmp(argv[0], "del") && argc == 2) { + char *what = argv[1]; + if (!strcasecmp(what, "*")) { + switch_core_db_persistant_execute(db, "delete from aliases", 1); + } else { + sql = switch_mprintf("delete from aliases where alias='%q'", argv[1]); + switch_core_db_persistant_execute(db, sql, 5); + } + status = SWITCH_STATUS_SUCCESS; + } + switch_safe_free(sql); + switch_core_db_close(db); + } + } + + switch_safe_free(mydata); + + return status; + +} + + SWITCH_DECLARE(void) switch_console_loop(void) { switch_thread_t *thread; @@ -417,6 +725,10 @@ el_set(el, EL_BIND, "\033[23~", "f11-key", NULL); el_set(el, EL_BIND, "\033[24~", "f12-key", NULL); + + el_set(el, EL_ADDFN, "ed-complete", "Complete argument", complete); + el_set(el, EL_BIND, "^I", "ed-complete", NULL); + myhistory = history_init(); if (myhistory == 0) { fprintf(stderr, "history could not be initialized\n"); @@ -453,6 +765,15 @@ } #else +SWITCH_DECLARE(switch_status_t) switch_console_set_alias(const char *string) +{ + return SWITCH_STATUS_FALSE; +} + +SWITCH_DECLARE(switch_status_t) switch_console_set_complete(const char *string) +{ + return SWITCH_STATUS_FALSE; +} SWITCH_DECLARE(void) switch_console_loop(void) { @@ -517,7 +838,7 @@ } if (cmd[0]) { - running = switch_console_process(cmd); + running = switch_console_process(cmd, 0); } } } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_io.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_io.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_io.c Tue May 13 22:16:21 2008 @@ -120,7 +120,7 @@ if (switch_channel_test_flag(session->channel, CF_HOLD)) { status = SWITCH_STATUS_BREAK; - goto done; + goto even_more_done; } if (session->endpoint_interface->io_routines->read_frame) { @@ -459,6 +459,9 @@ switch_thread_rwlock_unlock(session->bug_rwlock); } } + + even_more_done: + return status; } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_rwlock.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_rwlock.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_rwlock.c Tue May 13 22:16:21 2008 @@ -35,7 +35,6 @@ #include <switch.h> #include "private/switch_core_pvt.h" - SWITCH_DECLARE(switch_status_t) switch_core_session_signal_lock(switch_core_session_t *session) { return switch_mutex_lock(session->signal_mutex); @@ -58,12 +57,12 @@ if (switch_test_flag(session, SSF_DESTROYED)) { status = SWITCH_STATUS_FALSE; #ifdef SWITCH_DEBUG_RWLOCKS - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, SWITCH_LOG_ERROR, "%s Read lock FAIL\n", switch_channel_get_name(session->channel)); + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "%s Read lock FAIL\n", switch_channel_get_name(session->channel)); #endif } else { status = (switch_status_t) switch_thread_rwlock_tryrdlock(session->rwlock); #ifdef SWITCH_DEBUG_RWLOCKS - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, SWITCH_LOG_ERROR, "%s Read lock AQUIRED\n", + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "%s Read lock AQUIRED\n", switch_channel_get_name(session->channel)); #endif } @@ -76,7 +75,7 @@ SWITCH_DECLARE(void) switch_core_session_perform_write_lock(switch_core_session_t *session, const char *file, const char *func, int line) { - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, SWITCH_LOG_ERROR, "%s Write lock AQUIRED\n", switch_channel_get_name(session->channel)); + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "%s Write lock AQUIRED\n", switch_channel_get_name(session->channel)); #else SWITCH_DECLARE(void) switch_core_session_write_lock(switch_core_session_t *session) { @@ -87,7 +86,7 @@ #ifdef SWITCH_DEBUG_RWLOCKS SWITCH_DECLARE(void) switch_core_session_perform_rwunlock(switch_core_session_t *session, const char *file, const char *func, int line) { - switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, SWITCH_LOG_ERROR, "%s Read/Write lock CLEARED\n", + switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_ERROR, "%s Read/Write lock CLEARED\n", switch_channel_get_name(session->channel)); #else SWITCH_DECLARE(void) switch_core_session_rwunlock(switch_core_session_t *session) Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_sqldb.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_sqldb.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_core_sqldb.c Tue May 13 22:16:21 2008 @@ -254,10 +254,12 @@ sql = switch_mprintf("delete from channels where uuid='%q'", switch_event_get_header(event, "unique-id")); break; case SWITCH_EVENT_CHANNEL_CREATE: - sql = switch_mprintf("insert into channels (uuid,created,name,state) values('%q','%q','%q','%q')", + sql = switch_mprintf("insert into channels (uuid,created,created_epoch, name,state) values('%q','%q','%ld','%q','%q')", switch_event_get_header(event, "unique-id"), switch_event_get_header(event, "event-date-local"), - switch_event_get_header(event, "channel-name"), switch_event_get_header(event, "channel-state") + (long)switch_timestamp(NULL), + switch_event_get_header(event, "channel-name"), + switch_event_get_header(event, "channel-state") ); break; case SWITCH_EVENT_CODEC: @@ -305,7 +307,9 @@ } break; case SWITCH_EVENT_CHANNEL_BRIDGE: - sql = switch_mprintf("insert into calls values ('%s','%q','%q','%q','%q','%s','%q','%q','%q','%q','%s')", + sql = switch_mprintf("insert into calls values ('%s', '%ld', '%s','%q','%q','%q','%q','%s','%q','%q','%q','%q','%s')", + switch_event_get_header(event, "event-date-local"), + (long)switch_timestamp(NULL), switch_event_get_header(event, "event-calling-function"), switch_event_get_header(event, "caller-caller-id-name"), switch_event_get_header(event, "caller-caller-id-number"), @@ -362,10 +366,33 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Opening DB!\n"); switch_clear_flag((&runtime), SCF_USE_SQL); } else { + char create_complete_sql[] = + "CREATE TABLE complete (\n" + " sticky INTEGER,\n" + " a1 VARCHAR(255),\n" + " a2 VARCHAR(255),\n" + " a3 VARCHAR(255),\n" + " a4 VARCHAR(255),\n" + " a5 VARCHAR(255),\n" + " a6 VARCHAR(255),\n" + " a7 VARCHAR(255),\n" + " a8 VARCHAR(255),\n" + " a9 VARCHAR(255),\n" + " a10 VARCHAR(255)\n" + ");\n"; + + char create_alias_sql[] = + "CREATE TABLE aliases (\n" + " sticky INTEGER,\n" + " alias VARCHAR(255),\n" + " command VARCHAR(255)\n" + ");\n"; + char create_channels_sql[] = "CREATE TABLE channels (\n" " uuid VARCHAR(255),\n" " created VARCHAR(255),\n" + " created_epoch INTEGER,\n" " name VARCHAR(255),\n" " state VARCHAR(255),\n" " cid_name VARCHAR(255),\n" @@ -374,10 +401,16 @@ " dest VARCHAR(255),\n" " application VARCHAR(255),\n" " application_data VARCHAR(255),\n" - " read_codec VARCHAR(255),\n" " read_rate VARCHAR(255),\n" " write_codec VARCHAR(255),\n" " write_rate VARCHAR(255)\n" ");\n"; + " read_codec VARCHAR(255),\n" + " read_rate VARCHAR(255),\n" + " write_codec VARCHAR(255),\n" + " write_rate VARCHAR(255)\n" + ");\n"; char create_calls_sql[] = "CREATE TABLE calls (\n" " function VARCHAR(255),\n" + " created VARCHAR(255),\n" + " created_epoch INTEGER,\n" " caller_cid_name VARCHAR(255),\n" " caller_cid_num VARCHAR(255),\n" " caller_dest_num VARCHAR(255),\n" @@ -385,15 +418,24 @@ " caller_uuid VARCHAR(255),\n" " callee_cid_name VARCHAR(255),\n" " callee_cid_num VARCHAR(255),\n" - " callee_dest_num VARCHAR(255),\n" " callee_chan_name VARCHAR(255),\n" " callee_uuid VARCHAR(255)\n" ");\n"; + " callee_dest_num VARCHAR(255),\n" + " callee_chan_name VARCHAR(255),\n" + " callee_uuid VARCHAR(255)\n" + ");\n"; char create_interfaces_sql[] = "CREATE TABLE interfaces (\n" " type VARCHAR(255),\n" - " name VARCHAR(255),\n" " description VARCHAR(255),\n" " syntax VARCHAR(255)\n" ");\n"; + " name VARCHAR(255),\n" + " description VARCHAR(255),\n" + " syntax VARCHAR(255)\n" + ");\n"; char create_tasks_sql[] = "CREATE TABLE tasks (\n" " task_id INTEGER(4),\n" - " task_desc VARCHAR(255),\n" " task_group VARCHAR(255),\n" " task_sql_manager INTEGER(8)\n" ");\n"; + " task_desc VARCHAR(255),\n" + " task_group VARCHAR(255),\n" + " task_sql_manager INTEGER(8)\n" + ");\n"; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Opening DB\n"); switch_core_db_exec(sql_manager.db, "drop table channels", NULL, NULL, NULL); @@ -405,6 +447,10 @@ switch_core_db_exec(sql_manager.db, "PRAGMA cache_size=8000", NULL, NULL, NULL); switch_core_db_exec(sql_manager.db, "PRAGMA temp_store=MEMORY;", NULL, NULL, NULL); + switch_core_db_test_reactive(sql_manager.db, "select sticky from complete", "DROP TABLE complete", create_complete_sql); + switch_core_db_test_reactive(sql_manager.db, "select sticky from aliases", "DROP TABLE aliases", create_alias_sql); + switch_core_db_exec(sql_manager.db, "delete from complete where sticky=0", NULL, NULL, NULL); + switch_core_db_exec(sql_manager.db, "delete from aliases where sticky=0", NULL, NULL, NULL); switch_core_db_exec(sql_manager.db, create_channels_sql, NULL, NULL, NULL); switch_core_db_exec(sql_manager.db, create_calls_sql, NULL, NULL, NULL); switch_core_db_exec(sql_manager.db, create_interfaces_sql, NULL, NULL, NULL); Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_cpp.cpp ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_cpp.cpp (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_cpp.cpp Tue May 13 22:16:21 2008 @@ -37,13 +37,281 @@ #pragma warning(disable:4127 4003) #endif -#define sanity_check(x) do { if (!(session && allocated)) { switch_log_printf(SWITCH_CHANNEL_LOG,SWITCH_LOG_ERROR, "session is not initalized\n"); return x;}} while(0) -#define sanity_check_noreturn do { if (!(session && allocated)) { switch_log_printf(SWITCH_CHANNEL_LOG,SWITCH_LOG_ERROR, "session is not initalized\n"); return;}} while(0) -#define init_vars() do { session = NULL; channel = NULL; uuid = NULL; tts_name = NULL; voice_name = NULL; memset(&args, 0, sizeof(args)); ap = NULL; caller_profile.source = "mod_unknown"; caller_profile.dialplan = ""; caller_profile.context = ""; caller_profile.caller_id_name = ""; caller_profile.caller_id_number = ""; caller_profile.network_addr = ""; caller_profile.ani = ""; caller_profile.aniii = ""; caller_profile.rdnis = ""; caller_profile.username = ""; on_hangup = NULL; cb_state.function = NULL; } while(0) +SWITCH_DECLARE_CONSTRUCTOR IVRMenu::IVRMenu(IVRMenu *main, + const char *name, + const char *greeting_sound, + const char *short_greeting_sound, + const char *invalid_sound, + const char *exit_sound, + const char *confirm_macro, + const char *confirm_key, + int confirm_attempts, + int inter_timeout, + int digit_len, + int timeout, + int max_failures) +{ + menu = NULL; + switch_core_new_memory_pool(&pool); + switch_assert(pool); + if (switch_strlen_zero(name)) { + name = "no name"; + } + + switch_ivr_menu_init(&menu, main ? main->menu : NULL, name, greeting_sound, short_greeting_sound, invalid_sound, + exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, pool); + + +} + +SWITCH_DECLARE_CONSTRUCTOR IVRMenu::~IVRMenu() +{ + if (menu) { + switch_ivr_menu_stack_free(menu); + } + switch_core_destroy_memory_pool(&pool); +} + +SWITCH_DECLARE(void) IVRMenu::bindAction(char *action, const char *arg, const char *bind) +{ + switch_ivr_action_t ivr_action = SWITCH_IVR_ACTION_NOOP; + + if (switch_ivr_menu_str2action(action, &ivr_action) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "bind %s to %s(%s)\n", bind, action, arg); + switch_ivr_menu_bind_action(menu, ivr_action, arg, bind); + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "invalid action %s\n", action); + } +} + +SWITCH_DECLARE(void) IVRMenu::execute(CoreSession *session, const char *name) +{ + switch_ivr_menu_execute(session->session, menu, (char *)name, NULL); +} + +SWITCH_DECLARE_CONSTRUCTOR API::API() +{ + last_data = NULL; +} + +SWITCH_DECLARE_CONSTRUCTOR API::~API() +{ + switch_safe_free(last_data); +} + + +SWITCH_DECLARE(char *) API::execute(const char *cmd, const char *arg) +{ + switch_stream_handle_t stream = { 0 }; + SWITCH_STANDARD_STREAM(stream); + switch_api_execute(cmd, arg, NULL, &stream); + last_data = (char *) stream.data; + return last_data; +} + +SWITCH_DECLARE(char *) API::executeString(const char *cmd) +{ + char *arg; + switch_stream_handle_t stream = { 0 }; + char *mycmd = strdup(cmd); + + switch_assert(mycmd); + + if ((arg = strchr(mycmd, ' '))) { + *arg++ = '\0'; + } + + switch_safe_free(last_data); + + SWITCH_STANDARD_STREAM(stream); + switch_api_execute(mycmd, arg, NULL, &stream); + last_data = (char *) stream.data; + switch_safe_free(mycmd); + return last_data; +} + +SWITCH_DECLARE_CONSTRUCTOR Event::Event(const char *type, const char *subclass_name) +{ + switch_event_types_t event_id; + + if (switch_name_event(type, &event_id) != SWITCH_STATUS_SUCCESS) { + event_id = SWITCH_EVENT_MESSAGE; + } + + switch_event_create_subclass(&event, event_id, subclass_name); + serialized_string = NULL; + mine = 1; +} + +SWITCH_DECLARE_CONSTRUCTOR Event::Event(switch_event_t *wrap_me, int free_me) +{ + event = wrap_me; + mine = free_me; + serialized_string = NULL; +} + +SWITCH_DECLARE_CONSTRUCTOR Event::~Event() +{ + + if (serialized_string) { + free(serialized_string); + } + + if (event && mine) { + switch_event_destroy(&event); + } +} + + +SWITCH_DECLARE(const char *)Event::serialize(const char *format) +{ + int isxml = 0; + + if (serialized_string) { + free(serialized_string); + } + + if (!event) { + return ""; + } + + if (format && !strcasecmp(format, "xml")) { + isxml++; + } + + if (isxml) { + switch_xml_t xml; + if ((xml = switch_event_xmlize(event, SWITCH_VA_NONE))) { + serialized_string = switch_xml_toxml(xml, SWITCH_FALSE); + switch_xml_free(xml); + return serialized_string; + } else { + return ""; + } + } else { + if (switch_event_serialize(event, &serialized_string, SWITCH_TRUE) == SWITCH_STATUS_SUCCESS) { + return serialized_string; + } + } + + return ""; + +} + +SWITCH_DECLARE(bool) Event::fire(void) +{ + if (!mine) { + switch_log_printf(SWITCH_CHANNEL_LOG,SWITCH_LOG_ERROR, "Not My event!\n"); + return false; + } + + if (event) { + switch_event_t *new_event; + if (switch_event_dup(&new_event, event) == SWITCH_STATUS_SUCCESS) { + switch_event_fire(&new_event); + return true; + } + } + return false; +} + +SWITCH_DECLARE(bool) Event::setPriority(switch_priority_t priority) +{ + if (event) { + switch_event_set_priority(event, priority); + return true; + } + return false; +} + +SWITCH_DECLARE(char *)Event::getHeader(char *header_name) +{ + if (event) { + return switch_event_get_header(event, header_name); + } + return NULL; +} + +SWITCH_DECLARE(bool) Event::addHeader(const char *header_name, const char *value) +{ + if (event) { + return switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, value) == SWITCH_STATUS_SUCCESS ? true : false; + } + + return false; +} + +SWITCH_DECLARE(bool) Event::delHeader(const char *header_name) +{ + if (event) { + return switch_event_del_header(event, header_name) == SWITCH_STATUS_SUCCESS ? true : false; + } + + return false; +} + + +SWITCH_DECLARE(bool) Event::addBody(const char *value) +{ + if (event) { + return switch_event_add_body(event, "%s", value) == SWITCH_STATUS_SUCCESS ? true : false; + } + + return false; +} + +SWITCH_DECLARE(char *)Event::getBody(void) +{ + if (event) { + return switch_event_get_body(event); + } + + return NULL; +} + +SWITCH_DECLARE(char *)Event::getType(void) +{ + if (event) { + return switch_event_name(event->event_id); + } + + return "invalid"; +} +SWITCH_DECLARE_CONSTRUCTOR Stream::Stream() +{ + SWITCH_STANDARD_STREAM(mystream); + stream_p = &mystream; + mine = 1; +} -CoreSession::CoreSession() +SWITCH_DECLARE_CONSTRUCTOR Stream::Stream(switch_stream_handle_t *sp) +{ + stream_p = sp; + mine = 0; +} + + +SWITCH_DECLARE_CONSTRUCTOR Stream::~Stream() +{ + if (mine) { + switch_safe_free(mystream.data); + } +} + +SWITCH_DECLARE(void) Stream::write(const char *data) +{ + stream_p->write_function(stream_p, "%s", data); +} + +SWITCH_DECLARE(const char *)Stream::get_data() +{ + return stream_p ? (const char *)stream_p->data : NULL; +} + + +SWITCH_DECLARE_CONSTRUCTOR CoreSession::CoreSession() { session = NULL; channel = NULL; @@ -69,18 +337,27 @@ } -CoreSession::CoreSession(char *nuuid) +SWITCH_DECLARE_CONSTRUCTOR CoreSession::CoreSession(char *nuuid) { memset(&caller_profile, 0, sizeof(caller_profile)); init_vars(); - if (session = switch_core_session_locate(nuuid)) { - channel = switch_core_session_get_channel(session); + if (!strchr(nuuid, '/') && (session = switch_core_session_locate(nuuid))) { uuid = strdup(nuuid); + channel = switch_core_session_get_channel(session); allocated = 1; - } + } else { + switch_call_cause_t cause; + if (switch_ivr_originate(NULL, &session, &cause, nuuid, 60, NULL, NULL, NULL, NULL, SOF_NONE) == SWITCH_STATUS_SUCCESS) { + channel = switch_core_session_get_channel(session); + allocated = 1; + switch_set_flag(this, S_HUP); + uuid = strdup(switch_core_session_get_uuid(session)); + switch_channel_set_state(switch_core_session_get_channel(session), CS_TRANSMIT); + } + } } -CoreSession::CoreSession(switch_core_session_t *new_session) +SWITCH_DECLARE_CONSTRUCTOR CoreSession::CoreSession(switch_core_session_t *new_session) { memset(&caller_profile, 0, sizeof(caller_profile)); init_vars(); @@ -92,14 +369,14 @@ } } -CoreSession::~CoreSession() +SWITCH_DECLARE_CONSTRUCTOR CoreSession::~CoreSession() { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "CoreSession::~CoreSession desctructor\n"); switch_channel_t *channel = NULL; if (session) { channel = switch_core_session_get_channel(session); - if (switch_test_flag(this, S_HUP)) { + if (switch_test_flag(this, S_HUP) && !switch_channel_test_flag(channel, CF_TRANSFER)) { switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); } switch_core_session_rwunlock(session); @@ -110,7 +387,7 @@ switch_safe_free(voice_name); } -int CoreSession::answer() +SWITCH_DECLARE(int) CoreSession::answer() { switch_status_t status; @@ -119,7 +396,7 @@ return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } -int CoreSession::preAnswer() +SWITCH_DECLARE(int) CoreSession::preAnswer() { switch_status_t status; sanity_check(-1); @@ -127,26 +404,38 @@ return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } -void CoreSession::hangup(char *cause) +SWITCH_DECLARE(void) CoreSession::hangup(char *cause) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "CoreSession::hangup\n"); sanity_check_noreturn; switch_channel_hangup(channel, switch_channel_str2cause(cause)); } -void CoreSession::setVariable(char *var, char *val) +SWITCH_DECLARE(void) CoreSession::setPrivate(char *var, void *val) +{ + sanity_check_noreturn; + switch_channel_set_private(channel, var, val); +} + +SWITCH_DECLARE(void *)CoreSession::getPrivate(char *var) +{ + sanity_check(NULL); + return switch_channel_get_private(channel, var); +} + +SWITCH_DECLARE(void) CoreSession::setVariable(char *var, char *val) { sanity_check_noreturn; switch_channel_set_variable(channel, var, val); } -const char *CoreSession::getVariable(char *var) +SWITCH_DECLARE(const char *)CoreSession::getVariable(char *var) { sanity_check(NULL); return switch_channel_get_variable(channel, var); } -void CoreSession::execute(char *app, char *data) +SWITCH_DECLARE(void) CoreSession::execute(char *app, char *data) { const switch_application_interface_t *application_interface; sanity_check_noreturn; @@ -159,7 +448,7 @@ } } -void CoreSession::setDTMFCallback(void *cbfunc, char *funcargs) { +SWITCH_DECLARE(void) CoreSession::setDTMFCallback(void *cbfunc, char *funcargs) { sanity_check_noreturn; @@ -181,7 +470,17 @@ } -int CoreSession::speak(char *text) +SWITCH_DECLARE(void) CoreSession::sendEvent(Event *sendME) +{ + if (sendME->event) { + switch_event_t *new_event; + if (switch_event_dup(&new_event, sendME->event) == SWITCH_STATUS_SUCCESS) { + switch_core_session_receive_event(session, &new_event); + } + } +} + +SWITCH_DECLARE(int) CoreSession::speak(char *text) { switch_status_t status; @@ -209,7 +508,7 @@ return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } -void CoreSession::set_tts_parms(char *tts_name_p, char *voice_name_p) +SWITCH_DECLARE(void) CoreSession::set_tts_parms(char *tts_name_p, char *voice_name_p) { sanity_check_noreturn; switch_safe_free(tts_name); @@ -220,7 +519,7 @@ -int CoreSession::collectDigits(int timeout) { +SWITCH_DECLARE(int) CoreSession::collectDigits(int timeout) { sanity_check(-1); begin_allow_threads(); switch_ivr_collect_digits_callback(session, ap, timeout); @@ -228,31 +527,30 @@ return SWITCH_STATUS_SUCCESS; } -int CoreSession::getDigits(char *dtmf_buf, - switch_size_t buflen, - switch_size_t maxdigits, - char *terminators, - char *terminator, - int timeout) +SWITCH_DECLARE(char *) CoreSession::getDigits(int maxdigits, + char *terminators, + int timeout) { switch_status_t status; - sanity_check(-1); + sanity_check(""); begin_allow_threads(); + char terminator; + memset(dtmf_buf, 0, sizeof(dtmf_buf)); status = switch_ivr_collect_digits_count(session, dtmf_buf, - buflen, + sizeof(dtmf_buf), maxdigits, terminators, - terminator, + &terminator, (uint32_t) timeout, 0, 0); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "getDigits dtmf_buf: %s\n", dtmf_buf); end_allow_threads(); - return status == SWITCH_STATUS_SUCCESS ? 1 : 0; + return dtmf_buf; } -int CoreSession::transfer(char *extension, char *dialplan, char *context) +SWITCH_DECLARE(int) CoreSession::transfer(char *extension, char *dialplan, char *context) { switch_status_t status; sanity_check(-1); @@ -263,19 +561,42 @@ return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } -int CoreSession::playAndGetDigits(int min_digits, - int max_digits, - int max_tries, - int timeout, - char *terminators, - char *audio_files, - char *bad_input_audio_files, - char *dtmf_buf, - char *digits_regex) + +SWITCH_DECLARE(char *) CoreSession::read(int min_digits, + int max_digits, + const char *prompt_audio_file, + int timeout, + const char *valid_terminators) +{ + if (min_digits < 1) { + min_digits = 1; + } + + if (max_digits < 1) { + max_digits = 1; + } + + if (timeout < 1) { + timeout = 1; + } + + switch_ivr_read(session, min_digits, max_digits, prompt_audio_file, NULL, dtmf_buf, sizeof(dtmf_buf), timeout, valid_terminators); + return dtmf_buf; +} + +SWITCH_DECLARE(char *) CoreSession::playAndGetDigits(int min_digits, + int max_digits, + int max_tries, + int timeout, + char *terminators, + char *audio_files, + char *bad_input_audio_files, + char *digits_regex) { switch_status_t status; - sanity_check(-1); + sanity_check(""); begin_allow_threads(); + memset(dtmf_buf, 0, sizeof(dtmf_buf)); status = switch_play_and_get_digits( session, (uint32_t) min_digits, (uint32_t) max_digits, @@ -285,57 +606,53 @@ audio_files, bad_input_audio_files, dtmf_buf, - 128, + sizeof(dtmf_buf), digits_regex); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "playAndGetDigits dtmf_buf: %s\n", dtmf_buf); end_allow_threads(); - return status == SWITCH_STATUS_SUCCESS ? 1 : 0; + return dtmf_buf; } -int CoreSession::streamFile(char *file, int starting_sample_count) { +SWITCH_DECLARE(int) CoreSession::streamFile(char *file, int starting_sample_count) { switch_status_t status; - switch_file_handle_t fh = { 0 }; + //switch_file_handle_t fh = { 0 }; const char *prebuf; sanity_check(-1); - fh.samples = starting_sample_count; - store_file_handle(&fh); + + memset(&local_fh, 0, sizeof(local_fh)); + fhp = &local_fh; + local_fh.samples = starting_sample_count; - begin_allow_threads(); - status = switch_ivr_play_file(session, &fh, file, ap); - end_allow_threads(); if ((prebuf = switch_channel_get_variable(this->channel, "stream_prebuffer"))) { int maybe = atoi(prebuf); if (maybe > 0) { - fh.prebuf = maybe; + local_fh.prebuf = maybe; } } - return status == SWITCH_STATUS_SUCCESS ? 1 : 0; -} + store_file_handle(&local_fh); -bool CoreSession::ready() { + begin_allow_threads(); + status = switch_ivr_play_file(session, fhp, file, ap); + end_allow_threads(); - switch_channel_t *channel; + return status == SWITCH_STATUS_SUCCESS ? 1 : 0; - if (!session) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "You must call the session.originate method before calling this method!\n"); - return false; - } +} - channel = switch_core_session_get_channel(session); +SWITCH_DECLARE(bool) CoreSession::ready() { + sanity_check(false); return switch_channel_ready(channel) != 0; } -int CoreSession::originate(CoreSession *a_leg_session, - char *dest, - int timeout) +SWITCH_DECLARE(int) CoreSession::originate(CoreSession *a_leg_session, char *dest, int timeout) { switch_memory_pool_t *pool = NULL; @@ -375,7 +692,10 @@ } if (a_leg_session) a_leg_session->end_allow_threads(); + channel = switch_core_session_get_channel(session); allocated = 1; + switch_channel_set_state(switch_core_session_get_channel(session), CS_TRANSMIT); + return SWITCH_STATUS_SUCCESS; failed: @@ -383,7 +703,7 @@ return SWITCH_STATUS_FALSE; } -int CoreSession::recordFile(char *file_name, int max_len, int silence_threshold, int silence_secs) +SWITCH_DECLARE(int) CoreSession::recordFile(char *file_name, int max_len, int silence_threshold, int silence_secs) { switch_file_handle_t fh = { 0 }; switch_status_t status; @@ -398,7 +718,7 @@ } -int CoreSession::flushEvents() +SWITCH_DECLARE(int) CoreSession::flushEvents() { switch_event_t *event; switch_channel_t *channel; @@ -414,13 +734,13 @@ return SWITCH_STATUS_SUCCESS; } -int CoreSession::flushDigits() +SWITCH_DECLARE(int) CoreSession::flushDigits() { switch_channel_flush_dtmf(switch_core_session_get_channel(session)); return SWITCH_STATUS_SUCCESS; } -int CoreSession::setAutoHangup(bool val) +SWITCH_DECLARE(int) CoreSession::setAutoHangup(bool val) { if (!session) { return SWITCH_STATUS_FALSE; @@ -433,7 +753,7 @@ return SWITCH_STATUS_SUCCESS; } -void CoreSession::setCallerData(char *var, char *val) { +SWITCH_DECLARE(void) CoreSession::setCallerData(char *var, char *val) { if (strcmp(var, "dialplan") == 0) { caller_profile.dialplan = val; @@ -465,7 +785,7 @@ } -void CoreSession::setHangupHook(void *hangup_func) { +SWITCH_DECLARE(void) CoreSession::setHangupHook(void *hangup_func) { sanity_check_noreturn; @@ -496,8 +816,17 @@ /* ---- methods not bound to CoreSession instance ---- */ +SWITCH_DECLARE(void) consoleLog(char *level_str, char *msg) +{ + return console_log(level_str, msg); +} + +SWITCH_DECLARE(void) consoleCleanLog(char *msg) +{ + return console_clean_log(msg); +} -void console_log(char *level_str, char *msg) +SWITCH_DECLARE(void) console_log(char *level_str, char *msg) { switch_log_level_t level = SWITCH_LOG_DEBUG; if (level_str) { @@ -506,33 +835,16 @@ level = SWITCH_LOG_DEBUG; } } - switch_log_printf(SWITCH_CHANNEL_LOG, level, msg); - fflush(stdout); // TEMP ONLY!! SHOULD NOT BE CHECKED IN!! + switch_log_printf(SWITCH_CHANNEL_LOG, level, "%s", switch_str_nil(msg)); } -void console_clean_log(char *msg) +SWITCH_DECLARE(void) console_clean_log(char *msg) { - switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN,SWITCH_LOG_DEBUG, msg); + switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN,SWITCH_LOG_DEBUG, "%s", switch_str_nil(msg)); } -char *api_execute(char *cmd, char *arg) -{ - switch_stream_handle_t stream = { 0 }; - SWITCH_STANDARD_STREAM(stream); - switch_api_execute(cmd, arg, NULL, &stream); - return (char *) stream.data; -} - -void api_reply_delete(char *reply) -{ - if (!switch_strlen_zero(reply)) { - free(reply); - } -} - - -void bridge(CoreSession &session_a, CoreSession &session_b) +SWITCH_DECLARE(void) bridge(CoreSession &session_a, CoreSession &session_b) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "bridge called, session_a uuid: %s\n", session_a.get_uuid()); switch_input_callback_function_t dtmf_func = NULL; @@ -546,15 +858,14 @@ } - -switch_status_t hanguphook(switch_core_session_t *session_hungup) +SWITCH_DECLARE_NONSTD(switch_status_t) hanguphook(switch_core_session_t *session_hungup) { switch_channel_t *channel = switch_core_session_get_channel(session_hungup); CoreSession *coresession = NULL; switch_channel_state_t state = switch_channel_get_state(channel); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "hangup_hook called\n"); - fflush(stdout); + if ((coresession = (CoreSession *) switch_channel_get_private(channel, "CoreSession"))) { if (coresession->hook_state != state) { @@ -567,7 +878,7 @@ } -switch_status_t dtmf_callback(switch_core_session_t *session_cb, +SWITCH_DECLARE_NONSTD(switch_status_t) dtmf_callback(switch_core_session_t *session_cb, void *input, switch_input_type_t itype, void *buf, @@ -578,9 +889,11 @@ switch_status_t result; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "dtmf_callback called\n"); - fflush(stdout); + + //coresession = (CoreSession *) buf; coresession = (CoreSession *) switch_channel_get_private(channel, "CoreSession"); + if (!coresession) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid CoreSession\n"); return SWITCH_STATUS_FALSE; @@ -595,24 +908,28 @@ } -switch_status_t process_callback_result(char *ret, - struct input_callback_state *cb_state, - switch_core_session_t *session) + + +SWITCH_DECLARE(switch_status_t) CoreSession::process_callback_result(char *ret) { switch_file_handle_t *fh = NULL; - if (!cb_state) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Process callback result aborted because cb_state is null\n"); - return SWITCH_STATUS_FALSE; + if (switch_strlen_zero(ret)) { + return SWITCH_STATUS_SUCCESS; } - if (!cb_state->extra) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Process callback result aborted because cb_state->extra is null\n"); - return SWITCH_STATUS_FALSE; - } + if (fhp) { + fh = fhp; + } else { + if (!cb_state.extra) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Process callback result aborted because cb_state.extra is null\n"); + return SWITCH_STATUS_FALSE; + } + + fh = (switch_file_handle_t *) cb_state.extra; + } - fh = (switch_file_handle_t *) cb_state->extra; if (!fh) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Process callback result aborted because fh is null\n"); @@ -624,11 +941,6 @@ return SWITCH_STATUS_FALSE; } - if (!ret) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Process callback result aborted because ret is null\n"); - return SWITCH_STATUS_FALSE; - } - if (!session) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Process callback result aborted because session is null\n"); return SWITCH_STATUS_FALSE; Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_event.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_event.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_event.c Tue May 13 22:16:21 2008 @@ -632,6 +632,7 @@ if (ret == -1) { return SWITCH_STATUS_GENERR; } else { + switch_safe_free(event->body); event->body = data; return SWITCH_STATUS_SUCCESS; } @@ -871,7 +872,7 @@ add_xml_header(xml, hp->name, hp->value, off++); } - if (data) { + if (!switch_strlen_zero(data)) { body = data; } else if (event->body) { body = event->body; Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr.c Tue May 13 22:16:21 2008 @@ -741,7 +741,7 @@ return status; } -SWITCH_DECLARE(switch_status_t) switch_ivr_hold(switch_core_session_t *session, const char *message) +SWITCH_DECLARE(switch_status_t) switch_ivr_hold(switch_core_session_t *session, const char *message, switch_bool_t moh) { switch_core_session_message_t msg = { 0 }; switch_channel_t *channel = switch_core_session_get_channel(session); @@ -756,8 +756,8 @@ switch_channel_set_flag(channel, CF_SUSPEND); switch_core_session_receive_message(session, &msg); - - if ((stream = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE))) { + + if (moh && (stream = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE))) { if ((other_uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE))) { switch_ivr_broadcast(other_uuid, stream, SMF_ECHO_ALEG | SMF_LOOP); } @@ -767,12 +767,12 @@ return SWITCH_STATUS_SUCCESS; } -SWITCH_DECLARE(switch_status_t) switch_ivr_hold_uuid(const char *uuid, const char *message) +SWITCH_DECLARE(switch_status_t) switch_ivr_hold_uuid(const char *uuid, const char *message, switch_bool_t moh) { switch_core_session_t *session; if ((session = switch_core_session_locate(uuid))) { - switch_ivr_hold(session, message); + switch_ivr_hold(session, message, moh); switch_core_session_rwunlock(session); } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_bridge.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_bridge.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_bridge.c Tue May 13 22:16:21 2008 @@ -161,8 +161,12 @@ } if (!nosuspend && (switch_channel_test_flag(chan_a, CF_SUSPEND) || switch_channel_test_flag(chan_b, CF_SUSPEND))) { - status = switch_core_session_read_frame(session_a, &read_frame, -1, stream_id); - + if (switch_channel_test_flag(chan_a, CF_SUSPEND)) { + status = SWITCH_STATUS_SUCCESS; + } else { + status = switch_core_session_read_frame(session_a, &read_frame, -1, stream_id); + } + if (!SWITCH_READ_ACCEPTABLE(status)) { goto end_of_bridge_loop; } Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_menu.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_menu.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_menu.c Tue May 13 22:16:21 2008 @@ -601,6 +601,27 @@ }; +SWITCH_DECLARE(switch_status_t) switch_ivr_menu_str2action(const char *action_name, switch_ivr_action_t *action) +{ + int i; + + if (!switch_strlen_zero(action_name)) { + for(i = 0;;i++) { + if (!iam[i].name) { + break; + } + + if (!strcasecmp(iam[i].name, action_name)) { + *action = iam[i].action; + return SWITCH_STATUS_SUCCESS; + } + } + } + + return SWITCH_STATUS_FALSE; +} + + static switch_bool_t is_valid_action(const char *action) { int i; Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_play_say.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_play_say.c (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/src/switch_ivr_play_say.c Tue May 13 22:16:21 2008 @@ -1239,7 +1239,7 @@ switch_channel_pre_answer(channel); //Start pestering the user for input - for (; (switch_channel_get_state(channel) == CS_EXECUTE) && max_tries > 0; max_tries--) { + for (; switch_channel_ready(channel) && max_tries > 0; max_tries--) { switch_input_args_t args = { 0 }; //make the buffer so fresh and so clean clean memset(digit_buffer, 0, digit_buffer_length); Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/w32/Library/FreeSwitchCore.2008.vcproj ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/w32/Library/FreeSwitchCore.2008.vcproj (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/w32/Library/FreeSwitchCore.2008.vcproj Tue May 13 22:16:21 2008 @@ -389,8 +389,6 @@ <Tool Name="VCCLCompilerTool" UsePrecompiledHeader="0" - PrecompiledHeaderThrough="" - PrecompiledHeaderFile="" /> </FileConfiguration> <FileConfiguration @@ -399,8 +397,6 @@ <Tool Name="VCCLCompilerTool" UsePrecompiledHeader="0" - PrecompiledHeaderThrough="" - PrecompiledHeaderFile="" /> </FileConfiguration> </File> Modified: freeswitch/branches/lukedashjr/syslibs/freeswitch/w32/Library/FreeSwitchCore.vcproj ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/freeswitch/w32/Library/FreeSwitchCore.vcproj (original) +++ freeswitch/branches/lukedashjr/syslibs/freeswitch/w32/Library/FreeSwitchCore.vcproj Tue May 13 22:16:21 2008 @@ -227,6 +227,26 @@ </FileConfiguration> </File> <File + RelativePath="..\..\src\inet_pton.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + </File> + <File RelativePath="..\..\libs\stfu\stfu.c" > <FileConfiguration @@ -533,11 +553,11 @@ > </File> <File - RelativePath="..\..\src\include\switch_core.h" + RelativePath="..\..\src\include\private\switch_core.h" > </File> <File - RelativePath="..\..\src\include\private\switch_core.h" + RelativePath="..\..\src\include\switch_core.h" > </File> <File Modified: freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/.update ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/.update (original) +++ freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/.update Tue May 13 22:16:21 2008 @@ -1 +1 @@ -Mon Apr 7 15:44:29 EDT 2008 +Wed Apr 23 14:38:18 EDT 2008 Modified: freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c (original) +++ freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c Tue May 13 22:16:21 2008 @@ -340,7 +340,8 @@ { nua_handle_t *nh = sr->sr_owner; nua_dialog_state_t *ds = nh->nh_ds; - struct notifier_usage *nu = nua_dialog_usage_private(sr->sr_usage); + nua_dialog_usage_t *du = sr->sr_usage; + struct notifier_usage *nu = nua_dialog_usage_private(du); enum nua_substate substate = nua_substate_terminated; int notify = 0; int retval; @@ -365,16 +366,18 @@ else #endif notify = 1; + + notify = notify && du->du_cr != NULL; } retval = nua_base_server_treport(sr, NUTAG_SUBSTATE(substate), TAG_END()); - if (retval >= 2 || nu == NULL) + if (retval >= 2 || du == NULL) return retval; if (notify) { /* Send NOTIFY (and terminate subscription, when needed) */ - nua_dialog_usage_refresh(nh, ds, sr->sr_usage, sip_now()); + nua_dialog_usage_refresh(nh, ds, du, sip_now()); } return retval; Modified: freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c (original) +++ freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c Tue May 13 22:16:21 2008 @@ -412,7 +412,7 @@ for (rv = su_alloc(home, len); rv; rv = su_realloc(home, rv, len)) { - ssize_t n = sip_header_field_e(s, sizeof(s), h, 0); + ssize_t n = sip_header_field_e(rv, len, h, 0); if (n > -1 && n + 1 <= len) break; if (n > -1) /* glibc >2.1 */ Modified: freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c (original) +++ freeswitch/branches/lukedashjr/syslibs/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c Tue May 13 22:16:21 2008 @@ -2247,6 +2247,31 @@ END(); } +static int test_www_authenticate(void) +{ + sip_www_authenticate_t *www; + su_home_t *home; + char const *s; + BEGIN(); + + TEST_1(home = su_home_create()); + TEST_1(www = sip_www_authenticate_make + (home, "Digest realm=\"Registered_Subscribers\",\n" + "domain=\"sip:206.229.26.61\",\n" + "nonce=\"20dfb7e5a77abee7a02dbe53efe42cdd\", " + "opaque=\"423767123y723742376423762376423784623782a794e58\",\n" + "stale=FALSE,algorithm=MD5")); + TEST_S(www->au_scheme, "Digest"); + TEST_1(www->au_params && www->au_params[0] && www->au_params[1] && www->au_params[2] && + www->au_params[3] && www->au_params[4] && www->au_params[5] && + !www->au_params[6]); + TEST_1(s = sip_header_as_string(home, (sip_header_t *)www)); + TEST_1(strlen(s) >= 128); + + su_home_unref(home); + END(); +} + int test_retry_after(void) { /* Test Session-Expires header */ @@ -3548,7 +3573,7 @@ retval |= test_caller_prefs(); fflush(stdout); retval |= test_callerpref_scoring(); fflush(stdout); retval |= test_warning(); fflush(stdout); - + retval |= test_www_authenticate(); fflush(stdout); retval |= test_sec_ext(); fflush(stdout); retval |= test_utils(); fflush(stdout); Modified: freeswitch/branches/lukedashjr/syslibs/libs/voipcodecs/src/lpc10_decode.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/libs/voipcodecs/src/lpc10_decode.c (original) +++ freeswitch/branches/lukedashjr/syslibs/libs/voipcodecs/src/lpc10_decode.c Tue May 13 22:16:21 2008 @@ -66,7 +66,7 @@ /* The following is a 16 bit 2's complement addition, with overflow checking disabled */ - s->y[s->k] += s->y[s->j]; + s->y[s->k] = (int16_t)(s->y[s->k] + s->y[s->j]); ret_val = s->y[s->k]; if (--s->k < 0) s->k = 4; @@ -430,6 +430,7 @@ ip = (int32_t) uvpit; if (ip <= i - jused) { + float f; ++(*nout); ipiti[*nout - 1] = ip; *pitch = ip; @@ -444,7 +445,8 @@ xxy = expf(xxy); rci[j + *nout*rci_dim1 + 1] = (xxy - 1.0f)/(xxy + 1.0f); } - rmsi[*nout - 1] = logf(s->rmso) + prop*(logf(*rms) - logf(s->rmso)); + f = ((logf(*rms)) - (logf(s->rmso))); + rmsi[*nout - 1] = logf(s->rmso) + (prop * f); rmsi[*nout - 1] = expf(rmsi[*nout - 1]); } } Modified: freeswitch/branches/lukedashjr/syslibs/libs/voipcodecs/src/oki_adpcm.c ============================================================================== --- freeswitch/branches/lukedashjr/syslibs/libs/voipcodecs/src/oki_adpcm.c (original) +++ freeswitch/branches/lukedashjr/syslibs/libs/voipcodecs/src/oki_adpcm.c Tue May 13 22:16:21 2008 @@ -177,7 +177,7 @@ e += (ss >> 1); /*endif*/ if (adpcm & 0x04) - e += ss; + e = (int16_t)(e + ss); /*endif*/ if (adpcm & 0x08) e = -e; @@ -192,7 +192,7 @@ /*endif*/ s->last = linear; - s->step_index += step_adjustment[adpcm & 0x07]; + s->step_index = (int16_t)(s->step_index + step_adjustment[adpcm & 0x07]); if (s->step_index < 0) s->step_index = 0; else if (s->step_index > 48) @@ -221,13 +221,13 @@ if (e >= ss) { adpcm |= (uint8_t) 0x04; - e -= ss; + e = (int16_t)(e - ss); } /*endif*/ if (e >= (ss >> 1)) { adpcm |= (uint8_t) 0x02; - e -= ss; + e = (int16_t)(e - ss); } /*endif*/ if (e >= (ss >> 2))
participants (1)
-
Freeswitch SVN