[Freeswitch-branches] [commit] r3522 - in freeswitch/branches/knhor/trunk: . conf libs libs/libdingaling libs/libdingaling/src libs/libteletone/src libs/udns libs/udns/debian libs/win32 libs/win32/etpan libs/win32/sofia libs/win32/udns src src/include src/mod/applications/mod_bridgecall src/mod/applications/mod_commands src/mod/applications/mod_conference src/mod/applications/mod_dptools src/mod/applications/mod_echo src/mod/applications/mod_enum src/mod/applications/mod_ivrtest src/mod/applications/mod_park src/mod/applications/mod_playback src/mod/applications/mod_rss src/mod/applications/mod_skel src/mod/asr_tts/mod_cepstral src/mod/codecs/mod_g711 src/mod/codecs/mod_g722 src/mod/codecs/mod_g723_1 src/mod/codecs/mod_g726 src/mod/codecs/mod_g729 src/mod/codecs/mod_gsm src/mod/codecs/mod_ilbc src/mod/codecs/mod_l16 src/mod/codecs/mod_lpc10 src/mod/codecs/mod_speex src/mod/dialplans/mod_dialplan_directory src/mod/dialplans/mod_dialplan_xml src/mod/directories/mod_ldap src/mod/endpoints/mod_dingaling src/mod/endpoints/mod_iax src/mod/endpoints/mod_portaudio src/mod/endpoints/mod_sofia src/mod/endpoints/mod_wanpipe src/mod/endpoints/mod_woomera src/mod/event_handlers/mod_cdr src/mod/event_handlers/mod_event_multicast src/mod/event_handlers/mod_event_socket src/mod/event_handlers/mod_event_test src/mod/event_handlers/mod_xmpp_event src/mod/event_handlers/mod_zeroconf src/mod/formats/mod_native_file src/mod/formats/mod_sndfile src/mod/languages/mod_mono src/mod/languages/mod_perl src/mod/languages/mod_php src/mod/languages/mod_python src/mod/languages/mod_ruby src/mod/languages/mod_spidermonkey src/mod/languages/mod_spidermonkey_core_db src/mod/languages/mod_spidermonkey_etpan src/mod/languages/mod_spidermonkey_odbc src/mod/languages/mod_spidermonkey_skel src/mod/languages/mod_spidermonkey_teletone src/mod/loggers/mod_console src/mod/loggers/mod_syslog src/mod/timers/mod_softtimer src/mod/xml_int/mod_xml_rpc support
Freeswitch SVN
knhor at freeswitch.org
Sun Dec 3 17:55:38 EST 2006
Author: knhor
Date: Sun Dec 3 17:55:28 2006
New Revision: 3522
Added:
freeswitch/branches/knhor/trunk/libs/udns/
- copied from r3518, /freeswitch/trunk/libs/udns/
freeswitch/branches/knhor/trunk/libs/udns.build.sh
- copied unchanged from r3518, /freeswitch/trunk/libs/udns.build.sh
freeswitch/branches/knhor/trunk/libs/udns/COPYING.LGPL
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/COPYING.LGPL
freeswitch/branches/knhor/trunk/libs/udns/Makefile
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/Makefile
freeswitch/branches/knhor/trunk/libs/udns/NOTES
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/NOTES
freeswitch/branches/knhor/trunk/libs/udns/TODO
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/TODO
freeswitch/branches/knhor/trunk/libs/udns/debian/
- copied from r3518, /freeswitch/trunk/libs/udns/debian/
freeswitch/branches/knhor/trunk/libs/udns/debian/changelog
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/debian/changelog
freeswitch/branches/knhor/trunk/libs/udns/debian/control
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/debian/control
freeswitch/branches/knhor/trunk/libs/udns/debian/copyright
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/debian/copyright
freeswitch/branches/knhor/trunk/libs/udns/debian/rules
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/debian/rules
freeswitch/branches/knhor/trunk/libs/udns/dnsget.1
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/dnsget.1
freeswitch/branches/knhor/trunk/libs/udns/dnsget.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/dnsget.c
freeswitch/branches/knhor/trunk/libs/udns/ex-rdns.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/ex-rdns.c
freeswitch/branches/knhor/trunk/libs/udns/inet_pton.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/inet_pton.c
freeswitch/branches/knhor/trunk/libs/udns/inet_pton.h
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/inet_pton.h
freeswitch/branches/knhor/trunk/libs/udns/rblcheck.1
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/rblcheck.1
freeswitch/branches/knhor/trunk/libs/udns/rblcheck.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/rblcheck.c
freeswitch/branches/knhor/trunk/libs/udns/udns.3
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns.3
freeswitch/branches/knhor/trunk/libs/udns/udns.h
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns.h
freeswitch/branches/knhor/trunk/libs/udns/udns_bl.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_bl.c
freeswitch/branches/knhor/trunk/libs/udns/udns_codes.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_codes.c
freeswitch/branches/knhor/trunk/libs/udns/udns_dn.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_dn.c
freeswitch/branches/knhor/trunk/libs/udns/udns_dntosp.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_dntosp.c
freeswitch/branches/knhor/trunk/libs/udns/udns_misc.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_misc.c
freeswitch/branches/knhor/trunk/libs/udns/udns_parse.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_parse.c
freeswitch/branches/knhor/trunk/libs/udns/udns_resolver.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_resolver.c
freeswitch/branches/knhor/trunk/libs/udns/udns_rr_a.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_rr_a.c
freeswitch/branches/knhor/trunk/libs/udns/udns_rr_mx.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_rr_mx.c
freeswitch/branches/knhor/trunk/libs/udns/udns_rr_naptr.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_rr_naptr.c
freeswitch/branches/knhor/trunk/libs/udns/udns_rr_ptr.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_rr_ptr.c
freeswitch/branches/knhor/trunk/libs/udns/udns_rr_srv.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_rr_srv.c
freeswitch/branches/knhor/trunk/libs/udns/udns_rr_txt.c
- copied unchanged from r3518, /freeswitch/trunk/libs/udns/udns_rr_txt.c
freeswitch/branches/knhor/trunk/libs/win32/Download ETPAN.vcproj
- copied unchanged from r3518, /freeswitch/trunk/libs/win32/Download ETPAN.vcproj
freeswitch/branches/knhor/trunk/libs/win32/etpan/
- copied from r3518, /freeswitch/trunk/libs/win32/etpan/
freeswitch/branches/knhor/trunk/libs/win32/etpan/cleancount
- copied unchanged from r3518, /freeswitch/trunk/libs/win32/etpan/cleancount
freeswitch/branches/knhor/trunk/libs/win32/etpan/libetpan.vcproj
- copied unchanged from r3518, /freeswitch/trunk/libs/win32/etpan/libetpan.vcproj
freeswitch/branches/knhor/trunk/libs/win32/udns/
- copied from r3518, /freeswitch/trunk/libs/win32/udns/
freeswitch/branches/knhor/trunk/libs/win32/udns/libudns.vcproj
- copied unchanged from r3518, /freeswitch/trunk/libs/win32/udns/libudns.vcproj
freeswitch/branches/knhor/trunk/src/mod/applications/mod_enum/
- copied from r3518, /freeswitch/trunk/src/mod/applications/mod_enum/
freeswitch/branches/knhor/trunk/src/mod/applications/mod_enum/Makefile
- copied unchanged from r3518, /freeswitch/trunk/src/mod/applications/mod_enum/Makefile
freeswitch/branches/knhor/trunk/src/mod/applications/mod_enum/mod_enum.c
- copied unchanged from r3518, /freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_enum/mod_enum.vcproj
- copied unchanged from r3518, /freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.vcproj
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_etpan/
- copied from r3518, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_etpan/
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_etpan/Makefile
- copied unchanged from r3518, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_etpan/Makefile
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_etpan/mod_spidermonkey_etpan.c
- copied unchanged from r3518, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_etpan/mod_spidermonkey_etpan.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_etpan/mod_spidermonkey_etpan.vcproj
- copied unchanged from r3518, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_etpan/mod_spidermonkey_etpan.vcproj
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_odbc/
- copied from r3518, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_odbc/Makefile
- copied unchanged from r3518, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/Makefile
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c
- copied unchanged from r3518, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.vcproj
- copied unchanged from r3518, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.vcproj
Modified:
freeswitch/branches/knhor/trunk/ (props changed)
freeswitch/branches/knhor/trunk/AUTHORS
freeswitch/branches/knhor/trunk/Freeswitch.sln
freeswitch/branches/knhor/trunk/INSTALL
freeswitch/branches/knhor/trunk/conf/freeswitch.xml
freeswitch/branches/knhor/trunk/libs/libdingaling/.update
freeswitch/branches/knhor/trunk/libs/libdingaling/src/ldl_compat.h
freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.c
freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.h
freeswitch/branches/knhor/trunk/libs/libdingaling/src/sha1.c
freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone.h
freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_detect.c
freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_detect.h
freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_generate.c
freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_generate.h
freeswitch/branches/knhor/trunk/libs/mozilla.build.sh
freeswitch/branches/knhor/trunk/libs/win32/Download SOFIA.vcproj
freeswitch/branches/knhor/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj
freeswitch/branches/knhor/trunk/modules.conf.in
freeswitch/branches/knhor/trunk/src/include/switch.h
freeswitch/branches/knhor/trunk/src/include/switch_apr.h
freeswitch/branches/knhor/trunk/src/include/switch_bitpack.h
freeswitch/branches/knhor/trunk/src/include/switch_buffer.h
freeswitch/branches/knhor/trunk/src/include/switch_caller.h
freeswitch/branches/knhor/trunk/src/include/switch_channel.h
freeswitch/branches/knhor/trunk/src/include/switch_config.h
freeswitch/branches/knhor/trunk/src/include/switch_console.h
freeswitch/branches/knhor/trunk/src/include/switch_core.h
freeswitch/branches/knhor/trunk/src/include/switch_event.h
freeswitch/branches/knhor/trunk/src/include/switch_frame.h
freeswitch/branches/knhor/trunk/src/include/switch_ivr.h
freeswitch/branches/knhor/trunk/src/include/switch_loadable_module.h
freeswitch/branches/knhor/trunk/src/include/switch_log.h
freeswitch/branches/knhor/trunk/src/include/switch_module_interfaces.h
freeswitch/branches/knhor/trunk/src/include/switch_platform.h
freeswitch/branches/knhor/trunk/src/include/switch_resample.h
freeswitch/branches/knhor/trunk/src/include/switch_rtp.h
freeswitch/branches/knhor/trunk/src/include/switch_sqlite.h
freeswitch/branches/knhor/trunk/src/include/switch_stun.h
freeswitch/branches/knhor/trunk/src/include/switch_types.h
freeswitch/branches/knhor/trunk/src/include/switch_utils.h
freeswitch/branches/knhor/trunk/src/include/switch_xml.h
freeswitch/branches/knhor/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_commands/mod_commands.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_conference/mod_conference.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_dptools/mod_dptools.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_echo/mod_echo.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_park/mod_park.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_playback/mod_playback.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_rss/mod_rss.c
freeswitch/branches/knhor/trunk/src/mod/applications/mod_skel/mod_skel.c
freeswitch/branches/knhor/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g711/mod_g711.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g722/mod_g722.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g726/mod_g726.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g729/mod_g729.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_gsm/mod_gsm.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_l16/mod_l16.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_lpc10/mod_lpc10.c
freeswitch/branches/knhor/trunk/src/mod/codecs/mod_speex/mod_speex.c
freeswitch/branches/knhor/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c
freeswitch/branches/knhor/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
freeswitch/branches/knhor/trunk/src/mod/directories/mod_ldap/mod_ldap.c
freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_iax/mod_iax.c
freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/Makefile
freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj
freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c
freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/basecdr.cpp
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/basecdr.h
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/baseregistry.cpp
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/baseregistry.h
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/cdrcontainer.cpp
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/cdrcontainer.h
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/csvcdr.cpp
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/csvcdr.h
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mod_cdr.cpp
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mysqlcdr.cpp
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mysqlcdr.h
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/pddcdr.cpp
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/pddcdr.h
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/xmlcdr.cpp
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/xmlcdr.h
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_xmpp_event/mod_xmpp_event.c
freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c
freeswitch/branches/knhor/trunk/src/mod/formats/mod_native_file/mod_native_file.c
freeswitch/branches/knhor/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_mono/mod_mono.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_perl/mod_perl.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_perl/switch_swig_wrap.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_php/mod_php.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_php/switch_swig_wrap.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_python/mod_python.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_python/switch_swig_wrap.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_ruby/mod_ruby.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_ruby/switch_swig_wrap.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/Makefile
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c
freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c
freeswitch/branches/knhor/trunk/src/mod/loggers/mod_console/mod_console.c
freeswitch/branches/knhor/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
freeswitch/branches/knhor/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c
freeswitch/branches/knhor/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
freeswitch/branches/knhor/trunk/src/switch.c
freeswitch/branches/knhor/trunk/src/switch_buffer.c
freeswitch/branches/knhor/trunk/src/switch_caller.c
freeswitch/branches/knhor/trunk/src/switch_channel.c
freeswitch/branches/knhor/trunk/src/switch_config.c
freeswitch/branches/knhor/trunk/src/switch_console.c
freeswitch/branches/knhor/trunk/src/switch_core.c
freeswitch/branches/knhor/trunk/src/switch_event.c
freeswitch/branches/knhor/trunk/src/switch_ivr.c
freeswitch/branches/knhor/trunk/src/switch_loadable_module.c
freeswitch/branches/knhor/trunk/src/switch_log.c
freeswitch/branches/knhor/trunk/src/switch_resample.c
freeswitch/branches/knhor/trunk/src/switch_rtp.c
freeswitch/branches/knhor/trunk/src/switch_stun.c
freeswitch/branches/knhor/trunk/src/switch_swig.c
freeswitch/branches/knhor/trunk/src/switch_utils.c
freeswitch/branches/knhor/trunk/src/switch_xml.c
freeswitch/branches/knhor/trunk/support/freeswitch.pub
Log:
Merged revisions 3441-3521 via svnmerge from trunk
Modified: freeswitch/branches/knhor/trunk/AUTHORS
==============================================================================
--- freeswitch/branches/knhor/trunk/AUTHORS (original)
+++ freeswitch/branches/knhor/trunk/AUTHORS Sun Dec 3 17:55:28 2006
@@ -30,6 +30,8 @@
Ken Rice of Asteria Solutions Group, INC <ken AT asteriasgi.com> - xmlcdr, sofia improvements, load testing.
Neal Horman <neal at wanlink dot com> - conference improvements, switch_ivr menu additions and other tweaks.
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 at nmedia.net>
A big THANK YOU goes to:
Modified: freeswitch/branches/knhor/trunk/Freeswitch.sln
==============================================================================
--- freeswitch/branches/knhor/trunk/Freeswitch.sln (original)
+++ freeswitch/branches/knhor/trunk/Freeswitch.sln Sun Dec 3 17:55:28 2006
@@ -11,14 +11,14 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchCoreLib", "w32\Library\FreeSwitchCore.vcproj", "{202D7A4E-760D-4D0E-AFA1-D7459CED30FF}"
ProjectSection(ProjectDependencies) = postProject
- {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {50AD0E28-B8D7-4FCC-8FC3-599F6AC69761}
- {89385C74-5860-4174-9CAF-A39E7C48909C} = {89385C74-5860-4174-9CAF-A39E7C48909C}
{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}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_g729", "src\mod\codecs\mod_g729\mod_g729.vcproj", "{1D95CD95-0DE2-48C3-AC23-D5C7D1C9C0F0}"
@@ -566,6 +566,43 @@
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}
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
+ {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
+ {8D04B550-D240-4A44-8A18-35DA3F7038D9} = {8D04B550-D240-4A44-8A18-35DA3F7038D9}
+ {4043FC6A-9A30-4577-8AD5-9B233C9575D8} = {4043FC6A-9A30-4577-8AD5-9B233C9575D8}
+ {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3}
+ {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
+ {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_spidermonkey_etpan", "src\mod\languages\mod_spidermonkey_etpan\mod_spidermonkey_etpan.vcproj", "{D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}
+ {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE} = {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}
+ {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}
+ 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
+ {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}") = "Download ETPAN", "libs\win32\Download ETPAN.vcproj", "{EAE4F6B7-B1E3-4975-8580-481E47A9BEAB}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libetpan", "libs\win32\etpan\libetpan.vcproj", "{BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {EAE4F6B7-B1E3-4975-8580-481E47A9BEAB} = {EAE4F6B7-B1E3-4975-8580-481E47A9BEAB}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -928,6 +965,30 @@
{8F992C49-6C51-412F-B2A3-34EAB708EB65}.Debug|Win32.Build.0 = Debug|Win32
{8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|Win32.ActiveCfg = Release|Win32
{8F992C49-6C51-412F-B2A3-34EAB708EB65}.Release|Win32.Build.0 = Release|Win32
+ {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Debug|Win32.Build.0 = Debug|Win32
+ {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|Win32.ActiveCfg = Release|Win32
+ {4043FC6A-9A30-4577-8AD5-9B233C9575D8}.Release|Win32.Build.0 = Release|Win32
+ {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Debug|Win32.Build.0 = Debug|Win32
+ {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Win32.ActiveCfg = Release|Win32
+ {71A967D5-0E99-4CEF-A587-98836EE6F2EF}.Release|Win32.Build.0 = Release|Win32
+ {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Debug|Win32.Build.0 = Debug|Win32
+ {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Release|Win32.ActiveCfg = Release|Win32
+ {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9}.Release|Win32.Build.0 = Release|Win32
+ {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Debug|Win32.Build.0 = Debug|Win32
+ {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Win32.ActiveCfg = Release|Win32
+ {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF}.Release|Win32.Build.0 = Release|Win32
+ {EAE4F6B7-B1E3-4975-8580-481E47A9BEAB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EAE4F6B7-B1E3-4975-8580-481E47A9BEAB}.Debug|Win32.Build.0 = Debug|Win32
+ {EAE4F6B7-B1E3-4975-8580-481E47A9BEAB}.Release|Win32.ActiveCfg = Release|Win32
+ {EAE4F6B7-B1E3-4975-8580-481E47A9BEAB}.Release|Win32.Build.0 = Release|Win32
+ {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Debug|Win32.Build.0 = Debug|Win32
+ {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Release|Win32.ActiveCfg = Release|Win32
+ {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -959,6 +1020,7 @@
{C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{B5881A85-FE70-4F64-8607-2CAAE52669C6} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{2740F45C-475A-4DE0-BCED-6E2E5F6C4B8B} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
+ {71A967D5-0E99-4CEF-A587-98836EE6F2EF} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{5FD31A25-5D83-4794-8BEE-904DAD84CE71} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{FE3540C5-3303-46E0-A69E-D92F775687F1} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{3A5B9131-F20C-4A85-9447-6C1610941CEE} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
@@ -998,11 +1060,15 @@
{D71E7338-8D9C-4FE4-A15F-D5CC60202C7C} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{DF018947-0FFF-4EB3-BDEE-441DC81DA7A4} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
+ {4043FC6A-9A30-4577-8AD5-9B233C9575D8} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
+ {BA4DED3C-E56F-4484-BFC3-9C13E461A1BE} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{7B077E7F-1BE7-4291-AB86-55E527B25CAC} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{ACFFF684-4D19-4D48-AF12-88EA1D778BDF} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{8F992C49-6C51-412F-B2A3-34EAB708EB65} = {0C808854-54D1-4230-BFF5-77B5FD905000}
+ {D6C82F86-2B05-4A7F-8CC6-D2592E66FBB9} = {0C808854-54D1-4230-BFF5-77B5FD905000}
+ {0A6B5EA5-6E9B-4A51-931F-ED25AA87B4DF} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{692F6330-4D87-4C82-81DF-40DB5892636E} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0}
{1C453396-D912-4213-89FD-9B489162B7B5} = {A7AB4405-FDB7-4853-9FBB-1516B1C3D80A}
{CBEC7225-0C21-4DA8-978E-1F158F8AD950} = {F69A4A6B-9360-4EBB-A280-22AA3C455AC5}
@@ -1021,5 +1087,6 @@
{B0AA13FC-636C-45A7-8EAE-663220679A75} = {C120A020-773F-4EA3-923F-B67AF28B750D}
{8B2CE7D1-77EF-45ED-927D-82147805440B} = {C120A020-773F-4EA3-923F-B67AF28B750D}
{8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {C120A020-773F-4EA3-923F-B67AF28B750D}
+ {EAE4F6B7-B1E3-4975-8580-481E47A9BEAB} = {C120A020-773F-4EA3-923F-B67AF28B750D}
EndGlobalSection
EndGlobal
Modified: freeswitch/branches/knhor/trunk/INSTALL
==============================================================================
--- freeswitch/branches/knhor/trunk/INSTALL (original)
+++ freeswitch/branches/knhor/trunk/INSTALL Sun Dec 3 17:55:28 2006
@@ -1,3 +1,9 @@
+**************************************** NOTICE *******************************
+You MUST own the destination path of /usr/local/freeswitch for the project to
+build properly! The alternative is to pick a different prefix with ./configure
+--prefix=/my/special/place .
+*******************************************************************************
+
UNIX:
You will need 'wget' installed in your path so the build system
can download the dependancies.
Modified: freeswitch/branches/knhor/trunk/conf/freeswitch.xml
==============================================================================
--- freeswitch/branches/knhor/trunk/conf/freeswitch.xml (original)
+++ freeswitch/branches/knhor/trunk/conf/freeswitch.xml Sun Dec 3 17:55:28 2006
@@ -22,6 +22,10 @@
<load module="mod_console"/>
<!-- <load module="mod_syslog"/> -->
+ <!-- Multi-Faceted -->
+ <!-- mod_enum is a dialplan interface, an application interface and an api command interface -->
+ <load module="mod_enum"/>
+
<!-- XML Interfaces -->
<!-- <load module="mod_xml_rpc"/> -->
@@ -46,7 +50,7 @@
<!-- Applications -->
<load module="mod_bridgecall"/>
<load module="mod_commands"/>
- <!--<load module="mod_conference"/>-->
+ <load module="mod_conference"/>
<load module="mod_dptools"/>
<load module="mod_echo"/>
<!--<load module="mod_park"/>-->
@@ -77,7 +81,6 @@
<!-- ASR /TTS -->
<!-- <load module="mod_cepstral"/> -->
<!-- <load module="mod_rss"/> -->
-
</modules>
</configuration>
@@ -85,6 +88,7 @@
<modules>
<load module="mod_spidermonkey_teletone"/>
<load module="mod_spidermonkey_core_db"/>
+ <!--<load module="mod_spidermonkey_odbc"/>-->
</modules>
</configuration>
@@ -404,6 +408,19 @@
</profile>
</profiles>
</configuration>
+
+ <configuration name="enum.conf" description="ENUM Module">
+ <settings>
+ <param name="default-root" value="e164.org"/>
+ </settings>
+
+ <routes>
+ <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/test/$1"/>
+ <route service="E2U+IAX2" regex="iax2:(.*)" replace="iax/$1"/>
+ <route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/jingle/$1"/>
+ </routes>
+ </configuration>
+
</section>
<section name="dialplan" description="Regex/XML Dialplan">
@@ -415,7 +432,8 @@
<context name="default">
<extension name="tollfree">
<condition field="destination_number" expression="^(18(0{2}|8{2}|7{2}|6{2})\d{7})$">
- <action application="bridge" data="sofia/test/$1-freeswitch at voip.trxtel.com"/>
+ <action application="enum" data="$1"/>
+ <action application="bridge" data="${enum_auto_route}"/>
</condition>
</extension>
Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/.update
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libdingaling/.update (original)
+++ freeswitch/branches/knhor/trunk/libs/libdingaling/.update Sun Dec 3 17:55:28 2006
@@ -1 +1 @@
-Thu Nov 16 16:09:31 UTC 2006
+Fri Dec 1 21:13:04 EST 2006
Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/src/ldl_compat.h
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libdingaling/src/ldl_compat.h (original)
+++ freeswitch/branches/knhor/trunk/libs/libdingaling/src/ldl_compat.h Sun Dec 3 17:55:28 2006
@@ -61,3 +61,14 @@
#endif
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.c
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.c (original)
+++ freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.c Sun Dec 3 17:55:28 2006
@@ -497,17 +497,20 @@
struct ldl_buffer *buffer;
size_t x;
+
+ apr_cpystrn(id, from, sizeof(id));
+ if ((resource = strchr(id, '/'))) {
+ *resource++ = '\0';
+ }
+
if (!apr_hash_get(handle->sub_hash, from, APR_HASH_KEY_STRING)) {
iks *msg;
apr_hash_set(handle->sub_hash, apr_pstrdup(handle->pool, from), APR_HASH_KEY_STRING, &marker);
- msg = iks_make_s10n (IKS_TYPE_SUBSCRIBED, from, "Ding A Ling....");
+ msg = iks_make_s10n (IKS_TYPE_SUBSCRIBED, id, "Ding A Ling....");
apr_queue_push(handle->queue, msg);
}
- apr_cpystrn(id, from, sizeof(id));
- if ((resource = strchr(id, '/'))) {
- *resource++ = '\0';
- }
+
if (resource) {
for (x = 0; x < strlen(resource); x++) {
@@ -705,20 +708,23 @@
if (!status) {
status = type;
}
+
+
+ apr_cpystrn(id, from, sizeof(id));
+ lowercase(id);
+
+ if ((resource = strchr(id, '/'))) {
+ *resource++ = '\0';
+ }
if (!apr_hash_get(handle->sub_hash, from, APR_HASH_KEY_STRING)) {
iks *msg;
apr_hash_set(handle->sub_hash, apr_pstrdup(handle->pool, from), APR_HASH_KEY_STRING, &marker);
- msg = iks_make_s10n (IKS_TYPE_SUBSCRIBED, from, "Ding A Ling....");
+ msg = iks_make_s10n (IKS_TYPE_SUBSCRIBED, id, "Ding A Ling....");
apr_queue_push(handle->queue, msg);
}
- apr_cpystrn(id, from, sizeof(id));
- lowercase(id);
- if ((resource = strchr(id, '/'))) {
- *resource++ = '\0';
- }
if (resource && strstr(resource, "talk") && (buffer = apr_hash_get(handle->probe_hash, id, APR_HASH_KEY_STRING))) {
apr_cpystrn(buffer->buf, from, buffer->len);
@@ -811,14 +817,25 @@
ldl_handle_t *handle = user_data;
char *from = iks_find_attrib(pak->x, "from");
char *to = iks_find_attrib(pak->x, "to");
- iks *msg = iks_make_s10n (IKS_TYPE_SUBSCRIBED, from, "Ding A Ling....");
+ iks *msg = NULL;
+ char *id = strdup(from);
+ char *r;
+ if (!id) {
+ return -1;
+ }
+ if ((r = strchr(from, '/'))) {
+ *r++ = '\0';
+ }
+
+ msg = iks_make_s10n (IKS_TYPE_SUBSCRIBED, id, "Ding A Ling....");
+
if (to && ldl_test_flag(handle, LDL_FLAG_COMPONENT)) {
iks_insert_attrib(msg, "from", to);
}
apr_queue_push(handle->queue, msg);
- msg = iks_make_s10n (IKS_TYPE_SUBSCRIBE, from, "Ding A Ling....");
+ msg = iks_make_s10n (IKS_TYPE_SUBSCRIBE, id, "Ding A Ling....");
if (to && ldl_test_flag(handle, LDL_FLAG_COMPONENT)) {
iks_insert_attrib(msg, "from", to);
@@ -2134,4 +2151,13 @@
handle->log_stream = log_stream;
}
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.h
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.h (original)
+++ freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.h Sun Dec 3 17:55:28 2006
@@ -557,3 +557,14 @@
*
*/
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/src/sha1.c
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libdingaling/src/sha1.c (original)
+++ freeswitch/branches/knhor/trunk/libs/libdingaling/src/sha1.c Sun Dec 3 17:55:28 2006
@@ -212,4 +212,13 @@
#endif
}
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone.h
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone.h (original)
+++ freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone.h Sun Dec 3 17:55:28 2006
@@ -74,3 +74,14 @@
#endif
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_detect.c
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_detect.c (original)
+++ freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_detect.c Sun Dec 3 17:55:28 2006
@@ -401,3 +401,13 @@
return max;
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_detect.h
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_detect.h (original)
+++ freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_detect.h Sun Dec 3 17:55:28 2006
@@ -225,3 +225,14 @@
#endif
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_generate.c
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_generate.c (original)
+++ freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_generate.c Sun Dec 3 17:55:28 2006
@@ -414,3 +414,14 @@
return 0;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_generate.h
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_generate.h (original)
+++ freeswitch/branches/knhor/trunk/libs/libteletone/src/libteletone_generate.h Sun Dec 3 17:55:28 2006
@@ -163,3 +163,14 @@
#endif
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/libs/mozilla.build.sh
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/mozilla.build.sh (original)
+++ freeswitch/branches/knhor/trunk/libs/mozilla.build.sh Sun Dec 3 17:55:28 2006
@@ -23,6 +23,7 @@
cp js/src/config/Linux_All.mk js/src/config/`uname -s``uname -r`.mk
ldflags="-lpthread"
+other_libs="-lpthread"
fi
if [ $hosttype = "OpenBSD" ] ; then
@@ -49,5 +50,6 @@
cd nsprpub && CFLAGS=$cflags LDFLAGS=$ldflags ./configure $opts && $MAKE
-cd ../js/src && CFLAGS=$cflags BUILD_OPT=$BUILD_OPT LDFLAGS=$ldflags JS_THREADSAFE=1 JS_HAS_FILE_OBJECT=1 OTHER_LIBS="-L../../../mozilla/nsprpub/dist/lib" INCLUDES="-I../../../mozilla/nsprpub/dist/include/nspr" $MAKE -f Makefile.ref `find . -name libjs.a`
+cd ../js/src && CFLAGS=$cflags BUILD_OPT=$BUILD_OPT LDFLAGS=$ldflags JS_THREADSAFE=1 JS_HAS_FILE_OBJECT=1 OTHER_LIBS="$other_libs -L../../../mozilla/nsprpub/dist/lib" INCLUDES="-I../../../mozilla/nsprpub/dist/include/nspr" $MAKE -f Makefile.ref `find . -name libjs.a`
+
Modified: freeswitch/branches/knhor/trunk/libs/win32/Download SOFIA.vcproj
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/win32/Download SOFIA.vcproj (original)
+++ freeswitch/branches/knhor/trunk/libs/win32/Download SOFIA.vcproj Sun Dec 3 17:55:28 2006
@@ -76,8 +76,8 @@
<Tool
Name="VCCustomBuildTool"
Description="Downloading SOFIA."
- CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3.11" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.11.tar.gz "$(ProjectDir).."
"
- Outputs="$(ProjectDir)..\sofia-sip-1.12.3.11"
+ CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.4" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.4.tar.gz "$(ProjectDir).."
"
+ Outputs="$(ProjectDir)..\sofia-sip-1.12.4"
/>
</FileConfiguration>
<FileConfiguration
@@ -86,8 +86,8 @@
<Tool
Name="VCCustomBuildTool"
Description="Downloading SOFIA."
- CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3.11" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.11.tar.gz "$(ProjectDir).."
"
- Outputs="$(ProjectDir)..\sofia-sip-1.12.3.11"
+ CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.4" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.4.tar.gz "$(ProjectDir).."
"
+ Outputs="$(ProjectDir)..\sofia-sip-1.12.4"
/>
</FileConfiguration>
</File>
Modified: freeswitch/branches/knhor/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj
==============================================================================
--- freeswitch/branches/knhor/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj (original)
+++ freeswitch/branches/knhor/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Sun Dec 3 17:55:28 2006
@@ -26,7 +26,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3.11\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3.11\win32\"
cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3.11\win32\"
"autogen.cmd"
"
+ CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.4\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.4\win32\"
cd /D "$(ProjectDir)..\..\sofia-sip-1.12.4\win32\"
"autogen.cmd"
"
/>
<Tool
Name="VCCustomBuildTool"
@@ -43,7 +43,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3.11\win32";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";."
+ AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.4\win32";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";."
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;IN_LIBSOFIA_SIP_UA_STATIC;LIBSOFIA_SIP_UA_STATIC;LIBSRES_STATIC;PTW32_STATIC_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -104,7 +104,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3.11\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3.11\win32\"
cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3.11\win32\"
"autogen.cmd"
"
+ CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.4\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.4\win32\"
cd /D "$(ProjectDir)..\..\sofia-sip-1.12.4\win32\"
"autogen.cmd"
"
/>
<Tool
Name="VCCustomBuildTool"
@@ -122,7 +122,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
- AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3.11\win32";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";."
+ AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.4\win32";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.4\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";."
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;IN_LIBSOFIA_SIP_UA_STATIC;LIBSOFIA_SIP_UA_STATIC;LIBSRES_STATIC;PTW32_STATIC_LIB"
StringPooling="true"
RuntimeLibrary="2"
@@ -182,247 +182,247 @@
Name="su"
Filter="su*.c"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\inet_ntop.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\inet_pton.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_addrinfo.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_alloc.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_alloc_lock.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_bm.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_default_log.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_errno.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_global_log.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_localinfo.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_log.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_md5.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_os_nw.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_port.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_root.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_sprintf.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_strdup.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_strlst.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_tag_io.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_taglist.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_time.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_time0.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_timer.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_uniqueid.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_vector.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_wait.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\inet_ntop.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\inet_pton.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_addrinfo.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_alloc.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_alloc_lock.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_bm.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_default_log.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_errno.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_global_log.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_localinfo.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_log.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_md5.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_os_nw.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_port.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_root.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_sprintf.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_strdup.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_strlst.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_tag_io.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_taglist.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_time.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_time0.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_timer.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_uniqueid.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_vector.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_wait.c"></File>
</Filter>
<Filter
Name="ipt"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt\base64.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt\rc4.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt\string0.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt\token64.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt\base64.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt\rc4.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt\string0.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt\token64.c"></File>
</Filter>
<Filter
Name="url"
Filter="url*.c"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\url\url.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\url\url_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\url\url_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\url\url.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\url\url_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\url\url_tag_ref.c"></File>
</Filter>
<Filter
Name="features"
Filter="features*.c"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\features\features.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\features\features.c"></File>
</Filter>
<Filter
Name="bnf"
Filter="bnf*.c"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\bnf\bnf.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\bnf\bnf.c"></File>
</Filter>
<Filter
Name="msg"
Filter="msg*.c"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_auth.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_basic.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_date.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_generic.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_header_copy.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_header_make.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_mclass.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_mime.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_mime_table.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_parser.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_parser_util.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_auth.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_basic.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_date.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_generic.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_header_copy.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_header_make.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_mclass.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_mime.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_mime_table.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_parser.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_parser_util.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_tag.c"></File>
</Filter>
<Filter
Name="clib replacement"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\memcspn.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\memmem.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\memspn.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\strcasestr.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\strtoull.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\memcspn.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\memmem.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\memspn.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\strcasestr.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\strtoull.c"></File>
</Filter>
<Filter
Name="sip"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_basic.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_caller_prefs.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_event.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_extra.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_feature.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_header.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_mime.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_parser.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_parser_table.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_prack.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_pref_util.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_reason.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_refer.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_security.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_session.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_status.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_tag_class.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_tag_ref.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_time.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_util.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_basic.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_caller_prefs.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_event.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_extra.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_feature.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_header.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_mime.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_parser.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_parser_table.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_prack.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_pref_util.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_reason.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_refer.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_security.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_session.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_status.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_tag_class.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_time.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_util.c"></File>
</Filter>
<Filter
Name="http"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_basic.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_extra.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_header.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_parser.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_parser_table.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_status.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_tag_class.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\http_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_basic.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_extra.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_header.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_parser.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_parser_table.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_status.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_tag_class.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\http_tag_ref.c"></File>
</Filter>
<Filter
Name="nth"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nth\nth_client.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nth\nth_server.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nth\nth_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nth\nth_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nth\nth_client.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nth\nth_server.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nth\nth_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nth\nth_tag_ref.c"></File>
</Filter>
<Filter
Name="sresolv"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sres.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sres_blocking.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sres_cache.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sresolv.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sres.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sres_blocking.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sres_cache.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sresolv.c"></File>
</Filter>
<Filter
Name="nea"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\nea.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\nea_debug.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\nea_event.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\nea_server.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\nea_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\nea_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\nea.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\nea_debug.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\nea_event.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\nea_server.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\nea_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\nea_tag_ref.c"></File>
</Filter>
<Filter
Name="iptsec"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_client.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_common.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_digest.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_module.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_module_http.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_module_sip.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_plugin.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_plugin_delayed.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\auth_tag_ref.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\iptsec_debug.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_client.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_common.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_digest.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_module.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_module_http.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_module_sip.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_plugin.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_plugin_delayed.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\auth_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\iptsec_debug.c"></File>
</Filter>
<Filter
Name="stun"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\stun.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\stun_common.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\stun_dns.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\stun_internal.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\stun_mini.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\stun_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\stun_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\stun.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\stun_common.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\stun_dns.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\stun_internal.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\stun_mini.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\stun_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\stun_tag_ref.c"></File>
</Filter>
<Filter
Name="nua"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_common.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_dialog.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_dialog.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_event_server.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_extension.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_message.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_notifier.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_options.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_params.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_params.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_publish.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_register.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_registrar.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_session.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_stack.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_stack.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_subnotref.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\nua_tag_ref.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\outbound.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_common.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_dialog.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_dialog.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_event_server.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_extension.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_message.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_notifier.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_options.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_params.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_params.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_publish.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_register.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_registrar.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_session.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_stack.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_stack.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_subnotref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\nua_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\outbound.c"></File>
</Filter>
<Filter
Name="nta"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\nta.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\nta_check.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\nta_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\nta_tag_ref.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\sl_read_payload.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\sl_utils_log.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\sl_utils_print.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\nta.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\nta_check.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\nta_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\nta_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\sl_read_payload.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\sl_utils_log.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\sl_utils_print.c"></File>
</Filter>
<Filter
Name="tport"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_internal.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_logging.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_stub_sigcomp.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_stub_stun.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_tag_ref.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_type_connect.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_type_tcp.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_type_udp.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_internal.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_logging.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_stub_sigcomp.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_stub_stun.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_type_connect.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_type_tcp.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_type_udp.c"></File>
</Filter>
<Filter
Name="sdp"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp\sdp.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp\sdp_parse.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp\sdp_print.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp\sdp_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp\sdp_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp\sdp.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp\sdp_parse.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp\sdp_print.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp\sdp_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp\sdp_tag_ref.c"></File>
</Filter>
<Filter
Name="soa"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa\soa.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa\sofia-sip\soa_session.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa\soa_static.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa\soa_tag.c"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa\soa_tag_ref.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa\soa.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa\sofia-sip\soa_session.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa\soa_static.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa\soa_tag.c"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa\soa_tag_ref.c"></File>
</Filter>
</Filter>
<Filter
@@ -433,194 +433,194 @@
Name="su headers"
Filter="su*.h"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\htable.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\htable2.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\rbtree.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_addrinfo.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_alloc.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_alloc_stat.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_bm.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_config.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_debug.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_errno.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_localinfo.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_log.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_md5.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_module_debug.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_os_nw.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\su_port.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_source.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_strlst.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_tag.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_tag_class.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_tag_inline.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_tag_io.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_tagarg.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_time.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_types.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_uniqueid.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_vector.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\su_wait.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\su\sofia-sip\tstdef.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\htable.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\htable2.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\rbtree.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_addrinfo.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_alloc.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_alloc_stat.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_bm.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_config.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_debug.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_errno.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_localinfo.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_log.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_md5.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_module_debug.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_os_nw.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\su_port.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_source.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_strlst.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_tag_class.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_tag_inline.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_tag_io.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_tagarg.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_time.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_types.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_uniqueid.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_vector.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\su_wait.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\su\sofia-sip\tstdef.h"></File>
</Filter>
<Filter
Name="win32 headers"
>
<File RelativePath="..\config.h"></File>
- <File RelativePath="..\sofia-sip-1.12.3.11\su_configure.h"></File>
+ <File RelativePath="..\sofia-sip-1.12.4\su_configure.h"></File>
<File RelativePath="..\unistd.h"></File>
</Filter>
<Filter
Name="ipt headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt\sofia-sip\base64.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt\sofia-sip\rc4.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt\sofia-sip\string0.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\ipt\sofia-sip\token64.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt\sofia-sip\base64.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt\sofia-sip\rc4.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt\sofia-sip\string0.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\ipt\sofia-sip\token64.h"></File>
</Filter>
<Filter
Name="url headers"
Filter="url*.h"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\url\sofia-sip\url.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\url\sofia-sip\url_tag.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\url\sofia-sip\url_tag_class.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\url\sofia-sip\url.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\url\sofia-sip\url_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\url\sofia-sip\url_tag_class.h"></File>
</Filter>
<Filter
Name="features headers"
Filter="features*.h"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\features\sofia-sip\sofia_features.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\features\sofia-sip\sofia_features.h"></File>
</Filter>
<Filter
Name="bnf headers"
Filter="bnf*.h"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\bnf\sofia-sip\bnf.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\bnf\sofia-sip\hostdomain.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\bnf\sofia-sip\bnf.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\bnf\sofia-sip\hostdomain.h"></File>
</Filter>
<Filter
Name="msg headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_addr.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_bnf.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_buffer.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_date.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_header.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\msg_internal.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_mclass.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_mclass_hash.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_mime.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_mime_protos.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_parser.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_protos.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_tag_class.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\msg\sofia-sip\msg_types.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_addr.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_bnf.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_buffer.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_date.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_header.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\msg_internal.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_mclass.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_mclass_hash.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_mime.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_mime_protos.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_parser.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_protos.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_tag_class.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\msg\sofia-sip\msg_types.h"></File>
</Filter>
<Filter
Name="sip headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_extensions.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip_hclasses.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip_header.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sip_internal.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip_parser.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip_protos.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip_status.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip_tag.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip_tag_class.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sip\sofia-sip\sip_util.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_extensions.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip_hclasses.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip_header.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sip_internal.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip_parser.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip_protos.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip_status.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip_tag_class.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sip\sofia-sip\sip_util.h"></File>
</Filter>
<Filter
Name="http headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\sofia-sip\http.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\sofia-sip\http_hclasses.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\sofia-sip\http_header.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\sofia-sip\http_parser.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\sofia-sip\http_protos.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\sofia-sip\http_status.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\sofia-sip\http_tag.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\http\sofia-sip\http_tag_class.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\sofia-sip\http.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\sofia-sip\http_hclasses.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\sofia-sip\http_header.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\sofia-sip\http_parser.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\sofia-sip\http_protos.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\sofia-sip\http_status.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\sofia-sip\http_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\http\sofia-sip\http_tag_class.h"></File>
</Filter>
<Filter
Name="nth headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nth\sofia-sip\nth.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nth\sofia-sip\nth_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nth\sofia-sip\nth.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nth\sofia-sip\nth_tag.h"></File>
</Filter>
<Filter
Name="sresolv headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sofia-resolv\sres.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sofia-resolv\sres_async.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sofia-resolv\sres_cache.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sofia-resolv\sres_record.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sresolv\sofia-sip\sresolv.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sofia-resolv\sres.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sofia-resolv\sres_async.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sofia-resolv\sres_cache.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sofia-resolv\sres_record.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sresolv\sofia-sip\sresolv.h"></File>
</Filter>
<Filter
Name="nea headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\sofia-sip\nea.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\nea_debug.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nea\sofia-sip\nea_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\sofia-sip\nea.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\nea_debug.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nea\sofia-sip\nea_tag.h"></File>
</Filter>
<Filter
Name="iptsec headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\sofia-sip\auth_client.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\sofia-sip\auth_digest.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\sofia-sip\auth_module.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\sofia-sip\auth_ntlm.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\sofia-sip\auth_plugin.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec\iptsec_debug.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\sofia-sip\auth_client.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\sofia-sip\auth_digest.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\sofia-sip\auth_module.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\sofia-sip\auth_ntlm.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\sofia-sip\auth_plugin.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\iptsec\iptsec_debug.h"></File>
</Filter>
<Filter
Name="stun headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\sofia-sip\stun.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\sofia-sip\stun_common.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\stun\sofia-sip\stun_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\sofia-sip\stun.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\sofia-sip\stun_common.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\stun\sofia-sip\stun_tag.h"></File>
</Filter>
<Filter
Name="nua headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\sofia-sip\nua.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nua\sofia-sip\nua_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\sofia-sip\nua.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nua\sofia-sip\nua_tag.h"></File>
</Filter>
<Filter
Name="nta headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\sofia-sip\nta.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\nta_internal.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\sofia-sip\nta_stateless.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\sofia-sip\nta_tag.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\sofia-sip\nta_tport.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\nta\sofia-sip\sl_utils.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\sofia-sip\nta.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\nta_internal.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\sofia-sip\nta_stateless.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\sofia-sip\nta_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\sofia-sip\nta_tport.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\nta\sofia-sip\sl_utils.h"></File>
</Filter>
<Filter
Name="tport headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\sofia-sip\tport.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\sofia-sip\tport_plugins.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\sofia-sip\tport_tag.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\tport\tport_tls.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\sofia-sip\tport.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\sofia-sip\tport_plugins.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\sofia-sip\tport_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\tport\tport_tls.h"></File>
</Filter>
<Filter
Name="sdp headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp\sofia-sip\sdp.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp\sofia-sip\sdp_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp\sofia-sip\sdp.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\sdp\sofia-sip\sdp_tag.h"></File>
</Filter>
<Filter
Name="soa headers"
>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa\sofia-sip\soa.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa\sofia-sip\soa_add.h"></File>
- <File RelativePath="..\..\sofia-sip-1.12.3.11\libsofia-sip-ua\soa\sofia-sip\soa_tag.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa\sofia-sip\soa.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa\sofia-sip\soa_add.h"></File>
+ <File RelativePath="..\..\sofia-sip-1.12.4\libsofia-sip-ua\soa\sofia-sip\soa_tag.h"></File>
</Filter>
</Filter>
</Files>
Modified: freeswitch/branches/knhor/trunk/modules.conf.in
==============================================================================
--- freeswitch/branches/knhor/trunk/modules.conf.in (original)
+++ freeswitch/branches/knhor/trunk/modules.conf.in Sun Dec 3 17:55:28 2006
@@ -43,5 +43,6 @@
#languages/mod_spidermonkey
#languages/mod_spidermonkey_teletone
#languages/mod_spidermonkey_core_db
+#languages/mod_spidermonkey_odbc
timers/mod_softtimer
#xml_int/mod_xml_rpc
Modified: freeswitch/branches/knhor/trunk/src/include/switch.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch.h Sun Dec 3 17:55:28 2006
@@ -166,3 +166,14 @@
*
*/
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_apr.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_apr.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_apr.h Sun Dec 3 17:55:28 2006
@@ -1441,3 +1441,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_bitpack.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_bitpack.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_bitpack.h Sun Dec 3 17:55:28 2006
@@ -280,3 +280,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_buffer.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_buffer.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_buffer.h Sun Dec 3 17:55:28 2006
@@ -131,3 +131,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_caller.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_caller.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_caller.h Sun Dec 3 17:55:28 2006
@@ -88,6 +88,9 @@
char *context;
/*! flags */
switch_caller_profile_flag_t flags;
+ struct switch_caller_profile *originator_caller_profile;
+ struct switch_caller_profile *originatee_caller_profile;
+ struct switch_channel_timetable *times;
struct switch_caller_profile *next;
};
@@ -203,4 +206,13 @@
#endif
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_channel.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_channel.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_channel.h Sun Dec 3 17:55:28 2006
@@ -46,6 +46,7 @@
switch_time_t created;
switch_time_t answered;
switch_time_t hungup;
+ switch_time_t transferred;
struct switch_channel_timetable *next;
};
@@ -428,11 +429,19 @@
*/
SWITCH_DECLARE(char *) switch_channel_expand_variables(switch_channel_t *channel, char *in);
-// These may go away
-SWITCH_DECLARE(switch_status_t) switch_channel_set_raw_mode (switch_channel_t *channel, int freq, int bits, int channels, int ms, int kbps);
-SWITCH_DECLARE(switch_status_t) switch_channel_get_raw_mode (switch_channel_t *channel, int *freq, int *bits, int *channels, int *ms, int *kbps);
/** @} */
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_config.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_config.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_config.h Sun Dec 3 17:55:28 2006
@@ -109,3 +109,14 @@
/** @} */
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_console.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_console.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_console.h Sun Dec 3 17:55:28 2006
@@ -71,3 +71,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_core.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_core.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_core.h Sun Dec 3 17:55:28 2006
@@ -1362,3 +1362,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_event.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_event.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_event.h Sun Dec 3 17:55:28 2006
@@ -313,3 +313,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_frame.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_frame.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_frame.h Sun Dec 3 17:55:28 2006
@@ -71,3 +71,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_ivr.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_ivr.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_ivr.h Sun Dec 3 17:55:28 2006
@@ -200,15 +200,17 @@
\param dtmf_callback code to execute if any dtmf is dialed during the recording
\param buf an object to maintain across calls
\param buflen the size of buf
+ \param limit max limit to record for (0 for infinite)
\return SWITCH_STATUS_SUCCESS if all is well
\note passing a NULL dtmf_callback nad a not NULL buf indicates to copy any dtmf to buf and stop recording.
*/
SWITCH_DECLARE(switch_status_t) switch_ivr_record_file(switch_core_session_t *session,
- switch_file_handle_t *fh,
- char *file,
- switch_input_callback_function_t dtmf_callback,
- void *buf,
- uint32_t buflen);
+ switch_file_handle_t *fh,
+ char *file,
+ switch_input_callback_function_t dtmf_callback,
+ void *buf,
+ uint32_t buflen,
+ uint32_t limit);
/*!
\brief Function to evaluate an expression against a string
@@ -456,6 +458,7 @@
/*!
\brief Set a digit string terminator
\param parser a pointer to the parser object created by switch_ivr_digit_stream_parser_new
+ \param digit the terminator digit
\return SWITCH_STATUS_SUCCESS if all is well
*/
SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_parser_set_terminator(switch_ivr_digit_stream_parser_t *parser, char digit);
@@ -606,4 +609,13 @@
#endif
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_loadable_module.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_loadable_module.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_loadable_module.h Sun Dec 3 17:55:28 2006
@@ -251,3 +251,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_log.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_log.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_log.h Sun Dec 3 17:55:28 2006
@@ -120,3 +120,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_module_interfaces.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_module_interfaces.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_module_interfaces.h Sun Dec 3 17:55:28 2006
@@ -313,6 +313,8 @@
void *private_info;
int64_t pos;
switch_buffer_t *audio_buffer;
+ uint32_t thresh;
+ uint32_t silence_hits;
};
/*! \brief Abstract interface to an asr module */
@@ -604,3 +606,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_platform.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_platform.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_platform.h Sun Dec 3 17:55:28 2006
@@ -155,3 +155,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_resample.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_resample.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_resample.h Sun Dec 3 17:55:28 2006
@@ -168,4 +168,13 @@
#endif
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_rtp.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_rtp.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_rtp.h Sun Dec 3 17:55:28 2006
@@ -380,3 +380,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_sqlite.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_sqlite.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_sqlite.h Sun Dec 3 17:55:28 2006
@@ -1808,3 +1808,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_stun.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_stun.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_stun.h Sun Dec 3 17:55:28 2006
@@ -243,3 +243,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_types.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_types.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_types.h Sun Dec 3 17:55:28 2006
@@ -86,6 +86,8 @@
#define SWITCH_LOCAL_MEDIA_PORT_VARIABLE "_local_media_port_"
#define SWITCH_REMOTE_MEDIA_IP_VARIABLE "_remote_media_ip_"
#define SWITCH_REMOTE_MEDIA_PORT_VARIABLE "_remote_media_port_"
+#define SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE "hangup_after_bridge"
+
#define SWITCH_SPEECH_KEY "_speech_"
#define SWITCH_UUID_BRIDGE "_uuid_bridge_"
#define SWITCH_BITS_PER_BYTE 8
@@ -465,7 +467,8 @@
CF_CONTROLLED = (1 << 12),
CF_NOMEDIA = (1 << 13),
CF_SUSPEND = (1 << 14),
- CF_EVENT_PARSE = (1 << 15)
+ CF_EVENT_PARSE = (1 << 15),
+ CF_NO_INDICATE = (1 << 16)
} switch_channel_flag_t;
@@ -911,3 +914,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_utils.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_utils.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_utils.h Sun Dec 3 17:55:28 2006
@@ -39,6 +39,7 @@
#define SWITCH_UTILS_H
#include <switch.h>
+#include <pcre.h>
SWITCH_BEGIN_EXTERN_C
@@ -231,8 +232,15 @@
*/
SWITCH_DECLARE(char *) switch_cut_path(char *in);
+#define switch_clean_re(re) if (re) {\
+ pcre_free(re);\
+ re = NULL;\
+ }
+
SWITCH_DECLARE(char *) switch_string_replace(const char *string, const char *search, const char *replace);
SWITCH_DECLARE(switch_status_t) switch_string_match(const char *string, size_t string_len, const char *search, size_t search_len);
+SWITCH_DECLARE(int) switch_perform_regex(char *field, char *expression, pcre **new_re, int *ovector, uint32_t olen);
+SWITCH_DECLARE(void) switch_perform_substitution(pcre *re, int match_count, char *data, char *field_data, char *substituted, uint32_t len, int *ovector);
#define SWITCH_READ_ACCEPTABLE(status) status == SWITCH_STATUS_SUCCESS || status == SWITCH_STATUS_BREAK
SWITCH_DECLARE(size_t) switch_url_encode(char *url, char *buf, size_t len);
@@ -240,3 +248,14 @@
SWITCH_END_EXTERN_C
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/include/switch_xml.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/include/switch_xml.h (original)
+++ freeswitch/branches/knhor/trunk/src/include/switch_xml.h Sun Dec 3 17:55:28 2006
@@ -336,3 +336,14 @@
///\}
#endif // _SWITCH_XML_H
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c Sun Dec 3 17:55:28 2006
@@ -42,17 +42,27 @@
switch_core_session_t *peer_session;
unsigned int timelimit = 60;
char *var;
+ uint8_t no_media_bridge = 0;
switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING;
+ if (switch_strlen_zero(data)) {
+ return;
+ }
+
caller_channel = switch_core_session_get_channel(session);
assert(caller_channel != NULL);
if ((var = switch_channel_get_variable(caller_channel, "call_timeout"))) {
timelimit = atoi(var);
}
-
- if ((var = switch_channel_get_variable(caller_channel, "no_media"))) {
- switch_channel_set_flag(caller_channel, CF_NOMEDIA);
+
+ if ((var = switch_channel_get_variable(caller_channel, "no_media")) && switch_true(var)) {
+ if (!switch_channel_test_flag(caller_channel, CF_ANSWERED) && !switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA)) {
+ switch_channel_set_flag(caller_channel, CF_NOMEDIA);
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel is already up, delaying point-to-point mode 'till both legs are up.\n");
+ no_media_bridge = 1;
+ }
}
if (switch_ivr_originate(session, &peer_session, &cause, data, timelimit, NULL, NULL, NULL, NULL) != SWITCH_STATUS_SUCCESS) {
@@ -61,10 +71,17 @@
switch_channel_hangup(caller_channel, cause);
return;
} else {
- if (switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
- switch_ivr_signal_bridge(session, peer_session);
+ if (no_media_bridge) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Redirecting media to point-to-point mode.\n");
+ switch_ivr_nomedia(switch_core_session_get_uuid(session), SMF_FORCE);
+ switch_ivr_nomedia(switch_core_session_get_uuid(peer_session), SMF_FORCE);
+ switch_ivr_signal_bridge(session, peer_session);
} else {
- switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL);
+ if (switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
+ switch_ivr_signal_bridge(session, peer_session);
+ } else {
+ switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL);
+ }
}
}
}
@@ -95,3 +112,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_commands/mod_commands.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_commands/mod_commands.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_commands/mod_commands.c Sun Dec 3 17:55:28 2006
@@ -26,12 +26,14 @@
* Anthony Minessale II <anthmct at yahoo.com>
* Michael Jerris <mike at jerris.com>
* Johny Kadarisman <jkr888 at gmail.com>
+ * Paul Tinsley <jackhammer at gmail.com>
*
*
* mod_commands.c -- Misc. Command Module
*
*/
#include <switch.h>
+#include <switch_version.h>
static const char modname[] = "mod_commands";
static switch_api_interface_t ctl_api_interface;
@@ -613,9 +615,9 @@
// If you change one, you must change the other!
if ((cmdname = strchr(cmd, ' ')) != 0) {
*cmdname++ = '\0';
- sprintf (sql, "select description, name, syntax from interfaces where type = 'api' and name = '%s'", cmdname);
+ snprintf (sql, sizeof(sql) - 1, "select description, name, syntax from interfaces where type = 'api' and name = '%s'", cmdname);
} else {
- sprintf (sql, "select description, name, syntax from interfaces where type = 'api'");
+ snprintf (sql, sizeof(sql) - 1, "select description, name, syntax from interfaces where type = 'api'");
}
} else {
stream->write_function(stream, "USAGE: %s\n", show_api_interface.syntax);
@@ -650,6 +652,15 @@
return SWITCH_STATUS_SUCCESS;
}
+static switch_status_t version_function(char *cmd, switch_core_session_t *session, switch_stream_handle_t *stream)
+{
+ char version_string[1024];
+ snprintf(version_string, sizeof(version_string) - 1, "FreeSwitch Version %s\n", SWITCH_VERSION_FULL);
+
+ stream->write_function(stream, version_string);
+ return SWITCH_STATUS_SUCCESS;
+}
+
static switch_status_t help_function(char *cmd, switch_core_session_t *session, switch_stream_handle_t *stream)
{
char showcmd[1024];
@@ -658,7 +669,7 @@
sprintf (showcmd, "help");
all = 1;
} else {
- sprintf (showcmd, "help %s", cmd);
+ snprintf(showcmd, sizeof(showcmd) -1, "help %s", cmd);
}
if (all) {
@@ -667,19 +678,23 @@
show_function(showcmd, session, stream);
- if (all) {
- stream->write_function(stream, "version\n" "shutdown - stop the program\n");
- }
-
return SWITCH_STATUS_SUCCESS;
}
+static switch_api_interface_t version_api_interface = {
+ /*.interface_name */ "version",
+ /*.desc */ "Show version of the switch",
+ /*.function */ version_function,
+ /*.syntax */ "",
+ /*.next */ NULL
+};
+
static switch_api_interface_t help_api_interface = {
/*.interface_name */ "help",
/*.desc */ "Show help for all the api commands",
/*.function */ help_function,
/*.syntax */ "",
- /*.next */ NULL
+ /*.next */ &version_api_interface,
};
static switch_api_interface_t ctl_api_interface = {
@@ -805,3 +820,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_conference/mod_conference.c Sun Dec 3 17:55:28 2006
@@ -3923,3 +3923,14 @@
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_dptools/mod_dptools.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_dptools/mod_dptools.c Sun Dec 3 17:55:28 2006
@@ -25,6 +25,7 @@
*
* Anthony Minessale II <anthmct at yahoo.com>
* Ken Rice, Asteria Solutions Group, Inc <ken at asteriasgi.com>
+ * Michael Murdock <mike at mmurdock dot org>
*
*
* mod_dptools.c -- Raw Audio File Streaming Application Module
@@ -135,6 +136,48 @@
}
}
+static void log_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ char *level, *log_str;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ if ((level = strdup(data))) {
+ switch_event_types_t etype = SWITCH_LOG_DEBUG;
+
+ if ((log_str = strchr(level, ' '))) {
+ *log_str++ = '\0';
+ switch_name_event(level, &etype);
+ } else {
+ log_str = level;
+ }
+
+ switch_log_printf(SWITCH_CHANNEL_LOG, etype, "%s\n", log_str);
+ switch_safe_free(level);
+ }
+}
+
+
+static void info_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ switch_event_t *event;
+ char *buf;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) {
+ switch_channel_event_set_data(channel, event);
+ switch_event_serialize(event, &buf);
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "CHANNEL_DATA:\n%s\n", buf);
+ switch_event_destroy(&event);
+ }
+
+}
+
static void privacy_function(switch_core_session_t *session, char *data)
{
switch_channel_t *channel;
@@ -315,13 +358,31 @@
/*.next */ &ringback_application_interface
};
+static const switch_application_interface_t info_application_interface = {
+ /*.interface_name */ "info",
+ /*.application_function */ info_function,
+ /* long_desc */ "Display Call Info",
+ /* short_desc */ "Display Call Info",
+ /* syntax */ "",
+ /*.next */ &set_application_interface
+};
+
+static const switch_application_interface_t log_application_interface = {
+ /*.interface_name */ "log",
+ /*.application_function */ log_function,
+ /* long_desc */ "Logs a channel varaible for the channel calling the application.",
+ /* short_desc */ "Logs a channel varaible",
+ /* syntax */ "<varname>",
+ /*.next */ &info_application_interface
+};
+
static const switch_application_interface_t answer_application_interface = {
/*.interface_name */ "answer",
/*.application_function */ answer_function,
/* long_desc */ "Answer the call for a channel.",
/* short_desc */ "Answer the call",
/* syntax */ "",
- /*.next */ &set_application_interface
+ /*.next */ &log_application_interface
};
@@ -399,3 +460,14 @@
//switch_status_t switch_module_runtime(void)
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_echo/mod_echo.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_echo/mod_echo.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_echo/mod_echo.c Sun Dec 3 17:55:28 2006
@@ -72,3 +72,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c Sun Dec 3 17:55:28 2006
@@ -491,3 +491,14 @@
//switch_status_t switch_module_runtime(void)
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_park/mod_park.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_park/mod_park.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_park/mod_park.c Sun Dec 3 17:55:28 2006
@@ -65,3 +65,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_playback/mod_playback.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_playback/mod_playback.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_playback/mod_playback.c Sun Dec 3 17:55:28 2006
@@ -132,11 +132,21 @@
{
switch_channel_t *channel;
switch_status_t status;
+ uint32_t limit = 0;
+ char *path;
+ char *p;
+
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
- status = switch_ivr_record_file(session, NULL, data, on_dtmf, NULL, 0);
+ path = switch_core_session_strdup(session, data);
+ if ((p = strchr(path, '+'))) {
+ *p++ = '\0';
+ limit = atoi(p);
+ }
+ status = switch_ivr_record_file(session, NULL, path, on_dtmf, NULL, 0, limit);
+
if (!switch_channel_ready(channel) || (status != SWITCH_STATUS_SUCCESS && !SWITCH_STATUS_IS_BREAK(status))) {
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
}
@@ -224,3 +234,14 @@
//switch_status_t switch_module_runtime(void)
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_rss/mod_rss.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_rss/mod_rss.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_rss/mod_rss.c Sun Dec 3 17:55:28 2006
@@ -679,3 +679,13 @@
return SWITCH_STATUS_SUCCESS;
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_skel/mod_skel.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/applications/mod_skel/mod_skel.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_skel/mod_skel.c Sun Dec 3 17:55:28 2006
@@ -78,3 +78,14 @@
return SWITCH_STATUS_TERM;
}
*/
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c Sun Dec 3 17:55:28 2006
@@ -435,3 +435,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g711/mod_g711.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g711/mod_g711.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g711/mod_g711.c Sun Dec 3 17:55:28 2006
@@ -326,3 +326,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g722/mod_g722.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g722/mod_g722.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g722/mod_g722.c Sun Dec 3 17:55:28 2006
@@ -183,3 +183,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c Sun Dec 3 17:55:28 2006
@@ -222,3 +222,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g726/mod_g726.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g726/mod_g726.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g726/mod_g726.c Sun Dec 3 17:55:28 2006
@@ -448,3 +448,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g729/mod_g729.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g729/mod_g729.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_g729/mod_g729.c Sun Dec 3 17:55:28 2006
@@ -282,3 +282,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_gsm/mod_gsm.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_gsm/mod_gsm.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_gsm/mod_gsm.c Sun Dec 3 17:55:28 2006
@@ -135,7 +135,7 @@
static const switch_codec_implementation_t gsm_8k_implementation = {
/*.codec_type */ SWITCH_CODEC_TYPE_AUDIO,
/*.ianacode */ 3,
- /*.iananame */ "gsm",
+ /*.iananame */ "GSM",
/*.fmtp */ NULL,
/*.samples_per_second */ 8000,
/*.bits_per_second */ 13200,
@@ -174,4 +174,13 @@
return SWITCH_STATUS_SUCCESS;
}
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c Sun Dec 3 17:55:28 2006
@@ -333,9 +333,13 @@
}
-
-
-
-
-
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_l16/mod_l16.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_l16/mod_l16.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_l16/mod_l16.c Sun Dec 3 17:55:28 2006
@@ -263,3 +263,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_lpc10/mod_lpc10.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_lpc10/mod_lpc10.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_lpc10/mod_lpc10.c Sun Dec 3 17:55:28 2006
@@ -210,3 +210,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/codecs/mod_speex/mod_speex.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/codecs/mod_speex/mod_speex.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/codecs/mod_speex/mod_speex.c Sun Dec 3 17:55:28 2006
@@ -351,3 +351,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c Sun Dec 3 17:55:28 2006
@@ -183,3 +183,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c Sun Dec 3 17:55:28 2006
@@ -37,96 +37,8 @@
static const char modname[] = "mod_dialplan_xml";
-#define cleanre(re) if (re) {\
- pcre_free(re);\
- re = NULL;\
- }
-static int perform_regex(switch_channel_t *channel, char *field, char *expression, pcre **new_re, int *ovector, uint32_t olen)
-{
- const char *error = NULL;
- int erroffset = 0;
- pcre *re = NULL;
- int match_count = 0;
-
- if (!(field && expression)) {
- return 0;
- }
-
- re = pcre_compile(expression, /* the pattern */
- 0, /* default options */
- &error, /* for error message */
- &erroffset, /* for error offset */
- NULL); /* use default character tables */
- if (error) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "COMPILE ERROR: %d [%s]\n", erroffset, error);
- cleanre(re);
- return 0;
- }
-
- match_count = pcre_exec(re, /* result of pcre_compile() */
- NULL, /* we didn't study the pattern */
- field, /* the subject string */
- (int) strlen(field), /* the length of the subject string */
- 0, /* start at offset 0 in the subject */
- 0, /* default options */
- ovector, /* vector of integers for substring information */
- olen); /* number of elements (NOT size in bytes) */
-
- if (match_count <= 0) {
- cleanre(re);
- match_count = 0;
- }
-
- *new_re = re;
-
- return match_count;
-}
-
-
-static void perform_substitution(pcre *re, int match_count, char *data, char *field_data, char *substituted, uint32_t len, int *ovector)
-{
- char index[10] = "";
- char replace[1024] = "";
- uint32_t x, y = 0, z = 0, num = 0;
-
- for (x = 0; x < (len-1) && x < strlen(data);) {
- if (data[x] == '$') {
- x++;
-
- if (!(data[x] > 47 && data[x] < 58)) {
- substituted[y++] = data[x-1];
- continue;
- }
-
- while (data[x] > 47 && data[x] < 58) {
- index[z++] = data[x];
- x++;
- }
- index[z++] = '\0';
- z = 0;
- num = atoi(index);
-
- if (pcre_copy_substring(field_data,
- ovector,
- match_count,
- num,
- replace,
- sizeof(replace)) > 0) {
- unsigned int r;
- for (r = 0; r < strlen(replace); r++) {
- substituted[y++] = replace[r];
- }
- }
- } else {
- substituted[y++] = data[x];
- x++;
- }
- }
- substituted[y++] = '\0';
-}
-
typedef enum {
BREAK_ON_TRUE,
BREAK_ON_FALSE,
@@ -197,7 +109,7 @@
field_data = "";
}
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "test conditions %s(%s) =~ /%s/\n", field, field_data, expression);
- if (!(proceed = perform_regex(channel, field_data, expression, &re, ovector, sizeof(ovector) / sizeof(ovector[0])))) {
+ if (!(proceed = switch_perform_regex(field_data, expression, &re, ovector, sizeof(ovector) / sizeof(ovector[0])))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Regex mismatch\n");
for (xaction = switch_xml_child(xcond, "anti-action"); xaction; xaction = xaction->next) {
@@ -232,7 +144,7 @@
char *app_data = NULL;
if (field && strchr(expression, '(')) {
- perform_substitution(re, proceed, data, field_data, substituted, sizeof(substituted), ovector);
+ switch_perform_substitution(re, proceed, data, field_data, substituted, sizeof(substituted), ovector);
app_data = substituted;
} else {
app_data = data;
@@ -249,7 +161,7 @@
switch_caller_extension_add_application(session, *extension, application, app_data);
}
- cleanre(re);
+ switch_clean_re(re);
if (do_break_i == BREAK_ON_TRUE || do_break_i == BREAK_ALWAYS) {
break;
@@ -356,3 +268,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/directories/mod_ldap/mod_ldap.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/directories/mod_ldap/mod_ldap.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/directories/mod_ldap/mod_ldap.c Sun Dec 3 17:55:28 2006
@@ -228,3 +228,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Sun Dec 3 17:55:28 2006
@@ -2633,3 +2633,13 @@
return LDL_STATUS_SUCCESS;
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_iax/mod_iax.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_iax/mod_iax.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_iax/mod_iax.c Sun Dec 3 17:55:28 2006
@@ -1200,3 +1200,14 @@
}
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c Sun Dec 3 17:55:28 2006
@@ -1029,3 +1029,14 @@
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/Makefile
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/Makefile (original)
+++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/Makefile Sun Dec 3 17:55:28 2006
@@ -1,6 +1,6 @@
OS_ARCH := $(subst /,_,$(shell uname -s | sed /\ /s//_/))
VERSION = sofia-sip-1.12
-TARBALL = sofia-sip-1.12.3.11.tar.gz
+TARBALL = sofia-sip-1.12.4.tar.gz
CFLAGS += -I. -I$(PREFIX)/include/$(VERSION)
LDFLAGS += -lsofia-sip-ua
LINKER=$(CC)
Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Sun Dec 3 17:55:28 2006
@@ -762,6 +762,8 @@
static void tech_set_codecs(private_object_t *tech_pvt)
{
+ switch_channel_t *channel;
+ char *codec_string = NULL;
if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
return;
@@ -771,7 +773,16 @@
return;
}
- if (tech_pvt->profile->codec_string) {
+ assert(tech_pvt->session != NULL);
+
+ channel = switch_core_session_get_channel(tech_pvt->session);
+ assert (channel != NULL);
+
+ if (!(codec_string = switch_channel_get_variable(channel, "codec_string"))) {
+ codec_string = tech_pvt->profile->codec_string;
+ }
+
+ if (codec_string) {
tech_pvt->num_codecs = switch_loadable_module_get_codecs_sorted(tech_pvt->codecs,
SWITCH_MAX_CODECS,
tech_pvt->profile->codec_order,
@@ -2344,7 +2355,7 @@
to_host = (char *) to->a_url->url_host;
}
-
+
if (!to_user) {
return;
}
@@ -2441,9 +2452,10 @@
if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) {
switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, sdp);
}
+
if (!switch_test_flag(tech_pvt, TFLAG_CHANGE_MEDIA) && (
switch_channel_test_flag(other_channel, CF_OUTBOUND) &&
- switch_channel_test_flag(other_channel, CF_NOMEDIA) &&
+ //switch_channel_test_flag(other_channel, CF_NOMEDIA) &&
switch_channel_test_flag(channel, CF_OUTBOUND) &&
switch_channel_test_flag(channel, CF_NOMEDIA))) {
switch_ivr_nomedia(val, SMF_FORCE);
@@ -2526,7 +2538,7 @@
break;
case nua_callstate_proceeding:
if (channel) {
- if (status == 180) {
+ if (status == 180 && !(switch_channel_test_flag(channel, CF_NO_INDICATE))) {
if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
if ((uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) {
switch_core_session_message_t msg;
@@ -3924,7 +3936,11 @@
char *displayname;
char *username, *to_username = NULL;
char *url_user = (char *) from->a_url->url_user;
- char *to_user, *to_host;
+ char *to_user, *to_host, *to_port;
+ char *req_user, *req_host, *req_port;
+ char *contact_user, *contact_host, *contact_port;
+ char *via_rport, *via_host, *via_port;
+ char uri[1024];
if (!(tech_pvt = (private_object_t *) switch_core_session_alloc(session, sizeof(private_object_t)))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hey where is my memory pool?\n");
@@ -3938,6 +3954,9 @@
to_user = (char *) to->a_url->url_user;
to_host = (char *) to->a_url->url_host;
+ if (!(to_port = (char *) to->a_url->url_port)) {
+ to_port = "5060";
+ }
if (switch_strlen_zero(to_user)) { /* if sofia doesnt parse the To: right, we'll have to do it */
if ((to_user = sip_header_as_string(tech_pvt->home, (sip_header_t *) to))) {
@@ -3979,7 +3998,7 @@
}
if (profile->pflags & PFLAG_FULL_ID) {
- if (!(to_username = switch_mprintf("%s@%s", (char *) to_user, (char *) to_host))) {
+ if (!(to_username = switch_mprintf("%s@%s:%s", (char *) to_user, (char *) to_host, to_port))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error!\n");
switch_safe_free(username);
return;
@@ -4000,6 +4019,50 @@
switch_channel_set_variable(channel, "sip_from_user_stripped", (char *)from->a_url->url_user);
}
switch_channel_set_variable(channel, "sip_from_host", (char *) from->a_url->url_host);
+ switch_channel_set_variable(channel, "sip_from_port", (char *) from->a_url->url_port);
+
+
+ snprintf(uri, sizeof(uri), "%s@%s:%s", (char *) from->a_url->url_user, (char *) from->a_url->url_host, (char *) from->a_url->url_port);
+ switch_channel_set_variable(channel, "sip_from_uri", uri);
+
+
+ switch_channel_set_variable(channel, "sip_to_user", to_user);
+ switch_channel_set_variable(channel, "sip_to_host", to_host);
+ switch_channel_set_variable(channel, "sip_to_port", to_port);
+
+ snprintf(uri, sizeof(uri), "%s@%s:%s", to_user, to_host, to_port);
+ switch_channel_set_variable(channel, "sip_to_uri", uri);
+
+
+ req_user = (char *) sip->sip_request->rq_url->url_user;
+ req_host = (char *) sip->sip_request->rq_url->url_host;
+ req_port = (char *) sip->sip_request->rq_url->url_port;
+
+ switch_channel_set_variable(channel, "sip_req_user", req_user);
+ switch_channel_set_variable(channel, "sip_req_host", req_host);
+ switch_channel_set_variable(channel, "sip_req_port", req_port);
+
+ contact_user = (char *) sip->sip_contact->m_url->url_user;
+ contact_host = (char *) sip->sip_contact->m_url->url_host;
+ contact_port = (char *) sip->sip_contact->m_url->url_port;
+
+ switch_channel_set_variable(channel, "sip_contact_user", contact_user);
+ switch_channel_set_variable(channel, "sip_contact_host", contact_host);
+ switch_channel_set_variable(channel, "sip_contact_port", contact_port);
+
+ via_host = (char *) sip->sip_via->v_host;
+ via_port = (char *) sip->sip_via->v_port;
+ via_rport = (char *) sip->sip_via->v_rport;
+
+ switch_channel_set_variable(channel, "sip_via_host", via_host);
+ switch_channel_set_variable(channel, "sip_via_port", via_port);
+ switch_channel_set_variable(channel, "sip_via_rport", via_rport);
+
+
+ snprintf(uri, sizeof(uri), "%s@%s:%s", req_user, req_host, req_port);
+ switch_channel_set_variable(channel, "sip_req_uri", uri);
+
+
if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session),
(char *) from->a_url->url_user,
profile->dialplan,
@@ -4261,6 +4324,9 @@
if ((profile->pflags & PFLAG_AUTH_ALL) && tech_pvt && tech_pvt->key && sip) {
sip_authorization_t const *authorization = NULL;
+ switch_channel_t *channel = switch_core_session_get_channel(tech_pvt->session);
+ assert(channel != NULL);
+
if (sip->sip_authorization) {
authorization = sip->sip_authorization;
} else if (sip->sip_proxy_authorization) {
@@ -4272,11 +4338,14 @@
}
if (auth_res != AUTH_OK) {
- switch_channel_t *channel = switch_core_session_get_channel(tech_pvt->session);
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
nua_respond(nh, SIP_401_UNAUTHORIZED, TAG_END());
goto done;
}
+
+ if (session) {
+ switch_channel_set_variable(channel, "sip_authorized", "true");
+ }
}
if (status == 401 || status == 407) {
@@ -4460,9 +4529,9 @@
SIPTAG_CONTACT_STR(oregp->register_from),
SIPTAG_EXPIRES_STR(oregp->expires_str),
NUTAG_REGISTRAR(oregp->register_proxy),
- NUTAG_OUTBOUND("no-options-keepalive"),
- NUTAG_OUTBOUND("no-validate"),
- NUTAG_KEEPALIVE(0),
+ NUTAG_OUTBOUND("no-options-keepalive"),
+ NUTAG_OUTBOUND("no-validate"),
+ NUTAG_KEEPALIVE(0),
TAG_NULL());
oregp->retry = now + 10;
oregp->state = REG_STATE_TRYING;
@@ -4522,8 +4591,8 @@
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("NOTIFY")),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("SUBSCRIBE")),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ENABLEMESSAGE(1)),
- //TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("presence")),
- //TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("presence.winfo")),
+ TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("presence")),
+ TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("presence.winfo")),
SIPTAG_SUPPORTED_STR("100rel, precondition"),
SIPTAG_USER_AGENT_STR(SOFIA_USER_AGENT),
TAG_END());
@@ -5340,3 +5409,14 @@
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj (original)
+++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj Sun Dec 3 17:55:28 2006
@@ -42,7 +42,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\bnf""
+ AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\bnf""
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;LIBSOFIA_SIP_UA_STATIC;PTW32_STATIC_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -126,7 +126,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.11\libsofia-sip-ua\bnf""
+ AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.4\libsofia-sip-ua\bnf""
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;LIBSOFIA_SIP_UA_STATIC;PTW32_STATIC_LIB"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c Sun Dec 3 17:55:28 2006
@@ -1532,5 +1532,13 @@
}
-
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_woomera/mod_woomera.c Sun Dec 3 17:55:28 2006
@@ -1391,3 +1391,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/basecdr.cpp
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/basecdr.cpp (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/basecdr.cpp Sun Dec 3 17:55:28 2006
@@ -358,3 +358,14 @@
}
}
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/basecdr.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/basecdr.h (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/basecdr.h Sun Dec 3 17:55:28 2006
@@ -105,3 +105,14 @@
#endif
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/baseregistry.cpp
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/baseregistry.cpp (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/baseregistry.cpp Sun Dec 3 17:55:28 2006
@@ -79,3 +79,14 @@
{
BaseRegistry::get().add(creator);
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/baseregistry.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/baseregistry.h (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/baseregistry.h Sun Dec 3 17:55:28 2006
@@ -76,3 +76,14 @@
#endif // ifdef __cplusplus
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/cdrcontainer.cpp
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/cdrcontainer.cpp (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/cdrcontainer.cpp Sun Dec 3 17:55:28 2006
@@ -163,3 +163,14 @@
delete newloggerobject;
}
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/cdrcontainer.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/cdrcontainer.h (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/cdrcontainer.h Sun Dec 3 17:55:28 2006
@@ -69,3 +69,14 @@
#endif
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/csvcdr.cpp
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/csvcdr.cpp (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/csvcdr.cpp Sun Dec 3 17:55:28 2006
@@ -284,3 +284,14 @@
}
AUTO_REGISTER_BASECDR(CsvCDR);
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/csvcdr.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/csvcdr.h (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/csvcdr.h Sun Dec 3 17:55:28 2006
@@ -75,3 +75,14 @@
};
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mod_cdr.cpp
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mod_cdr.cpp (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mod_cdr.cpp Sun Dec 3 17:55:28 2006
@@ -105,3 +105,14 @@
delete newcdrcontainer;
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mysqlcdr.cpp
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mysqlcdr.cpp (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mysqlcdr.cpp Sun Dec 3 17:55:28 2006
@@ -54,7 +54,7 @@
src_length = (long unsigned int)strlen(src);
dst_length = (long unsigned int)strlen(dst);
ani_length = (long unsigned int)strlen(ani);
- ani2_length = (long unsigned int)strlen(ani2);
+ aniii_length = (long unsigned int)strlen(aniii);
dialplan_length = (long unsigned int)strlen(dialplan);
myuuid_length = (long unsigned int)strlen(myuuid);
destuuid_length = (long unsigned int)strlen(destuuid);
@@ -181,7 +181,7 @@
if(activated)
{
- tmp_sql_query = "INSERT INTO freeswitchcdr (callstartdate,callanswerdate,callenddate,originated,clid,src,dst,ani,ani2,dialplan,myuuid,destuuid,srcchannel,dstchannel,lastapp,lastdata,billusec,disposition,hangupcause,amaflags";
+ tmp_sql_query = "INSERT INTO freeswitchcdr (callstartdate,callanswerdate,callenddate,originated,clid,src,dst,ani,aniii,dialplan,myuuid,destuuid,srcchannel,dstchannel,lastapp,lastdata,billusec,disposition,hangupcause,amaflags";
int items_appended = 0;
@@ -324,7 +324,7 @@
add_string_parameter(src,src_length,MYSQL_TYPE_VAR_STRING,0);
add_string_parameter(dst,dst_length,MYSQL_TYPE_VAR_STRING,0);
add_string_parameter(ani,ani_length,MYSQL_TYPE_VAR_STRING,0);
- add_string_parameter(ani2,ani2_length,MYSQL_TYPE_VAR_STRING,0);
+ add_string_parameter(aniii,aniii_length,MYSQL_TYPE_VAR_STRING,0);
add_string_parameter(dialplan,dialplan_length,MYSQL_TYPE_VAR_STRING,0);
add_string_parameter(myuuid,myuuid_length,MYSQL_TYPE_VAR_STRING,0);
add_string_parameter(destuuid,destuuid_length,MYSQL_TYPE_VAR_STRING,0);
@@ -625,3 +625,14 @@
}
AUTO_REGISTER_BASECDR(MysqlCDR);
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mysqlcdr.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mysqlcdr.h (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/mysqlcdr.h Sun Dec 3 17:55:28 2006
@@ -99,3 +99,14 @@
};
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/pddcdr.cpp
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/pddcdr.cpp (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/pddcdr.cpp Sun Dec 3 17:55:28 2006
@@ -214,3 +214,14 @@
}
AUTO_REGISTER_BASECDR(PddCDR);
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/pddcdr.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/pddcdr.h (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/pddcdr.h Sun Dec 3 17:55:28 2006
@@ -69,3 +69,14 @@
};
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/xmlcdr.cpp
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/xmlcdr.cpp (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/xmlcdr.cpp Sun Dec 3 17:55:28 2006
@@ -219,3 +219,14 @@
}
AUTO_REGISTER_BASECDR(XmlCDR);
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/xmlcdr.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/xmlcdr.h (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_cdr/xmlcdr.h Sun Dec 3 17:55:28 2006
@@ -70,3 +70,14 @@
};
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c Sun Dec 3 17:55:28 2006
@@ -331,5 +331,13 @@
return SWITCH_STATUS_TERM;
}
-
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Sun Dec 3 17:55:28 2006
@@ -1041,5 +1041,13 @@
return SWITCH_STATUS_TERM;
}
-
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c Sun Dec 3 17:55:28 2006
@@ -153,3 +153,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_xmpp_event/mod_xmpp_event.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_xmpp_event/mod_xmpp_event.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_xmpp_event/mod_xmpp_event.c Sun Dec 3 17:55:28 2006
@@ -439,3 +439,14 @@
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "disconnecting client %d\n", RUNNING);
return RUNNING ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_TERM;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c Sun Dec 3 17:55:28 2006
@@ -318,3 +318,14 @@
RUNNING = 0;
return SWITCH_STATUS_TERM;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/formats/mod_native_file/mod_native_file.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/formats/mod_native_file/mod_native_file.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/formats/mod_native_file/mod_native_file.c Sun Dec 3 17:55:28 2006
@@ -180,3 +180,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c Sun Dec 3 17:55:28 2006
@@ -350,3 +350,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_mono/mod_mono.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_mono/mod_mono.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_mono/mod_mono.c Sun Dec 3 17:55:28 2006
@@ -283,3 +283,14 @@
{
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, msg);
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_perl/mod_perl.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_perl/mod_perl.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_perl/mod_perl.c Sun Dec 3 17:55:28 2006
@@ -137,3 +137,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_perl/switch_swig_wrap.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_perl/switch_swig_wrap.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_perl/switch_swig_wrap.c Sun Dec 3 17:55:28 2006
@@ -43,7 +43,6 @@
************************************************************************/
#include <string.h>
-#include <switch.h>
#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# if defined(_MSC_VER) || defined(__GNUC__)
@@ -808,7 +807,7 @@
extern void fs_channel_get_variable(switch_core_session_t *,char *);
extern void fs_channel_set_state(switch_core_session_t *,char *);
extern int fs_ivr_play_file(switch_core_session_t *,char *,char *,switch_input_callback_function_t,void *,unsigned int);
-extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int);
+extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int,unsigned int);
extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t);
extern int fs_ivr_play_file2(switch_core_session_t *,char *);
extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_callback_function_t,void *,unsigned int,unsigned int);
@@ -1263,12 +1262,13 @@
switch_input_callback_function_t arg4 ;
void *arg5 = (void *) 0 ;
unsigned int arg6 ;
+ unsigned int arg7 ;
int result;
int argvi = 0;
dXSARGS;
- if ((items < 6) || (items > 6)) {
- SWIG_croak("Usage: fs_switch_ivr_record_file(session,fh,file,dtmf_callback,buf,buflen);");
+ if ((items < 7) || (items > 7)) {
+ SWIG_croak("Usage: fs_switch_ivr_record_file(session,fh,file,dtmf_callback,buf,buflen,limit);");
}
{
if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) {
@@ -1295,7 +1295,8 @@
}
}
arg6 = (unsigned int) SvUV(ST(5));
- result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6);
+ arg7 = (unsigned int) SvUV(ST(6));
+ result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
ST(argvi) = sv_newmortal();
sv_setiv(ST(argvi++), (IV) result);
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_php/mod_php.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_php/mod_php.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_php/mod_php.c Sun Dec 3 17:55:28 2006
@@ -307,3 +307,14 @@
}
*/
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_php/switch_swig_wrap.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_php/switch_swig_wrap.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_php/switch_swig_wrap.c Sun Dec 3 17:55:28 2006
@@ -577,7 +577,7 @@
extern void fs_channel_get_variable(switch_core_session_t *,char *);
extern void fs_channel_set_state(switch_core_session_t *,char *);
extern int fs_ivr_play_file(switch_core_session_t *,char *,char *,switch_input_callback_function_t,void *,unsigned int);
-extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int);
+extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int,unsigned int);
extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t);
extern int fs_ivr_play_file2(switch_core_session_t *,char *);
extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_callback_function_t,void *,unsigned int,unsigned int);
@@ -1143,15 +1143,16 @@
switch_input_callback_function_t arg4 ;
void *arg5 = (void *) 0 ;
unsigned int arg6 ;
+ unsigned int arg7 ;
int result;
- zval **args[7];
+ zval **args[8];
int argbase=0 ;
if (this_ptr && this_ptr->type==IS_OBJECT) {
/* fake this_ptr as first arg (till we can work out how to do it better */
argbase++;
}
- if(((ZEND_NUM_ARGS() + argbase )!= 6) || (zend_get_parameters_array_ex(6-argbase, args)!= SUCCESS)) {
+ if(((ZEND_NUM_ARGS() + argbase )!= 7) || (zend_get_parameters_array_ex(7-argbase, args)!= SUCCESS)) {
WRONG_PARAM_COUNT;
}
@@ -1187,7 +1188,11 @@
convert_to_long_ex(args[5-argbase]);
arg6 = (unsigned int) Z_LVAL_PP(args[5-argbase]);
- result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6);
+
+ convert_to_long_ex(args[6-argbase]);
+ arg7 = (unsigned int) Z_LVAL_PP(args[6-argbase]);
+
+ result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
ZVAL_LONG(return_value,result);
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_python/mod_python.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_python/mod_python.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_python/mod_python.c Sun Dec 3 17:55:28 2006
@@ -110,3 +110,14 @@
/* Return the number of arguments of the application command line */
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_python/switch_swig_wrap.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_python/switch_swig_wrap.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_python/switch_swig_wrap.c Sun Dec 3 17:55:28 2006
@@ -716,7 +716,7 @@
extern void fs_channel_get_variable(switch_core_session_t *,char *);
extern void fs_channel_set_state(switch_core_session_t *,char *);
extern int fs_ivr_play_file(switch_core_session_t *,char *,char *,switch_input_callback_function_t,void *,unsigned int);
-extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int);
+extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int,unsigned int);
extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t);
extern int fs_ivr_play_file2(switch_core_session_t *,char *);
extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_callback_function_t,void *,unsigned int,unsigned int);
@@ -1000,6 +1000,7 @@
switch_input_callback_function_t arg4 ;
void *arg5 = (void *) 0 ;
unsigned int arg6 ;
+ unsigned int arg7 ;
int result;
switch_input_callback_function_t *argp4 ;
PyObject * obj0 = 0 ;
@@ -1007,8 +1008,9 @@
PyObject * obj3 = 0 ;
PyObject * obj4 = 0 ;
PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
- if(!PyArg_ParseTuple(args,(char *)"OOsOOO:fs_switch_ivr_record_file",&obj0,&obj1,&arg3,&obj3,&obj4,&obj5)) goto fail;
+ if(!PyArg_ParseTuple(args,(char *)"OOsOOOO:fs_switch_ivr_record_file",&obj0,&obj1,&arg3,&obj3,&obj4,&obj5,&obj6)) goto fail;
if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_switch_file_handle_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
if ((SWIG_ConvertPtr(obj3,(void **) &argp4, SWIGTYPE_p_switch_input_callback_function_t,SWIG_POINTER_EXCEPTION) == -1)) SWIG_fail;
@@ -1016,7 +1018,9 @@
if ((SWIG_ConvertPtr(obj4,(void **) &arg5, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
arg6 = (unsigned int) PyInt_AsLong(obj5);
if (PyErr_Occurred()) SWIG_fail;
- result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6);
+ arg7 = (unsigned int) PyInt_AsLong(obj6);
+ if (PyErr_Occurred()) SWIG_fail;
+ result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
resultobj = PyInt_FromLong((long)result);
return resultobj;
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_ruby/mod_ruby.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_ruby/mod_ruby.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_ruby/mod_ruby.c Sun Dec 3 17:55:28 2006
@@ -102,3 +102,14 @@
/* indicate that the module should continue to be loaded */
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_ruby/switch_swig_wrap.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_ruby/switch_swig_wrap.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_ruby/switch_swig_wrap.c Sun Dec 3 17:55:28 2006
@@ -628,7 +628,7 @@
extern void fs_channel_get_variable(switch_core_session_t *,char *);
extern void fs_channel_set_state(switch_core_session_t *,char *);
extern int fs_ivr_play_file(switch_core_session_t *,char *,char *,switch_input_callback_function_t,void *,unsigned int);
-extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int);
+extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_callback_function_t,void *,unsigned int,unsigned int);
extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t);
extern int fs_ivr_play_file2(switch_core_session_t *,char *);
extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_callback_function_t,void *,unsigned int,unsigned int);
@@ -893,11 +893,12 @@
switch_input_callback_function_t arg4 ;
void *arg5 = (void *) 0 ;
unsigned int arg6 ;
+ unsigned int arg7 ;
int result;
VALUE vresult = Qnil;
- if ((argc < 6) || (argc > 6))
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 6)",argc);
+ if ((argc < 7) || (argc > 7))
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 7)",argc);
SWIG_ConvertPtr(argv[0], (void **) &arg1, SWIGTYPE_p_switch_core_session_t, 1);
SWIG_ConvertPtr(argv[1], (void **) &arg2, SWIGTYPE_p_switch_file_handle_t, 1);
arg3 = StringValuePtr(argv[2]);
@@ -908,7 +909,8 @@
}
SWIG_ConvertPtr(argv[4], (void **) &arg5, 0, 1);
arg6 = NUM2UINT(argv[5]);
- result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6);
+ arg7 = NUM2UINT(argv[6]);
+ result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
vresult = INT2NUM(result);
return vresult;
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/Makefile
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/Makefile (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/Makefile Sun Dec 3 17:55:28 2006
@@ -1,5 +1,5 @@
include sm.mak
-OBJS=$(BASE)/libs/mozilla/js/src/$(OS_CONFIG)_$(VER).OBJ/libjs.a $(BASE)/libs/mozilla/nsprpub/dist/lib/libnspr4.a -lcurl -letpan
+OBJS=$(BASE)/libs/mozilla/js/src/$(OS_CONFIG)_$(VER).OBJ/libjs.a $(BASE)/libs/mozilla/nsprpub/dist/lib/libnspr4.a -lcurl
LINKER=$(CC)
@@ -8,7 +8,6 @@
depends:
BUILD_OPT=$(BO) MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) mozilla.tar.gz --prefix=$(PREFIX)
MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) install curl-7.15.2.tar.gz --prefix=$(PREFIX) --without-libidn
- MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) install libetpan-0.45.tar.gz --prefix=$(PREFIX)
$(MODNAME).$(DYNAMIC_LIB_EXTEN): $(MODNAME).c
$(CC) $(CFLAGS) -fPIC -c $(MODNAME).c -o $(MODNAME).o
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Sun Dec 3 17:55:28 2006
@@ -94,6 +94,7 @@
jsval ret;
JSContext *cx;
JSObject *obj;
+ jsrefcount saveDepth;
void *extra;
};
@@ -409,7 +410,7 @@
}
-static switch_status_t sm_load_file(char *filename, sm_loadable_module_t **new_module)
+static switch_status_t sm_load_file(char *filename)
{
sm_loadable_module_t *module = NULL;
apr_dso_handle_t *dso = NULL;
@@ -424,7 +425,6 @@
assert(filename != NULL);
- *new_module = NULL;
status = apr_dso_load(&dso, filename, module_manager.pool);
while (loading) {
@@ -447,7 +447,7 @@
break;
}
- if ((module = switch_core_permanent_alloc(sizeof(sm_loadable_module_t))) == 0) {
+ if (!(module = (sm_loadable_module_t *) switch_core_permanent_alloc(sizeof(*module)))) {
err = "Could not allocate memory\n";
break;
}
@@ -465,11 +465,10 @@
module->module_interface = module_interface;
module->lib = dso;
- *new_module = module;
switch_core_hash_insert(module_manager.mod_hash, (char *) module->filename, (void *) module);
- for (mp = module_interface; mp; mp = mp->next) {
+ for (mp = module->module_interface; mp; mp = mp->next) {
switch_core_hash_insert(module_manager.load_hash, (char *)mp->name, (void *) mp);
}
@@ -484,7 +483,6 @@
switch_size_t len = 0;
char *path;
char *file;
- sm_loadable_module_t *new_module = NULL;
#ifdef WIN32
const char *ext = ".dll";
@@ -517,7 +515,7 @@
}
}
- return sm_load_file(path, &new_module);
+ return sm_load_file(path);
}
static switch_status_t load_modules(void)
@@ -644,7 +642,9 @@
argv[argc++] = cb_state->arg;
}
+ JS_ResumeRequest(cb_state->cx, cb_state->saveDepth);
JS_CallFunction(cb_state->cx, cb_state->obj, cb_state->function, argc, argv, &cb_state->ret);
+ cb_state->saveDepth = JS_SuspendRequest(cb_state->cx);
return SWITCH_STATUS_SUCCESS;
}
@@ -827,13 +827,13 @@
struct js_session *jss = JS_GetPrivate(cx, obj);
switch_channel_t *channel;
char *file_name = NULL;
- char *input_callback = NULL;
void *bp = NULL;
int len = 0;
switch_input_callback_function_t dtmf_func = NULL;
struct input_callback_state cb_state = {0};
- switch_file_handle_t fh;
+ switch_file_handle_t fh = {0};
JSFunction *function;
+ int32 limit = 0;
channel = switch_core_session_get_channel(jss->session);
assert(channel != NULL);
@@ -847,7 +847,6 @@
if (argc > 1) {
if ((function = JS_ValueToFunction(cx, argv[1]))) {
memset(&cb_state, 0, sizeof(cb_state));
- switch_copy_string(cb_state.code_buffer, input_callback, sizeof(cb_state.code_buffer));
cb_state.session_state = jss;
cb_state.function = function;
cb_state.cx = cx;
@@ -860,12 +859,30 @@
bp = &cb_state;
len = sizeof(cb_state);
}
+
+ if (argc > 3) {
+ JS_ValueToInt32(cx, argv[3], &limit);
+ }
+
+ if (argc > 4) {
+ int32 thresh;
+ JS_ValueToInt32(cx, argv[4], &thresh);
+ fh.thresh = thresh;
+ }
+
+ if (argc > 5) {
+ int32 silence_hits;
+ JS_ValueToInt32(cx, argv[5], &silence_hits);
+ fh.silence_hits = silence_hits;
+ }
}
- memset(&fh, 0, sizeof(fh));
+
cb_state.extra = &fh;
cb_state.ret = BOOLEAN_TO_JSVAL( JS_FALSE );
- switch_ivr_record_file(jss->session, &fh, file_name, dtmf_func, bp, len);
+ cb_state.saveDepth = JS_SuspendRequest(cx);
+ switch_ivr_record_file(jss->session, &fh, file_name, dtmf_func, bp, len, limit);
+ JS_ResumeRequest(cx, cb_state.saveDepth);
*rval = cb_state.ret;
return (switch_channel_ready(channel)) ? JS_TRUE : JS_FALSE;
@@ -908,7 +925,10 @@
JS_ValueToInt32(jss->cx, argv[2], &to);
}
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_collect_digits_callback(jss->session, dtmf_func, bp, len, to);
+ JS_ResumeRequest(cx, cb_state.saveDepth);
+
*rval = cb_state.ret;
return (switch_channel_ready(channel)) ? JS_TRUE : JS_FALSE;
@@ -925,7 +945,7 @@
int len = 0;
switch_input_callback_function_t dtmf_func = NULL;
struct input_callback_state cb_state = {0};
- switch_file_handle_t fh;
+ switch_file_handle_t fh = {0};
JSFunction *function;
channel = switch_core_session_get_channel(jss->session);
@@ -961,10 +981,17 @@
}
}
- memset(&fh, 0, sizeof(fh));
+ if (argc > 4) {
+ int32 samps;
+ JS_ValueToInt32(cx, argv[4], &samps);
+ fh.samples = samps;
+ }
+
cb_state.extra = &fh;
cb_state.ret = BOOLEAN_TO_JSVAL( JS_FALSE );
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_play_file(jss->session, &fh, file_name, timer_name, dtmf_func, bp, len);
+ JS_ResumeRequest(cx, cb_state.saveDepth);
*rval = cb_state.ret;
return (switch_channel_ready(channel)) ? JS_TRUE : JS_FALSE;
@@ -1073,6 +1100,7 @@
codec = switch_core_session_get_read_codec(jss->session);
cb_state.ret = BOOLEAN_TO_JSVAL( JS_FALSE );
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_speak_text(jss->session,
tts_name,
voice_name && strlen(voice_name) ? voice_name : NULL,
@@ -1082,7 +1110,7 @@
text,
bp,
len);
-
+ JS_ResumeRequest(cx, cb_state.saveDepth);
*rval = cb_state.ret;
return (switch_channel_ready(channel)) ? JS_TRUE : JS_FALSE;
@@ -1979,20 +2007,6 @@
return JS_FALSE;
}
-#define B64BUFFLEN 1024
-static const char c64[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
-static int write_buf(int fd, char *buf) {
-
- int len = (int)strlen(buf);
- if (fd && write(fd, buf, len) != len) {
- close(fd);
- return 0;
- }
-
- return 1;
-}
-
static JSBool js_api_use(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
char *mod_name = NULL;
@@ -2099,140 +2113,18 @@
}
}
+ cb_state.saveDepth = JS_SuspendRequest(cx);
switch_ivr_multi_threaded_bridge(jss_a->session, jss_b->session, dtmf_func, bp, bp);
+ JS_ResumeRequest(cx, cb_state.saveDepth);
+
return JS_TRUE;
}
-static JSBool js_email(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-{
- char *to = NULL, *from = NULL, *headers, *body = NULL, *file = NULL;
- char *bound = "XXXX_boundary_XXXX";
- char filename[80], buf[B64BUFFLEN];
- int fd = 0, ifd = 0;
- int x=0, y=0, bytes=0, ilen=0;
- unsigned int b=0, l=0;
- unsigned char in[B64BUFFLEN];
- unsigned char out[B64BUFFLEN+512];
- char *path = NULL;
-
-
- if (
- argc > 3 &&
- (from = JS_GetStringBytes(JS_ValueToString(cx, argv[0]))) &&
- (to = JS_GetStringBytes(JS_ValueToString(cx, argv[1]))) &&
- (headers = JS_GetStringBytes(JS_ValueToString(cx, argv[2]))) &&
- (body = JS_GetStringBytes(JS_ValueToString(cx, argv[3])))
- ) {
- if ( argc > 4) {
- file = JS_GetStringBytes(JS_ValueToString(cx, argv[4]));
- }
- snprintf(filename, 80, "%smail.%ld%04x", SWITCH_GLOBAL_dirs.temp_dir, time(NULL), rand() & 0xffff);
-
- if ((fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644))) {
- if (file) {
- path = file;
- if ((ifd = open(path, O_RDONLY)) < 1) {
- return JS_FALSE;
- }
-
- snprintf(buf, B64BUFFLEN, "MIME-Version: 1.0\nContent-Type: multipart/mixed; boundary=\"%s\"\n", bound);
- if (!write_buf(fd, buf)) {
- return JS_FALSE;
- }
- }
-
- if (!write_buf(fd, headers))
- return JS_FALSE;
-
- if (!write_buf(fd, "\n\n"))
- return JS_FALSE;
-
- if (file) {
- snprintf(buf, B64BUFFLEN, "--%s\nContent-Type: text/plain\n\n", bound);
- if (!write_buf(fd, buf))
- return JS_FALSE;
- }
-
- if (!write_buf(fd, body))
- return JS_FALSE;
-
- if (file) {
- snprintf(buf, B64BUFFLEN, "\n\n--%s\nContent-Type: application/octet-stream\n"
- "Content-Transfer-Encoding: base64\n"
- "Content-Description: Sound attachment.\n"
- "Content-Disposition: attachment; filename=\"%s\"\n\n", bound, file);
- if (!write_buf(fd, buf))
- return JS_FALSE;
-
- while((ilen=read(ifd, in, B64BUFFLEN))) {
- for (x=0;x<ilen;x++) {
- b = (b<<8) + in[x];
- l += 8;
- while (l >= 6) {
- out[bytes++] = c64[(b>>(l-=6))%64];
- if (++y!=72)
- continue;
- out[bytes++] = '\n';
- y=0;
- }
- }
- if (write(fd, &out, bytes) != bytes) {
- return -1;
- } else
- bytes=0;
-
- }
-
- if (l > 0) {
- out[bytes++] = c64[((b%16)<<(6-l))%64];
- }
- if (l != 0) while (l < 6) {
- out[bytes++] = '=', l += 2;
- }
- if (write(fd, &out, bytes) != bytes) {
- return -1;
- }
-
- }
-
-
-
- if (file) {
- snprintf(buf, B64BUFFLEN, "\n\n--%s--\n.\n", bound);
- if (!write_buf(fd, buf))
- return JS_FALSE;
- }
- }
-
- if (fd) {
- close(fd);
- }
- if (ifd) {
- close(ifd);
- }
- snprintf(buf, B64BUFFLEN, "/bin/cat %s | /usr/sbin/sendmail -tf \"%s\" %s", filename, from, to);
- system(buf);
- unlink(filename);
-
-
- if (file) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Emailed file [%s] to [%s]\n", filename, to);
- } else {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Emailed data to [%s]\n", to);
- }
- return JS_TRUE;
- }
-
-
- return JS_FALSE;
-}
-
static JSFunctionSpec fs_functions[] = {
{"console_log", js_log, 2},
{"exit", js_exit, 0},
{"include", js_include, 1},
- {"email", js_email, 2},
{"bridge", js_bridge, 2},
{"apiExecute", js_api_execute, 2},
{"use", js_api_use, 1},
@@ -2475,3 +2367,14 @@
curl_global_cleanup();
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h Sun Dec 3 17:55:28 2006
@@ -50,7 +50,6 @@
#include "jsparse.h"
#include "jsscope.h"
#include "jsscript.h"
-#include <libteletone.h>
SWITCH_BEGIN_EXTERN_C
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c Sun Dec 3 17:55:28 2006
@@ -31,7 +31,7 @@
*/
#include "mod_spidermonkey.h"
-static const char modname[] = "DB";
+static const char modname[] = "CoreDB";
struct db_obj {
switch_memory_pool_t *pool;
@@ -148,10 +148,9 @@
{
struct db_obj *dbo = JS_GetPrivate(cx, obj);
*rval = BOOLEAN_TO_JSVAL( JS_FALSE );
-
- if (dbo->stmt) {
- int running = 1;
+ if (dbo->stmt) {
+ int running = 1;
while (running < 5000) {
int result = switch_core_db_step(dbo->stmt);
if (result == SQLITE_ROW) {
@@ -210,10 +209,9 @@
dbo->stmt = NULL;
}
- if (argc > 0) {
+ if (argc > 0) {
char *sql = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
-
- if(switch_core_db_prepare(dbo->db, sql, 0, &dbo->stmt, 0)) {
+ if(switch_core_db_prepare(dbo->db, sql, -1, &dbo->stmt, 0)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error %s\n", switch_core_db_errmsg(dbo->db));
} else {
*rval = BOOLEAN_TO_JSVAL( JS_TRUE );
@@ -266,18 +264,14 @@
}
JSClass db_class = {
- "DB", JSCLASS_HAS_PRIVATE,
+ modname, JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub, db_getProperty, JS_PropertyStub,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, db_destroy, NULL, NULL, NULL,
db_construct
};
-
-
-
-
-switch_status_t spidermonkey_load(JSContext *cx, JSObject *obj)
+switch_status_t db_load(JSContext *cx, JSObject *obj)
{
JS_InitClass(cx,
@@ -291,14 +285,13 @@
db_props,
db_methods
);
-
return SWITCH_STATUS_SUCCESS;
}
const sm_module_interface_t DB_module_interface = {
/*.name = */ modname,
- /*.spidermonkey_load*/ spidermonkey_load,
+ /*.spidermonkey_load*/ db_load,
/*.next*/ NULL
};
@@ -307,3 +300,14 @@
*module_interface = &DB_module_interface;
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c Sun Dec 3 17:55:28 2006
@@ -108,3 +108,14 @@
*module_interface = &skel_module_interface;
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c Sun Dec 3 17:55:28 2006
@@ -30,6 +30,7 @@
*
*/
#include "mod_spidermonkey.h"
+#include <libteletone.h>
static const char modname[] = "TeleTone";
@@ -357,7 +358,7 @@
};
-switch_status_t spidermonkey_load(JSContext *cx, JSObject *obj)
+switch_status_t teletone_load(JSContext *cx, JSObject *obj)
{
JS_InitClass(cx,
obj,
@@ -376,7 +377,7 @@
const sm_module_interface_t teletone_module_interface = {
/*.name = */ modname,
- /*.spidermonkey_load*/ spidermonkey_load,
+ /*.spidermonkey_load*/ teletone_load,
/*.next*/ NULL
};
@@ -385,3 +386,14 @@
*module_interface = &teletone_module_interface;
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/loggers/mod_console/mod_console.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/loggers/mod_console/mod_console.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/loggers/mod_console/mod_console.c Sun Dec 3 17:55:28 2006
@@ -158,3 +158,13 @@
return SWITCH_STATUS_SUCCESS;
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/loggers/mod_syslog/mod_syslog.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/loggers/mod_syslog/mod_syslog.c Sun Dec 3 17:55:28 2006
@@ -171,3 +171,13 @@
return SWITCH_STATUS_SUCCESS;
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c Sun Dec 3 17:55:28 2006
@@ -222,3 +222,14 @@
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c (original)
+++ freeswitch/branches/knhor/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Sun Dec 3 17:55:28 2006
@@ -349,3 +349,13 @@
return SWITCH_STATUS_SUCCESS;
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch.c Sun Dec 3 17:55:28 2006
@@ -309,3 +309,14 @@
return switch_core_destroy(vg);
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_buffer.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_buffer.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_buffer.c Sun Dec 3 17:55:28 2006
@@ -255,3 +255,14 @@
*buffer = NULL;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_caller.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_caller.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_caller.c Sun Dec 3 17:55:28 2006
@@ -248,3 +248,14 @@
}
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_channel.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_channel.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_channel.c Sun Dec 3 17:55:28 2006
@@ -108,20 +108,12 @@
uint32_t flags;
uint32_t state_flags;
switch_caller_profile_t *caller_profile;
- switch_caller_profile_t *originator_caller_profile;
- switch_caller_profile_t *originatee_caller_profile;
switch_caller_extension_t *caller_extension;
const switch_state_handler_table_t *state_handlers[SWITCH_MAX_STATE_HANDLERS];
int state_handler_index;
switch_hash_t *variables;
switch_hash_t *private_hash;
- switch_channel_timetable_t *times;
switch_call_cause_t hangup_cause;
- int freq;
- int bits;
- int channels;
- int ms;
- int kbps;
};
@@ -160,8 +152,16 @@
SWITCH_DECLARE(switch_channel_timetable_t *) switch_channel_get_timetable(switch_channel_t *channel)
{
+ switch_channel_timetable_t *times = NULL;
+
assert(channel != NULL);
- return channel->times;
+ if (channel->caller_profile) {
+ switch_mutex_lock(channel->profile_mutex);
+ times = channel->caller_profile->times;
+ switch_mutex_unlock(channel->profile_mutex);
+ }
+
+ return times;
}
SWITCH_DECLARE(switch_status_t) switch_channel_alloc(switch_channel_t **channel, switch_memory_pool_t *pool)
@@ -184,46 +184,6 @@
return SWITCH_STATUS_SUCCESS;
}
-SWITCH_DECLARE(switch_status_t) switch_channel_set_raw_mode(switch_channel_t *channel, int freq, int bits, int channels,
- int ms, int kbps)
-{
-
- assert(channel != NULL);
-
- channel->freq = freq;
- channel->bits = bits;
- channel->channels = channels;
- channel->ms = ms;
- channel->kbps = kbps;
-
-
- return SWITCH_STATUS_SUCCESS;
-}
-
-SWITCH_DECLARE(switch_status_t) switch_channel_get_raw_mode(switch_channel_t *channel, int *freq, int *bits, int *channels,
- int *ms, int *kbps)
-{
- if (freq) {
- *freq = channel->freq;
- }
- if (bits) {
- *bits = channel->bits;
- }
- if (channels) {
- *channels = channel->channels;
- }
- if (ms) {
- *ms = channel->ms;
- }
- if (kbps) {
- *kbps = channel->kbps;
- }
-
- return SWITCH_STATUS_SUCCESS;
-
-}
-
-
SWITCH_DECLARE(switch_size_t) switch_channel_has_dtmf(switch_channel_t *channel)
{
switch_size_t has;
@@ -306,7 +266,6 @@
channel->state = state;
channel->flags = flags;
channel->session = session;
- switch_channel_set_raw_mode(channel, 8000, 16, 1, 20, 8);
return SWITCH_STATUS_SUCCESS;
}
@@ -348,7 +307,7 @@
assert(channel != NULL);
if (!(v=switch_core_hash_find(channel->variables, varname))) {
- if (!(v = switch_caller_get_field_by_name(channel->caller_profile, varname))) {
+ if (!channel->caller_profile || !(v = switch_caller_get_field_by_name(channel->caller_profile, varname))) {
if (!strcmp(varname, "base_dir")) {
return SWITCH_GLOBAL_dirs.base_dir;
}
@@ -710,16 +669,17 @@
SWITCH_DECLARE(void) switch_channel_event_set_data(switch_channel_t *channel, switch_event_t *event)
{
- switch_caller_profile_t *caller_profile, *originator_caller_profile, *originatee_caller_profile;
+ switch_caller_profile_t *caller_profile, *originator_caller_profile = NULL, *originatee_caller_profile = NULL;
switch_hash_index_t *hi;
switch_codec_t *codec;
void *val;
const void *var;
char state_num[25];
- caller_profile = switch_channel_get_caller_profile(channel);
- originator_caller_profile = switch_channel_get_originator_caller_profile(channel);
- originatee_caller_profile = switch_channel_get_originatee_caller_profile(channel);
+ if ((caller_profile = switch_channel_get_caller_profile(channel))) {
+ originator_caller_profile = caller_profile->originator_caller_profile;
+ originatee_caller_profile = caller_profile->originatee_caller_profile;
+ }
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-State", (char *) switch_channel_state_name(channel->state));
snprintf(state_num, sizeof(state_num), "%d", channel->state);
@@ -767,11 +727,10 @@
SWITCH_DECLARE(void) switch_channel_set_caller_profile(switch_channel_t *channel, switch_caller_profile_t *caller_profile)
{
- switch_channel_timetable_t *times;
-
assert(channel != NULL);
assert(channel->session != NULL);
switch_mutex_lock(channel->profile_mutex);
+ assert(caller_profile != NULL);
if (!caller_profile->uuid) {
caller_profile->uuid = switch_core_session_strdup(channel->session, switch_core_session_get_uuid(channel->session));
@@ -793,13 +752,15 @@
switch_event_fire(&event);
}
}
-
- if ((times = (switch_channel_timetable_t *) switch_core_session_alloc(channel->session, sizeof(*times)))) {
- times->next = channel->times;
- channel->times = times;
- }
- channel->times->created = switch_time_now();
+
+ caller_profile->times = (switch_channel_timetable_t *) switch_core_session_alloc(channel->session, sizeof(*caller_profile->times));
+ caller_profile->times->created = switch_time_now();
+ if (channel->caller_profile && channel->caller_profile->times) {
+ channel->caller_profile->times->transferred = switch_time_now();
+ caller_profile->times->answered = channel->caller_profile->times->answered;
+ }
+
caller_profile->next = channel->caller_profile;
channel->caller_profile = caller_profile;
@@ -822,53 +783,61 @@
switch_caller_profile_t *caller_profile)
{
assert(channel != NULL);
- switch_mutex_lock(channel->profile_mutex);
- caller_profile->next = channel->originator_caller_profile;
- channel->originator_caller_profile = caller_profile;
- switch_mutex_unlock(channel->profile_mutex);
+ if (channel->caller_profile) {
+ switch_mutex_lock(channel->profile_mutex);
+ caller_profile->next = channel->caller_profile->originator_caller_profile;
+ channel->caller_profile->originator_caller_profile = caller_profile;
+ switch_mutex_unlock(channel->profile_mutex);
+ }
}
SWITCH_DECLARE(void) switch_channel_set_originatee_caller_profile(switch_channel_t *channel,
switch_caller_profile_t *caller_profile)
{
assert(channel != NULL);
- switch_mutex_lock(channel->profile_mutex);
- caller_profile->next = channel->originatee_caller_profile;
- channel->originatee_caller_profile = caller_profile;
- switch_mutex_unlock(channel->profile_mutex);
+ if (channel->caller_profile) {
+ switch_mutex_lock(channel->profile_mutex);
+ caller_profile->next = channel->caller_profile->originatee_caller_profile;
+ channel->caller_profile->originatee_caller_profile = caller_profile;
+ switch_mutex_unlock(channel->profile_mutex);
+ }
}
SWITCH_DECLARE(switch_caller_profile_t *) switch_channel_get_originator_caller_profile(switch_channel_t *channel)
{
- switch_caller_profile_t *profile;
+ switch_caller_profile_t *profile = NULL;
assert(channel != NULL);
- switch_mutex_lock(channel->profile_mutex);
- profile = channel->originator_caller_profile;
- switch_mutex_unlock(channel->profile_mutex);
+ if (channel->caller_profile) {
+ switch_mutex_lock(channel->profile_mutex);
+ profile = channel->caller_profile->originator_caller_profile;
+ switch_mutex_unlock(channel->profile_mutex);
+ }
return profile;
}
-SWITCH_DECLARE(char *) switch_channel_get_uuid(switch_channel_t *channel)
-{
- assert(channel != NULL);
- assert(channel->session != NULL);
- return switch_core_session_get_uuid(channel->session);
-}
-
SWITCH_DECLARE(switch_caller_profile_t *) switch_channel_get_originatee_caller_profile(switch_channel_t *channel)
{
- switch_caller_profile_t *profile;
+ switch_caller_profile_t *profile = NULL;
assert(channel != NULL);
- switch_mutex_lock(channel->profile_mutex);
- profile = channel->originatee_caller_profile;
- switch_mutex_unlock(channel->profile_mutex);
+ if (channel->caller_profile) {
+ switch_mutex_lock(channel->profile_mutex);
+ profile = channel->caller_profile->originatee_caller_profile;
+ switch_mutex_unlock(channel->profile_mutex);
+ }
return profile;
}
+SWITCH_DECLARE(char *) switch_channel_get_uuid(switch_channel_t *channel)
+{
+ assert(channel != NULL);
+ assert(channel->session != NULL);
+ return switch_core_session_get_uuid(channel->session);
+}
+
SWITCH_DECLARE(int) switch_channel_add_state_handler(switch_channel_t *channel,
const switch_state_handler_table_t *state_handler)
{
@@ -974,8 +943,10 @@
assert(channel != NULL);
switch_mutex_lock(channel->flag_mutex);
- if (channel->times && !channel->times->hungup) {
- channel->times->hungup = switch_time_now();
+ if (channel->caller_profile && channel->caller_profile->times && !channel->caller_profile->times->hungup) {
+ switch_mutex_lock(channel->profile_mutex);
+ channel->caller_profile->times->hungup = switch_time_now();
+ switch_mutex_unlock(channel->profile_mutex);
}
if (channel->state < CS_HANGUP) {
@@ -1096,7 +1067,12 @@
if (switch_core_session_answer_channel(channel->session) == SWITCH_STATUS_SUCCESS) {
switch_event_t *event;
- channel->times->answered = switch_time_now();
+ if (channel->caller_profile && channel->caller_profile->times) {
+ switch_mutex_lock(channel->profile_mutex);
+ channel->caller_profile->times->answered = switch_time_now();
+ switch_mutex_unlock(channel->profile_mutex);
+ }
+
switch_channel_set_flag(channel, CF_ANSWERED);
switch_log_printf(SWITCH_CHANNEL_ID_LOG, (char *) file, func, line, SWITCH_LOG_NOTICE, "Answer %s!\n", channel->name);
if (switch_event_create(&event, SWITCH_EVENT_CHANNEL_ANSWER) == SWITCH_STATUS_SUCCESS) {
@@ -1196,19 +1172,22 @@
return in;
}
}
- nlen = sub_val ? strlen(sub_val) : 0;
+ if ((nlen = sub_val ? strlen(sub_val) : 0)) {
+ if (len + nlen >= olen) {
+ char *dp;
+ olen += (len + nlen + block);
+ cpos = c - data;
+ if ((dp = realloc(data, olen))) {
+ data = dp;
+ c = data + cpos;
+ memset(c, 0, olen - cpos);
+ }
+ }
- if (len + nlen >= olen) {
- olen = (olen + len + nlen + block);
- cpos = c - data;
- data = realloc(data, olen);
- c = data + cpos;
- memset(c, 0, olen - cpos);
- }
- if (nlen) {
len += nlen;
strcat(c, sub_val);
c += nlen;
+
}
switch_safe_free(func_val);
@@ -1230,3 +1209,14 @@
free(indup);
return data;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_config.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_config.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_config.c Sun Dec 3 17:55:28 2006
@@ -205,3 +205,14 @@
return ret;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_console.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_console.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_console.c Sun Dec 3 17:55:28 2006
@@ -250,3 +250,14 @@
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_core.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_core.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_core.c Sun Dec 3 17:55:28 2006
@@ -2673,7 +2673,8 @@
}
while (switch_channel_get_state(session->channel) == CS_EXECUTE && extension->current_application) {
- char *expanded;
+ char *expanded = NULL;
+
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Execute %s(%s)\n",
extension->current_application->application_name,
extension->current_application->application_data);
@@ -2720,7 +2721,7 @@
application_interface->application_function(session, expanded);
if (expanded != extension->current_application->application_data) {
- free(expanded);
+ switch_safe_free(expanded);
}
extension->current_application = extension->current_application->next;
}
@@ -4187,3 +4188,14 @@
return SWITCH_STATUS_SUCCESS;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_event.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_event.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_event.c Sun Dec 3 17:55:28 2006
@@ -600,19 +600,52 @@
{
switch_size_t len = 0;
switch_event_header_t *hp;
- switch_size_t llen = 0, dlen = 0, blocksize = 512;
+ switch_size_t llen = 0, dlen = 0, blocksize = 512, encode_len = 1024;
char *buf;
+ char *encode_buf = NULL; /* used for url encoding of variables to make sure unsafe things stay out of the serialzed copy */
*str = NULL;
- if (!(buf = malloc(blocksize))) {
+ dlen = blocksize * 2;
+
+ if (!(buf = malloc(dlen))) {
return SWITCH_STATUS_MEMERR;
}
- dlen = blocksize;
+ /* go ahead and give ourselves some space to work with, should save a few reallocs */
+ if(!(encode_buf = malloc(encode_len))) {
+ return SWITCH_STATUS_MEMERR;
+ }
+ //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "hit serialze!.\n");
for (hp = event->headers; hp; hp = hp->next) {
- llen = strlen(hp->name) + strlen(hp->value) + 2;
+ /*
+ * grab enough memory to store 3x the string (url encode takes one char and turns it into %XX)
+ * so we could end up with a string that is 3 times the original's length, unlikely but rather
+ * be safe than destroy the string, also add one for the null. And try to be smart about using
+ * the memory, allocate and only reallocate if we need more. This avoids an alloc, free CPU
+ * destroying loop.
+ */
+ if(encode_len < ((strlen(hp->value) * 3) + 1)) {
+ char* tmp;
+ //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Allocing %d was %d.\n", ((strlen(hp->value) * 3) + 1), encode_len);
+ /* we can use realloc for initial alloc as well, if encode_buf is zero it treats it as a malloc */
+ if(!(tmp = realloc(encode_buf, ((strlen(hp->value) * 3) + 1)))) {
+ /* oh boy, ram's gone, give back what little we grabbed and bail */
+ switch_safe_free(buf);
+ return SWITCH_STATUS_MEMERR;
+ }
+
+ /* keep track of the size of our allocation */
+ encode_len = (strlen(hp->value) * 3) + 1;
+
+ encode_buf = tmp;
+ }
+
+ /* handle any bad things in the string like newlines : etc that screw up the serialized format */
+ switch_url_encode(hp->value, encode_buf, encode_len - 1);
+
+ llen = strlen(hp->name) + strlen(encode_buf) + 2;
if ((len + llen) > dlen) {
char *m;
@@ -620,15 +653,21 @@
if ((m = realloc(buf, dlen))) {
buf = m;
} else {
+ /* we seem to be out of memory trying to resize the serialize string, give back what we already have and give up */
switch_safe_free(buf);
+ switch_safe_free(encode_buf);
return SWITCH_STATUS_MEMERR;
}
}
- snprintf(buf + len, dlen - len, "%s: %s\n", hp->name, hp->value);
+ snprintf(buf + len, dlen - len, "%s: %s\n", hp->name, encode_buf);
len = strlen(buf);
+
}
+ /* we are done with the memory we used for encoding, give it back */
+ switch_safe_free(encode_buf);
+
if (event->body) {
int blen = (int) strlen(event->body);
llen = blen;
@@ -848,3 +887,14 @@
return SWITCH_STATUS_MEMERR;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_ivr.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_ivr.c Sun Dec 3 17:55:28 2006
@@ -26,6 +26,7 @@
* Anthony Minessale II <anthmct at yahoo.com>
* Paul D. Tinsley <pdt at jackhammer.org>
* Neal Horman <neal at wanlink dot com>
+ * Matt Klein <mklein at nmedia.net>
*
* switch_ivr.c -- IVR Library
*
@@ -136,7 +137,7 @@
switch_status_t status = SWITCH_STATUS_SUCCESS;
switch_channel_t *channel;
switch_frame_t *frame;
- int stream_id;
+ int stream_id = 0;
switch_event_t *event;
channel = switch_core_session_get_channel(session);
@@ -151,19 +152,18 @@
switch_channel_set_flag(channel, CF_CONTROLLED);
while (switch_channel_ready(channel)) {
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- if ((status = switch_core_session_read_frame(session, &frame, -1, stream_id)) == SWITCH_STATUS_SUCCESS) {
- if (!SWITCH_READ_ACCEPTABLE(status)) {
- break;
- }
-
- if (switch_core_session_dequeue_private_event(session, &event) == SWITCH_STATUS_SUCCESS) {
- switch_ivr_parse_event(session, event);
- switch_event_destroy(&event);
- }
-
- }
- }
+
+ if ((status = switch_core_session_read_frame(session, &frame, -1, stream_id)) == SWITCH_STATUS_SUCCESS) {
+ if (!SWITCH_READ_ACCEPTABLE(status)) {
+ break;
+ }
+
+ if (switch_core_session_dequeue_private_event(session, &event) == SWITCH_STATUS_SUCCESS) {
+ switch_ivr_parse_event(session, event);
+ switch_event_destroy(&event);
+ }
+ }
+
}
switch_channel_clear_flag(channel, CF_CONTROLLED);
@@ -327,11 +327,12 @@
SWITCH_DECLARE(switch_status_t) switch_ivr_record_file(switch_core_session_t *session,
- switch_file_handle_t *fh,
- char *file,
- switch_input_callback_function_t input_callback,
- void *buf,
- uint32_t buflen)
+ switch_file_handle_t *fh,
+ char *file,
+ switch_input_callback_function_t input_callback,
+ void *buf,
+ uint32_t buflen,
+ uint32_t limit)
{
switch_channel_t *channel;
char dtmf[128];
@@ -342,6 +343,7 @@
switch_status_t status = SWITCH_STATUS_SUCCESS;
char *p;
const char *vval;
+ time_t start = 0;
if (!fh) {
fh = &lfh;
@@ -424,17 +426,29 @@
return SWITCH_STATUS_GENERR;
}
+ if (limit) {
+ start = time(NULL);
+ }
+ if (fh->thresh) {
+ if (!fh->silence_hits) {
+ fh->silence_hits = 20;
+ }
+ }
+
while(switch_channel_ready(channel)) {
switch_size_t len;
switch_event_t *event;
-
- if (switch_core_session_dequeue_private_event(session, &event) == SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_dequeue_private_event(session, &event) == SWITCH_STATUS_SUCCESS) {
switch_ivr_parse_event(session, event);
switch_event_destroy(&event);
}
+ if (start && (time(NULL) - start) > limit) {
+ break;
+ }
+
if (input_callback || buf || buflen) {
/*
dtmf handler function you can hook up to be executed when a digit is dialed during playback
@@ -471,6 +485,26 @@
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
+
+ if (fh->thresh) {
+ int16_t *fdata = (int16_t *) read_frame->data;
+ uint32_t samples = read_frame->datalen / sizeof(*fdata);
+ uint32_t score, count = 0, j = 0;
+ double energy = 0;
+
+ for (count = 0; count < samples; count++) {
+ energy += abs(fdata[j]);
+ j += read_codec->implementation->number_of_channels;
+ }
+
+ score = (uint32_t)(energy / samples);
+ if (score < fh->thresh) {
+ if (!--fh->silence_hits) {
+ break;
+ }
+ }
+ }
+
if (!switch_test_flag(fh, SWITCH_FILE_PAUSE)) {
len = (switch_size_t) read_frame->datalen / 2;
switch_core_file_write(fh, read_frame->data, &len);
@@ -924,7 +958,7 @@
switch_channel_t *channel;
int16_t abuf[FILE_STARTSAMPLES];
char dtmf[128];
- uint32_t interval = 0, samples = 0, framelen;
+ uint32_t interval = 0, samples = 0, framelen, sample_start = 0;
uint32_t ilen = 0;
switch_size_t olen = 0;
switch_frame_t write_frame = {0};
@@ -933,7 +967,7 @@
switch_codec_t codec;
switch_memory_pool_t *pool = switch_core_session_get_pool(session);
char *codec_name;
- int stream_id;
+ int stream_id = 0;
switch_status_t status = SWITCH_STATUS_SUCCESS;
switch_file_handle_t lfh;
switch_codec_t *read_codec = switch_core_session_get_read_codec(session);
@@ -962,6 +996,13 @@
memset(fh, 0, sizeof(lfh));
}
+
+ if (fh->samples > 0) {
+ sample_start = fh->samples;
+ fh->samples = 0;
+ }
+
+
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
@@ -977,6 +1018,10 @@
write_frame.data = abuf;
write_frame.buflen = sizeof(abuf);
+ if (sample_start > 0) {
+ uint32_t pos = 0;
+ switch_core_file_seek(fh, &pos, sample_start, SEEK_CUR);
+ }
if (switch_core_file_get_string(fh, SWITCH_AUDIO_COL_STR_TITLE, &p) == SWITCH_STATUS_SUCCESS) {
title = (char *) switch_core_session_strdup(session, (char *)p);
@@ -1218,21 +1263,23 @@
if (!asis) {switch_swap_linear(write_frame.data, (int) write_frame.datalen / 2);}
#endif
#endif
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- status = switch_core_session_write_frame(session, &write_frame, -1, stream_id);
+ stream_id = 0;
- if (status == SWITCH_STATUS_MORE_DATA) {
- status = SWITCH_STATUS_SUCCESS;
- continue;
- } else if (status != SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Bad Write\n");
- done = 1;
- break;
- }
- if (done) {
- break;
- }
- }
+ status = switch_core_session_write_frame(session, &write_frame, -1, stream_id);
+
+ if (status == SWITCH_STATUS_MORE_DATA) {
+ status = SWITCH_STATUS_SUCCESS;
+ continue;
+ } else if (status != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Bad Write\n");
+ done = 1;
+ break;
+ }
+
+ if (done) {
+ break;
+ }
+
if (timer_name) {
if (switch_core_timer_next(&timer) < 0) {
@@ -1446,7 +1493,7 @@
switch_size_t ilen = 0;
switch_frame_t write_frame = {0};
int x;
- int stream_id;
+ int stream_id = 0;
int done = 0;
int lead_in_out = 10;
switch_status_t status = SWITCH_STATUS_SUCCESS;
@@ -1481,13 +1528,11 @@
write_frame.codec = codec;
for( x = 0; !done && x < lead_in_out; x++) {
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Bad Write\n");
- done = 1;
- break;
- }
- }
+ if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Bad Write\n");
+ done = 1;
+ break;
+ }
}
ilen = len;
@@ -1565,13 +1610,11 @@
if (status != SWITCH_STATUS_SUCCESS) {
for( x = 0; !done && x < lead_in_out; x++) {
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Bad Write\n");
- done = 1;
- break;
- }
- }
+ if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Bad Write\n");
+ done = 1;
+ break;
+ }
}
if (status == SWITCH_STATUS_BREAK) {
status = SWITCH_STATUS_SUCCESS;
@@ -1586,17 +1629,15 @@
write_frame.datalen = (uint32_t)ilen;
write_frame.samples = (uint32_t)(ilen / 2);
- for (stream_id = 0; stream_id < switch_core_session_get_stream_count(session); stream_id++) {
- if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Bad Write\n");
- done = 1;
- break;
- }
+ if (switch_core_session_write_frame(session, &write_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Bad Write\n");
+ done = 1;
+ break;
+ }
- if (done) {
- break;
- }
- }
+ if (done) {
+ break;
+ }
if (timer) {
if ((x = switch_core_timer_next(timer)) < 0) {
@@ -1645,7 +1686,7 @@
switch_codec_t codec;
switch_memory_pool_t *pool = switch_core_session_get_pool(session);
char *codec_name;
- int stream_id;
+ int stream_id = 0;
switch_status_t status = SWITCH_STATUS_SUCCESS;
switch_speech_handle_t sh;
switch_speech_flag_t flags = SWITCH_SPEECH_FLAG_NONE;
@@ -1841,6 +1882,8 @@
switch_core_session_receive_message(session_a, message);
if (switch_test_flag(message, SCSMF_DYNAMIC)) {
switch_safe_free(message);
+ } else {
+ message = NULL;
}
}
@@ -2154,7 +2197,8 @@
uint32_t len,
int32_t *idx,
char *file,
- char *key)
+ char *key,
+ char *ringback_data)
{
uint32_t i;
@@ -2167,7 +2211,8 @@
}
if (switch_channel_get_state(peer_channels[i]) >= CS_HANGUP) {
hups++;
- } else if ((switch_channel_test_flag(peer_channels[i], CF_ANSWERED) || (len == 1 && switch_channel_test_flag(peer_channels[0], CF_EARLY_MEDIA))) &&
+ } else if ((switch_channel_test_flag(peer_channels[i], CF_ANSWERED) ||
+ (!ringback_data && len == 1 && switch_channel_test_flag(peer_channels[0], CF_EARLY_MEDIA))) &&
!switch_channel_test_flag(peer_channels[i], CF_TAGGED)) {
if (key) {
@@ -2264,6 +2309,7 @@
char *ringback_data = NULL;
switch_codec_t *read_codec = NULL;
uint8_t sent_ring = 0;
+ switch_core_session_message_t *message = NULL;
write_frame.data = fdata;
@@ -2434,13 +2480,15 @@
peer_sessions[i] = NULL;
continue;
}
-
+
switch_core_session_read_lock(peer_sessions[i]);
pool = NULL;
peer_channels[i] = switch_core_session_get_channel(peer_sessions[i]);
assert(peer_channels[i] != NULL);
-
+
+ //switch_channel_set_flag(peer_channels[i], CF_NO_INDICATE);
+
if (table == &noop_state_handler) {
table = NULL;
} else if (!table) {
@@ -2499,7 +2547,7 @@
switch_channel_pre_answer(caller_channel);
}
- if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
+ if (session && (ringback_data || !switch_channel_test_flag(caller_channel, CF_NOMEDIA))) {
read_codec = switch_core_session_get_read_codec(session);
assert(read_codec != NULL);
@@ -2525,6 +2573,7 @@
if (ringback_data) {
char *tmp_data = NULL;
+
switch_buffer_create_dynamic(&ringback.audio_buffer, 512, 1024, 0);
switch_buffer_create_dynamic(&ringback.loop_buffer, 512, 1024, 0);
@@ -2579,33 +2628,36 @@
}
}
}
-
+
while ((!caller_channel || switch_channel_ready(caller_channel)) &&
- check_channel_status(peer_channels, peer_sessions, and_argc, &idx, file, key)) {
+ check_channel_status(peer_channels, peer_sessions, and_argc, &idx, file, key, ringback_data)) {
if ((to = (uint8_t)((time(NULL) - start) >= (time_t)timelimit_sec))) {
idx = IDX_CANCEL;
goto notready;
}
- if (session && or_argc == 1 && and_argc == 1) { /* when there is only 1 channel to call and bridge */
- switch_core_session_message_t *message = NULL;
- if (switch_core_session_dequeue_message(peer_sessions[0], &message) == SWITCH_STATUS_SUCCESS) {
+ if (switch_core_session_dequeue_message(peer_sessions[0], &message) == SWITCH_STATUS_SUCCESS) {
+ if (session && !ringback_data && or_argc == 1 && and_argc == 1) { /* when there is only 1 channel to call and bridge and no ringback */
switch_core_session_receive_message(session, message);
- if (switch_test_flag(message, SCSMF_DYNAMIC)) {
- switch_safe_free(message);
- }
}
+
+ if (switch_test_flag(message, SCSMF_DYNAMIC)) {
+ switch_safe_free(message);
+ } else {
+ message = NULL;
+ }
}
/* read from the channel while we wait if the audio is up on it */
- if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA) &&
+ if (session && (ringback_data || !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) &&
(switch_channel_test_flag(caller_channel, CF_ANSWERED) || switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA))) {
switch_status_t status = switch_core_session_read_frame(session, &read_frame, 1000, 0);
if (!SWITCH_READ_ACCEPTABLE(status)) {
break;
}
+
if (read_frame && !pass && !switch_test_flag(read_frame, SFF_CNG) && read_frame->datalen > 1) {
if (ringback.fh) {
uint8_t abuf[1024];
@@ -2649,7 +2701,8 @@
break;
}
}
- }
+ }
+
if (switch_core_session_write_frame(session, &write_frame, 1000, 0) != SWITCH_STATUS_SUCCESS) {
break;
}
@@ -2670,7 +2723,7 @@
idx = IDX_CANCEL;
}
- if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) {
+ if (session && (ringback_data || !switch_channel_test_flag(caller_channel, CF_NOMEDIA))) {
switch_core_session_reset(session);
}
@@ -3077,8 +3130,6 @@
/*.on_hibernate*/ signal_bridge_on_hibernate
};
-
-
SWITCH_DECLARE(switch_status_t) switch_ivr_signal_bridge(switch_core_session_t *session, switch_core_session_t *peer_session)
{
switch_channel_t *caller_channel, *peer_channel;
@@ -3266,9 +3317,15 @@
switch_channel_get_name(peer_channel)
);
switch_channel_hangup(peer_channel, SWITCH_CAUSE_NO_ANSWER);
- }
+ }
done:
+
+ if (switch_channel_get_state(caller_channel) < CS_HANGUP &&
+ switch_true(switch_channel_get_variable(caller_channel, SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE))) {
+ switch_channel_hangup(caller_channel, SWITCH_CAUSE_NORMAL_CLEARING);
+ }
+
return status;
}
@@ -4230,3 +4287,14 @@
return status;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_loadable_module.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_loadable_module.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_loadable_module.c Sun Dec 3 17:55:28 2006
@@ -380,7 +380,12 @@
snprintf(path, len, "%s%s%s%s", dir, SWITCH_PATH_SEPARATOR, file, ext);
}
}
-
+
+ if (switch_core_hash_find(loadable_modules.module_hash, file)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Module %s Already Loaded!\n", file);
+ return SWITCH_STATUS_FALSE;
+ }
+
if ((status = switch_loadable_module_load_file(path, &new_module) == SWITCH_STATUS_SUCCESS)) {
return switch_loadable_module_process((char *) file, new_module);
} else {
@@ -800,3 +805,14 @@
return status;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_log.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_log.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_log.c Sun Dec 3 17:55:28 2006
@@ -287,3 +287,13 @@
return SWITCH_STATUS_SUCCESS;
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_resample.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_resample.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_resample.c Sun Dec 3 17:55:28 2006
@@ -216,3 +216,13 @@
}
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_rtp.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_rtp.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_rtp.c Sun Dec 3 17:55:28 2006
@@ -1429,3 +1429,14 @@
{
return rtp_session->private_data;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_stun.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_stun.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_stun.c Sun Dec 3 17:55:28 2006
@@ -370,3 +370,14 @@
return SWITCH_STATUS_FALSE;
}
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_swig.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_swig.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_swig.c Sun Dec 3 17:55:28 2006
@@ -88,17 +88,17 @@
void fs_consol_log(char *level_str, char *msg)
{
- switch_log_level_t level = SWITCH_LOG_DEBUG;
- if (level_str) {
- level = switch_log_str2level(level_str);
+ switch_log_level_t level = SWITCH_LOG_DEBUG;
+ if (level_str) {
+ level = switch_log_str2level(level_str);
}
- switch_log_printf(SWITCH_CHANNEL_LOG, level, msg);
+ switch_log_printf(SWITCH_CHANNEL_LOG, level, msg);
}
void fs_consol_clean(char *msg)
{
- switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_DEBUG, msg);
+ switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_DEBUG, msg);
}
switch_core_session_t *fs_core_session_locate(char *uuid)
@@ -154,7 +154,7 @@
/*
-IVR Routines! You can do IVR in PHP NOW!
+ IVR Routines! You can do IVR in PHP NOW!
*/
int fs_ivr_play_file(switch_core_session_t *session,
@@ -174,20 +174,22 @@
}
int fs_switch_ivr_record_file(switch_core_session_t *session,
- switch_file_handle_t *fh,
- char *file,
- switch_input_callback_function_t dtmf_callback,
- void *buf,
- unsigned int buflen)
+ switch_file_handle_t *fh,
+ char *file,
+ switch_input_callback_function_t dtmf_callback,
+ void *buf,
+ unsigned int buflen,
+ unsigned int limit
+ )
{
switch_status_t status;
- status = switch_ivr_record_file(session, fh, file, dtmf_callback, buf, buflen);
- return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
+ status = switch_ivr_record_file(session, fh, file, dtmf_callback, buf, buflen, limit);
+ return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
}
int fs_switch_ivr_sleep(switch_core_session_t *session,
- uint32_t ms)
+ uint32_t ms)
{
switch_status_t status;
status = switch_ivr_sleep(session, ms);
@@ -211,98 +213,98 @@
unsigned int buflen,
unsigned int timeout)
{
- switch_status_t status;
+ switch_status_t status;
- status = switch_ivr_collect_digits_callback(session, dtmf_callback, buf, buflen, timeout);
- return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
+ status = switch_ivr_collect_digits_callback(session, dtmf_callback, buf, buflen, timeout);
+ return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
}
int fs_switch_ivr_collect_digits_count (switch_core_session_t *session,
- char *buf,
- unsigned int buflen,
- unsigned int maxdigits,
- const char *terminators,
- char *terminator,
- unsigned int timeout)
+ char *buf,
+ unsigned int buflen,
+ unsigned int maxdigits,
+ const char *terminators,
+ char *terminator,
+ unsigned int timeout)
{
- switch_status_t status;
+ switch_status_t status;
- status = switch_ivr_collect_digits_count(session, buf, buflen, maxdigits, terminators, terminator, timeout);
- return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
+ status = switch_ivr_collect_digits_count(session, buf, buflen, maxdigits, terminators, terminator, timeout);
+ return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
}
/*int fs_switch_ivr_multi_threaded_bridge (switch_core_session_t *session,
- switch_core_session_t *peer_session,
- switch_input_callback_function_t dtmf_callback,
- void *session_data,
- void *peer_session_data)
-{
- switch_status_t status;
+ switch_core_session_t *peer_session,
+ switch_input_callback_function_t dtmf_callback,
+ void *session_data,
+ void *peer_session_data)
+ {
+ switch_status_t status;
- status = switch_ivr_multi_threaded_bridge(session, peer_session, dtmf_callback, session_data, peer_session_data);
- return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
-}
+ status = switch_ivr_multi_threaded_bridge(session, peer_session, dtmf_callback, session_data, peer_session_data);
+ return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
+ }
*/
int fs_switch_ivr_originate (switch_core_session_t *session,
- switch_core_session_t **bleg,
- char * bridgeto,
- uint32_t timelimit_sec)
- /*const switch_state_handler_table_t *table,
- char * cid_name_override,
- char * cid_num_override,
- switch_caller_profile_t *caller_profile_override) */
+ switch_core_session_t **bleg,
+ char * bridgeto,
+ uint32_t timelimit_sec)
+/*const switch_state_handler_table_t *table,
+ char * cid_name_override,
+ char * cid_num_override,
+ switch_caller_profile_t *caller_profile_override) */
{
- switch_channel_t *caller_channel;
- switch_core_session_t *peer_session;
- unsigned int timelimit = 60;
- char *var;
- switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING;
+ switch_channel_t *caller_channel;
+ switch_core_session_t *peer_session;
+ unsigned int timelimit = 60;
+ char *var;
+ switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING;
- caller_channel = switch_core_session_get_channel(session);
- assert(caller_channel != NULL);
+ caller_channel = switch_core_session_get_channel(session);
+ assert(caller_channel != NULL);
- if ((var = switch_channel_get_variable(caller_channel, "call_timeout"))) {
- timelimit = atoi(var);
- }
+ if ((var = switch_channel_get_variable(caller_channel, "call_timeout"))) {
+ timelimit = atoi(var);
+ }
- if (switch_ivr_originate(session, &peer_session, &cause, bridgeto, timelimit, NULL, NULL, NULL, NULL) != SWITCH_STATUS_SUCCESS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel!\n");
- switch_channel_hangup(caller_channel, SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL);
- return;
- } else {
- switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL);
- }
+ if (switch_ivr_originate(session, &peer_session, &cause, bridgeto, timelimit, NULL, NULL, NULL, NULL) != SWITCH_STATUS_SUCCESS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel!\n");
+ switch_channel_hangup(caller_channel, SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL);
+ return;
+ } else {
+ switch_ivr_multi_threaded_bridge(session, peer_session, NULL, NULL, NULL);
+ }
}
int fs_switch_ivr_session_transfer(switch_core_session_t *session,
- char *extension,
- char *dialplan,
- char *context)
+ char *extension,
+ char *dialplan,
+ char *context)
{
- switch_status_t status;
+ switch_status_t status;
- status = switch_ivr_session_transfer(session,extension,dialplan,context);
- return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
+ status = switch_ivr_session_transfer(session,extension,dialplan,context);
+ return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
}
int fs_switch_ivr_speak_text (switch_core_session_t *session,
- char *tts_name,
- char *voice_name,
- char *timer_name,
- uint32_t rate,
- switch_input_callback_function_t dtmf_callback,
- char *text,
- void *buf,
- unsigned int buflen)
+ char *tts_name,
+ char *voice_name,
+ char *timer_name,
+ uint32_t rate,
+ switch_input_callback_function_t dtmf_callback,
+ char *text,
+ void *buf,
+ unsigned int buflen)
{
- switch_status_t status;
+ switch_status_t status;
- status = switch_ivr_speak_text(session,tts_name,voice_name,timer_name,rate,dtmf_callback,text,buf,buflen);
- return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
+ status = switch_ivr_speak_text(session,tts_name,voice_name,timer_name,rate,dtmf_callback,text,buf,buflen);
+ return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
}
@@ -320,9 +322,19 @@
int fs_switch_channel_set_variable(switch_channel_t *channel, char *varname, char *value)
{
- switch_status_t status;
+ switch_status_t status;
- status = switch_channel_set_variable(channel, varname, value);
- return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
+ status = switch_channel_set_variable(channel, varname, value);
+ return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
}
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_utils.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_utils.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_utils.c Sun Dec 3 17:55:28 2006
@@ -35,6 +35,92 @@
#include <stdlib.h>
+
+SWITCH_DECLARE(int) switch_perform_regex(char *field, char *expression, pcre **new_re, int *ovector, uint32_t olen)
+{
+ const char *error = NULL;
+ int erroffset = 0;
+ pcre *re = NULL;
+ int match_count = 0;
+
+ if (!(field && expression)) {
+ return 0;
+ }
+
+ re = pcre_compile(expression, /* the pattern */
+ 0, /* default options */
+ &error, /* for error message */
+ &erroffset, /* for error offset */
+ NULL); /* use default character tables */
+ if (error) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "COMPILE ERROR: %d [%s]\n", erroffset, error);
+ switch_clean_re(re);
+ return 0;
+ }
+
+ match_count = pcre_exec(re, /* result of pcre_compile() */
+ NULL, /* we didn't study the pattern */
+ field, /* the subject string */
+ (int) strlen(field), /* the length of the subject string */
+ 0, /* start at offset 0 in the subject */
+ 0, /* default options */
+ ovector, /* vector of integers for substring information */
+ olen); /* number of elements (NOT size in bytes) */
+
+ if (match_count <= 0) {
+ switch_clean_re(re);
+ match_count = 0;
+ }
+
+ *new_re = re;
+
+ return match_count;
+}
+
+
+SWITCH_DECLARE(void) switch_perform_substitution(pcre *re, int match_count, char *data, char *field_data, char *substituted, uint32_t len, int *ovector)
+{
+ char index[10] = "";
+ char replace[1024] = "";
+ uint32_t x, y = 0, z = 0, num = 0;
+
+ for (x = 0; x < (len-1) && x < strlen(data);) {
+ if (data[x] == '$') {
+ x++;
+
+ if (!(data[x] > 47 && data[x] < 58)) {
+ substituted[y++] = data[x-1];
+ continue;
+ }
+
+ while (data[x] > 47 && data[x] < 58) {
+ index[z++] = data[x];
+ x++;
+ }
+ index[z++] = '\0';
+ z = 0;
+ num = atoi(index);
+
+ if (pcre_copy_substring(field_data,
+ ovector,
+ match_count,
+ num,
+ replace,
+ sizeof(replace)) > 0) {
+ unsigned int r;
+ for (r = 0; r < strlen(replace); r++) {
+ substituted[y++] = replace[r];
+ }
+ }
+ } else {
+ substituted[y++] = data[x];
+ x++;
+ }
+ }
+ substituted[y++] = '\0';
+}
+
+
SWITCH_DECLARE(char *) switch_priority_name(switch_priority_t priority)
{
switch(priority) { /*lol*/
@@ -297,7 +383,7 @@
{
char *p;
size_t x = 0;
- const char urlunsafe[] = " \"#%&+:;<=>?@[\\]^`{|}";
+ const char urlunsafe[] = "\r\n \"#%&+:;<=>?@[\\]^`{|}";
const char hex[] = "0123456789ABCDEF";
memset(buf, 0, len);
@@ -347,3 +433,14 @@
apr_socket_opt_set(NULL, 0, 0);
}
#endif
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/src/switch_xml.c
==============================================================================
--- freeswitch/branches/knhor/trunk/src/switch_xml.c (original)
+++ freeswitch/branches/knhor/trunk/src/switch_xml.c Sun Dec 3 17:55:28 2006
@@ -1336,4 +1336,13 @@
switch_xml_free(xml);
}
-
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:nil
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ */
Modified: freeswitch/branches/knhor/trunk/support/freeswitch.pub
==============================================================================
--- freeswitch/branches/knhor/trunk/support/freeswitch.pub (original)
+++ freeswitch/branches/knhor/trunk/support/freeswitch.pub Sun Dec 3 17:55:28 2006
@@ -1 +1 @@
-ssh-dss AAAAB3NzaC1kc3MAAAEBAOWKsqPrtDlTVwuZa2GnGR9iTqPGI5dfHRwiJ33WVUIz5LdwqwDPQ1799cF1282YCL6eH55EXODUNskMWdmCe4lqFbW35aCepOL917p7oaf8KchWA5KRNyySlydr2WS51jNpZ47yICrf51nuBgmKchTh0AuBB50PcVff0SOvTuhTAdDdId6gsELdzLHDb+uSPdV77puQRhk7E5t1gy5y3Kfdz5SznCd+FLocYdliWSkduq04B6vZKc1fGkdu4zOfXy7dLp3ISj9Ci3AEqTnB7Ov9xpx5rkhbLDNmkac480IYdMw1M1JHRdK56uAzZgcwOetrN6K/6faBgKcPHDE2SwMAAAAVAN+ipXk7qhjA2SF20p02ZNrcEXujAAABAQDOwfZ22lfjnwkxgIgZjjdIAX0711e30UMyjQvCl2eKaLFharVMyzMFKER1hdjkd2UiU/rKgTKf/9qh8a6gqzaY5O19ZenXlPvVmgLLmwk21vGGrvXEVlacv18JdrkBharZbIrWx+TnxL0iJ7mKtxfafAJRpUMW+Jt9cklAVKOWAnLbXHZisbGamzjUnEfZrsdJl90MQ+3by2htBSdv3lVEXIuqw0duWNj23mW9BN2l3U6uumDFVjNSxf6apppekeprzXn1NXbPTgXp50ejGYnZWm0/sq1zB7ENMnsvpthrxTSeckTDkNVaoV+klJuMDUt1RTSxZQQS776+CcOIxXb5AAABAQCoa7+B2WPk/tToNoI9exb7UVmBYVmdWyIG+9q4apI1AA4VRz2HGqK233qe38VHsDjE8G7chXJrlu9RVHIvRVgZYjtBkLgPBPhcOFrrW/1TjrYLbIVJp/2fIHAZP41pbofwP/Mw8rgmoftWDMh4nx7zEYdGwxz9azgQWPKpPGf0SxLWaIjFqKsB2CFp/uAuMD6+g8LEf30hJ+tCsY4VY0zGGq8Ivofflqt1ZW/1g3AhZSH8DGp1hfOt3o3ZqPd7xg0T1RK+IHgy4FK2np1S7eavPw7fZ6L7QbYIJC5zoCq9IshmrGfSebkUH1XgSUdmDNdFXxHEueej9P79VpKDPtnW FreeSWITCH Public SSH Key
+ssh-dss AAAAB3NzaC1kc3MAAAEBALai7vFlKP9jcy8tb/UTvCvVUN5rCiPTux8vjaWY3uZAbGvfeKtbRLeSI1LGkujh/WRJTZdgRYyHaB0SqnR0Ifesw+bD0n4vhH64inESSVaCmgKaAblBiDloVxZNIa6KMzmCXoXLogSHD6FD/r1/LBvRV3Fsk7YwATltMzwug2tZxeKQBaRbsSYtwKR/7KdIlN9R3ieXaesEjvYgxcp/6UN8VOqqgxi6uHnBSYFhpOOXqFAm1Q92eC3NBtxD6KBjWzJmI4WgLTrVLXfUkVmWqkLtKLovpj4oMtM1pGk8rmb1N+vkB57utqpPqrQdgqMUMvPCufb7shHfwoA755yw/1MAAAAVAOCIbu71sK9dCY6sBPZEvDzIpvkjAAABAQCcGCIjWd+0U5LwYIRZjpicsWgetIvd0vTJ6/6mZwfEpB64IV3yqMOlzA/oOTjCHErs2insz0l6FqAVSp2BbQMD13ZULTuhb8G0Rlh2kwXJvFx+JVsJ+j1SMOJPaLp6ZN1xTQXJ3j+fmvLAzd3cPE/XHWOuvvCCmKV2sIA+nti6gR8WcqTyWrbWuooVBMRwTkajS7qZfwVZxtIvVvAh3FF9DtDfrECLMJ0dOg5W0aTtwqRIsL2f1QMI0pXQqrr+v6rQ+ml7L6fvcJQ1zXqk+zCqKBexG98q3p3MQfNEwusQuQ7WtK31crCPryTMjCo0rHbvo3akJEEraeSQLl1PBNP5AAABAA29RnQ6Yt/DaTq8F057IzI6dX2JSbUaAr26qXV05F6Tsm18PsBaTSaur/FSlGf5DovXwMGvWCg1aZpdOd6fAsrcFXomNH/lHaEqr55qn5zKEsImUD7+gmZl32syLPZLa+qTwARqAqk6WAK3j+6Q/QxsAJpLjmKwvvUMWFLbDWjYEWdUSvaBWACBop0qd6Xy1VVu28EYZeZAAiGKg93P1K3a0Ji0gUS+C+zZ/JwMtRQZXQXgiAOooawechf/SDuSnszrANQlk/2T+uQrN87HJrvLlx+p9TIGfu9NrcAPDsdAbKPZOwEaz+WniccMqGNha0wcSYXLSa1EHCyB3Y80FDM= FreeSWITCH Public SSH Key
More information about the Freeswitch-branches
mailing list