[Freeswitch-branches] [commit] r10916 - in freeswitch/branches/gmaruzz: . build conf conf/autoload_configs conf/dialplan conf/dialplan/default conf/sip_profiles docs/phrase libs/codec/ilbc/src libs/esl libs/esl/src libs/esl/src/include libs/js/nsprpub libs/libg722_1/src libs/pcre libs/sofia-sip libs/sofia-sip/docs libs/sofia-sip/libsofia-sip-ua libs/sofia-sip/libsofia-sip-ua-glib libs/sofia-sip/libsofia-sip-ua-glib/su-glib libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip libs/sofia-sip/libsofia-sip-ua/bnf libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip libs/sofia-sip/libsofia-sip-ua/docs libs/sofia-sip/libsofia-sip-ua/features libs/sofia-sip/libsofia-sip-ua/http libs/sofia-sip/libsofia-sip-ua/http/sofia-sip libs/sofia-sip/libsofia-sip-ua/ipt libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip libs/sofia-sip/libsofia-sip-ua/iptsec libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip libs/sofia-sip/libsofia-sip-ua/msg libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip libs/sofia-sip/libsofia-sip-ua/nea libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip libs/sofia-sip/libsofia-sip-ua/nta libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip libs/sofia-sip/libsofia-sip-ua/nth libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip libs/sofia-sip/libsofia-sip-ua/nua libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip libs/sofia-sip/libsofia-sip-ua/sdp libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip libs/sofia-sip/libsofia-sip-ua/sip libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip libs/sofia-sip/libsofia-sip-ua/soa libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip libs/sofia-sip/libsofia-sip-ua/sresolv libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-sip libs/sofia-sip/libsofia-sip-ua/stun libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip libs/sofia-sip/libsofia-sip-ua/su libs/sofia-sip/libsofia-sip-ua/su/sofia-sip libs/sofia-sip/libsofia-sip-ua/tport libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip libs/sofia-sip/libsofia-sip-ua/url libs/sofia-sip/libsofia-sip-ua/url/sofia-sip libs/sofia-sip/m4 libs/sofia-sip/open_c libs/sofia-sip/packages libs/sofia-sip/rules libs/sofia-sip/scripts libs/sofia-sip/tests libs/sofia-sip/utils libs/sofia-sip/win32 libs/sofia-sip/win32/libsofia-sip-ua libs/sofia-sip/win32/sofia-sip libs/win32/libg722_1 libs/win32/libshout libs/win32/mpg123 libs/xmlrpc-c/Windows libs/xmlrpc-c/lib/abyss/src scripts/aadir scripts/s25vmail scripts/socket/FreeSWITCH src src/include src/mod/applications/mod_commands src/mod/applications/mod_conference src/mod/applications/mod_expr src/mod/applications/mod_http src/mod/applications/mod_limit src/mod/applications/mod_vmd src/mod/applications/mod_voicemail src/mod/codecs/mod_amr src/mod/codecs/mod_celt src/mod/codecs/mod_g729 src/mod/codecs/mod_siren src/mod/codecs/mod_voipcodecs src/mod/directories/mod_ldap src/mod/endpoints/mod_opal src/mod/endpoints/mod_sofia src/mod/event_handlers/mod_event_socket src/mod/event_handlers/mod_radius_cdr src/mod/formats/mod_local_stream src/mod/formats/mod_sndfile src/mod/languages/mod_lua src/mod/languages/mod_spidermonkey support-d

FreeSWITCH SVN gmaruzz at freeswitch.org
Tue Dec 23 04:37:05 PST 2008


Author: gmaruzz
Date: Tue Dec 23 07:37:03 2008
New Revision: 10916

Log:
Merge of trunk revisions 10773:10915 into gmaruzz branch

Added:
   freeswitch/branches/gmaruzz/build/buildopal.sh
      - copied unchanged from r10915, /freeswitch/trunk/build/buildopal.sh
   freeswitch/branches/gmaruzz/build/freeswitch.init.archlinux
      - copied unchanged from r10915, /freeswitch/trunk/build/freeswitch.init.archlinux
   freeswitch/branches/gmaruzz/libs/esl/   (props changed)
      - copied from r10915, /freeswitch/trunk/libs/esl/
   freeswitch/branches/gmaruzz/libs/esl/Makefile
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/Makefile
   freeswitch/branches/gmaruzz/libs/esl/fs_cli.2008.vcproj
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/fs_cli.2008.vcproj
   freeswitch/branches/gmaruzz/libs/esl/fs_cli.c
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/fs_cli.c
   freeswitch/branches/gmaruzz/libs/esl/src/   (props changed)
      - copied from r10915, /freeswitch/trunk/libs/esl/src/
   freeswitch/branches/gmaruzz/libs/esl/src/esl.2008.vcproj
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/esl.2008.vcproj
   freeswitch/branches/gmaruzz/libs/esl/src/esl.c
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/esl.c
   freeswitch/branches/gmaruzz/libs/esl/src/esl_config.c
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/esl_config.c
   freeswitch/branches/gmaruzz/libs/esl/src/esl_event.c
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/esl_event.c
   freeswitch/branches/gmaruzz/libs/esl/src/esl_threadmutex.c
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/esl_threadmutex.c
   freeswitch/branches/gmaruzz/libs/esl/src/include/
      - copied from r10915, /freeswitch/trunk/libs/esl/src/include/
   freeswitch/branches/gmaruzz/libs/esl/src/include/esl.h
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/include/esl.h
   freeswitch/branches/gmaruzz/libs/esl/src/include/esl_config.h
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/include/esl_config.h
   freeswitch/branches/gmaruzz/libs/esl/src/include/esl_event.h
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/include/esl_event.h
   freeswitch/branches/gmaruzz/libs/esl/src/include/esl_threadmutex.h
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/src/include/esl_threadmutex.h
   freeswitch/branches/gmaruzz/libs/esl/testclient.c
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/testclient.c
   freeswitch/branches/gmaruzz/libs/esl/testserver.c
      - copied unchanged from r10915, /freeswitch/trunk/libs/esl/testserver.c
   freeswitch/branches/gmaruzz/libs/win32/libg722_1/   (props changed)
      - copied from r10915, /freeswitch/trunk/libs/win32/libg722_1/
   freeswitch/branches/gmaruzz/libs/win32/libg722_1/libg722_1.vcproj
      - copied unchanged from r10915, /freeswitch/trunk/libs/win32/libg722_1/libg722_1.vcproj
   freeswitch/branches/gmaruzz/scripts/aadir/
      - copied from r10915, /freeswitch/trunk/scripts/aadir/
   freeswitch/branches/gmaruzz/scripts/aadir/README
      - copied unchanged from r10915, /freeswitch/trunk/scripts/aadir/README
   freeswitch/branches/gmaruzz/scripts/aadir/aadir.js
      - copied unchanged from r10915, /freeswitch/trunk/scripts/aadir/aadir.js
   freeswitch/branches/gmaruzz/scripts/s25vmail/
      - copied from r10915, /freeswitch/trunk/scripts/s25vmail/
   freeswitch/branches/gmaruzz/scripts/s25vmail/README
      - copied unchanged from r10915, /freeswitch/trunk/scripts/s25vmail/README
   freeswitch/branches/gmaruzz/scripts/s25vmail/s25vmail.js
      - copied unchanged from r10915, /freeswitch/trunk/scripts/s25vmail/s25vmail.js
   freeswitch/branches/gmaruzz/scripts/s25vmail/s25vmail_mwi.c
      - copied unchanged from r10915, /freeswitch/trunk/scripts/s25vmail/s25vmail_mwi.c
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_celt/
      - copied from r10915, /freeswitch/trunk/src/mod/codecs/mod_celt/
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_celt/Makefile
      - copied unchanged from r10915, /freeswitch/trunk/src/mod/codecs/mod_celt/Makefile
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_celt/mod_celt.c
      - copied unchanged from r10915, /freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_siren/mod_siren.2008.vcproj
      - copied unchanged from r10915, /freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.2008.vcproj
   freeswitch/branches/gmaruzz/support-d/prereq.sh
      - copied unchanged from r10915, /freeswitch/trunk/support-d/prereq.sh
Modified:
   freeswitch/branches/gmaruzz/Freeswitch.2008.sln
   freeswitch/branches/gmaruzz/bootstrap.sh
   freeswitch/branches/gmaruzz/build/modules.conf.in
   freeswitch/branches/gmaruzz/conf/autoload_configs/conference.conf.xml
   freeswitch/branches/gmaruzz/conf/autoload_configs/local_stream.conf.xml
   freeswitch/branches/gmaruzz/conf/autoload_configs/voicemail.conf.xml
   freeswitch/branches/gmaruzz/conf/dialplan/default.xml
   freeswitch/branches/gmaruzz/conf/dialplan/default/01_example.com.xml
   freeswitch/branches/gmaruzz/conf/sip_profiles/internal.xml
   freeswitch/branches/gmaruzz/conf/vars.xml
   freeswitch/branches/gmaruzz/docs/phrase/phrase_en.xml
   freeswitch/branches/gmaruzz/libs/codec/ilbc/src/iLBC_define.h
   freeswitch/branches/gmaruzz/libs/js/nsprpub/configure.in
   freeswitch/branches/gmaruzz/libs/libg722_1/src/coef2sam.h
   freeswitch/branches/gmaruzz/libs/libg722_1/src/dct4.h
   freeswitch/branches/gmaruzz/libs/libg722_1/src/decoderf.c
   freeswitch/branches/gmaruzz/libs/libg722_1/src/sam2coef.h
   freeswitch/branches/gmaruzz/libs/libg722_1/src/tables.c
   freeswitch/branches/gmaruzz/libs/pcre/pcretest.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/.update
   freeswitch/branches/gmaruzz/libs/sofia-sip/AUTHORS
   freeswitch/branches/gmaruzz/libs/sofia-sip/COPYING
   freeswitch/branches/gmaruzz/libs/sofia-sip/COPYRIGHTS
   freeswitch/branches/gmaruzz/libs/sofia-sip/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/ChangeLog.ext-trees
   freeswitch/branches/gmaruzz/libs/sofia-sip/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/README
   freeswitch/branches/gmaruzz/libs/sofia-sip/README.developers
   freeswitch/branches/gmaruzz/libs/sofia-sip/RELEASE
   freeswitch/branches/gmaruzz/libs/sofia-sip/RELEASE.template
   freeswitch/branches/gmaruzz/libs/sofia-sip/TODO
   freeswitch/branches/gmaruzz/libs/sofia-sip/autogen.sh
   freeswitch/branches/gmaruzz/libs/sofia-sip/configure.ac
   freeswitch/branches/gmaruzz/libs/sofia-sip/docs/build_system.txt
   freeswitch/branches/gmaruzz/libs/sofia-sip/docs/devel_platform_notes.txt
   freeswitch/branches/gmaruzz/libs/sofia-sip/docs/release_management.txt
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_glib.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_source.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_glib.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source_test.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/torture_su_glib_timer.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/bnf.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/hostdomain.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.conf
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/conformance.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/docguide.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/mainpage.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/features/features.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/features/features.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_header.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_parser_table.c.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_status.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_tag.c.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_tag_class.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_hclasses.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_header.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_parser.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_protos.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_status.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag_class.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/test_http.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/base64.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ipt.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/rc4.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/base64.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/rc4.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/uniqueid.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/utf8.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ucs2.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ucs4.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8internal.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8test.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_http.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_sip.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_delayed.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_common.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_digest.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_module.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_ntlm.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_plugin.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_basic.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_generic.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_copy.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_make.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_internal.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime_table.c.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_name_hash.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.awk
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_addr.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_buffer.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_date.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_header.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass_hash.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime_protos.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_parser.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_protos.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_tag_class.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_types.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_class.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_class.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_msg.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_protos.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_table.c.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_debug.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_event.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/nea.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/invite.msc
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta_internal.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/portbind.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/run_test_nta
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sl_read_payload.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_log.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_print.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_stateless.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_tag.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_tport.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/sl_utils.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/test_nta.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/test_nta_api.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/http-client.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/nth.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/nth_client.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/nth_server.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/nth_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip/nth.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip/nth_tag.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nth/test_nth.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_common.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_extension.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_message.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_options.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_publish.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_registrar.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_subnotref.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/nua_types.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/outbound.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip/nua.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip/nua_tag.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/errata
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/run_test_sdp
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/sdp.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/sdp_tag.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/test_sdp.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sdp/torture_sdp.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/ADD-A-HEADER
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/GRAMMAR
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/run-tests
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/run_test_sip_msg
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip.doxyaliases
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_bad_mask
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_basic.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_caller_prefs.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra_headers.txt
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_header.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_mime.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser_table.c.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_prack.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_session.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_status.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag.c.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_time.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_hclasses.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_header.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_parser.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_protos.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_status.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag_class.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_util.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/test_date.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/test_sip_msg.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sip/validator.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/soa.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/soa.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/soa_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa_session.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa_tag.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/soa/test_soa.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/127.zone
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/194.2.188
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/3.f.f.e.1.2.0.0.3.0.1.2.c.0.0.0
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/3.f.f.e.1.2.0.0.3.0.1.2.c.0.0.0.arpa
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/example.com
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/resolve_sip.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/root.zone
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/run_test_sresolv
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_async.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_cache.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_config.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_record.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-sip/sresolv.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_blocking.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sresolv.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/sresolv.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/test_sresolv.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/sresolv/torture_sresolv.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/lookup_stun_server.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_common.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/stun.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/stun_common.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/stun_dns.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/stun_internal.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/stun_mini.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/stun_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/stun/stunc.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/addrinfo.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/foo.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/getopt.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/localinfo.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/memccpy.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/memcspn.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/memmem.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/memspn.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/poll.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/smoothsort.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/heap.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable2.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/rbtree.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_addrinfo.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc_stat.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_bm.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_config.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_configure.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_debug.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_errno.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_localinfo.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_log.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_md5.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_os_nw.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_osx_runloop.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_strlst.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_class.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_inline.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_io.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tagarg.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_time.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_types.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_uniqueid.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_vector.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/tstdef.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/strcasestr.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/strtoull.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_addrinfo.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_alloc_lock.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_bm.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_default_log.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_devpoll_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_epoll_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_errno.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_global_log.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_log.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_md5.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_module_debug.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_open_c_localinfo.cpp
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_os_nw.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_osx_runloop.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_perf.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_poll_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_port.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_proxy.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_root.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_select_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_sprintf.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_strdup.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_strlst.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_tag_io.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_time.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_time0.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_uniqueid.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_vector.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_wait.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_win32_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/tag_dll.awk
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/test_htable.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/test_htable2.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/test_poll.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/test_su.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/test_su_osx.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_heap.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_rbtree.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su_alloc.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su_bm.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su_port.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root_osx.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su_time.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/torture_su_timer.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_plugins.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_tag.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/test_tport.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tls_test_client.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tls_test_server.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_sigcomp.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_stun.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_threadpool.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_connect.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_sctp.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_stun.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tcp.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_udp.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url_tag.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url_tag_class.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/torture_url.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/url.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/url.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/url_tag.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/urlmap.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/url/urlmap.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/m4/sac-coverage.m4
   freeswitch/branches/gmaruzz/libs/sofia-sip/m4/sac-general.m4
   freeswitch/branches/gmaruzz/libs/sofia-sip/m4/sac-openssl.m4
   freeswitch/branches/gmaruzz/libs/sofia-sip/m4/sac-su2.m4
   freeswitch/branches/gmaruzz/libs/sofia-sip/m4/sac-tport.m4
   freeswitch/branches/gmaruzz/libs/sofia-sip/open_c/build_sources.cmd
   freeswitch/branches/gmaruzz/libs/sofia-sip/open_c/version.awk
   freeswitch/branches/gmaruzz/libs/sofia-sip/packages/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/packages/Makefile.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/packages/sofia-sip.spec.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/rules/lcov.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/rules/recursive.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/rules/valcheck.am
   freeswitch/branches/gmaruzz/libs/sofia-sip/scripts/coverage
   freeswitch/branches/gmaruzz/libs/sofia-sip/scripts/fix-include-sofia-sip
   freeswitch/branches/gmaruzz/libs/sofia-sip/scripts/hide_emails.sh
   freeswitch/branches/gmaruzz/libs/sofia-sip/scripts/lcov-report
   freeswitch/branches/gmaruzz/libs/sofia-sip/scripts/rpmbuild-snaphot
   freeswitch/branches/gmaruzz/libs/sofia-sip/scripts/uncovered
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/check_sofia.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_100rel.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_basic_call.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_call_hold.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_call_reject.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_cancel_bye.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_extension.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_init.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_nat.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_nat.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_nua.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_nua.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_nua_api.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_nua_params.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_offer_answer.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_ops.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_proxy.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_proxy.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_refer.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_register.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_session_timer.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_simple.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/tests/test_sip_events.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/utils/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/utils/Doxyfile.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/utils/apps_utils.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/utils/sip-date.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/utils/sip-dig.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/utils/sip-options.c
   freeswitch/branches/gmaruzz/libs/sofia-sip/utils/utils.docs
   freeswitch/branches/gmaruzz/libs/sofia-sip/win32/ChangeLog
   freeswitch/branches/gmaruzz/libs/sofia-sip/win32/README.txt
   freeswitch/branches/gmaruzz/libs/sofia-sip/win32/build_sources.cmd
   freeswitch/branches/gmaruzz/libs/sofia-sip/win32/config.h.in
   freeswitch/branches/gmaruzz/libs/sofia-sip/win32/libsofia-sip-ua/sofia-sip-ua.def
   freeswitch/branches/gmaruzz/libs/sofia-sip/win32/sofia-sip/su_configure.h
   freeswitch/branches/gmaruzz/libs/sofia-sip/win32/version.awk
   freeswitch/branches/gmaruzz/libs/win32/libshout/   (props changed)
   freeswitch/branches/gmaruzz/libs/win32/mpg123/   (props changed)
   freeswitch/branches/gmaruzz/libs/xmlrpc-c/Windows/abyss.2008.vcproj
   freeswitch/branches/gmaruzz/libs/xmlrpc-c/Windows/xmlparse.2008.vcproj
   freeswitch/branches/gmaruzz/libs/xmlrpc-c/Windows/xmlrpc.2008.vcproj
   freeswitch/branches/gmaruzz/libs/xmlrpc-c/Windows/xmltok.2008.vcproj
   freeswitch/branches/gmaruzz/libs/xmlrpc-c/lib/abyss/src/file.c
   freeswitch/branches/gmaruzz/scripts/socket/FreeSWITCH/Client.pm
   freeswitch/branches/gmaruzz/src/include/switch_core.h
   freeswitch/branches/gmaruzz/src/include/switch_loadable_module.h
   freeswitch/branches/gmaruzz/src/include/switch_log.h
   freeswitch/branches/gmaruzz/src/include/switch_types.h
   freeswitch/branches/gmaruzz/src/include/switch_utils.h
   freeswitch/branches/gmaruzz/src/mod/applications/mod_commands/mod_commands.c
   freeswitch/branches/gmaruzz/src/mod/applications/mod_conference/mod_conference.c
   freeswitch/branches/gmaruzz/src/mod/applications/mod_expr/exprpars.c
   freeswitch/branches/gmaruzz/src/mod/applications/mod_expr/exprpriv.h
   freeswitch/branches/gmaruzz/src/mod/applications/mod_expr/exprutil.c
   freeswitch/branches/gmaruzz/src/mod/applications/mod_http/http_req.c
   freeswitch/branches/gmaruzz/src/mod/applications/mod_http/mod_http.c
   freeswitch/branches/gmaruzz/src/mod/applications/mod_limit/mod_limit.c
   freeswitch/branches/gmaruzz/src/mod/applications/mod_vmd/   (props changed)
   freeswitch/branches/gmaruzz/src/mod/applications/mod_voicemail/mod_voicemail.c
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_amr/mod_amr.c
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_g729/mod_g729.c
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_siren/   (props changed)
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_siren/mod_siren.c
   freeswitch/branches/gmaruzz/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c
   freeswitch/branches/gmaruzz/src/mod/directories/mod_ldap/Makefile
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_opal/mod_opal.cpp
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/Makefile.am
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/mod_sofia.c
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/sofia.c
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/sofia_glue.c
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/sofia_presence.c
   freeswitch/branches/gmaruzz/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
   freeswitch/branches/gmaruzz/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c
   freeswitch/branches/gmaruzz/src/mod/formats/mod_local_stream/mod_local_stream.c
   freeswitch/branches/gmaruzz/src/mod/formats/mod_sndfile/mod_sndfile.c
   freeswitch/branches/gmaruzz/src/mod/languages/mod_lua/mod_lua.cpp
   freeswitch/branches/gmaruzz/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
   freeswitch/branches/gmaruzz/src/switch_core_codec.c
   freeswitch/branches/gmaruzz/src/switch_core_db.c
   freeswitch/branches/gmaruzz/src/switch_core_io.c
   freeswitch/branches/gmaruzz/src/switch_core_sqldb.c
   freeswitch/branches/gmaruzz/src/switch_ivr.c
   freeswitch/branches/gmaruzz/src/switch_loadable_module.c
   freeswitch/branches/gmaruzz/src/switch_log.c
   freeswitch/branches/gmaruzz/src/switch_pcm.c
   freeswitch/branches/gmaruzz/src/switch_time.c
   freeswitch/branches/gmaruzz/support-d/.bashrc

Modified: freeswitch/branches/gmaruzz/Freeswitch.2008.sln
==============================================================================
--- freeswitch/branches/gmaruzz/Freeswitch.2008.sln	(original)
+++ freeswitch/branches/gmaruzz/Freeswitch.2008.sln	Tue Dec 23 07:37:03 2008
@@ -1,6 +1,6 @@
 
 Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
+# Visual Studio 2008
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Codecs", "Codecs", "{F881ADA2-2F1A-4046-9FEB-191D9422D781}"
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Endpoints", "Endpoints", "{9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}"
@@ -160,28 +160,28 @@
 		conf\lang\de\vm\tts.xml = conf\lang\de\vm\tts.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo (2)", "demo (2)", "{765EF1B9-5027-4820-BC37-A44466A51631}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{765EF1B9-5027-4820-BC37-A44466A51631}"
 	ProjectSection(SolutionItems) = preProject
 		conf\lang\en\demo\demo.xml = conf\lang\en\demo\demo.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm (2)", "vm (2)", "{713E4747-1126-40B1-BD84-58F9A7745423}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{713E4747-1126-40B1-BD84-58F9A7745423}"
 	ProjectSection(SolutionItems) = preProject
 		conf\lang\en\vm\sounds.xml = conf\lang\en\vm\sounds.xml
 		conf\lang\en\vm\tts.xml = conf\lang\en\vm\tts.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo (3)", "demo (3)", "{F1B71990-EB04-4EB5-B28A-BC3EB6F7E843}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{F1B71990-EB04-4EB5-B28A-BC3EB6F7E843}"
 	ProjectSection(SolutionItems) = preProject
 		conf\lang\fr\demo\demo.xml = conf\lang\fr\demo\demo.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm (3)", "vm (3)", "{3DAF028C-AB5B-4183-A01B-DCC43F5A87F0}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{3DAF028C-AB5B-4183-A01B-DCC43F5A87F0}"
 	ProjectSection(SolutionItems) = preProject
 		conf\lang\fr\vm\sounds.xml = conf\lang\fr\vm\sounds.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "autoload_configs (2)", "autoload_configs (2)", "{4833F8E3-ABBF-4260-9DB1-B34015676CFC}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "autoload_configs", "autoload_configs", "{4833F8E3-ABBF-4260-9DB1-B34015676CFC}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\autoload_configs\alsa.conf.xml = debug\conf\autoload_configs\alsa.conf.xml
 		debug\conf\autoload_configs\conference.conf.xml = debug\conf\autoload_configs\conference.conf.xml
@@ -214,26 +214,26 @@
 		debug\conf\autoload_configs\zeroconf.conf.xml = debug\conf\autoload_configs\zeroconf.conf.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dialplan (2)", "dialplan (2)", "{D44DD429-FE98-42AA-B5B7-4B4EBE33AEFD}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dialplan", "dialplan", "{D44DD429-FE98-42AA-B5B7-4B4EBE33AEFD}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\dialplan\default.xml = debug\conf\dialplan\default.xml
 		debug\conf\dialplan\US.conf.xml = debug\conf\dialplan\US.conf.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "directory (2)", "directory (2)", "{471110C9-A7ED-4966-98E1-8EA667BF0EEA}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "directory", "directory", "{471110C9-A7ED-4966-98E1-8EA667BF0EEA}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\directory\default.xml = debug\conf\directory\default.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles (2)", "sip_profiles (2)", "{4DF5199E-F7F5-4347-97DD-22078FCDB371}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles", "sip_profiles", "{4DF5199E-F7F5-4347-97DD-22078FCDB371}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\sip_profiles\default.xml = debug\conf\sip_profiles\default.xml
 		debug\conf\sip_profiles\nat.xml = debug\conf\sip_profiles\nat.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang (2)", "lang (2)", "{B487BEBE-4A5C-434F-8D30-39465412F84F}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang", "lang", "{B487BEBE-4A5C-434F-8D30-39465412F84F}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "de (2)", "de (2)", "{2003189F-0E69-4FF7-A11D-3BFB3F03D558}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "de", "de", "{2003189F-0E69-4FF7-A11D-3BFB3F03D558}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\lang\de\de.xml = debug\conf\lang\de\de.xml
 	EndProjectSection
@@ -243,43 +243,43 @@
 		debug\conf\lang\en\en.xml = debug\conf\lang\en\en.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fr (2)", "fr (2)", "{1240C217-6674-43C1-B099-B0290D84F28B}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fr", "fr", "{1240C217-6674-43C1-B099-B0290D84F28B}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\lang\fr\fr.xml = debug\conf\lang\fr\fr.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo (4)", "demo (4)", "{03517B06-98A1-46DD-9347-BFFFED7DD8A4}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{03517B06-98A1-46DD-9347-BFFFED7DD8A4}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\lang\de\demo\demo.xml = debug\conf\lang\de\demo\demo.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm (4)", "vm (4)", "{1D339A14-FFC2-4F6E-BEF2-D5D6DF14AC88}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{1D339A14-FFC2-4F6E-BEF2-D5D6DF14AC88}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\lang\de\vm\tts.xml = debug\conf\lang\de\vm\tts.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo (5)", "demo (5)", "{B4C6D0B5-5F39-4546-820D-4BCAA6C3E301}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{B4C6D0B5-5F39-4546-820D-4BCAA6C3E301}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\lang\en\demo\demo.xml = debug\conf\lang\en\demo\demo.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm (5)", "vm (5)", "{3041F86C-51D4-4D9E-8A00-91BA4B7C51D4}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{3041F86C-51D4-4D9E-8A00-91BA4B7C51D4}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\lang\en\vm\sounds.xml = debug\conf\lang\en\vm\sounds.xml
 		debug\conf\lang\en\vm\tts.xml = debug\conf\lang\en\vm\tts.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo (6)", "demo (6)", "{DFE96A6E-5C9A-4C74-959A-9C485A7AD95C}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{DFE96A6E-5C9A-4C74-959A-9C485A7AD95C}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\lang\fr\demo\demo.xml = debug\conf\lang\fr\demo\demo.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm (6)", "vm (6)", "{80A4CA5C-7208-4134-8EFD-C147B03C8AA1}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{80A4CA5C-7208-4134-8EFD-C147B03C8AA1}"
 	ProjectSection(SolutionItems) = preProject
 		debug\conf\lang\fr\vm\sounds.xml = debug\conf\lang\fr\vm\sounds.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "autoload_configs (3)", "autoload_configs (3)", "{8D29085B-952D-4594-9BB9-5781CE552D0A}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "autoload_configs", "autoload_configs", "{8D29085B-952D-4594-9BB9-5781CE552D0A}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\autoload_configs\alsa.conf.xml = release\conf\autoload_configs\alsa.conf.xml
 		release\conf\autoload_configs\conference.conf.xml = release\conf\autoload_configs\conference.conf.xml
@@ -312,25 +312,25 @@
 		release\conf\autoload_configs\zeroconf.conf.xml = release\conf\autoload_configs\zeroconf.conf.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dialplan (3)", "dialplan (3)", "{23874F4B-C0AF-4587-9F7E-DB0F06DE8CB4}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dialplan", "dialplan", "{23874F4B-C0AF-4587-9F7E-DB0F06DE8CB4}"
 	ProjectSection(SolutionItems) = preProject
 		conf\dialplan\default.xml = conf\dialplan\default.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "directory (3)", "directory (3)", "{19ED97F6-30D8-4FCE-AE1D-8B7FCB170D40}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "directory", "directory", "{19ED97F6-30D8-4FCE-AE1D-8B7FCB170D40}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\directory\default.xml = release\conf\directory\default.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles (3)", "sip_profiles (3)", "{99E79D76-FCFC-466B-965B-273CCACF99B0}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles", "sip_profiles", "{99E79D76-FCFC-466B-965B-273CCACF99B0}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\sip_profiles\default.xml = release\conf\sip_profiles\default.xml
 		release\conf\sip_profiles\nat.xml = release\conf\sip_profiles\nat.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang (3)", "lang (3)", "{8FADAC7F-CA9E-49D9-B957-A5F5605D238C}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang", "lang", "{8FADAC7F-CA9E-49D9-B957-A5F5605D238C}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "de (3)", "de (3)", "{58A56014-DEA7-4172-8C26-BAD8D499A1E8}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "de", "de", "{58A56014-DEA7-4172-8C26-BAD8D499A1E8}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\lang\de\de.xml = release\conf\lang\de\de.xml
 	EndProjectSection
@@ -340,38 +340,38 @@
 		release\conf\lang\en\en.xml = release\conf\lang\en\en.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fr (3)", "fr (3)", "{89A94241-1DA6-44E8-A685-AED1E665C2AD}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fr", "fr", "{89A94241-1DA6-44E8-A685-AED1E665C2AD}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\lang\fr\fr.xml = release\conf\lang\fr\fr.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo (7)", "demo (7)", "{2D74F635-AB18-43B3-A87E-A71F3EA24DDB}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{2D74F635-AB18-43B3-A87E-A71F3EA24DDB}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\lang\de\demo\demo.xml = release\conf\lang\de\demo\demo.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm (7)", "vm (7)", "{A721E646-07E9-4E16-A92D-B97F654B2BAC}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{A721E646-07E9-4E16-A92D-B97F654B2BAC}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\lang\de\vm\tts.xml = release\conf\lang\de\vm\tts.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo (8)", "demo (8)", "{50331CA0-7038-4341-B92D-C34E1601EFF0}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{50331CA0-7038-4341-B92D-C34E1601EFF0}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\lang\en\demo\demo.xml = release\conf\lang\en\demo\demo.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm (8)", "vm (8)", "{FC0DB2A2-B1A3-426E-9E37-BE28FE8FE01B}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{FC0DB2A2-B1A3-426E-9E37-BE28FE8FE01B}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\lang\en\vm\sounds.xml = release\conf\lang\en\vm\sounds.xml
 		release\conf\lang\en\vm\tts.xml = release\conf\lang\en\vm\tts.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo (9)", "demo (9)", "{91C6DEDE-CE4A-47D1-A84B-3E828F82E2B0}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{91C6DEDE-CE4A-47D1-A84B-3E828F82E2B0}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\lang\fr\demo\demo.xml = release\conf\lang\fr\demo\demo.xml
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm (9)", "vm (9)", "{8F5A511B-F716-4D07-9657-55B9E4F1D3E9}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vm", "vm", "{8F5A511B-F716-4D07-9657-55B9E4F1D3E9}"
 	ProjectSection(SolutionItems) = preProject
 		release\conf\lang\fr\vm\sounds.xml = release\conf\lang\fr\vm\sounds.xml
 	EndProjectSection
@@ -424,12 +424,6 @@
 		{1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {1C469CDD-A3AF-4A94-A592-B2CF12F2D918}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_woomera", "src\mod\endpoints\mod_woomera\mod_woomera.2008.vcproj", "{FE3540C5-3303-46E0-A69E-D92F775687F1}"
-	ProjectSection(ProjectDependencies) = postProject
-		{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
-		{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "docs", "docs\docs.2008.vcproj", "{1A1FF289-4FD6-4285-A422-D31DD67A4723}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_dialplan_xml", "src\mod\dialplans\mod_dialplan_xml\mod_dialplan_xml.2008.vcproj", "{07113B25-D3AF-4E04-BA77-4CD1171F022C}"
@@ -996,7 +990,20 @@
 		{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_skypiax", "src\mod\endpoints\mod_skypiax\mod_skypiax.2008.vcproj", "{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libg722_1", "libs\win32\libg722_1\libg722_1.vcproj", "{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_siren", "src\mod\codecs\mod_siren\mod_siren.2008.vcproj", "{0B6C905B-142E-4999-B39D-92FF7951E921}"
+	ProjectSection(ProjectDependencies) = postProject
+		{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
+		{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C} = {1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "esl", "libs\esl\src\esl.2008.vcproj", "{CF405366-9558-4AE8-90EF-5E21B51CCB4E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fs_cli", "libs\esl\fs_cli.2008.vcproj", "{D2FB8043-D208-4AEE-8F18-3B5857C871B9}"
+	ProjectSection(ProjectDependencies) = postProject
+		{CF405366-9558-4AE8-90EF-5E21B51CCB4E} = {CF405366-9558-4AE8-90EF-5E21B51CCB4E}
+	EndProjectSection
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -1048,12 +1055,6 @@
 		{5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|Win32.ActiveCfg = Release|Win32
 		{5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|Win32.Build.0 = Release|Win32
 		{5580D60E-0F77-4716-9CD4-B8E5986FA375}.Release|x64.ActiveCfg = Release|Win32
-		{FE3540C5-3303-46E0-A69E-D92F775687F1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{FE3540C5-3303-46E0-A69E-D92F775687F1}.Debug|Win32.Build.0 = Debug|Win32
-		{FE3540C5-3303-46E0-A69E-D92F775687F1}.Debug|x64.ActiveCfg = Debug|Win32
-		{FE3540C5-3303-46E0-A69E-D92F775687F1}.Release|Win32.ActiveCfg = Release|Win32
-		{FE3540C5-3303-46E0-A69E-D92F775687F1}.Release|Win32.Build.0 = Release|Win32
-		{FE3540C5-3303-46E0-A69E-D92F775687F1}.Release|x64.ActiveCfg = Release|Win32
 		{1A1FF289-4FD6-4285-A422-D31DD67A4723}.Debug|Win32.ActiveCfg = Debug|Win32
 		{1A1FF289-4FD6-4285-A422-D31DD67A4723}.Debug|x64.ActiveCfg = Debug|Win32
 		{1A1FF289-4FD6-4285-A422-D31DD67A4723}.Release|Win32.ActiveCfg = Release|Win32
@@ -1748,12 +1749,28 @@
 		{14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|Win32.ActiveCfg = Release|Win32
 		{14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|Win32.Build.0 = Release|Win32
 		{14E4A972-9CFB-436D-B0A5-4943F3F80D47}.Release|x64.ActiveCfg = Release|Win32
-		{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}.Debug|Win32.ActiveCfg = Debug|Win32
-		{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}.Debug|Win32.Build.0 = Debug|Win32
-		{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}.Debug|x64.ActiveCfg = Debug|Win32
-		{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}.Release|Win32.ActiveCfg = Release|Win32
-		{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}.Release|Win32.Build.0 = Release|Win32
-		{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}.Release|x64.ActiveCfg = Release|Win32
+		{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|Win32.ActiveCfg = Debug|Win32
+		{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|Win32.Build.0 = Debug|Win32
+		{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Debug|x64.ActiveCfg = Debug|Win32
+		{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|Win32.ActiveCfg = Release|Win32
+		{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|Win32.Build.0 = Release|Win32
+		{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C}.Release|x64.ActiveCfg = Release|Win32
+		{0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|Win32.ActiveCfg = Debug|Win32
+		{0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|Win32.Build.0 = Debug|Win32
+		{0B6C905B-142E-4999-B39D-92FF7951E921}.Debug|x64.ActiveCfg = Debug|Win32
+		{0B6C905B-142E-4999-B39D-92FF7951E921}.Release|Win32.ActiveCfg = Release|Win32
+		{0B6C905B-142E-4999-B39D-92FF7951E921}.Release|Win32.Build.0 = Release|Win32
+		{0B6C905B-142E-4999-B39D-92FF7951E921}.Release|x64.ActiveCfg = Release|Win32
+		{CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|Win32.ActiveCfg = Debug|Win32
+		{CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|Win32.Build.0 = Debug|Win32
+		{CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Debug|x64.ActiveCfg = Debug|Win32
+		{CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Win32.ActiveCfg = Release|Win32
+		{CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Win32.Build.0 = Release|Win32
+		{CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|x64.ActiveCfg = Release|Win32
+		{D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|x64.ActiveCfg = Debug|Win32
+		{D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Win32.ActiveCfg = Release|Win32
+		{D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|x64.ActiveCfg = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -1766,9 +1783,9 @@
 		{8DEB383C-4091-4F42-A56F-C9E46D552D79} = {F881ADA2-2F1A-4046-9FEB-191D9422D781}
 		{2C3C2423-234B-4772-8899-D3B137E5CA35} = {F881ADA2-2F1A-4046-9FEB-191D9422D781}
 		{42B6C2E3-7D5F-4204-A1F6-C0376B86C315} = {F881ADA2-2F1A-4046-9FEB-191D9422D781}
+		{0B6C905B-142E-4999-B39D-92FF7951E921} = {F881ADA2-2F1A-4046-9FEB-191D9422D781}
 		{3A5B9131-F20C-4A85-9447-6C1610941CEE} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
 		{5FD31A25-5D83-4794-8BEE-904DAD84CE71} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
-		{FE3540C5-3303-46E0-A69E-D92F775687F1} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
 		{FFAA4C52-3A53-4F99-90C1-D59D1F0427F3} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
 		{0DF3ABD0-DDC0-4265-B778-07C66780979B} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
 		{B3F424EC-3D8F-417C-B244-3919D5E1A577} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
@@ -1807,7 +1824,6 @@
 		{36E854E3-CE12-4348-A125-CCF3F9D74813} = {0C808854-54D1-4230-BFF5-77B5FD905000}
 		{7B077E7F-1BE7-4291-AB86-55E527B25CAC} = {0C808854-54D1-4230-BFF5-77B5FD905000}
 		{7B42BDA1-72C0-4378-A9B6-5C530F8CD61E} = {0C808854-54D1-4230-BFF5-77B5FD905000}
-		{834E2B2F-5483-4B80-8FE3-FE48FF76E5C0} = {0C808854-54D1-4230-BFF5-77B5FD905000}
 		{692F6330-4D87-4C82-81DF-40DB5892636E} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0}
 		{E7116F50-2B10-472F-92BD-C8667AA9C1AE} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0}
 		{2286DA73-9FC5-45BC-A508-85994C3317AB} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0}
@@ -1852,6 +1868,8 @@
 		{D3D8B329-20BE-475E-9E83-653CEA0E0EF5} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
 		{0FEEAEC6-4399-4C46-B7DB-62ECE80D15B4} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
 		{419C8F80-D858-4B48-A25C-AF4007608137} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
+		{1BC8A8EC-E03B-44DF-BCD9-088650F4D29C} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
+		{CF405366-9558-4AE8-90EF-5E21B51CCB4E} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
 		{5927104D-C14C-4AC8-925C-4AB681762E75} = {C120A020-773F-4EA3-923F-B67AF28B750D}
 		{8B3B4C4C-13C2-446C-BEB0-F412CC2CFB9A} = {C120A020-773F-4EA3-923F-B67AF28B750D}
 		{4F92B672-DADB-4047-8D6A-4BB3796733FD} = {C120A020-773F-4EA3-923F-B67AF28B750D}

Modified: freeswitch/branches/gmaruzz/bootstrap.sh
==============================================================================
--- freeswitch/branches/gmaruzz/bootstrap.sh	(original)
+++ freeswitch/branches/gmaruzz/bootstrap.sh	Tue Dec 23 07:37:03 2008
@@ -60,6 +60,27 @@
 echo "bootstrap: automake version $am_version (ok)"
 fi
 
+# aclocal 1.7 or newer
+
+acl_version=`${ACLOCAL:-aclocal} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;s/[- ].*//g;q'`
+if test -z "$acl_version"; then
+echo "bootstrap: aclocal not found."
+echo "           You need aclocal version 1.7 or newer installed"
+echo "           to build FreeSWITCH from SVN."
+exit 1
+fi
+IFS=_; set $acl_version; IFS=' '
+acl_version=$1
+IFS=.; set $acl_version; IFS=' '
+if test "$1" = "1" -a "$2" -lt "7"; then
+echo "bootstrap: aclocal version $acl_version found."
+echo "           You need aclocal version 1.7 or newer installed"
+echo "           to build FreeSWITCH from SVN."
+exit 1
+else
+echo "bootstrap: aclocal version $acl_version (ok)"
+fi
+
 # Sample libtool --version outputs:
 # ltmain.sh (GNU libtool) 1.3.3 (1.385.2.181 1999/07/02 15:49:11)
 # ltmain.sh (GNU libtool 1.1361 2004/01/02 23:10:52) 1.5a
@@ -70,7 +91,8 @@
 lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
 if test -z "$lt_pversion"; then
 echo "bootstrap: libtool not found."
-echo "           You need libtool version 1.5.14 or newer installed"
+echo "           You need libtool version 1.5.14 or newer up to 1.9.x installed"
+echo "           libtool version 2.0 and above WILL NOT work."
 echo "           to build FreeSWITCH from SVN."
 exit 1
 fi

Modified: freeswitch/branches/gmaruzz/build/modules.conf.in
==============================================================================
--- freeswitch/branches/gmaruzz/build/modules.conf.in	(original)
+++ freeswitch/branches/gmaruzz/build/modules.conf.in	Tue Dec 23 07:37:03 2008
@@ -28,6 +28,7 @@
 codecs/mod_ilbc
 codecs/mod_speex
 #codecs/mod_siren
+#codecs/mod_celt
 #dialplans/mod_dialplan_directory
 dialplans/mod_dialplan_xml
 dialplans/mod_dialplan_asterisk

Modified: freeswitch/branches/gmaruzz/conf/autoload_configs/conference.conf.xml
==============================================================================
--- freeswitch/branches/gmaruzz/conf/autoload_configs/conference.conf.xml	(original)
+++ freeswitch/branches/gmaruzz/conf/autoload_configs/conference.conf.xml	Tue Dec 23 07:37:03 2008
@@ -150,5 +150,29 @@
       <!--<param name="tts-engine" value="flite"/>-->
       <!--<param name="tts-voice" value="kal16"/>-->
     </profile>
+    <!--
+    <profile name="cdquality">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="48000"/>
+      <param name="interval" value="10"/>
+      <param name="energy-level" value="300"/>
+      <param name="sound-prefix" value="$${base_dir}/sounds/en/us/callie"/>
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <param name="moh-sound" value="$${hold_music}"/>
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <param name="comfort-noise" value="true"/>
+    </profile>
+    -->
   </profiles>
 </configuration>

Modified: freeswitch/branches/gmaruzz/conf/autoload_configs/local_stream.conf.xml
==============================================================================
--- freeswitch/branches/gmaruzz/conf/autoload_configs/local_stream.conf.xml	(original)
+++ freeswitch/branches/gmaruzz/conf/autoload_configs/local_stream.conf.xml	Tue Dec 23 07:37:03 2008
@@ -22,5 +22,13 @@
     <param name="interval" value="20"/>
     <param name="timer-name" value="soft"/>
   </directory>
-
+  <!--
+  <directory name="moh/48000" path="$${base_dir}/sounds/music/48000">
+    <param name="rate" value="48000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="10"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+  -->
 </configuration>

Modified: freeswitch/branches/gmaruzz/conf/autoload_configs/voicemail.conf.xml
==============================================================================
--- freeswitch/branches/gmaruzz/conf/autoload_configs/voicemail.conf.xml	(original)
+++ freeswitch/branches/gmaruzz/conf/autoload_configs/voicemail.conf.xml	Tue Dec 23 07:37:03 2008
@@ -30,6 +30,7 @@
       <param name="restart-key" value="1"/>
       <param name="ff-key" value="6"/>
       <param name="rew-key" value="4"/>
+      <param name="skip-greet-key" value="#"/>
       <param name="record-silence-threshold" value="200"/>
       <param name="record-silence-hits" value="2"/>
       <param name="web-template-file" value="web-vm.tpl"/>

Modified: freeswitch/branches/gmaruzz/conf/dialplan/default.xml
==============================================================================
--- freeswitch/branches/gmaruzz/conf/dialplan/default.xml	(original)
+++ freeswitch/branches/gmaruzz/conf/dialplan/default.xml	Tue Dec 23 07:37:03 2008
@@ -91,7 +91,7 @@
       <condition field="${numbering_plan}" expression="^$" break="never">
 	<action application="set_user" data="default@${domain_name}"/>
       </condition>
-      <condition field="$${call_debug}" expression="^true$" break="never">
+      <condition field="${call_debug}" expression="^true$" break="never">
 	<action application="info"/>
       </condition>
       <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$" break="never">

Modified: freeswitch/branches/gmaruzz/conf/dialplan/default/01_example.com.xml
==============================================================================
--- freeswitch/branches/gmaruzz/conf/dialplan/default/01_example.com.xml	(original)
+++ freeswitch/branches/gmaruzz/conf/dialplan/default/01_example.com.xml	Tue Dec 23 07:37:03 2008
@@ -20,7 +20,7 @@
 
   <extension name="international.example.com">
     <condition field="${toll_allow}" expression="international"/>
-    <condition field="destination_number" expression="^(011\d{10+})$">
+    <condition field="destination_number" expression="^(011\d+)$">
       <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
       <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
       <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>

Modified: freeswitch/branches/gmaruzz/conf/sip_profiles/internal.xml
==============================================================================
--- freeswitch/branches/gmaruzz/conf/sip_profiles/internal.xml	(original)
+++ freeswitch/branches/gmaruzz/conf/sip_profiles/internal.xml	Tue Dec 23 07:37:03 2008
@@ -157,11 +157,6 @@
 	<!-- enable-3pcc can be set to either 'true' or 'proxy', true accepts the call right away, proxy waits until the call has been answered then sends accepts -->
     <!--<param name="enable-3pcc" value="true"/>-->
 	
-    <!-- use stun when specified (default is true) -->
-    <!--<param name="stun-enabled" value="true"/>-->
-    <!-- use stun when specified (default is true) -->
-    <!-- set to true to have the profile determine stun is not useful and turn it off globally-->
-    <!--<param name="stun-auto-disable" value="true"/>-->
     <!-- use at your own risk or if you know what this does.-->
     <!--<param name="NDLB-force-rport" value="true"/>-->
     <!--

Modified: freeswitch/branches/gmaruzz/conf/vars.xml
==============================================================================
--- freeswitch/branches/gmaruzz/conf/vars.xml	(original)
+++ freeswitch/branches/gmaruzz/conf/vars.xml	Tue Dec 23 07:37:03 2008
@@ -35,6 +35,8 @@
        speex at 32000h@20i - Speex 32kHz using 20ms ptime.
        G7221 at 16000h     - G722.1 16kHz (aka Siren 7)
        G7221 at 32000h     - G722.1C 32kHz (aka Siren 14)
+       CELT at 32000h      - CELT 32kHz, only 10ms supported
+       CELT at 48000h      - CELT 48kHz, only 10ms supported
        GSM at 40i          - GSM 8kHz using 40ms ptime. (GSM is done in multiples of 20, Default is 20ms)
        G722             - G722 16kHz using default 20ms ptime. (multiples of 10)
        PCMU             - G711 8kHz ulaw using default 20ms ptime. (multiples of 10)

Modified: freeswitch/branches/gmaruzz/docs/phrase/phrase_en.xml
==============================================================================
--- freeswitch/branches/gmaruzz/docs/phrase/phrase_en.xml	(original)
+++ freeswitch/branches/gmaruzz/docs/phrase/phrase_en.xml	Tue Dec 23 07:37:03 2008
@@ -267,12 +267,20 @@
       <prompt phrase="To speak with an operator" filename="ivr-to_speak_with_an_operator.wav"/>
       <prompt phrase="Welcome to FreeSWITCH, the future of telephony" filename="ivr-welcome_to_freeswitch.wav"/>
       <prompt phrase="You may exit at any time by simply hanging up" filename="ivr-you_may_exit_by_hanging_up.wav"/>
-      <!-- Suggested additions
-       <prompt phrase="or" filename ="ivr-or.wav"/>
-       <prompt phrase="not" filename ="ivr-not.wav"/>
-       <prompt phrase="call" filename ="ivr-call.wav"/>
-       <prompt phrase="You may" filename ="ivr-you_may.wav"/>
-       -->
+      <prompt phrase="or" filename ="ivr-or.wav"/>
+      <prompt phrase="not" filename ="ivr-not.wav"/>
+      <prompt phrase="call" filename ="ivr-call.wav"/>
+      <prompt phrase="You may" filename ="ivr-you_may.wav"/>
+      <prompt phrase="hello" filename="ivr-hello.wav"/>
+      <prompt phrase="Using your telephone keypad..." filename="ivr-use_telephone_keypad.wav"/>
+      <prompt phrase="please spell the name of the person you are trying to reach." filename="ivr-spell_name.wav"/>
+      <prompt phrase="Last name first" filename="ivr-last_name_first.wav"/>
+      <prompt phrase="First name first" filename="ivr-first_name_first.wav"/>
+      <prompt phrase="Press 1 for Q or Z." filename="ivr-press_one_q_or_z.wav"/>
+      <prompt phrase="Sales" filename="ivr-sales.wav"/>
+      <prompt phrase="Customer service" filename="ivr-customer_service.wav"/>
+      <prompt phrase="Technical support" filename="ivr-technical_support.wav"/>
+      <prompt phrase="Operator" filename="ivr-operator.wav"/>
     </ivr>
     <misc>
       <prompt phrase="This call has been secured" filename="call_secured.wav"/>

Modified: freeswitch/branches/gmaruzz/libs/codec/ilbc/src/iLBC_define.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/codec/ilbc/src/iLBC_define.h	(original)
+++ freeswitch/branches/gmaruzz/libs/codec/ilbc/src/iLBC_define.h	Tue Dec 23 07:37:03 2008
@@ -16,7 +16,7 @@
 
 /* general codec settings */
 
-#define FS                      (float)8000.0
+#define FREQ_S                  (float)8000.0
 #define BLOCKL_20MS             160
 #define BLOCKL_30MS             240
 #define BLOCKL_MAX              240

Modified: freeswitch/branches/gmaruzz/libs/js/nsprpub/configure.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/js/nsprpub/configure.in	(original)
+++ freeswitch/branches/gmaruzz/libs/js/nsprpub/configure.in	Tue Dec 23 07:37:03 2008
@@ -2825,4 +2825,7 @@
     MAKEFILES="$MAKEFILES pr/src/cplus/Makefile pr/src/cplus/tests/Makefile"
 fi
 
+# mmkay, this fixes things on FreeBSD-7.1(-rc1)...
+MAKEFILES="`echo $MAKEFILES | tr -d '\n'`"
+
 AC_OUTPUT([$MAKEFILES], [chmod +x config/nspr-config])

Modified: freeswitch/branches/gmaruzz/libs/libg722_1/src/coef2sam.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/libg722_1/src/coef2sam.h	(original)
+++ freeswitch/branches/gmaruzz/libs/libg722_1/src/coef2sam.h	Tue Dec 23 07:37:03 2008
@@ -123,970 +123,970 @@
 #else
 const float rmlt_to_samples_window[DCT_LENGTH] =
 {
-    2.45436677e-03,
-    7.36304140e-03,
-    1.22715384e-02,
-    1.71797387e-02,
-    2.20875274e-02,
-    2.69947816e-02,
-    3.19013856e-02,
-    3.68072242e-02,
-    4.17121723e-02,
-    4.66161147e-02,
-    5.15189357e-02,
-    5.64205162e-02,
-    6.13207370e-02,
-    6.62194788e-02,
-    7.11166263e-02,
-    7.60120600e-02,
-    8.09056610e-02,
-    8.57973099e-02,
-    9.06868950e-02,
-    9.55742970e-02,
-    1.00459397e-01,
-    1.05342068e-01,
-    1.10222206e-01,
-    1.15099691e-01,
-    1.19974397e-01,
-    1.24846213e-01,
-    1.29715025e-01,
-    1.34580702e-01,
-    1.39443144e-01,
-    1.44302234e-01,
-    1.49157837e-01,
-    1.54009849e-01,
-    1.58858150e-01,
-    1.63702607e-01,
-    1.68543145e-01,
-    1.73379600e-01,
-    1.78211898e-01,
-    1.83039889e-01,
-    1.87863469e-01,
-    1.92682534e-01,
-    1.97496936e-01,
-    2.02306598e-01,
-    2.07111374e-01,
-    2.11911172e-01,
-    2.16705844e-01,
-    2.21495315e-01,
-    2.26279438e-01,
-    2.31058106e-01,
-    2.35831216e-01,
-    2.40598634e-01,
-    2.45360255e-01,
-    2.50115961e-01,
-    2.54865646e-01,
-    2.59609193e-01,
-    2.64346480e-01,
-    2.69077420e-01,
-    2.73801863e-01,
-    2.78519690e-01,
-    2.83230811e-01,
-    2.87935108e-01,
-    2.92632490e-01,
-    2.97322810e-01,
-    3.02005947e-01,
-    3.06681812e-01,
-    3.11350316e-01,
-    3.16011280e-01,
-    3.20664644e-01,
-    3.25310290e-01,
-    3.29948097e-01,
-    3.34577948e-01,
-    3.39199722e-01,
-    3.43813360e-01,
-    3.48418683e-01,
-    3.53015602e-01,
-    3.57604057e-01,
-    3.62183869e-01,
-    3.66754949e-01,
-    3.71317208e-01,
-    3.75870496e-01,
-    3.80414754e-01,
-    3.84949833e-01,
-    3.89475614e-01,
-    3.93992037e-01,
-    3.98498952e-01,
-    4.02996302e-01,
-    4.07483906e-01,
-    4.11961704e-01,
-    4.16429549e-01,
-    4.20887381e-01,
-    4.25335079e-01,
-    4.29772526e-01,
-    4.34199601e-01,
-    4.38616246e-01,
-    4.43022281e-01,
-    4.47417676e-01,
-    4.51802284e-01,
-    4.56175983e-01,
-    4.60538715e-01,
-    4.64890331e-01,
-    4.69230771e-01,
-    4.73559886e-01,
-    4.77877587e-01,
-    4.82183784e-01,
-    4.86478359e-01,
-    4.90761191e-01,
-    4.95032221e-01,
-    4.99291331e-01,
-    5.03538370e-01,
-    5.07773340e-01,
-    5.11996031e-01,
-    5.16206384e-01,
-    5.20404279e-01,
-    5.24589658e-01,
-    5.28762400e-01,
-    5.32922447e-01,
-    5.37069619e-01,
-    5.41203797e-01,
-    5.45324981e-01,
-    5.49433053e-01,
-    5.53527832e-01,
-    5.57609320e-01,
-    5.61677337e-01,
-    5.65731823e-01,
-    5.69772661e-01,
-    5.73799789e-01,
-    5.77813089e-01,
-    5.81812501e-01,
-    5.85797846e-01,
-    5.89769125e-01,
-    5.93726158e-01,
-    5.97668886e-01,
-    6.01597190e-01,
-    6.05511069e-01,
-    6.09410286e-01,
-    6.13294840e-01,
-    6.17164612e-01,
-    6.21019542e-01,
-    6.24859512e-01,
-    6.28684402e-01,
-    6.32494152e-01,
-    6.36288643e-01,
-    6.40067816e-01,
-    6.43831551e-01,
-    6.47579789e-01,
-    6.51312411e-01,
-    6.55029356e-01,
-    6.58730507e-01,
-    6.62415802e-01,
-    6.66085124e-01,
-    6.69738352e-01,
-    6.73375487e-01,
-    6.76996410e-01,
-    6.80601001e-01,
-    6.84189200e-01,
-    6.87760890e-01,
-    6.91316009e-01,
-    6.94854498e-01,
-    6.98376238e-01,
-    7.01881170e-01,
-    7.05369174e-01,
-    7.08840132e-01,
-    7.12294042e-01,
-    7.15730846e-01,
-    7.19150364e-01,
-    7.22552538e-01,
-    7.25937307e-01,
-    7.29304552e-01,
-    7.32654274e-01,
-    7.35986352e-01,
-    7.39300668e-01,
-    7.42597163e-01,
-    7.45875776e-01,
-    7.49136388e-01,
-    7.52379000e-01,
-    7.55603433e-01,
-    7.58809686e-01,
-    7.61997640e-01,
-    7.65167236e-01,
-    7.68318415e-01,
-    7.71451116e-01,
-    7.74565160e-01,
-    7.77660549e-01,
-    7.80737221e-01,
-    7.83795059e-01,
-    7.86834061e-01,
-    7.89854050e-01,
-    7.92855024e-01,
-    7.95836926e-01,
-    7.98799574e-01,
-    8.01743031e-01,
-    8.04667175e-01,
-    8.07571888e-01,
-    8.10457170e-01,
-    8.13322961e-01,
-    8.16169083e-01,
-    8.18995595e-01,
-    8.21802378e-01,
-    8.24589312e-01,
-    8.27356398e-01,
-    8.30103517e-01,
-    8.32830667e-01,
-    8.35537732e-01,
-    8.38224709e-01,
-    8.40891480e-01,
-    8.43537927e-01,
-    8.46164107e-01,
-    8.48769844e-01,
-    8.51355195e-01,
-    8.53919983e-01,
-    8.56464207e-01,
-    8.58987808e-01,
-    8.61490726e-01,
-    8.63972843e-01,
-    8.66434157e-01,
-    8.68874609e-01,
-    8.71294141e-01,
-    8.73692632e-01,
-    8.76070082e-01,
-    8.78426433e-01,
-    8.80761623e-01,
-    8.83075595e-01,
-    8.85368288e-01,
-    8.87639642e-01,
-    8.89889598e-01,
-    8.92118096e-01,
-    8.94325137e-01,
-    8.96510601e-01,
-    8.98674488e-01,
-    9.00816679e-01,
-    9.02937174e-01,
-    9.05035973e-01,
-    9.07112896e-01,
-    9.09168005e-01,
-    9.11201179e-01,
-    9.13212419e-01,
-    9.15201604e-01,
-    9.17168796e-01,
-    9.19113874e-01,
-    9.21036780e-01,
-    9.22937512e-01,
-    9.24816012e-01,
-    9.26672220e-01,
-    9.28506076e-01,
-    9.30317581e-01,
-    9.32106674e-01,
-    9.33873296e-01,
-    9.35617447e-01,
-    9.37339008e-01,
-    9.39037979e-01,
-    9.40714359e-01,
-    9.42368090e-01,
-    9.43999052e-01,
-    9.45607305e-01,
-    9.47192788e-01,
-    9.48755443e-01,
-    9.50295210e-01,
-    9.51812088e-01,
-    9.53306019e-01,
-    9.54777002e-01,
-    9.56224978e-01,
-    9.57649946e-01,
-    9.59051788e-01,
-    9.60430503e-01,
-    9.61786151e-01,
-    9.63118553e-01,
-    9.64427769e-01,
-    9.65713739e-01,
-    9.66976464e-01,
-    9.68215883e-01,
-    9.69431996e-01,
-    9.70624685e-01,
-    9.71794009e-01,
-    9.72939968e-01,
-    9.74062443e-01,
-    9.75161433e-01,
-    9.76236939e-01,
-    9.77288961e-01,
-    9.78317380e-01,
-    9.79322255e-01,
-    9.80303526e-01,
-    9.81261134e-01,
-    9.82195139e-01,
-    9.83105481e-01,
-    9.83992159e-01,
-    9.84855056e-01,
-    9.85694289e-01,
-    9.86509740e-01,
-    9.87301409e-01,
-    9.88069296e-01,
-    9.88813400e-01,
-    9.89533663e-01,
-    9.90230083e-01,
-    9.90902662e-01,
-    9.91551340e-01,
-    9.92176116e-01,
-    9.92776990e-01,
-    9.93353963e-01,
-    9.93906975e-01,
-    9.94436026e-01,
-    9.94941175e-01,
-    9.95422304e-01,
-    9.95879471e-01,
-    9.96312618e-01,
-    9.96721745e-01,
-    9.97106910e-01,
-    9.97467995e-01,
-    9.97805059e-01,
-    9.98118103e-01,
-    9.98407066e-01,
-    9.98672009e-01,
-    9.98912871e-01,
-    9.99129653e-01,
-    9.99322355e-01,
-    9.99491036e-01,
-    9.99635577e-01,
-    9.99756038e-01,
-    9.99852419e-01,
-    9.99924719e-01,
-    9.99972880e-01,
-    9.99996960e-01
+    2.45436677e-03f,
+    7.36304140e-03f,
+    1.22715384e-02f,
+    1.71797387e-02f,
+    2.20875274e-02f,
+    2.69947816e-02f,
+    3.19013856e-02f,
+    3.68072242e-02f,
+    4.17121723e-02f,
+    4.66161147e-02f,
+    5.15189357e-02f,
+    5.64205162e-02f,
+    6.13207370e-02f,
+    6.62194788e-02f,
+    7.11166263e-02f,
+    7.60120600e-02f,
+    8.09056610e-02f,
+    8.57973099e-02f,
+    9.06868950e-02f,
+    9.55742970e-02f,
+    1.00459397e-01f,
+    1.05342068e-01f,
+    1.10222206e-01f,
+    1.15099691e-01f,
+    1.19974397e-01f,
+    1.24846213e-01f,
+    1.29715025e-01f,
+    1.34580702e-01f,
+    1.39443144e-01f,
+    1.44302234e-01f,
+    1.49157837e-01f,
+    1.54009849e-01f,
+    1.58858150e-01f,
+    1.63702607e-01f,
+    1.68543145e-01f,
+    1.73379600e-01f,
+    1.78211898e-01f,
+    1.83039889e-01f,
+    1.87863469e-01f,
+    1.92682534e-01f,
+    1.97496936e-01f,
+    2.02306598e-01f,
+    2.07111374e-01f,
+    2.11911172e-01f,
+    2.16705844e-01f,
+    2.21495315e-01f,
+    2.26279438e-01f,
+    2.31058106e-01f,
+    2.35831216e-01f,
+    2.40598634e-01f,
+    2.45360255e-01f,
+    2.50115961e-01f,
+    2.54865646e-01f,
+    2.59609193e-01f,
+    2.64346480e-01f,
+    2.69077420e-01f,
+    2.73801863e-01f,
+    2.78519690e-01f,
+    2.83230811e-01f,
+    2.87935108e-01f,
+    2.92632490e-01f,
+    2.97322810e-01f,
+    3.02005947e-01f,
+    3.06681812e-01f,
+    3.11350316e-01f,
+    3.16011280e-01f,
+    3.20664644e-01f,
+    3.25310290e-01f,
+    3.29948097e-01f,
+    3.34577948e-01f,
+    3.39199722e-01f,
+    3.43813360e-01f,
+    3.48418683e-01f,
+    3.53015602e-01f,
+    3.57604057e-01f,
+    3.62183869e-01f,
+    3.66754949e-01f,
+    3.71317208e-01f,
+    3.75870496e-01f,
+    3.80414754e-01f,
+    3.84949833e-01f,
+    3.89475614e-01f,
+    3.93992037e-01f,
+    3.98498952e-01f,
+    4.02996302e-01f,
+    4.07483906e-01f,
+    4.11961704e-01f,
+    4.16429549e-01f,
+    4.20887381e-01f,
+    4.25335079e-01f,
+    4.29772526e-01f,
+    4.34199601e-01f,
+    4.38616246e-01f,
+    4.43022281e-01f,
+    4.47417676e-01f,
+    4.51802284e-01f,
+    4.56175983e-01f,
+    4.60538715e-01f,
+    4.64890331e-01f,
+    4.69230771e-01f,
+    4.73559886e-01f,
+    4.77877587e-01f,
+    4.82183784e-01f,
+    4.86478359e-01f,
+    4.90761191e-01f,
+    4.95032221e-01f,
+    4.99291331e-01f,
+    5.03538370e-01f,
+    5.07773340e-01f,
+    5.11996031e-01f,
+    5.16206384e-01f,
+    5.20404279e-01f,
+    5.24589658e-01f,
+    5.28762400e-01f,
+    5.32922447e-01f,
+    5.37069619e-01f,
+    5.41203797e-01f,
+    5.45324981e-01f,
+    5.49433053e-01f,
+    5.53527832e-01f,
+    5.57609320e-01f,
+    5.61677337e-01f,
+    5.65731823e-01f,
+    5.69772661e-01f,
+    5.73799789e-01f,
+    5.77813089e-01f,
+    5.81812501e-01f,
+    5.85797846e-01f,
+    5.89769125e-01f,
+    5.93726158e-01f,
+    5.97668886e-01f,
+    6.01597190e-01f,
+    6.05511069e-01f,
+    6.09410286e-01f,
+    6.13294840e-01f,
+    6.17164612e-01f,
+    6.21019542e-01f,
+    6.24859512e-01f,
+    6.28684402e-01f,
+    6.32494152e-01f,
+    6.36288643e-01f,
+    6.40067816e-01f,
+    6.43831551e-01f,
+    6.47579789e-01f,
+    6.51312411e-01f,
+    6.55029356e-01f,
+    6.58730507e-01f,
+    6.62415802e-01f,
+    6.66085124e-01f,
+    6.69738352e-01f,
+    6.73375487e-01f,
+    6.76996410e-01f,
+    6.80601001e-01f,
+    6.84189200e-01f,
+    6.87760890e-01f,
+    6.91316009e-01f,
+    6.94854498e-01f,
+    6.98376238e-01f,
+    7.01881170e-01f,
+    7.05369174e-01f,
+    7.08840132e-01f,
+    7.12294042e-01f,
+    7.15730846e-01f,
+    7.19150364e-01f,
+    7.22552538e-01f,
+    7.25937307e-01f,
+    7.29304552e-01f,
+    7.32654274e-01f,
+    7.35986352e-01f,
+    7.39300668e-01f,
+    7.42597163e-01f,
+    7.45875776e-01f,
+    7.49136388e-01f,
+    7.52379000e-01f,
+    7.55603433e-01f,
+    7.58809686e-01f,
+    7.61997640e-01f,
+    7.65167236e-01f,
+    7.68318415e-01f,
+    7.71451116e-01f,
+    7.74565160e-01f,
+    7.77660549e-01f,
+    7.80737221e-01f,
+    7.83795059e-01f,
+    7.86834061e-01f,
+    7.89854050e-01f,
+    7.92855024e-01f,
+    7.95836926e-01f,
+    7.98799574e-01f,
+    8.01743031e-01f,
+    8.04667175e-01f,
+    8.07571888e-01f,
+    8.10457170e-01f,
+    8.13322961e-01f,
+    8.16169083e-01f,
+    8.18995595e-01f,
+    8.21802378e-01f,
+    8.24589312e-01f,
+    8.27356398e-01f,
+    8.30103517e-01f,
+    8.32830667e-01f,
+    8.35537732e-01f,
+    8.38224709e-01f,
+    8.40891480e-01f,
+    8.43537927e-01f,
+    8.46164107e-01f,
+    8.48769844e-01f,
+    8.51355195e-01f,
+    8.53919983e-01f,
+    8.56464207e-01f,
+    8.58987808e-01f,
+    8.61490726e-01f,
+    8.63972843e-01f,
+    8.66434157e-01f,
+    8.68874609e-01f,
+    8.71294141e-01f,
+    8.73692632e-01f,
+    8.76070082e-01f,
+    8.78426433e-01f,
+    8.80761623e-01f,
+    8.83075595e-01f,
+    8.85368288e-01f,
+    8.87639642e-01f,
+    8.89889598e-01f,
+    8.92118096e-01f,
+    8.94325137e-01f,
+    8.96510601e-01f,
+    8.98674488e-01f,
+    9.00816679e-01f,
+    9.02937174e-01f,
+    9.05035973e-01f,
+    9.07112896e-01f,
+    9.09168005e-01f,
+    9.11201179e-01f,
+    9.13212419e-01f,
+    9.15201604e-01f,
+    9.17168796e-01f,
+    9.19113874e-01f,
+    9.21036780e-01f,
+    9.22937512e-01f,
+    9.24816012e-01f,
+    9.26672220e-01f,
+    9.28506076e-01f,
+    9.30317581e-01f,
+    9.32106674e-01f,
+    9.33873296e-01f,
+    9.35617447e-01f,
+    9.37339008e-01f,
+    9.39037979e-01f,
+    9.40714359e-01f,
+    9.42368090e-01f,
+    9.43999052e-01f,
+    9.45607305e-01f,
+    9.47192788e-01f,
+    9.48755443e-01f,
+    9.50295210e-01f,
+    9.51812088e-01f,
+    9.53306019e-01f,
+    9.54777002e-01f,
+    9.56224978e-01f,
+    9.57649946e-01f,
+    9.59051788e-01f,
+    9.60430503e-01f,
+    9.61786151e-01f,
+    9.63118553e-01f,
+    9.64427769e-01f,
+    9.65713739e-01f,
+    9.66976464e-01f,
+    9.68215883e-01f,
+    9.69431996e-01f,
+    9.70624685e-01f,
+    9.71794009e-01f,
+    9.72939968e-01f,
+    9.74062443e-01f,
+    9.75161433e-01f,
+    9.76236939e-01f,
+    9.77288961e-01f,
+    9.78317380e-01f,
+    9.79322255e-01f,
+    9.80303526e-01f,
+    9.81261134e-01f,
+    9.82195139e-01f,
+    9.83105481e-01f,
+    9.83992159e-01f,
+    9.84855056e-01f,
+    9.85694289e-01f,
+    9.86509740e-01f,
+    9.87301409e-01f,
+    9.88069296e-01f,
+    9.88813400e-01f,
+    9.89533663e-01f,
+    9.90230083e-01f,
+    9.90902662e-01f,
+    9.91551340e-01f,
+    9.92176116e-01f,
+    9.92776990e-01f,
+    9.93353963e-01f,
+    9.93906975e-01f,
+    9.94436026e-01f,
+    9.94941175e-01f,
+    9.95422304e-01f,
+    9.95879471e-01f,
+    9.96312618e-01f,
+    9.96721745e-01f,
+    9.97106910e-01f,
+    9.97467995e-01f,
+    9.97805059e-01f,
+    9.98118103e-01f,
+    9.98407066e-01f,
+    9.98672009e-01f,
+    9.98912871e-01f,
+    9.99129653e-01f,
+    9.99322355e-01f,
+    9.99491036e-01f,
+    9.99635577e-01f,
+    9.99756038e-01f,
+    9.99852419e-01f,
+    9.99924719e-01f,
+    9.99972880e-01f,
+    9.99996960e-01f
 };
 
 const float max_rmlt_to_samples_window[MAX_DCT_LENGTH] =
 {
-    1.22718432e-03,
-    3.68154561e-03,
-    6.13588467e-03,
-    8.59018695e-03,
-    1.10444371e-02,
-    1.34986211e-02,
-    1.59527231e-02,
-    1.84067301e-02,
-    2.08606254e-02,
-    2.33143959e-02,
-    2.57680248e-02,
-    2.82214992e-02,
-    3.06748040e-02,
-    3.31279226e-02,
-    3.55808437e-02,
-    3.80335487e-02,
-    4.04860228e-02,
-    4.29382585e-02,
-    4.53902297e-02,
-    4.78419326e-02,
-    5.02933450e-02,
-    5.27444519e-02,
-    5.51952459e-02,
-    5.76457046e-02,
-    6.00958169e-02,
-    6.25455678e-02,
-    6.49949387e-02,
-    6.74439222e-02,
-    6.98924959e-02,
-    7.23406523e-02,
-    7.47883692e-02,
-    7.72356316e-02,
-    7.96824396e-02,
-    8.21287632e-02,
-    8.45745876e-02,
-    8.70199054e-02,
-    8.94647017e-02,
-    9.19089541e-02,
-    9.43526551e-02,
-    9.67957899e-02,
-    9.92383435e-02,
-    1.01680294e-01,
-    1.04121633e-01,
-    1.06562346e-01,
-    1.09002419e-01,
-    1.11441828e-01,
-    1.13880575e-01,
-    1.16318628e-01,
-    1.18755989e-01,
-    1.21192627e-01,
-    1.23628542e-01,
-    1.26063704e-01,
-    1.28498107e-01,
-    1.30931750e-01,
-    1.33364588e-01,
-    1.35796621e-01,
-    1.38227850e-01,
-    1.40658244e-01,
-    1.43087775e-01,
-    1.45516455e-01,
-    1.47944272e-01,
-    1.50371179e-01,
-    1.52797192e-01,
-    1.55222267e-01,
-    1.57646418e-01,
-    1.60069630e-01,
-    1.62491858e-01,
-    1.64913118e-01,
-    1.67333379e-01,
-    1.69752643e-01,
-    1.72170877e-01,
-    1.74588069e-01,
-    1.77004218e-01,
-    1.79419294e-01,
-    1.81833297e-01,
-    1.84246197e-01,
-    1.86657995e-01,
-    1.89068660e-01,
-    1.91478193e-01,
-    1.93886578e-01,
-    1.96293786e-01,
-    1.98699802e-01,
-    2.01104641e-01,
-    2.03508258e-01,
-    2.05910638e-01,
-    2.08311796e-01,
-    2.10711688e-01,
-    2.13110313e-01,
-    2.15507656e-01,
-    2.17903703e-01,
-    2.20298439e-01,
-    2.22691849e-01,
-    2.25083917e-01,
-    2.27474615e-01,
-    2.29863957e-01,
-    2.32251912e-01,
-    2.34638467e-01,
-    2.37023607e-01,
-    2.39407316e-01,
-    2.41789594e-01,
-    2.44170398e-01,
-    2.46549740e-01,
-    2.48927608e-01,
-    2.51303971e-01,
-    2.53678799e-01,
-    2.56052136e-01,
-    2.58423895e-01,
-    2.60794103e-01,
-    2.63162762e-01,
-    2.65529811e-01,
-    2.67895281e-01,
-    2.70259142e-01,
-    2.72621363e-01,
-    2.74981946e-01,
-    2.77340859e-01,
-    2.79698104e-01,
-    2.82053679e-01,
-    2.84407526e-01,
-    2.86759704e-01,
-    2.89110124e-01,
-    2.91458815e-01,
-    2.93805718e-01,
-    2.96150893e-01,
-    2.98494250e-01,
-    3.00835848e-01,
-    3.03175598e-01,
-    3.05513531e-01,
-    3.07849646e-01,
-    3.10183883e-01,
-    3.12516272e-01,
-    3.14846754e-01,
-    3.17175359e-01,
-    3.19502026e-01,
-    3.21826786e-01,
-    3.24149609e-01,
-    3.26470494e-01,
-    3.28789383e-01,
-    3.31106305e-01,
-    3.33421230e-01,
-    3.35734159e-01,
-    3.38045061e-01,
-    3.40353906e-01,
-    3.42660725e-01,
-    3.44965458e-01,
-    3.47268134e-01,
-    3.49568695e-01,
-    3.51867169e-01,
-    3.54163527e-01,
-    3.56457740e-01,
-    3.58749807e-01,
-    3.61039728e-01,
-    3.63327444e-01,
-    3.65612984e-01,
-    3.67896348e-01,
-    3.70177478e-01,
-    3.72456372e-01,
-    3.74733001e-01,
-    3.77007425e-01,
-    3.79279524e-01,
-    3.81549388e-01,
-    3.83816928e-01,
-    3.86082143e-01,
-    3.88345033e-01,
-    3.90605599e-01,
-    3.92863810e-01,
-    3.95119667e-01,
-    3.97373140e-01,
-    3.99624199e-01,
-    4.01872873e-01,
-    4.04119104e-01,
-    4.06362921e-01,
-    4.08604264e-01,
-    4.10843164e-01,
-    4.13079590e-01,
-    4.15313542e-01,
-    4.17544961e-01,
-    4.19773877e-01,
-    4.22000259e-01,
-    4.24224108e-01,
-    4.26445425e-01,
-    4.28664148e-01,
-    4.30880278e-01,
-    4.33093816e-01,
-    4.35304761e-01,
-    4.37513083e-01,
-    4.39718753e-01,
-    4.41921771e-01,
-    4.44122136e-01,
-    4.46319848e-01,
-    4.48514849e-01,
-    4.50707138e-01,
-    4.52896714e-01,
-    4.55083579e-01,
-    4.57267702e-01,
-    4.59449053e-01,
-    4.61627662e-01,
-    4.63803470e-01,
-    4.65976506e-01,
-    4.68146712e-01,
-    4.70314115e-01,
-    4.72478658e-01,
-    4.74640369e-01,
-    4.76799220e-01,
-    4.78955209e-01,
-    4.81108308e-01,
-    4.83258516e-01,
-    4.85405803e-01,
-    4.87550169e-01,
-    4.89691585e-01,
-    4.91830051e-01,
-    4.93965566e-01,
-    4.96098131e-01,
-    4.98227656e-01,
-    5.00354230e-01,
-    5.02477765e-01,
-    5.04598260e-01,
-    5.06715715e-01,
-    5.08830130e-01,
-    5.10941505e-01,
-    5.13049781e-01,
-    5.15154958e-01,
-    5.17257035e-01,
-    5.19356012e-01,
-    5.21451831e-01,
-    5.23544490e-01,
-    5.25634050e-01,
-    5.27720451e-01,
-    5.29803634e-01,
-    5.31883657e-01,
-    5.33960402e-01,
-    5.36033988e-01,
-    5.38104355e-01,
-    5.40171444e-01,
-    5.42235315e-01,
-    5.44295907e-01,
-    5.46353221e-01,
-    5.48407257e-01,
-    5.50457954e-01,
-    5.52505374e-01,
-    5.54549456e-01,
-    5.56590199e-01,
-    5.58627546e-01,
-    5.60661554e-01,
-    5.62692225e-01,
-    5.64719439e-01,
-    5.66743314e-01,
-    5.68763733e-01,
-    5.70780754e-01,
-    5.72794318e-01,
-    5.74804425e-01,
-    5.76811075e-01,
-    5.78814268e-01,
-    5.80813944e-01,
-    5.82810163e-01,
-    5.84802806e-01,
-    5.86791992e-01,
-    5.88777602e-01,
-    5.90759695e-01,
-    5.92738211e-01,
-    5.94713151e-01,
-    5.96684515e-01,
-    5.98652303e-01,
-    6.00616455e-01,
-    6.02577031e-01,
-    6.04533970e-01,
-    6.06487215e-01,
-    6.08436823e-01,
-    6.10382795e-01,
-    6.12325072e-01,
-    6.14263654e-01,
-    6.16198599e-01,
-    6.18129730e-01,
-    6.20057225e-01,
-    6.21980906e-01,
-    6.23900890e-01,
-    6.25817120e-01,
-    6.27729595e-01,
-    6.29638255e-01,
-    6.31543100e-01,
-    6.33444190e-01,
-    6.35341406e-01,
-    6.37234867e-01,
-    6.39124453e-01,
-    6.41010165e-01,
-    6.42892063e-01,
-    6.44770086e-01,
-    6.46644175e-01,
-    6.48514390e-01,
-    6.50380731e-01,
-    6.52243137e-01,
-    6.54101610e-01,
-    6.55956089e-01,
-    6.57806695e-01,
-    6.59653306e-01,
-    6.61495924e-01,
-    6.63334608e-01,
-    6.65169239e-01,
-    6.66999936e-01,
-    6.68826580e-01,
-    6.70649171e-01,
-    6.72467709e-01,
-    6.74282253e-01,
-    6.76092684e-01,
-    6.77899063e-01,
-    6.79701388e-01,
-    6.81499600e-01,
-    6.83293700e-01,
-    6.85083687e-01,
-    6.86869502e-01,
-    6.88651264e-01,
-    6.90428793e-01,
-    6.92202210e-01,
-    6.93971455e-01,
-    6.95736527e-01,
-    6.97497368e-01,
-    6.99254036e-01,
-    7.01006532e-01,
-    7.02754736e-01,
-    7.04498768e-01,
-    7.06238508e-01,
-    7.07974017e-01,
-    7.09705234e-01,
-    7.11432219e-01,
-    7.13154852e-01,
-    7.14873254e-01,
-    7.16587305e-01,
-    7.18297064e-01,
-    7.20002532e-01,
-    7.21703589e-01,
-    7.23400354e-01,
-    7.25092709e-01,
-    7.26780772e-01,
-    7.28464365e-01,
-    7.30143666e-01,
-    7.31818497e-01,
-    7.33488917e-01,
-    7.35154986e-01,
-    7.36816585e-01,
-    7.38473713e-01,
-    7.40126431e-01,
-    7.41774678e-01,
-    7.43418455e-01,
-    7.45057762e-01,
-    7.46692598e-01,
-    7.48322904e-01,
-    7.49948740e-01,
-    7.51570046e-01,
-    7.53186822e-01,
-    7.54799008e-01,
-    7.56406724e-01,
-    7.58009851e-01,
-    7.59608388e-01,
-    7.61202395e-01,
-    7.62791812e-01,
-    7.64376581e-01,
-    7.65956819e-01,
-    7.67532349e-01,
-    7.69103348e-01,
-    7.70669639e-01,
-    7.72231340e-01,
-    7.73788393e-01,
-    7.75340736e-01,
-    7.76888490e-01,
-    7.78431475e-01,
-    7.79969811e-01,
-    7.81503439e-01,
-    7.83032358e-01,
-    7.84556568e-01,
-    7.86076069e-01,
-    7.87590802e-01,
-    7.89100826e-01,
-    7.90606081e-01,
-    7.92106569e-01,
-    7.93602288e-01,
-    7.95093238e-01,
-    7.96579361e-01,
-    7.98060715e-01,
-    7.99537241e-01,
-    8.01008999e-01,
-    8.02475870e-01,
-    8.03937972e-01,
-    8.05395186e-01,
-    8.06847572e-01,
-    8.08295071e-01,
-    8.09737682e-01,
-    8.11175466e-01,
-    8.12608361e-01,
-    8.14036310e-01,
-    8.15459430e-01,
-    8.16877604e-01,
-    8.18290830e-01,
-    8.19699109e-01,
-    8.21102500e-01,
-    8.22500944e-01,
-    8.23894441e-01,
-    8.25282931e-01,
-    8.26666474e-01,
-    8.28045070e-01,
-    8.29418600e-01,
-    8.30787182e-01,
-    8.32150757e-01,
-    8.33509326e-01,
-    8.34862888e-01,
-    8.36211383e-01,
-    8.37554872e-01,
-    8.38893294e-01,
-    8.40226650e-01,
-    8.41554999e-01,
-    8.42878222e-01,
-    8.44196379e-01,
-    8.45509470e-01,
-    8.46817434e-01,
-    8.48120332e-01,
-    8.49418104e-01,
-    8.50710809e-01,
-    8.51998329e-01,
-    8.53280723e-01,
-    8.54557991e-01,
-    8.55830133e-01,
-    8.57097089e-01,
-    8.58358860e-01,
-    8.59615505e-01,
-    8.60866964e-01,
-    8.62113178e-01,
-    8.63354266e-01,
-    8.64590168e-01,
-    8.65820825e-01,
-    8.67046237e-01,
-    8.68266463e-01,
-    8.69481444e-01,
-    8.70691240e-01,
-    8.71895730e-01,
-    8.73094976e-01,
-    8.74288976e-01,
-    8.75477731e-01,
-    8.76661181e-01,
-    8.77839327e-01,
-    8.79012227e-01,
-    8.80179822e-01,
-    8.81342113e-01,
-    8.82499099e-01,
-    8.83650780e-01,
-    8.84797096e-01,
-    8.85938108e-01,
-    8.87073815e-01,
-    8.88204098e-01,
-    8.89329076e-01,
-    8.90448749e-01,
-    8.91562998e-01,
-    8.92671883e-01,
-    8.93775403e-01,
-    8.94873500e-01,
-    8.95966232e-01,
-    8.97053599e-01,
-    8.98135543e-01,
-    8.99212062e-01,
-    9.00283158e-01,
-    9.01348829e-01,
-    9.02409077e-01,
-    9.03463900e-01,
-    9.04513299e-01,
-    9.05557215e-01,
-    9.06595707e-01,
-    9.07628715e-01,
-    9.08656240e-01,
-    9.09678340e-01,
-    9.10694897e-01,
-    9.11706030e-01,
-    9.12711620e-01,
-    9.13711786e-01,
-    9.14706349e-01,
-    9.15695488e-01,
-    9.16679084e-01,
-    9.17657137e-01,
-    9.18629646e-01,
-    9.19596672e-01,
-    9.20558095e-01,
-    9.21514034e-01,
-    9.22464430e-01,
-    9.23409224e-01,
-    9.24348474e-01,
-    9.25282121e-01,
-    9.26210225e-01,
-    9.27132785e-01,
-    9.28049684e-01,
-    9.28961039e-01,
-    9.29866791e-01,
-    9.30766940e-01,
-    9.31661487e-01,
-    9.32550430e-01,
-    9.33433771e-01,
-    9.34311450e-01,
-    9.35183525e-01,
-    9.36049938e-01,
-    9.36910748e-01,
-    9.37765896e-01,
-    9.38615382e-01,
-    9.39459205e-01,
-    9.40297425e-01,
-    9.41129923e-01,
-    9.41956758e-01,
-    9.42777932e-01,
-    9.43593442e-01,
-    9.44403291e-01,
-    9.45207417e-01,
-    9.46005821e-01,
-    9.46798563e-01,
-    9.47585583e-01,
-    9.48366940e-01,
-    9.49142516e-01,
-    9.49912429e-01,
-    9.50676560e-01,
-    9.51435030e-01,
-    9.52187717e-01,
-    9.52934682e-01,
-    9.53675926e-01,
-    9.54411447e-01,
-    9.55141187e-01,
-    9.55865145e-01,
-    9.56583381e-01,
-    9.57295835e-01,
-    9.58002567e-01,
-    9.58703458e-01,
-    9.59398627e-01,
-    9.60088015e-01,
-    9.60771620e-01,
-    9.61449385e-01,
-    9.62121427e-01,
-    9.62787628e-01,
-    9.63448048e-01,
-    9.64102626e-01,
-    9.64751422e-01,
-    9.65394437e-01,
-    9.66031611e-01,
-    9.66663003e-01,
-    9.67288494e-01,
-    9.67908204e-01,
-    9.68522072e-01,
-    9.69130158e-01,
-    9.69732344e-01,
-    9.70328689e-01,
-    9.70919251e-01,
-    9.71503913e-01,
-    9.72082734e-01,
-    9.72655654e-01,
-    9.73222792e-01,
-    9.73784029e-01,
-    9.74339366e-01,
-    9.74888861e-01,
-    9.75432515e-01,
-    9.75970268e-01,
-    9.76502120e-01,
-    9.77028131e-01,
-    9.77548242e-01,
-    9.78062451e-01,
-    9.78570819e-01,
-    9.79073226e-01,
-    9.79569793e-01,
-    9.80060399e-01,
-    9.80545104e-01,
-    9.81023967e-01,
-    9.81496871e-01,
-    9.81963873e-01,
-    9.82424974e-01,
-    9.82880116e-01,
-    9.83329356e-01,
-    9.83772695e-01,
-    9.84210074e-01,
-    9.84641552e-01,
-    9.85067070e-01,
-    9.85486686e-01,
-    9.85900342e-01,
-    9.86308098e-01,
-    9.86709893e-01,
-    9.87105727e-01,
-    9.87495601e-01,
-    9.87879574e-01,
-    9.88257587e-01,
-    9.88629639e-01,
-    9.88995671e-01,
-    9.89355803e-01,
-    9.89709973e-01,
-    9.90058184e-01,
-    9.90400434e-01,
-    9.90736723e-01,
-    9.91067052e-01,
-    9.91391361e-01,
-    9.91709769e-01,
-    9.92022157e-01,
-    9.92328584e-01,
-    9.92628992e-01,
-    9.92923498e-01,
-    9.93211925e-01,
-    9.93494451e-01,
-    9.93770957e-01,
-    9.94041502e-01,
-    9.94306028e-01,
-    9.94564593e-01,
-    9.94817138e-01,
-    9.95063663e-01,
-    9.95304286e-01,
-    9.95538831e-01,
-    9.95767415e-01,
-    9.95989978e-01,
-    9.96206582e-01,
-    9.96417165e-01,
-    9.96621728e-01,
-    9.96820271e-01,
-    9.97012854e-01,
-    9.97199416e-01,
-    9.97379959e-01,
-    9.97554541e-01,
-    9.97723043e-01,
-    9.97885585e-01,
-    9.98042107e-01,
-    9.98192608e-01,
-    9.98337090e-01,
-    9.98475552e-01,
-    9.98608053e-01,
-    9.98734474e-01,
-    9.98854935e-01,
-    9.98969316e-01,
-    9.99077737e-01,
-    9.99180079e-01,
-    9.99276459e-01,
-    9.99366820e-01,
-    9.99451101e-01,
-    9.99529421e-01,
-    9.99601722e-01,
-    9.99667943e-01,
-    9.99728203e-01,
-    9.99782383e-01,
-    9.99830604e-01,
-    9.99872744e-01,
-    9.99908864e-01,
-    9.99939024e-01,
-    9.99963105e-01,
-    9.99981165e-01,
-    9.99993205e-01,
-    9.99999225e-01
+    1.22718432e-03f,
+    3.68154561e-03f,
+    6.13588467e-03f,
+    8.59018695e-03f,
+    1.10444371e-02f,
+    1.34986211e-02f,
+    1.59527231e-02f,
+    1.84067301e-02f,
+    2.08606254e-02f,
+    2.33143959e-02f,
+    2.57680248e-02f,
+    2.82214992e-02f,
+    3.06748040e-02f,
+    3.31279226e-02f,
+    3.55808437e-02f,
+    3.80335487e-02f,
+    4.04860228e-02f,
+    4.29382585e-02f,
+    4.53902297e-02f,
+    4.78419326e-02f,
+    5.02933450e-02f,
+    5.27444519e-02f,
+    5.51952459e-02f,
+    5.76457046e-02f,
+    6.00958169e-02f,
+    6.25455678e-02f,
+    6.49949387e-02f,
+    6.74439222e-02f,
+    6.98924959e-02f,
+    7.23406523e-02f,
+    7.47883692e-02f,
+    7.72356316e-02f,
+    7.96824396e-02f,
+    8.21287632e-02f,
+    8.45745876e-02f,
+    8.70199054e-02f,
+    8.94647017e-02f,
+    9.19089541e-02f,
+    9.43526551e-02f,
+    9.67957899e-02f,
+    9.92383435e-02f,
+    1.01680294e-01f,
+    1.04121633e-01f,
+    1.06562346e-01f,
+    1.09002419e-01f,
+    1.11441828e-01f,
+    1.13880575e-01f,
+    1.16318628e-01f,
+    1.18755989e-01f,
+    1.21192627e-01f,
+    1.23628542e-01f,
+    1.26063704e-01f,
+    1.28498107e-01f,
+    1.30931750e-01f,
+    1.33364588e-01f,
+    1.35796621e-01f,
+    1.38227850e-01f,
+    1.40658244e-01f,
+    1.43087775e-01f,
+    1.45516455e-01f,
+    1.47944272e-01f,
+    1.50371179e-01f,
+    1.52797192e-01f,
+    1.55222267e-01f,
+    1.57646418e-01f,
+    1.60069630e-01f,
+    1.62491858e-01f,
+    1.64913118e-01f,
+    1.67333379e-01f,
+    1.69752643e-01f,
+    1.72170877e-01f,
+    1.74588069e-01f,
+    1.77004218e-01f,
+    1.79419294e-01f,
+    1.81833297e-01f,
+    1.84246197e-01f,
+    1.86657995e-01f,
+    1.89068660e-01f,
+    1.91478193e-01f,
+    1.93886578e-01f,
+    1.96293786e-01f,
+    1.98699802e-01f,
+    2.01104641e-01f,
+    2.03508258e-01f,
+    2.05910638e-01f,
+    2.08311796e-01f,
+    2.10711688e-01f,
+    2.13110313e-01f,
+    2.15507656e-01f,
+    2.17903703e-01f,
+    2.20298439e-01f,
+    2.22691849e-01f,
+    2.25083917e-01f,
+    2.27474615e-01f,
+    2.29863957e-01f,
+    2.32251912e-01f,
+    2.34638467e-01f,
+    2.37023607e-01f,
+    2.39407316e-01f,
+    2.41789594e-01f,
+    2.44170398e-01f,
+    2.46549740e-01f,
+    2.48927608e-01f,
+    2.51303971e-01f,
+    2.53678799e-01f,
+    2.56052136e-01f,
+    2.58423895e-01f,
+    2.60794103e-01f,
+    2.63162762e-01f,
+    2.65529811e-01f,
+    2.67895281e-01f,
+    2.70259142e-01f,
+    2.72621363e-01f,
+    2.74981946e-01f,
+    2.77340859e-01f,
+    2.79698104e-01f,
+    2.82053679e-01f,
+    2.84407526e-01f,
+    2.86759704e-01f,
+    2.89110124e-01f,
+    2.91458815e-01f,
+    2.93805718e-01f,
+    2.96150893e-01f,
+    2.98494250e-01f,
+    3.00835848e-01f,
+    3.03175598e-01f,
+    3.05513531e-01f,
+    3.07849646e-01f,
+    3.10183883e-01f,
+    3.12516272e-01f,
+    3.14846754e-01f,
+    3.17175359e-01f,
+    3.19502026e-01f,
+    3.21826786e-01f,
+    3.24149609e-01f,
+    3.26470494e-01f,
+    3.28789383e-01f,
+    3.31106305e-01f,
+    3.33421230e-01f,
+    3.35734159e-01f,
+    3.38045061e-01f,
+    3.40353906e-01f,
+    3.42660725e-01f,
+    3.44965458e-01f,
+    3.47268134e-01f,
+    3.49568695e-01f,
+    3.51867169e-01f,
+    3.54163527e-01f,
+    3.56457740e-01f,
+    3.58749807e-01f,
+    3.61039728e-01f,
+    3.63327444e-01f,
+    3.65612984e-01f,
+    3.67896348e-01f,
+    3.70177478e-01f,
+    3.72456372e-01f,
+    3.74733001e-01f,
+    3.77007425e-01f,
+    3.79279524e-01f,
+    3.81549388e-01f,
+    3.83816928e-01f,
+    3.86082143e-01f,
+    3.88345033e-01f,
+    3.90605599e-01f,
+    3.92863810e-01f,
+    3.95119667e-01f,
+    3.97373140e-01f,
+    3.99624199e-01f,
+    4.01872873e-01f,
+    4.04119104e-01f,
+    4.06362921e-01f,
+    4.08604264e-01f,
+    4.10843164e-01f,
+    4.13079590e-01f,
+    4.15313542e-01f,
+    4.17544961e-01f,
+    4.19773877e-01f,
+    4.22000259e-01f,
+    4.24224108e-01f,
+    4.26445425e-01f,
+    4.28664148e-01f,
+    4.30880278e-01f,
+    4.33093816e-01f,
+    4.35304761e-01f,
+    4.37513083e-01f,
+    4.39718753e-01f,
+    4.41921771e-01f,
+    4.44122136e-01f,
+    4.46319848e-01f,
+    4.48514849e-01f,
+    4.50707138e-01f,
+    4.52896714e-01f,
+    4.55083579e-01f,
+    4.57267702e-01f,
+    4.59449053e-01f,
+    4.61627662e-01f,
+    4.63803470e-01f,
+    4.65976506e-01f,
+    4.68146712e-01f,
+    4.70314115e-01f,
+    4.72478658e-01f,
+    4.74640369e-01f,
+    4.76799220e-01f,
+    4.78955209e-01f,
+    4.81108308e-01f,
+    4.83258516e-01f,
+    4.85405803e-01f,
+    4.87550169e-01f,
+    4.89691585e-01f,
+    4.91830051e-01f,
+    4.93965566e-01f,
+    4.96098131e-01f,
+    4.98227656e-01f,
+    5.00354230e-01f,
+    5.02477765e-01f,
+    5.04598260e-01f,
+    5.06715715e-01f,
+    5.08830130e-01f,
+    5.10941505e-01f,
+    5.13049781e-01f,
+    5.15154958e-01f,
+    5.17257035e-01f,
+    5.19356012e-01f,
+    5.21451831e-01f,
+    5.23544490e-01f,
+    5.25634050e-01f,
+    5.27720451e-01f,
+    5.29803634e-01f,
+    5.31883657e-01f,
+    5.33960402e-01f,
+    5.36033988e-01f,
+    5.38104355e-01f,
+    5.40171444e-01f,
+    5.42235315e-01f,
+    5.44295907e-01f,
+    5.46353221e-01f,
+    5.48407257e-01f,
+    5.50457954e-01f,
+    5.52505374e-01f,
+    5.54549456e-01f,
+    5.56590199e-01f,
+    5.58627546e-01f,
+    5.60661554e-01f,
+    5.62692225e-01f,
+    5.64719439e-01f,
+    5.66743314e-01f,
+    5.68763733e-01f,
+    5.70780754e-01f,
+    5.72794318e-01f,
+    5.74804425e-01f,
+    5.76811075e-01f,
+    5.78814268e-01f,
+    5.80813944e-01f,
+    5.82810163e-01f,
+    5.84802806e-01f,
+    5.86791992e-01f,
+    5.88777602e-01f,
+    5.90759695e-01f,
+    5.92738211e-01f,
+    5.94713151e-01f,
+    5.96684515e-01f,
+    5.98652303e-01f,
+    6.00616455e-01f,
+    6.02577031e-01f,
+    6.04533970e-01f,
+    6.06487215e-01f,
+    6.08436823e-01f,
+    6.10382795e-01f,
+    6.12325072e-01f,
+    6.14263654e-01f,
+    6.16198599e-01f,
+    6.18129730e-01f,
+    6.20057225e-01f,
+    6.21980906e-01f,
+    6.23900890e-01f,
+    6.25817120e-01f,
+    6.27729595e-01f,
+    6.29638255e-01f,
+    6.31543100e-01f,
+    6.33444190e-01f,
+    6.35341406e-01f,
+    6.37234867e-01f,
+    6.39124453e-01f,
+    6.41010165e-01f,
+    6.42892063e-01f,
+    6.44770086e-01f,
+    6.46644175e-01f,
+    6.48514390e-01f,
+    6.50380731e-01f,
+    6.52243137e-01f,
+    6.54101610e-01f,
+    6.55956089e-01f,
+    6.57806695e-01f,
+    6.59653306e-01f,
+    6.61495924e-01f,
+    6.63334608e-01f,
+    6.65169239e-01f,
+    6.66999936e-01f,
+    6.68826580e-01f,
+    6.70649171e-01f,
+    6.72467709e-01f,
+    6.74282253e-01f,
+    6.76092684e-01f,
+    6.77899063e-01f,
+    6.79701388e-01f,
+    6.81499600e-01f,
+    6.83293700e-01f,
+    6.85083687e-01f,
+    6.86869502e-01f,
+    6.88651264e-01f,
+    6.90428793e-01f,
+    6.92202210e-01f,
+    6.93971455e-01f,
+    6.95736527e-01f,
+    6.97497368e-01f,
+    6.99254036e-01f,
+    7.01006532e-01f,
+    7.02754736e-01f,
+    7.04498768e-01f,
+    7.06238508e-01f,
+    7.07974017e-01f,
+    7.09705234e-01f,
+    7.11432219e-01f,
+    7.13154852e-01f,
+    7.14873254e-01f,
+    7.16587305e-01f,
+    7.18297064e-01f,
+    7.20002532e-01f,
+    7.21703589e-01f,
+    7.23400354e-01f,
+    7.25092709e-01f,
+    7.26780772e-01f,
+    7.28464365e-01f,
+    7.30143666e-01f,
+    7.31818497e-01f,
+    7.33488917e-01f,
+    7.35154986e-01f,
+    7.36816585e-01f,
+    7.38473713e-01f,
+    7.40126431e-01f,
+    7.41774678e-01f,
+    7.43418455e-01f,
+    7.45057762e-01f,
+    7.46692598e-01f,
+    7.48322904e-01f,
+    7.49948740e-01f,
+    7.51570046e-01f,
+    7.53186822e-01f,
+    7.54799008e-01f,
+    7.56406724e-01f,
+    7.58009851e-01f,
+    7.59608388e-01f,
+    7.61202395e-01f,
+    7.62791812e-01f,
+    7.64376581e-01f,
+    7.65956819e-01f,
+    7.67532349e-01f,
+    7.69103348e-01f,
+    7.70669639e-01f,
+    7.72231340e-01f,
+    7.73788393e-01f,
+    7.75340736e-01f,
+    7.76888490e-01f,
+    7.78431475e-01f,
+    7.79969811e-01f,
+    7.81503439e-01f,
+    7.83032358e-01f,
+    7.84556568e-01f,
+    7.86076069e-01f,
+    7.87590802e-01f,
+    7.89100826e-01f,
+    7.90606081e-01f,
+    7.92106569e-01f,
+    7.93602288e-01f,
+    7.95093238e-01f,
+    7.96579361e-01f,
+    7.98060715e-01f,
+    7.99537241e-01f,
+    8.01008999e-01f,
+    8.02475870e-01f,
+    8.03937972e-01f,
+    8.05395186e-01f,
+    8.06847572e-01f,
+    8.08295071e-01f,
+    8.09737682e-01f,
+    8.11175466e-01f,
+    8.12608361e-01f,
+    8.14036310e-01f,
+    8.15459430e-01f,
+    8.16877604e-01f,
+    8.18290830e-01f,
+    8.19699109e-01f,
+    8.21102500e-01f,
+    8.22500944e-01f,
+    8.23894441e-01f,
+    8.25282931e-01f,
+    8.26666474e-01f,
+    8.28045070e-01f,
+    8.29418600e-01f,
+    8.30787182e-01f,
+    8.32150757e-01f,
+    8.33509326e-01f,
+    8.34862888e-01f,
+    8.36211383e-01f,
+    8.37554872e-01f,
+    8.38893294e-01f,
+    8.40226650e-01f,
+    8.41554999e-01f,
+    8.42878222e-01f,
+    8.44196379e-01f,
+    8.45509470e-01f,
+    8.46817434e-01f,
+    8.48120332e-01f,
+    8.49418104e-01f,
+    8.50710809e-01f,
+    8.51998329e-01f,
+    8.53280723e-01f,
+    8.54557991e-01f,
+    8.55830133e-01f,
+    8.57097089e-01f,
+    8.58358860e-01f,
+    8.59615505e-01f,
+    8.60866964e-01f,
+    8.62113178e-01f,
+    8.63354266e-01f,
+    8.64590168e-01f,
+    8.65820825e-01f,
+    8.67046237e-01f,
+    8.68266463e-01f,
+    8.69481444e-01f,
+    8.70691240e-01f,
+    8.71895730e-01f,
+    8.73094976e-01f,
+    8.74288976e-01f,
+    8.75477731e-01f,
+    8.76661181e-01f,
+    8.77839327e-01f,
+    8.79012227e-01f,
+    8.80179822e-01f,
+    8.81342113e-01f,
+    8.82499099e-01f,
+    8.83650780e-01f,
+    8.84797096e-01f,
+    8.85938108e-01f,
+    8.87073815e-01f,
+    8.88204098e-01f,
+    8.89329076e-01f,
+    8.90448749e-01f,
+    8.91562998e-01f,
+    8.92671883e-01f,
+    8.93775403e-01f,
+    8.94873500e-01f,
+    8.95966232e-01f,
+    8.97053599e-01f,
+    8.98135543e-01f,
+    8.99212062e-01f,
+    9.00283158e-01f,
+    9.01348829e-01f,
+    9.02409077e-01f,
+    9.03463900e-01f,
+    9.04513299e-01f,
+    9.05557215e-01f,
+    9.06595707e-01f,
+    9.07628715e-01f,
+    9.08656240e-01f,
+    9.09678340e-01f,
+    9.10694897e-01f,
+    9.11706030e-01f,
+    9.12711620e-01f,
+    9.13711786e-01f,
+    9.14706349e-01f,
+    9.15695488e-01f,
+    9.16679084e-01f,
+    9.17657137e-01f,
+    9.18629646e-01f,
+    9.19596672e-01f,
+    9.20558095e-01f,
+    9.21514034e-01f,
+    9.22464430e-01f,
+    9.23409224e-01f,
+    9.24348474e-01f,
+    9.25282121e-01f,
+    9.26210225e-01f,
+    9.27132785e-01f,
+    9.28049684e-01f,
+    9.28961039e-01f,
+    9.29866791e-01f,
+    9.30766940e-01f,
+    9.31661487e-01f,
+    9.32550430e-01f,
+    9.33433771e-01f,
+    9.34311450e-01f,
+    9.35183525e-01f,
+    9.36049938e-01f,
+    9.36910748e-01f,
+    9.37765896e-01f,
+    9.38615382e-01f,
+    9.39459205e-01f,
+    9.40297425e-01f,
+    9.41129923e-01f,
+    9.41956758e-01f,
+    9.42777932e-01f,
+    9.43593442e-01f,
+    9.44403291e-01f,
+    9.45207417e-01f,
+    9.46005821e-01f,
+    9.46798563e-01f,
+    9.47585583e-01f,
+    9.48366940e-01f,
+    9.49142516e-01f,
+    9.49912429e-01f,
+    9.50676560e-01f,
+    9.51435030e-01f,
+    9.52187717e-01f,
+    9.52934682e-01f,
+    9.53675926e-01f,
+    9.54411447e-01f,
+    9.55141187e-01f,
+    9.55865145e-01f,
+    9.56583381e-01f,
+    9.57295835e-01f,
+    9.58002567e-01f,
+    9.58703458e-01f,
+    9.59398627e-01f,
+    9.60088015e-01f,
+    9.60771620e-01f,
+    9.61449385e-01f,
+    9.62121427e-01f,
+    9.62787628e-01f,
+    9.63448048e-01f,
+    9.64102626e-01f,
+    9.64751422e-01f,
+    9.65394437e-01f,
+    9.66031611e-01f,
+    9.66663003e-01f,
+    9.67288494e-01f,
+    9.67908204e-01f,
+    9.68522072e-01f,
+    9.69130158e-01f,
+    9.69732344e-01f,
+    9.70328689e-01f,
+    9.70919251e-01f,
+    9.71503913e-01f,
+    9.72082734e-01f,
+    9.72655654e-01f,
+    9.73222792e-01f,
+    9.73784029e-01f,
+    9.74339366e-01f,
+    9.74888861e-01f,
+    9.75432515e-01f,
+    9.75970268e-01f,
+    9.76502120e-01f,
+    9.77028131e-01f,
+    9.77548242e-01f,
+    9.78062451e-01f,
+    9.78570819e-01f,
+    9.79073226e-01f,
+    9.79569793e-01f,
+    9.80060399e-01f,
+    9.80545104e-01f,
+    9.81023967e-01f,
+    9.81496871e-01f,
+    9.81963873e-01f,
+    9.82424974e-01f,
+    9.82880116e-01f,
+    9.83329356e-01f,
+    9.83772695e-01f,
+    9.84210074e-01f,
+    9.84641552e-01f,
+    9.85067070e-01f,
+    9.85486686e-01f,
+    9.85900342e-01f,
+    9.86308098e-01f,
+    9.86709893e-01f,
+    9.87105727e-01f,
+    9.87495601e-01f,
+    9.87879574e-01f,
+    9.88257587e-01f,
+    9.88629639e-01f,
+    9.88995671e-01f,
+    9.89355803e-01f,
+    9.89709973e-01f,
+    9.90058184e-01f,
+    9.90400434e-01f,
+    9.90736723e-01f,
+    9.91067052e-01f,
+    9.91391361e-01f,
+    9.91709769e-01f,
+    9.92022157e-01f,
+    9.92328584e-01f,
+    9.92628992e-01f,
+    9.92923498e-01f,
+    9.93211925e-01f,
+    9.93494451e-01f,
+    9.93770957e-01f,
+    9.94041502e-01f,
+    9.94306028e-01f,
+    9.94564593e-01f,
+    9.94817138e-01f,
+    9.95063663e-01f,
+    9.95304286e-01f,
+    9.95538831e-01f,
+    9.95767415e-01f,
+    9.95989978e-01f,
+    9.96206582e-01f,
+    9.96417165e-01f,
+    9.96621728e-01f,
+    9.96820271e-01f,
+    9.97012854e-01f,
+    9.97199416e-01f,
+    9.97379959e-01f,
+    9.97554541e-01f,
+    9.97723043e-01f,
+    9.97885585e-01f,
+    9.98042107e-01f,
+    9.98192608e-01f,
+    9.98337090e-01f,
+    9.98475552e-01f,
+    9.98608053e-01f,
+    9.98734474e-01f,
+    9.98854935e-01f,
+    9.98969316e-01f,
+    9.99077737e-01f,
+    9.99180079e-01f,
+    9.99276459e-01f,
+    9.99366820e-01f,
+    9.99451101e-01f,
+    9.99529421e-01f,
+    9.99601722e-01f,
+    9.99667943e-01f,
+    9.99728203e-01f,
+    9.99782383e-01f,
+    9.99830604e-01f,
+    9.99872744e-01f,
+    9.99908864e-01f,
+    9.99939024e-01f,
+    9.99963105e-01f,
+    9.99981165e-01f,
+    9.99993205e-01f,
+    9.99999225e-01f
 };
 #endif
 /*- End of file ------------------------------------------------------------*/

Modified: freeswitch/branches/gmaruzz/libs/libg722_1/src/dct4.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/libg722_1/src/dct4.h	(original)
+++ freeswitch/branches/gmaruzz/libs/libg722_1/src/dct4.h	Tue Dec 23 07:37:03 2008
@@ -1,1515 +1,1515 @@
 static const float max_dct_core_a[] =
 {
-     5.572937315437795e-02,
-     5.435713103213160e-02,
-     5.164643594289910e-02,
-     4.766403419605858e-02,
-     4.250798573945089e-02,
-     3.630524959802148e-02,
-     2.920855772127337e-02,
-     2.139265421578210e-02,
-     1.304999256534943e-02,
-     4.385996787515619e-03,
-     5.435713103213160e-02,
-     4.250798573945089e-02,
-     2.139265421578210e-02,
-    -4.385996787515612e-03,
-    -2.920855772127336e-02,
-    -4.766403419605858e-02,
-    -5.572937315437795e-02,
-    -5.164643594289911e-02,
-    -3.630524959802151e-02,
-    -1.304999256534941e-02,
-     5.164643594289910e-02,
-     2.139265421578210e-02,
-    -2.139265421578209e-02,
-    -5.164643594289910e-02,
-    -5.164643594289911e-02,
-    -2.139265421578213e-02,
-     2.139265421578211e-02,
-     5.164643594289909e-02,
-     5.164643594289910e-02,
-     2.139265421578213e-02,
-     4.766403419605858e-02,
-    -4.385996787515612e-03,
-    -5.164643594289910e-02,
-    -4.250798573945090e-02,
-     1.304999256534939e-02,
-     5.435713103213161e-02,
-     3.630524959802152e-02,
-    -2.139265421578210e-02,
-    -5.572937315437795e-02,
-    -2.920855772127336e-02,
-     4.250798573945089e-02,
-    -2.920855772127336e-02,
-    -5.164643594289911e-02,
-     1.304999256534939e-02,
-     5.572937315437795e-02,
-     4.385996787515657e-03,
-    -5.435713103213161e-02,
-    -2.139265421578214e-02,
-     4.766403419605858e-02,
-     3.630524959802153e-02,
-     3.630524959802148e-02,
-    -4.766403419605858e-02,
-    -2.139265421578213e-02,
-     5.435713103213161e-02,
-     4.385996787515657e-03,
-    -5.572937315437795e-02,
-     1.304999256534937e-02,
-     5.164643594289910e-02,
-    -2.920855772127332e-02,
-    -4.250798573945090e-02,
-     2.920855772127337e-02,
-    -5.572937315437795e-02,
-     2.139265421578211e-02,
-     3.630524959802152e-02,
-    -5.435713103213161e-02,
-     1.304999256534937e-02,
-     4.250798573945089e-02,
-    -5.164643594289908e-02,
-     4.385996787515504e-03,
-     4.766403419605861e-02,
-     2.139265421578210e-02,
-    -5.164643594289911e-02,
-     5.164643594289909e-02,
-    -2.139265421578210e-02,
-    -2.139265421578214e-02,
-     5.164643594289910e-02,
-    -5.164643594289908e-02,
-     2.139265421578208e-02,
-     2.139265421578216e-02,
-    -5.164643594289915e-02,
-     1.304999256534943e-02,
-    -3.630524959802151e-02,
-     5.164643594289910e-02,
-    -5.572937315437795e-02,
-     4.766403419605858e-02,
-    -2.920855772127332e-02,
-     4.385996787515504e-03,
-     2.139265421578216e-02,
-    -4.250798573945092e-02,
-     5.435713103213160e-02,
-     4.385996787515619e-03,
-    -1.304999256534941e-02,
-     2.139265421578213e-02,
-    -2.920855772127336e-02,
-     3.630524959802153e-02,
-    -4.250798573945090e-02,
-     4.766403419605861e-02,
-    -5.164643594289915e-02,
-     5.435713103213160e-02,
-    -5.572937315437796e-02
+     5.572937315437795e-02f,
+     5.435713103213160e-02f,
+     5.164643594289910e-02f,
+     4.766403419605858e-02f,
+     4.250798573945089e-02f,
+     3.630524959802148e-02f,
+     2.920855772127337e-02f,
+     2.139265421578210e-02f,
+     1.304999256534943e-02f,
+     4.385996787515619e-03f,
+     5.435713103213160e-02f,
+     4.250798573945089e-02f,
+     2.139265421578210e-02f,
+    -4.385996787515612e-03f,
+    -2.920855772127336e-02f,
+    -4.766403419605858e-02f,
+    -5.572937315437795e-02f,
+    -5.164643594289911e-02f,
+    -3.630524959802151e-02f,
+    -1.304999256534941e-02f,
+     5.164643594289910e-02f,
+     2.139265421578210e-02f,
+    -2.139265421578209e-02f,
+    -5.164643594289910e-02f,
+    -5.164643594289911e-02f,
+    -2.139265421578213e-02f,
+     2.139265421578211e-02f,
+     5.164643594289909e-02f,
+     5.164643594289910e-02f,
+     2.139265421578213e-02f,
+     4.766403419605858e-02f,
+    -4.385996787515612e-03f,
+    -5.164643594289910e-02f,
+    -4.250798573945090e-02f,
+     1.304999256534939e-02f,
+     5.435713103213161e-02f,
+     3.630524959802152e-02f,
+    -2.139265421578210e-02f,
+    -5.572937315437795e-02f,
+    -2.920855772127336e-02f,
+     4.250798573945089e-02f,
+    -2.920855772127336e-02f,
+    -5.164643594289911e-02f,
+     1.304999256534939e-02f,
+     5.572937315437795e-02f,
+     4.385996787515657e-03f,
+    -5.435713103213161e-02f,
+    -2.139265421578214e-02f,
+     4.766403419605858e-02f,
+     3.630524959802153e-02f,
+     3.630524959802148e-02f,
+    -4.766403419605858e-02f,
+    -2.139265421578213e-02f,
+     5.435713103213161e-02f,
+     4.385996787515657e-03f,
+    -5.572937315437795e-02f,
+     1.304999256534937e-02f,
+     5.164643594289910e-02f,
+    -2.920855772127332e-02f,
+    -4.250798573945090e-02f,
+     2.920855772127337e-02f,
+    -5.572937315437795e-02f,
+     2.139265421578211e-02f,
+     3.630524959802152e-02f,
+    -5.435713103213161e-02f,
+     1.304999256534937e-02f,
+     4.250798573945089e-02f,
+    -5.164643594289908e-02f,
+     4.385996787515504e-03f,
+     4.766403419605861e-02f,
+     2.139265421578210e-02f,
+    -5.164643594289911e-02f,
+     5.164643594289909e-02f,
+    -2.139265421578210e-02f,
+    -2.139265421578214e-02f,
+     5.164643594289910e-02f,
+    -5.164643594289908e-02f,
+     2.139265421578208e-02f,
+     2.139265421578216e-02f,
+    -5.164643594289915e-02f,
+     1.304999256534943e-02f,
+    -3.630524959802151e-02f,
+     5.164643594289910e-02f,
+    -5.572937315437795e-02f,
+     4.766403419605858e-02f,
+    -2.920855772127332e-02f,
+     4.385996787515504e-03f,
+     2.139265421578216e-02f,
+    -4.250798573945092e-02f,
+     5.435713103213160e-02f,
+     4.385996787515619e-03f,
+    -1.304999256534941e-02f,
+     2.139265421578213e-02f,
+    -2.920855772127336e-02f,
+     3.630524959802153e-02f,
+    -4.250798573945090e-02f,
+     4.766403419605861e-02f,
+    -5.164643594289915e-02f,
+     5.435713103213160e-02f,
+    -5.572937315437796e-02f
 };
 
 static const float dct_core_a[] =
 {
-     7.881323533747238e-02,
-     7.687259191733195e-02,
-     7.303909015868119e-02,
-     6.740712359748102e-02,
-     6.011536994189358e-02,
-     5.134337636686234e-02,
-     4.130713846678219e-02,
-     3.025378172711701e-02,
-     1.845547647478522e-02,
-     6.202736141429415e-03,
-     7.687259191733195e-02,
-     6.011536994189358e-02,
-     3.025378172711701e-02,
-    -6.202736141429404e-03,
-    -4.130713846678218e-02,
-    -6.740712359748102e-02,
-    -7.881323533747238e-02,
-    -7.303909015868121e-02,
-    -5.134337636686238e-02,
-    -1.845547647478519e-02,
-     7.303909015868119e-02,
-     3.025378172711701e-02,
-    -3.025378172711701e-02,
-    -7.303909015868119e-02,
-    -7.303909015868121e-02,
-    -3.025378172711705e-02,
-     3.025378172711703e-02,
-     7.303909015868118e-02,
-     7.303909015868119e-02,
-     3.025378172711706e-02,
-     6.740712359748102e-02,
-    -6.202736141429404e-03,
-    -7.303909015868119e-02,
-    -6.011536994189359e-02,
-     1.845547647478516e-02,
-     7.687259191733196e-02,
-     5.134337636686239e-02,
-    -3.025378172711702e-02,
-    -7.881323533747238e-02,
-    -4.130713846678218e-02,
-     6.011536994189358e-02,
-    -4.130713846678218e-02,
-    -7.303909015868121e-02,
-     1.845547647478516e-02,
-     7.881323533747238e-02,
-     6.202736141429469e-03,
-    -7.687259191733196e-02,
-    -3.025378172711707e-02,
-     6.740712359748102e-02,
-     5.134337636686240e-02,
-     5.134337636686234e-02,
-    -6.740712359748102e-02,
-    -3.025378172711705e-02,
-     7.687259191733196e-02,
-     6.202736141429469e-03,
-    -7.881323533747238e-02,
-     1.845547647478515e-02,
-     7.303909015868119e-02,
-    -4.130713846678212e-02,
-    -6.011536994189359e-02,
-     4.130713846678219e-02,
-    -7.881323533747238e-02,
-     3.025378172711703e-02,
-     5.134337636686239e-02,
-    -7.687259191733196e-02,
-     1.845547647478515e-02,
-     6.011536994189358e-02,
-    -7.303909015868118e-02,
-     6.202736141429252e-03,
-     6.740712359748108e-02,
-     3.025378172711701e-02,
-    -7.303909015868121e-02,
-     7.303909015868118e-02,
-    -3.025378172711702e-02,
-    -3.025378172711707e-02,
-     7.303909015868119e-02,
-    -7.303909015868118e-02,
-     3.025378172711699e-02,
-     3.025378172711710e-02,
-    -7.303909015868128e-02,
-     1.845547647478522e-02,
-    -5.134337636686238e-02,
-     7.303909015868119e-02,
-    -7.881323533747238e-02,
-     6.740712359748102e-02,
-    -4.130713846678212e-02,
-     6.202736141429252e-03,
-     3.025378172711710e-02,
-    -6.011536994189360e-02,
-     7.687259191733195e-02,
-     6.202736141429415e-03,
-    -1.845547647478519e-02,
-     3.025378172711706e-02,
-    -4.130713846678218e-02,
-     5.134337636686240e-02,
-    -6.011536994189359e-02,
-     6.740712359748108e-02,
-    -7.303909015868128e-02,
-     7.687259191733195e-02,
-    -7.881323533747239e-02
+     7.881323533747238e-02f,
+     7.687259191733195e-02f,
+     7.303909015868119e-02f,
+     6.740712359748102e-02f,
+     6.011536994189358e-02f,
+     5.134337636686234e-02f,
+     4.130713846678219e-02f,
+     3.025378172711701e-02f,
+     1.845547647478522e-02f,
+     6.202736141429415e-03f,
+     7.687259191733195e-02f,
+     6.011536994189358e-02f,
+     3.025378172711701e-02f,
+    -6.202736141429404e-03f,
+    -4.130713846678218e-02f,
+    -6.740712359748102e-02f,
+    -7.881323533747238e-02f,
+    -7.303909015868121e-02f,
+    -5.134337636686238e-02f,
+    -1.845547647478519e-02f,
+     7.303909015868119e-02f,
+     3.025378172711701e-02f,
+    -3.025378172711701e-02f,
+    -7.303909015868119e-02f,
+    -7.303909015868121e-02f,
+    -3.025378172711705e-02f,
+     3.025378172711703e-02f,
+     7.303909015868118e-02f,
+     7.303909015868119e-02f,
+     3.025378172711706e-02f,
+     6.740712359748102e-02f,
+    -6.202736141429404e-03f,
+    -7.303909015868119e-02f,
+    -6.011536994189359e-02f,
+     1.845547647478516e-02f,
+     7.687259191733196e-02f,
+     5.134337636686239e-02f,
+    -3.025378172711702e-02f,
+    -7.881323533747238e-02f,
+    -4.130713846678218e-02f,
+     6.011536994189358e-02f,
+    -4.130713846678218e-02f,
+    -7.303909015868121e-02f,
+     1.845547647478516e-02f,
+     7.881323533747238e-02f,
+     6.202736141429469e-03f,
+    -7.687259191733196e-02f,
+    -3.025378172711707e-02f,
+     6.740712359748102e-02f,
+     5.134337636686240e-02f,
+     5.134337636686234e-02f,
+    -6.740712359748102e-02f,
+    -3.025378172711705e-02f,
+     7.687259191733196e-02f,
+     6.202736141429469e-03f,
+    -7.881323533747238e-02f,
+     1.845547647478515e-02f,
+     7.303909015868119e-02f,
+    -4.130713846678212e-02f,
+    -6.011536994189359e-02f,
+     4.130713846678219e-02f,
+    -7.881323533747238e-02f,
+     3.025378172711703e-02f,
+     5.134337636686239e-02f,
+    -7.687259191733196e-02f,
+     1.845547647478515e-02f,
+     6.011536994189358e-02f,
+    -7.303909015868118e-02f,
+     6.202736141429252e-03f,
+     6.740712359748108e-02f,
+     3.025378172711701e-02f,
+    -7.303909015868121e-02f,
+     7.303909015868118e-02f,
+    -3.025378172711702e-02f,
+    -3.025378172711707e-02f,
+     7.303909015868119e-02f,
+    -7.303909015868118e-02f,
+     3.025378172711699e-02f,
+     3.025378172711710e-02f,
+    -7.303909015868128e-02f,
+     1.845547647478522e-02f,
+    -5.134337636686238e-02f,
+     7.303909015868119e-02f,
+    -7.881323533747238e-02f,
+     6.740712359748102e-02f,
+    -4.130713846678212e-02f,
+     6.202736141429252e-03f,
+     3.025378172711710e-02f,
+    -6.011536994189360e-02f,
+     7.687259191733195e-02f,
+     6.202736141429415e-03f,
+    -1.845547647478519e-02f,
+     3.025378172711706e-02f,
+    -4.130713846678218e-02f,
+     5.134337636686240e-02f,
+    -6.011536994189359e-02f,
+     6.740712359748108e-02f,
+    -7.303909015868128e-02f,
+     7.687259191733195e-02f,
+    -7.881323533747239e-02f
 };
 
 static const cos_msin_t cos_msin_5[5] =
 {
-    {9.969173337331280e-01, -7.845909572784494e-02},
-    {9.723699203976766e-01, -2.334453638559054e-01},
-    {9.238795325112867e-01, -3.826834323650898e-01},
-    {8.526401643540922e-01, -5.224985647159488e-01},
-    {7.604059656000309e-01, -6.494480483301837e-01}
+    {9.969173337331280e-01f, -7.845909572784494e-02f},
+    {9.723699203976766e-01f, -2.334453638559054e-01f},
+    {9.238795325112867e-01f, -3.826834323650898e-01f},
+    {8.526401643540922e-01f, -5.224985647159488e-01f},
+    {7.604059656000309e-01f, -6.494480483301837e-01f}
 };
 
 static const cos_msin_t cos_msin_10[10] =
 {
-    {9.992290362407229e-01, -3.925981575906861e-02},
-    {9.930684569549263e-01, -1.175373974578376e-01},
-    {9.807852804032304e-01, -1.950903220161282e-01},
-    {9.624552364536473e-01, -2.714404498650743e-01},
-    {9.381913359224842e-01, -3.461170570774930e-01},
-    {9.081431738250813e-01, -4.186597375374281e-01},
-    {8.724960070727972e-01, -4.886212414969549e-01},
-    {8.314696123025452e-01, -5.555702330196022e-01},
-    {7.853169308807449e-01, -6.190939493098340e-01},
-    {7.343225094356856e-01, -6.788007455329417e-01}
+    {9.992290362407229e-01f, -3.925981575906861e-02f},
+    {9.930684569549263e-01f, -1.175373974578376e-01f},
+    {9.807852804032304e-01f, -1.950903220161282e-01f},
+    {9.624552364536473e-01f, -2.714404498650743e-01f},
+    {9.381913359224842e-01f, -3.461170570774930e-01f},
+    {9.081431738250813e-01f, -4.186597375374281e-01f},
+    {8.724960070727972e-01f, -4.886212414969549e-01f},
+    {8.314696123025452e-01f, -5.555702330196022e-01f},
+    {7.853169308807449e-01f, -6.190939493098340e-01f},
+    {7.343225094356856e-01f, -6.788007455329417e-01f}
 };
 
 static const cos_msin_t cos_msin_20[20] =
 {
-    {9.998072404820648e-01, -1.963369246062830e-02},
-    {9.982656101847159e-01, -5.887080365118903e-02},
-    {9.951847266721969e-01, -9.801714032956060e-02},
-    {9.905693404435773e-01, -1.370123416819680e-01},
-    {9.844265680898916e-01, -1.757962799343545e-01},
-    {9.767658813208724e-01, -2.143091530650507e-01},
-    {9.675990923602598e-01, -2.524915770151580e-01},
-    {9.569403357322088e-01, -2.902846772544623e-01},
-    {9.448060464668780e-01, -3.276301795616935e-01},
-    {9.312149347588036e-01, -3.644704998791496e-01},
-    {9.161879571171360e-01, -4.007488331031410e-01},
-    {8.997482840522215e-01, -4.364092406733421e-01},
-    {8.819212643483550e-01, -4.713967368259976e-01},
-    {8.627343859777918e-01, -5.056573733779846e-01},
-    {8.422172337162865e-01, -5.391383229110002e-01},
-    {8.204014435255136e-01, -5.717879602276122e-01},
-    {7.973206537727071e-01, -6.035559419535714e-01},
-    {7.730104533627370e-01, -6.343932841636455e-01},
-    {7.475083268625968e-01, -6.642524379112817e-01},
-    {7.208535967029188e-01, -6.930873625456359e-01}
+    {9.998072404820648e-01f, -1.963369246062830e-02f},
+    {9.982656101847159e-01f, -5.887080365118903e-02f},
+    {9.951847266721969e-01f, -9.801714032956060e-02f},
+    {9.905693404435773e-01f, -1.370123416819680e-01f},
+    {9.844265680898916e-01f, -1.757962799343545e-01f},
+    {9.767658813208724e-01f, -2.143091530650507e-01f},
+    {9.675990923602598e-01f, -2.524915770151580e-01f},
+    {9.569403357322088e-01f, -2.902846772544623e-01f},
+    {9.448060464668780e-01f, -3.276301795616935e-01f},
+    {9.312149347588036e-01f, -3.644704998791496e-01f},
+    {9.161879571171360e-01f, -4.007488331031410e-01f},
+    {8.997482840522215e-01f, -4.364092406733421e-01f},
+    {8.819212643483550e-01f, -4.713967368259976e-01f},
+    {8.627343859777918e-01f, -5.056573733779846e-01f},
+    {8.422172337162865e-01f, -5.391383229110002e-01f},
+    {8.204014435255136e-01f, -5.717879602276122e-01f},
+    {7.973206537727071e-01f, -6.035559419535714e-01f},
+    {7.730104533627370e-01f, -6.343932841636455e-01f},
+    {7.475083268625968e-01f, -6.642524379112817e-01f},
+    {7.208535967029188e-01f, -6.930873625456359e-01f}
 };
 
 static const cos_msin_t cos_msin_40[40] =
 {
-    {9.999518089593280e-01, -9.817319337149617e-03},
-    {9.995663085020212e-01, -2.944817324796316e-02},
-    {9.987954562051724e-01, -4.906767432741801e-02},
-    {9.976395492470157e-01, -6.866825888437376e-02},
-    {9.960990332516871e-01, -8.824237052036951e-02},
-    {9.941745021174282e-01, -1.077824630427593e-01},
-    {9.918666977876260e-01, -1.272810033739132e-01},
-    {9.891765099647810e-01, -1.467304744553617e-01},
-    {9.861049757675088e-01, -1.661233781457655e-01},
-    {9.826532793307118e-01, -1.854522381115909e-01},
-    {9.788227513490724e-01, -2.047096027093796e-01},
-    {9.746148685640450e-01, -2.238880478584984e-01},
-    {9.700312531945440e-01, -2.429801799032639e-01},
-    {9.650736723115474e-01, -2.619786384633375e-01},
-    {9.597440371568574e-01, -2.808760992712921e-01},
-    {9.540444024062804e-01, -2.996652769962566e-01},
-    {9.479769653775104e-01, -3.183389280525497e-01},
-    {9.415440651830208e-01, -3.368898533922201e-01},
-    {9.347481818282924e-01, -3.553109012804161e-01},
-    {9.275919352557240e-01, -3.735949700525164e-01},
-    {9.200780843345949e-01, -3.917350108519559e-01},
-    {9.122095257974677e-01, -4.097240303476953e-01},
-    {9.039892931234433e-01, -4.275550934302821e-01},
-    {8.954205553686970e-01, -4.452213258854682e-01},
-    {8.865066159447464e-01, -4.627159170443501e-01},
-    {8.772509113449243e-01, -4.800321224090111e-01},
-    {8.676570098195440e-01, -4.971632662526544e-01},
-    {8.577286100002721e-01, -5.141027441932217e-01},
-    {8.474695394742344e-01, -5.308440257395095e-01},
-    {8.368837533084094e-01, -5.473806568087964e-01},
-    {8.259753325248732e-01, -5.637062622150167e-01},
-    {8.147484825274894e-01, -5.798145481265136e-01},
-    {8.032075314806449e-01, -5.956993044924334e-01},
-    {7.913569286406602e-01, -6.113544074368165e-01},
-    {7.792012426405167e-01, -6.267738216194696e-01},
-    {7.667451597285615e-01, -6.419516025627030e-01},
-    {7.539934819618694e-01, -6.568818989430414e-01},
-    {7.409511253549591e-01, -6.715589548470183e-01},
-    {7.276231179845748e-01, -6.859771119901928e-01},
-    {7.140145980512683e-01, -7.001308118985236e-01}
+    {9.999518089593280e-01f, -9.817319337149617e-03f},
+    {9.995663085020212e-01f, -2.944817324796316e-02f},
+    {9.987954562051724e-01f, -4.906767432741801e-02f},
+    {9.976395492470157e-01f, -6.866825888437376e-02f},
+    {9.960990332516871e-01f, -8.824237052036951e-02f},
+    {9.941745021174282e-01f, -1.077824630427593e-01f},
+    {9.918666977876260e-01f, -1.272810033739132e-01f},
+    {9.891765099647810e-01f, -1.467304744553617e-01f},
+    {9.861049757675088e-01f, -1.661233781457655e-01f},
+    {9.826532793307118e-01f, -1.854522381115909e-01f},
+    {9.788227513490724e-01f, -2.047096027093796e-01f},
+    {9.746148685640450e-01f, -2.238880478584984e-01f},
+    {9.700312531945440e-01f, -2.429801799032639e-01f},
+    {9.650736723115474e-01f, -2.619786384633375e-01f},
+    {9.597440371568574e-01f, -2.808760992712921e-01f},
+    {9.540444024062804e-01f, -2.996652769962566e-01f},
+    {9.479769653775104e-01f, -3.183389280525497e-01f},
+    {9.415440651830208e-01f, -3.368898533922201e-01f},
+    {9.347481818282924e-01f, -3.553109012804161e-01f},
+    {9.275919352557240e-01f, -3.735949700525164e-01f},
+    {9.200780843345949e-01f, -3.917350108519559e-01f},
+    {9.122095257974677e-01f, -4.097240303476953e-01f},
+    {9.039892931234433e-01f, -4.275550934302821e-01f},
+    {8.954205553686970e-01f, -4.452213258854682e-01f},
+    {8.865066159447464e-01f, -4.627159170443501e-01f},
+    {8.772509113449243e-01f, -4.800321224090111e-01f},
+    {8.676570098195440e-01f, -4.971632662526544e-01f},
+    {8.577286100002721e-01f, -5.141027441932217e-01f},
+    {8.474695394742344e-01f, -5.308440257395095e-01f},
+    {8.368837533084094e-01f, -5.473806568087964e-01f},
+    {8.259753325248732e-01f, -5.637062622150167e-01f},
+    {8.147484825274894e-01f, -5.798145481265136e-01f},
+    {8.032075314806449e-01f, -5.956993044924334e-01f},
+    {7.913569286406602e-01f, -6.113544074368165e-01f},
+    {7.792012426405167e-01f, -6.267738216194696e-01f},
+    {7.667451597285615e-01f, -6.419516025627030e-01f},
+    {7.539934819618694e-01f, -6.568818989430414e-01f},
+    {7.409511253549591e-01f, -6.715589548470183e-01f},
+    {7.276231179845748e-01f, -6.859771119901928e-01f},
+    {7.140145980512683e-01f, -7.001308118985236e-01f}
 };
 
 static const cos_msin_t cos_msin_80[80] =
 {
-    {9.999879521672569e-01, -4.908718807997990e-03},
-    {9.998915712471080e-01, -1.472568331145852e-02},
-    {9.996988186962042e-01, -2.454122852291229e-02},
-    {9.994097130924373e-01, -3.435440839968228e-02},
-    {9.990242823004072e-01, -4.416427712706736e-02},
-    {9.985425634687357e-01, -5.396988920950188e-02},
-    {9.979646030264866e-01, -6.377029956168449e-02},
-    {9.972904566786902e-01, -7.356456359966743e-02},
-    {9.965201894009746e-01, -8.335173733189745e-02},
-    {9.956538754333033e-01, -9.313087745019979e-02},
-    {9.946915982728195e-01, -1.029010414206961e-01},
-    {9.936334506657989e-01, -1.126612875746478e-01},
-    {9.924795345987100e-01, -1.224106751992162e-01},
-    {9.912299612883853e-01, -1.321482646281301e-01},
-    {9.898848511713010e-01, -1.418731173322532e-01},
-    {9.884443338919700e-01, -1.515842960100411e-01},
-    {9.869085482904458e-01, -1.612808646778805e-01},
-    {9.852776423889412e-01, -1.709618887603012e-01},
-    {9.835517733775615e-01, -1.806264351800528e-01},
-    {9.817311075991542e-01, -1.902735724480359e-01},
-    {9.798158205332763e-01, -1.999023707530817e-01},
-    {9.778060967792817e-01, -2.095119020515688e-01},
-    {9.757021300385286e-01, -2.191012401568698e-01},
-    {9.735041230957107e-01, -2.286694608286194e-01},
-    {9.712122877993118e-01, -2.382156418617946e-01},
-    {9.688268450411880e-01, -2.477388631755984e-01},
-    {9.663480247352773e-01, -2.572382069021397e-01},
-    {9.637760657954398e-01, -2.667127574748984e-01},
-    {9.611112161124317e-01, -2.761616017169707e-01},
-    {9.583537325300114e-01, -2.855838289290823e-01},
-    {9.555038808201862e-01, -2.949785309773635e-01},
-    {9.525619356575953e-01, -3.043448023808773e-01},
-    {9.495281805930367e-01, -3.136817403988915e-01},
-    {9.464029080261377e-01, -3.229884451178863e-01},
-    {9.431864191771733e-01, -3.322640195382908e-01},
-    {9.398790240580331e-01, -3.415075696609363e-01},
-    {9.364810414423427e-01, -3.507182045732232e-01},
-    {9.329927988347390e-01, -3.598950365349881e-01},
-    {9.294146324393044e-01, -3.690371810640665e-01},
-    {9.257468871271640e-01, -3.781437570215405e-01},
-    {9.219899164032445e-01, -3.872138866966656e-01},
-    {9.181440823722039e-01, -3.962466958914656e-01},
-    {9.142097557035307e-01, -4.052413140049899e-01},
-    {9.101873155958178e-01, -4.141968741172237e-01},
-    {9.060771497402148e-01, -4.231125130726441e-01},
-    {9.018796542830616e-01, -4.319873715634118e-01},
-    {8.975952337877069e-01, -4.408205942121939e-01},
-    {8.932243011955153e-01, -4.496113296546065e-01},
-    {8.887672777860675e-01, -4.583587306212713e-01},
-    {8.842245931365562e-01, -4.670619540194765e-01},
-    {8.795966850803829e-01, -4.757201610144369e-01},
-    {8.748839996649583e-01, -4.843325171101412e-01},
-    {8.700869911087115e-01, -4.928981922297840e-01},
-    {8.652061217573113e-01, -5.014163607957690e-01},
-    {8.602418620391045e-01, -5.098862018092806e-01},
-    {8.551946904197751e-01, -5.183068989294132e-01},
-    {8.500650933562288e-01, -5.266776405518521e-01},
-    {8.448535652497071e-01, -5.349976198870972e-01},
-    {8.395606083981356e-01, -5.432660350382236e-01},
-    {8.341867329477124e-01, -5.514820890781694e-01},
-    {8.287324568437381e-01, -5.596449901265460e-01},
-    {8.231983057806959e-01, -5.677539514259605e-01},
-    {8.175848131515837e-01, -5.758081914178453e-01},
-    {8.118925199965048e-01, -5.838069338177863e-01},
-    {8.061219749505210e-01, -5.917494076903429e-01},
-    {8.002737341907743e-01, -5.996348475233523e-01},
-    {7.943483613828813e-01, -6.074624933017110e-01},
-    {7.883464276266063e-01, -6.152315905806268e-01},
-    {7.822685114008164e-01, -6.229413905583340e-01},
-    {7.761151985077279e-01, -6.305911501482637e-01},
-    {7.698870820164444e-01, -6.381801320506653e-01},
-    {7.635847622057965e-01, -6.457076048236672e-01},
-    {7.572088465064846e-01, -6.531728429537768e-01},
-    {7.507599494425343e-01, -6.605751269258050e-01},
-    {7.442386925720670e-01, -6.679137432922161e-01},
-    {7.376457044273930e-01, -6.751879847418903e-01},
-    {7.309816204544317e-01, -6.823971501682968e-01},
-    {7.242470829514670e-01, -6.895405447370668e-01},
-    {7.174427410072399e-01, -6.966174799529642e-01},
-    {7.105692504383896e-01, -7.036272737262429e-01}
+    {9.999879521672569e-01f, -4.908718807997990e-03f},
+    {9.998915712471080e-01f, -1.472568331145852e-02f},
+    {9.996988186962042e-01f, -2.454122852291229e-02f},
+    {9.994097130924373e-01f, -3.435440839968228e-02f},
+    {9.990242823004072e-01f, -4.416427712706736e-02f},
+    {9.985425634687357e-01f, -5.396988920950188e-02f},
+    {9.979646030264866e-01f, -6.377029956168449e-02f},
+    {9.972904566786902e-01f, -7.356456359966743e-02f},
+    {9.965201894009746e-01f, -8.335173733189745e-02f},
+    {9.956538754333033e-01f, -9.313087745019979e-02f},
+    {9.946915982728195e-01f, -1.029010414206961e-01f},
+    {9.936334506657989e-01f, -1.126612875746478e-01f},
+    {9.924795345987100e-01f, -1.224106751992162e-01f},
+    {9.912299612883853e-01f, -1.321482646281301e-01f},
+    {9.898848511713010e-01f, -1.418731173322532e-01f},
+    {9.884443338919700e-01f, -1.515842960100411e-01f},
+    {9.869085482904458e-01f, -1.612808646778805e-01f},
+    {9.852776423889412e-01f, -1.709618887603012e-01f},
+    {9.835517733775615e-01f, -1.806264351800528e-01f},
+    {9.817311075991542e-01f, -1.902735724480359e-01f},
+    {9.798158205332763e-01f, -1.999023707530817e-01f},
+    {9.778060967792817e-01f, -2.095119020515688e-01f},
+    {9.757021300385286e-01f, -2.191012401568698e-01f},
+    {9.735041230957107e-01f, -2.286694608286194e-01f},
+    {9.712122877993118e-01f, -2.382156418617946e-01f},
+    {9.688268450411880e-01f, -2.477388631755984e-01f},
+    {9.663480247352773e-01f, -2.572382069021397e-01f},
+    {9.637760657954398e-01f, -2.667127574748984e-01f},
+    {9.611112161124317e-01f, -2.761616017169707e-01f},
+    {9.583537325300114e-01f, -2.855838289290823e-01f},
+    {9.555038808201862e-01f, -2.949785309773635e-01f},
+    {9.525619356575953e-01f, -3.043448023808773e-01f},
+    {9.495281805930367e-01f, -3.136817403988915e-01f},
+    {9.464029080261377e-01f, -3.229884451178863e-01f},
+    {9.431864191771733e-01f, -3.322640195382908e-01f},
+    {9.398790240580331e-01f, -3.415075696609363e-01f},
+    {9.364810414423427e-01f, -3.507182045732232e-01f},
+    {9.329927988347390e-01f, -3.598950365349881e-01f},
+    {9.294146324393044e-01f, -3.690371810640665e-01f},
+    {9.257468871271640e-01f, -3.781437570215405e-01f},
+    {9.219899164032445e-01f, -3.872138866966656e-01f},
+    {9.181440823722039e-01f, -3.962466958914656e-01f},
+    {9.142097557035307e-01f, -4.052413140049899e-01f},
+    {9.101873155958178e-01f, -4.141968741172237e-01f},
+    {9.060771497402148e-01f, -4.231125130726441e-01f},
+    {9.018796542830616e-01f, -4.319873715634118e-01f},
+    {8.975952337877069e-01f, -4.408205942121939e-01f},
+    {8.932243011955153e-01f, -4.496113296546065e-01f},
+    {8.887672777860675e-01f, -4.583587306212713e-01f},
+    {8.842245931365562e-01f, -4.670619540194765e-01f},
+    {8.795966850803829e-01f, -4.757201610144369e-01f},
+    {8.748839996649583e-01f, -4.843325171101412e-01f},
+    {8.700869911087115e-01f, -4.928981922297840e-01f},
+    {8.652061217573113e-01f, -5.014163607957690e-01f},
+    {8.602418620391045e-01f, -5.098862018092806e-01f},
+    {8.551946904197751e-01f, -5.183068989294132e-01f},
+    {8.500650933562288e-01f, -5.266776405518521e-01f},
+    {8.448535652497071e-01f, -5.349976198870972e-01f},
+    {8.395606083981356e-01f, -5.432660350382236e-01f},
+    {8.341867329477124e-01f, -5.514820890781694e-01f},
+    {8.287324568437381e-01f, -5.596449901265460e-01f},
+    {8.231983057806959e-01f, -5.677539514259605e-01f},
+    {8.175848131515837e-01f, -5.758081914178453e-01f},
+    {8.118925199965048e-01f, -5.838069338177863e-01f},
+    {8.061219749505210e-01f, -5.917494076903429e-01f},
+    {8.002737341907743e-01f, -5.996348475233523e-01f},
+    {7.943483613828813e-01f, -6.074624933017110e-01f},
+    {7.883464276266063e-01f, -6.152315905806268e-01f},
+    {7.822685114008164e-01f, -6.229413905583340e-01f},
+    {7.761151985077279e-01f, -6.305911501482637e-01f},
+    {7.698870820164444e-01f, -6.381801320506653e-01f},
+    {7.635847622057965e-01f, -6.457076048236672e-01f},
+    {7.572088465064846e-01f, -6.531728429537768e-01f},
+    {7.507599494425343e-01f, -6.605751269258050e-01f},
+    {7.442386925720670e-01f, -6.679137432922161e-01f},
+    {7.376457044273930e-01f, -6.751879847418903e-01f},
+    {7.309816204544317e-01f, -6.823971501682968e-01f},
+    {7.242470829514670e-01f, -6.895405447370668e-01f},
+    {7.174427410072399e-01f, -6.966174799529642e-01f},
+    {7.105692504383896e-01f, -7.036272737262429e-01f}
 };
 
 static const cos_msin_t cos_msin_160[160] =
 {
-    {9.999969880372782e-01, -2.454366796460292e-03},
-    {9.999728924443673e-01, -7.363041249779567e-03},
-    {9.999247018391445e-01, -1.227153828571993e-02},
-    {9.998524173827948e-01, -1.717973963077875e-02},
-    {9.997560408170603e-01, -2.208752701857829e-02},
-    {9.996355744641984e-01, -2.699478219271537e-02},
-    {9.994910212269259e-01, -3.190138690961086e-02},
-    {9.993223845883495e-01, -3.680722294135883e-02},
-    {9.991296686118811e-01, -4.171217207857533e-02},
-    {9.989128779411404e-01, -4.661611613324671e-02},
-    {9.986720177998429e-01, -5.151893694157748e-02},
-    {9.984070939916740e-01, -5.642051636683749e-02},
-    {9.981181129001492e-01, -6.132073630220858e-02},
-    {9.978050814884601e-01, -6.621947867363034e-02},
-    {9.974680072993071e-01, -7.111662544264533e-02},
-    {9.971068984547168e-01, -7.601205860924312e-02},
-    {9.967217636558474e-01, -8.090566021470375e-02},
-    {9.963126121827780e-01, -8.579731234443989e-02},
-    {9.958794538942858e-01, -9.068689713083816e-02},
-    {9.954222992276077e-01, -9.557429675609919e-02},
-    {9.949411591981900e-01, -1.004593934550765e-01},
-    {9.944360453994218e-01, -1.053420695181141e-01},
-    {9.939069700023561e-01, -1.102222072938831e-01},
-    {9.933539457554167e-01, -1.150996891922159e-01},
-    {9.927769859840909e-01, -1.199743976869403e-01},
-    {9.921761045906085e-01, -1.248462153187112e-01},
-    {9.915513160536062e-01, -1.297150246978405e-01},
-    {9.909026354277800e-01, -1.345807085071262e-01},
-    {9.902300783435211e-01, -1.394431495046788e-01},
-    {9.895336610065398e-01, -1.443022305267465e-01},
-    {9.888134001974757e-01, -1.491578344905386e-01},
-    {9.880693132714919e-01, -1.540098443970461e-01},
-    {9.873014181578584e-01, -1.588581433338614e-01},
-    {9.865097333595187e-01, -1.637026144779952e-01},
-    {9.856942779526452e-01, -1.685431410986913e-01},
-    {9.848550715861784e-01, -1.733796065602395e-01},
-    {9.839921344813541e-01, -1.782118943247859e-01},
-    {9.831054874312163e-01, -1.830398879551410e-01},
-    {9.821951518001156e-01, -1.878634711175852e-01},
-    {9.812611495231950e-01, -1.926825275846723e-01},
-    {9.803035031058607e-01, -1.974969412380297e-01},
-    {9.793222356232406e-01, -2.023065960711564e-01},
-    {9.783173707196277e-01, -2.071113761922186e-01},
-    {9.772889326079104e-01, -2.119111658268416e-01},
-    {9.762369460689896e-01, -2.167058493209000e-01},
-    {9.751614364511810e-01, -2.214953111433043e-01},
-    {9.740624296696047e-01, -2.262794358887845e-01},
-    {9.729399522055602e-01, -2.310581082806711e-01},
-    {9.717940311058891e-01, -2.358312131736727e-01},
-    {9.706246939823230e-01, -2.405986355566504e-01},
-    {9.694319690108180e-01, -2.453602605553894e-01},
-    {9.682158849308760e-01, -2.501159734353663e-01},
-    {9.669764710448521e-01, -2.548656596045146e-01},
-    {9.657137572172489e-01, -2.596092046159851e-01},
-    {9.644277738739964e-01, -2.643464941709040e-01},
-    {9.631185520017188e-01, -2.690774141211269e-01},
-    {9.617861231469886e-01, -2.738018504719892e-01},
-    {9.604305194155658e-01, -2.785196893850531e-01},
-    {9.590517734716243e-01, -2.832308171808502e-01},
-    {9.576499185369652e-01, -2.879351203416211e-01},
-    {9.562249883902162e-01, -2.926324855140505e-01},
-    {9.547770173660172e-01, -2.973227995119985e-01},
-    {9.533060403541939e-01, -3.020059493192281e-01},
-    {9.518120927989161e-01, -3.066818220921279e-01},
-    {9.502952106978444e-01, -3.113503051624320e-01},
-    {9.487554306012626e-01, -3.160112860399338e-01},
-    {9.471927896111967e-01, -3.206646524151973e-01},
-    {9.456073253805213e-01, -3.253102921622629e-01},
-    {9.439990761120522e-01, -3.299480933413494e-01},
-    {9.423680805576258e-01, -3.345779442015508e-01},
-    {9.407143780171653e-01, -3.391997331835298e-01},
-    {9.390380083377340e-01, -3.438133489222048e-01},
-    {9.373390119125750e-01, -3.484186802494346e-01},
-    {9.356174296801376e-01, -3.530156161966958e-01},
-    {9.338733031230915e-01, -3.576040459977578e-01},
-    {9.321066742673269e-01, -3.621838590913509e-01},
-    {9.303175856809415e-01, -3.667549451238308e-01},
-    {9.285060804732156e-01, -3.713171939518375e-01},
-    {9.266722022935726e-01, -3.758704956449495e-01},
-    {9.248159953305278e-01, -3.804147404883323e-01},
-    {9.229375043106232e-01, -3.849498189853822e-01},
-    {9.210367744973499e-01, -3.894756218603648e-01},
-    {9.191138516900578e-01, -3.939920400610481e-01},
-    {9.171687822228516e-01, -3.984989647613298e-01},
-    {9.152016129634744e-01, -4.029962873638600e-01},
-    {9.132123913121788e-01, -4.074838995026576e-01},
-    {9.112011652005843e-01, -4.119616930457218e-01},
-    {9.091679830905224e-01, -4.164295600976372e-01},
-    {9.071128939728691e-01, -4.208873930021739e-01},
-    {9.050359473663644e-01, -4.253350843448814e-01},
-    {9.029371933164189e-01, -4.297725269556770e-01},
-    {9.008166823939081e-01, -4.341996139114278e-01},
-    {8.986744656939538e-01, -4.386162385385277e-01},
-    {8.965105948346932e-01, -4.430222944154668e-01},
-    {8.943251219560346e-01, -4.474176753753967e-01},
-    {8.921180997184014e-01, -4.518022755086881e-01},
-    {8.898895813014630e-01, -4.561759891654830e-01},
-    {8.876396204028539e-01, -4.605387109582400e-01},
-    {8.853682712368793e-01, -4.648903357642744e-01},
-    {8.830755885332088e-01, -4.692307587282903e-01},
-    {8.807616275355579e-01, -4.735598752649081e-01},
-    {8.784264440003567e-01, -4.778775810611837e-01},
-    {8.760700941954066e-01, -4.821837720791227e-01},
-    {8.736926348985243e-01, -4.864783445581868e-01},
-    {8.712941233961736e-01, -4.907611950177941e-01},
-    {8.688746174820854e-01, -4.950322202598127e-01},
-    {8.664341754558650e-01, -4.992913173710469e-01},
-    {8.639728561215868e-01, -5.035383837257176e-01},
-    {8.614907187863783e-01, -5.077733169879345e-01},
-    {8.589878232589904e-01, -5.119960151141624e-01},
-    {8.564642298483565e-01, -5.162063763556797e-01},
-    {8.539199993621391e-01, -5.204042992610306e-01},
-    {8.513551931052652e-01, -5.245896826784689e-01},
-    {8.487698728784481e-01, -5.287624257583958e-01},
-    {8.461641009766995e-01, -5.329224279557898e-01},
-    {8.435379401878270e-01, -5.370695890326298e-01},
-    {8.408914537909229e-01, -5.412038090603096e-01},
-    {8.382247055548381e-01, -5.453249884220465e-01},
-    {8.355377597366458e-01, -5.494330278152808e-01},
-    {8.328306810800937e-01, -5.535278282540700e-01},
-    {8.301035348140438e-01, -5.576092910714722e-01},
-    {8.273563866508998e-01, -5.616773179219247e-01},
-    {8.245893027850253e-01, -5.657318107836131e-01},
-    {8.218023498911473e-01, -5.697726719608341e-01},
-    {8.189955951227504e-01, -5.737998040863485e-01},
-    {8.161691061104588e-01, -5.778131101237274e-01},
-    {8.133229509604062e-01, -5.818124933696910e-01},
-    {8.104571982525948e-01, -5.857978574564389e-01},
-    {8.075719170392435e-01, -5.897691063539708e-01},
-    {8.046671768431229e-01, -5.937261443724019e-01},
-    {8.017430476558816e-01, -5.976688761642677e-01},
-    {7.987995999363579e-01, -6.015972067268220e-01},
-    {7.958369046088836e-01, -6.055110414043255e-01},
-    {7.928550330615741e-01, -6.094102858903271e-01},
-    {7.898540571446090e-01, -6.132948462299359e-01},
-    {7.868340491684999e-01, -6.171646288220856e-01},
-    {7.837950819023488e-01, -6.210195404217892e-01},
-    {7.807372285720945e-01, -6.248594881423863e-01},
-    {7.776605628587479e-01, -6.286843794577813e-01},
-    {7.745651588966166e-01, -6.324941222046724e-01},
-    {7.714510912715192e-01, -6.362886245847729e-01},
-    {7.683184350189877e-01, -6.400677951670226e-01},
-    {7.651672656224590e-01, -6.438315428897914e-01},
-    {7.619976590114568e-01, -6.475797770630733e-01},
-    {7.588096915597616e-01, -6.513124073706714e-01},
-    {7.556034400835709e-01, -6.550293438723744e-01},
-    {7.523789818396478e-01, -6.587304970061237e-01},
-    {7.491363945234594e-01, -6.624157775901718e-01},
-    {7.458757562673048e-01, -6.660850968252301e-01},
-    {7.425971456384329e-01, -6.697383662966099e-01},
-    {7.393006416371488e-01, -6.733754979763520e-01},
-    {7.359863236949099e-01, -6.769964042253483e-01},
-    {7.326542716724128e-01, -6.806009977954530e-01},
-    {7.293045658576685e-01, -6.841891918315852e-01},
-    {7.259372869640676e-01, -6.877608998738217e-01},
-    {7.225525161284360e-01, -6.913160358594803e-01},
-    {7.191503349090794e-01, -6.948545141251936e-01},
-    {7.157308252838186e-01, -6.983762494089729e-01},
-    {7.122940696480137e-01, -7.018811568522627e-01},
-    {7.088401508125785e-01, -7.053691520019861e-01}
+    {9.999969880372782e-01f, -2.454366796460292e-03f},
+    {9.999728924443673e-01f, -7.363041249779567e-03f},
+    {9.999247018391445e-01f, -1.227153828571993e-02f},
+    {9.998524173827948e-01f, -1.717973963077875e-02f},
+    {9.997560408170603e-01f, -2.208752701857829e-02f},
+    {9.996355744641984e-01f, -2.699478219271537e-02f},
+    {9.994910212269259e-01f, -3.190138690961086e-02f},
+    {9.993223845883495e-01f, -3.680722294135883e-02f},
+    {9.991296686118811e-01f, -4.171217207857533e-02f},
+    {9.989128779411404e-01f, -4.661611613324671e-02f},
+    {9.986720177998429e-01f, -5.151893694157748e-02f},
+    {9.984070939916740e-01f, -5.642051636683749e-02f},
+    {9.981181129001492e-01f, -6.132073630220858e-02f},
+    {9.978050814884601e-01f, -6.621947867363034e-02f},
+    {9.974680072993071e-01f, -7.111662544264533e-02f},
+    {9.971068984547168e-01f, -7.601205860924312e-02f},
+    {9.967217636558474e-01f, -8.090566021470375e-02f},
+    {9.963126121827780e-01f, -8.579731234443989e-02f},
+    {9.958794538942858e-01f, -9.068689713083816e-02f},
+    {9.954222992276077e-01f, -9.557429675609919e-02f},
+    {9.949411591981900e-01f, -1.004593934550765e-01f},
+    {9.944360453994218e-01f, -1.053420695181141e-01f},
+    {9.939069700023561e-01f, -1.102222072938831e-01f},
+    {9.933539457554167e-01f, -1.150996891922159e-01f},
+    {9.927769859840909e-01f, -1.199743976869403e-01f},
+    {9.921761045906085e-01f, -1.248462153187112e-01f},
+    {9.915513160536062e-01f, -1.297150246978405e-01f},
+    {9.909026354277800e-01f, -1.345807085071262e-01f},
+    {9.902300783435211e-01f, -1.394431495046788e-01f},
+    {9.895336610065398e-01f, -1.443022305267465e-01f},
+    {9.888134001974757e-01f, -1.491578344905386e-01f},
+    {9.880693132714919e-01f, -1.540098443970461e-01f},
+    {9.873014181578584e-01f, -1.588581433338614e-01f},
+    {9.865097333595187e-01f, -1.637026144779952e-01f},
+    {9.856942779526452e-01f, -1.685431410986913e-01f},
+    {9.848550715861784e-01f, -1.733796065602395e-01f},
+    {9.839921344813541e-01f, -1.782118943247859e-01f},
+    {9.831054874312163e-01f, -1.830398879551410e-01f},
+    {9.821951518001156e-01f, -1.878634711175852e-01f},
+    {9.812611495231950e-01f, -1.926825275846723e-01f},
+    {9.803035031058607e-01f, -1.974969412380297e-01f},
+    {9.793222356232406e-01f, -2.023065960711564e-01f},
+    {9.783173707196277e-01f, -2.071113761922186e-01f},
+    {9.772889326079104e-01f, -2.119111658268416e-01f},
+    {9.762369460689896e-01f, -2.167058493209000e-01f},
+    {9.751614364511810e-01f, -2.214953111433043e-01f},
+    {9.740624296696047e-01f, -2.262794358887845e-01f},
+    {9.729399522055602e-01f, -2.310581082806711e-01f},
+    {9.717940311058891e-01f, -2.358312131736727e-01f},
+    {9.706246939823230e-01f, -2.405986355566504e-01f},
+    {9.694319690108180e-01f, -2.453602605553894e-01f},
+    {9.682158849308760e-01f, -2.501159734353663e-01f},
+    {9.669764710448521e-01f, -2.548656596045146e-01f},
+    {9.657137572172489e-01f, -2.596092046159851e-01f},
+    {9.644277738739964e-01f, -2.643464941709040e-01f},
+    {9.631185520017188e-01f, -2.690774141211269e-01f},
+    {9.617861231469886e-01f, -2.738018504719892e-01f},
+    {9.604305194155658e-01f, -2.785196893850531e-01f},
+    {9.590517734716243e-01f, -2.832308171808502e-01f},
+    {9.576499185369652e-01f, -2.879351203416211e-01f},
+    {9.562249883902162e-01f, -2.926324855140505e-01f},
+    {9.547770173660172e-01f, -2.973227995119985e-01f},
+    {9.533060403541939e-01f, -3.020059493192281e-01f},
+    {9.518120927989161e-01f, -3.066818220921279e-01f},
+    {9.502952106978444e-01f, -3.113503051624320e-01f},
+    {9.487554306012626e-01f, -3.160112860399338e-01f},
+    {9.471927896111967e-01f, -3.206646524151973e-01f},
+    {9.456073253805213e-01f, -3.253102921622629e-01f},
+    {9.439990761120522e-01f, -3.299480933413494e-01f},
+    {9.423680805576258e-01f, -3.345779442015508e-01f},
+    {9.407143780171653e-01f, -3.391997331835298e-01f},
+    {9.390380083377340e-01f, -3.438133489222048e-01f},
+    {9.373390119125750e-01f, -3.484186802494346e-01f},
+    {9.356174296801376e-01f, -3.530156161966958e-01f},
+    {9.338733031230915e-01f, -3.576040459977578e-01f},
+    {9.321066742673269e-01f, -3.621838590913509e-01f},
+    {9.303175856809415e-01f, -3.667549451238308e-01f},
+    {9.285060804732156e-01f, -3.713171939518375e-01f},
+    {9.266722022935726e-01f, -3.758704956449495e-01f},
+    {9.248159953305278e-01f, -3.804147404883323e-01f},
+    {9.229375043106232e-01f, -3.849498189853822e-01f},
+    {9.210367744973499e-01f, -3.894756218603648e-01f},
+    {9.191138516900578e-01f, -3.939920400610481e-01f},
+    {9.171687822228516e-01f, -3.984989647613298e-01f},
+    {9.152016129634744e-01f, -4.029962873638600e-01f},
+    {9.132123913121788e-01f, -4.074838995026576e-01f},
+    {9.112011652005843e-01f, -4.119616930457218e-01f},
+    {9.091679830905224e-01f, -4.164295600976372e-01f},
+    {9.071128939728691e-01f, -4.208873930021739e-01f},
+    {9.050359473663644e-01f, -4.253350843448814e-01f},
+    {9.029371933164189e-01f, -4.297725269556770e-01f},
+    {9.008166823939081e-01f, -4.341996139114278e-01f},
+    {8.986744656939538e-01f, -4.386162385385277e-01f},
+    {8.965105948346932e-01f, -4.430222944154668e-01f},
+    {8.943251219560346e-01f, -4.474176753753967e-01f},
+    {8.921180997184014e-01f, -4.518022755086881e-01f},
+    {8.898895813014630e-01f, -4.561759891654830e-01f},
+    {8.876396204028539e-01f, -4.605387109582400e-01f},
+    {8.853682712368793e-01f, -4.648903357642744e-01f},
+    {8.830755885332088e-01f, -4.692307587282903e-01f},
+    {8.807616275355579e-01f, -4.735598752649081e-01f},
+    {8.784264440003567e-01f, -4.778775810611837e-01f},
+    {8.760700941954066e-01f, -4.821837720791227e-01f},
+    {8.736926348985243e-01f, -4.864783445581868e-01f},
+    {8.712941233961736e-01f, -4.907611950177941e-01f},
+    {8.688746174820854e-01f, -4.950322202598127e-01f},
+    {8.664341754558650e-01f, -4.992913173710469e-01f},
+    {8.639728561215868e-01f, -5.035383837257176e-01f},
+    {8.614907187863783e-01f, -5.077733169879345e-01f},
+    {8.589878232589904e-01f, -5.119960151141624e-01f},
+    {8.564642298483565e-01f, -5.162063763556797e-01f},
+    {8.539199993621391e-01f, -5.204042992610306e-01f},
+    {8.513551931052652e-01f, -5.245896826784689e-01f},
+    {8.487698728784481e-01f, -5.287624257583958e-01f},
+    {8.461641009766995e-01f, -5.329224279557898e-01f},
+    {8.435379401878270e-01f, -5.370695890326298e-01f},
+    {8.408914537909229e-01f, -5.412038090603096e-01f},
+    {8.382247055548381e-01f, -5.453249884220465e-01f},
+    {8.355377597366458e-01f, -5.494330278152808e-01f},
+    {8.328306810800937e-01f, -5.535278282540700e-01f},
+    {8.301035348140438e-01f, -5.576092910714722e-01f},
+    {8.273563866508998e-01f, -5.616773179219247e-01f},
+    {8.245893027850253e-01f, -5.657318107836131e-01f},
+    {8.218023498911473e-01f, -5.697726719608341e-01f},
+    {8.189955951227504e-01f, -5.737998040863485e-01f},
+    {8.161691061104588e-01f, -5.778131101237274e-01f},
+    {8.133229509604062e-01f, -5.818124933696910e-01f},
+    {8.104571982525948e-01f, -5.857978574564389e-01f},
+    {8.075719170392435e-01f, -5.897691063539708e-01f},
+    {8.046671768431229e-01f, -5.937261443724019e-01f},
+    {8.017430476558816e-01f, -5.976688761642677e-01f},
+    {7.987995999363579e-01f, -6.015972067268220e-01f},
+    {7.958369046088836e-01f, -6.055110414043255e-01f},
+    {7.928550330615741e-01f, -6.094102858903271e-01f},
+    {7.898540571446090e-01f, -6.132948462299359e-01f},
+    {7.868340491684999e-01f, -6.171646288220856e-01f},
+    {7.837950819023488e-01f, -6.210195404217892e-01f},
+    {7.807372285720945e-01f, -6.248594881423863e-01f},
+    {7.776605628587479e-01f, -6.286843794577813e-01f},
+    {7.745651588966166e-01f, -6.324941222046724e-01f},
+    {7.714510912715192e-01f, -6.362886245847729e-01f},
+    {7.683184350189877e-01f, -6.400677951670226e-01f},
+    {7.651672656224590e-01f, -6.438315428897914e-01f},
+    {7.619976590114568e-01f, -6.475797770630733e-01f},
+    {7.588096915597616e-01f, -6.513124073706714e-01f},
+    {7.556034400835709e-01f, -6.550293438723744e-01f},
+    {7.523789818396478e-01f, -6.587304970061237e-01f},
+    {7.491363945234594e-01f, -6.624157775901718e-01f},
+    {7.458757562673048e-01f, -6.660850968252301e-01f},
+    {7.425971456384329e-01f, -6.697383662966099e-01f},
+    {7.393006416371488e-01f, -6.733754979763520e-01f},
+    {7.359863236949099e-01f, -6.769964042253483e-01f},
+    {7.326542716724128e-01f, -6.806009977954530e-01f},
+    {7.293045658576685e-01f, -6.841891918315852e-01f},
+    {7.259372869640676e-01f, -6.877608998738217e-01f},
+    {7.225525161284360e-01f, -6.913160358594803e-01f},
+    {7.191503349090794e-01f, -6.948545141251936e-01f},
+    {7.157308252838186e-01f, -6.983762494089729e-01f},
+    {7.122940696480137e-01f, -7.018811568522627e-01f},
+    {7.088401508125785e-01f, -7.053691520019861e-01f}
 };
 
 static const cos_msin_t cos_msin_320[320] =
 {
-    {9.999992470090361e-01, -1.227184322288852e-03},
-    {9.999932230881285e-01, -3.681545574399692e-03},
-    {9.999811752826011e-01, -6.135884649154475e-03},
-    {9.999631036650289e-01, -8.590186761797602e-03},
-    {9.999390083442741e-01, -1.104443712779613e-02},
-    {9.999088894654848e-01, -1.349862096292883e-02},
-    {9.998727472100952e-01, -1.595272348337527e-02},
-    {9.998305817958234e-01, -1.840672990580482e-02},
-    {9.997823934766707e-01, -2.086062544746576e-02},
-    {9.997281825429201e-01, -2.331439532627430e-02},
-    {9.996679493211340e-01, -2.576802476090363e-02},
-    {9.996016941741530e-01, -2.822149897087298e-02},
-    {9.995294175010931e-01, -3.067480317663663e-02},
-    {9.994511197373437e-01, -3.312792259967294e-02},
-    {9.993668013545645e-01, -3.558084246257342e-02},
-    {9.992764628606833e-01, -3.803354798913168e-02},
-    {9.991801047998923e-01, -4.048602440443251e-02},
-    {9.990777277526454e-01, -4.293825693494082e-02},
-    {9.989693323356542e-01, -4.539023080859068e-02},
-    {9.988549192018848e-01, -4.784193125487429e-02},
-    {9.987344890405533e-01, -5.029334350493095e-02},
-    {9.986080425771219e-01, -5.274445279163603e-02},
-    {9.984755805732948e-01, -5.519524434968993e-02},
-    {9.983371038270131e-01, -5.764570341570704e-02},
-    {9.981926131724506e-01, -6.009581522830464e-02},
-    {9.980421094800079e-01, -6.254556502819182e-02},
-    {9.978855936563085e-01, -6.499493805825848e-02},
-    {9.977230666441916e-01, -6.744391956366405e-02},
-    {9.975545294227081e-01, -6.989249479192657e-02},
-    {9.973799830071135e-01, -7.234064899301137e-02},
-    {9.971994284488623e-01, -7.478836741942015e-02},
-    {9.970128668356021e-01, -7.723563532627951e-02},
-    {9.968202992911657e-01, -7.968243797143013e-02},
-    {9.966217269755658e-01, -8.212876061551522e-02},
-    {9.964171510849874e-01, -8.457458852206962e-02},
-    {9.962065728517802e-01, -8.701990695760831e-02},
-    {9.959899935444517e-01, -8.946470119171543e-02},
-    {9.957674144676598e-01, -9.190895649713272e-02},
-    {9.955388369622040e-01, -9.435265814984850e-02},
-    {9.953042624050182e-01, -9.679579142918618e-02},
-    {9.950636922091622e-01, -9.923834161789306e-02},
-    {9.948171278238128e-01, -1.016802940022289e-01},
-    {9.945645707342554e-01, -1.041216338720546e-01},
-    {9.943060224618753e-01, -1.065623465209208e-01},
-    {9.940414845641478e-01, -1.090024172461564e-01},
-    {9.937709586346295e-01, -1.114418313489574e-01},
-    {9.934944463029486e-01, -1.138805741344751e-01},
-    {9.932119492347945e-01, -1.163186309119048e-01},
-    {9.929234691319088e-01, -1.187559869945741e-01},
-    {9.926290077320739e-01, -1.211926277000318e-01},
-    {9.923285668091033e-01, -1.236285383501360e-01},
-    {9.920221481728309e-01, -1.260637042711424e-01},
-    {9.917097536690995e-01, -1.284981107937932e-01},
-    {9.913913851797506e-01, -1.309317432534049e-01},
-    {9.910670446226119e-01, -1.333645869899571e-01},
-    {9.907367339514870e-01, -1.357966273481804e-01},
-    {9.904004551561425e-01, -1.382278496776452e-01},
-    {9.900582102622971e-01, -1.406582393328492e-01},
-    {9.897100013316084e-01, -1.430877816733065e-01},
-    {9.893558304616609e-01, -1.455164620636352e-01},
-    {9.889956997859536e-01, -1.479442658736455e-01},
-    {9.886296114738869e-01, -1.503711784784285e-01},
-    {9.882575677307495e-01, -1.527971852584434e-01},
-    {9.878795707977051e-01, -1.552222715996064e-01},
-    {9.874956229517791e-01, -1.576464228933781e-01},
-    {9.871057265058446e-01, -1.600696245368518e-01},
-    {9.867098838086088e-01, -1.624918619328416e-01},
-    {9.863080972445987e-01, -1.649131204899699e-01},
-    {9.859003692341464e-01, -1.673333856227558e-01},
-    {9.854867022333751e-01, -1.697526427517024e-01},
-    {9.850670987341841e-01, -1.721708773033852e-01},
-    {9.846415612642334e-01, -1.745880747105397e-01},
-    {9.842100923869290e-01, -1.770042204121487e-01},
-    {9.837726947014075e-01, -1.794192998535309e-01},
-    {9.833293708425197e-01, -1.818332984864276e-01},
-    {9.828801234808157e-01, -1.842462017690910e-01},
-    {9.824249553225278e-01, -1.866579951663718e-01},
-    {9.819638691095552e-01, -1.890686641498062e-01},
-    {9.814968676194470e-01, -1.914781941977041e-01},
-    {9.810239536653852e-01, -1.938865707952361e-01},
-    {9.805451300961683e-01, -1.962937794345212e-01},
-    {9.800603997961936e-01, -1.986998056147138e-01},
-    {9.795697656854405e-01, -2.011046348420919e-01},
-    {9.790732307194523e-01, -2.035082526301433e-01},
-    {9.785707978893183e-01, -2.059106444996538e-01},
-    {9.780624702216568e-01, -2.083117959787937e-01},
-    {9.775482507785956e-01, -2.107116926032057e-01},
-    {9.770281426577544e-01, -2.131103199160914e-01},
-    {9.765021489922255e-01, -2.155076634682986e-01},
-    {9.759702729505557e-01, -2.179037088184086e-01},
-    {9.754325177367266e-01, -2.202984415328229e-01},
-    {9.748888865901355e-01, -2.226918471858500e-01},
-    {9.743393827855759e-01, -2.250839113597928e-01},
-    {9.737840096332177e-01, -2.274746196450351e-01},
-    {9.732227704785874e-01, -2.298639576401283e-01},
-    {9.726556687025479e-01, -2.322519109518786e-01},
-    {9.720827077212779e-01, -2.346384651954331e-01},
-    {9.715038909862518e-01, -2.370236059943672e-01},
-    {9.709192219842182e-01, -2.394073189807704e-01},
-    {9.703287042371799e-01, -2.417895897953334e-01},
-    {9.697323413023714e-01, -2.441704040874346e-01},
-    {9.691301367722388e-01, -2.465497475152259e-01},
-    {9.685220942744174e-01, -2.489276057457201e-01},
-    {9.679082174717095e-01, -2.513039644548766e-01},
-    {9.672885100620635e-01, -2.536788093276874e-01},
-    {9.666629757785506e-01, -2.560521260582643e-01},
-    {9.660316183893426e-01, -2.584239003499241e-01},
-    {9.653944416976894e-01, -2.607941179152755e-01},
-    {9.647514495418958e-01, -2.631627644763044e-01},
-    {9.641026457952987e-01, -2.655298257644607e-01},
-    {9.634480343662435e-01, -2.678952875207434e-01},
-    {9.627876191980606e-01, -2.702591354957875e-01},
-    {9.621214042690416e-01, -2.726213554499490e-01},
-    {9.614493935924158e-01, -2.749819331533909e-01},
-    {9.607715912163253e-01, -2.773408543861692e-01},
-    {9.600880012238011e-01, -2.796981049383182e-01},
-    {9.593986277327383e-01, -2.820536706099365e-01},
-    {9.587034748958716e-01, -2.844075372112719e-01},
-    {9.580025469007496e-01, -2.867596905628075e-01},
-    {9.572958479697103e-01, -2.891101164953470e-01},
-    {9.565833823598556e-01, -2.914588008500998e-01},
-    {9.558651543630251e-01, -2.938057294787664e-01},
-    {9.551411683057708e-01, -2.961508882436238e-01},
-    {9.544114285493304e-01, -2.984942630176104e-01},
-    {9.536759394896021e-01, -3.008358396844112e-01},
-    {9.529347055571170e-01, -3.031756041385431e-01},
-    {9.521877312170133e-01, -3.055135422854393e-01},
-    {9.514350209690083e-01, -3.078496400415349e-01},
-    {9.506765793473728e-01, -3.101838833343510e-01},
-    {9.499124109209025e-01, -3.125162581025802e-01},
-    {9.491425202928909e-01, -3.148467502961706e-01},
-    {9.483669121011018e-01, -3.171753458764112e-01},
-    {9.475855910177411e-01, -3.195020308160157e-01},
-    {9.467985617494289e-01, -3.218267910992075e-01},
-    {9.460058290371707e-01, -3.241496127218040e-01},
-    {9.452073976563291e-01, -3.264704816913009e-01},
-    {9.444032724165956e-01, -3.287893840269567e-01},
-    {9.435934581619604e-01, -3.311063057598764e-01},
-    {9.427779597706842e-01, -3.334212329330963e-01},
-    {9.419567821552687e-01, -3.357341516016679e-01},
-    {9.411299302624264e-01, -3.380450478327413e-01},
-    {9.402974090730516e-01, -3.403539077056500e-01},
-    {9.394592236021899e-01, -3.426607173119944e-01},
-    {9.386153788990080e-01, -3.449654627557252e-01},
-    {9.377658800467635e-01, -3.472681301532278e-01},
-    {9.369107321627741e-01, -3.495687056334055e-01},
-    {9.360499403983871e-01, -3.518671753377630e-01},
-    {9.351835099389476e-01, -3.541635254204903e-01},
-    {9.343114460037683e-01, -3.564577420485457e-01},
-    {9.334337538460973e-01, -3.587498114017393e-01},
-    {9.325504387530866e-01, -3.610397196728160e-01},
-    {9.316615060457607e-01, -3.633274530675394e-01},
-    {9.307669610789837e-01, -3.656129978047739e-01},
-    {9.298668092414279e-01, -3.678963401165684e-01},
-    {9.289610559555410e-01, -3.701774662482391e-01},
-    {9.280497066775131e-01, -3.724563624584523e-01},
-    {9.271327668972442e-01, -3.747330150193071e-01},
-    {9.262102421383114e-01, -3.770074102164183e-01},
-    {9.252821379579349e-01, -3.792795343489985e-01},
-    {9.243484599469451e-01, -3.815493737299417e-01},
-    {9.234092137297489e-01, -3.838169146859046e-01},
-    {9.224644049642953e-01, -3.860821435573893e-01},
-    {9.215140393420420e-01, -3.883450466988262e-01},
-    {9.205581225879205e-01, -3.906056104786556e-01},
-    {9.195966604603021e-01, -3.928638212794095e-01},
-    {9.186296587509630e-01, -3.951196654977946e-01},
-    {9.176571232850496e-01, -3.973731295447735e-01},
-    {9.166790599210427e-01, -3.996241998456468e-01},
-    {9.156954745507232e-01, -4.018728628401348e-01},
-    {9.147063730991362e-01, -4.041191049824593e-01},
-    {9.137117615245548e-01, -4.063629127414251e-01},
-    {9.127116458184452e-01, -4.086042726005015e-01},
-    {9.117060320054299e-01, -4.108431710579039e-01},
-    {9.106949261432513e-01, -4.130795946266749e-01},
-    {9.096783343227359e-01, -4.153135298347656e-01},
-    {9.086562626677570e-01, -4.175449632251170e-01},
-    {9.076287173351980e-01, -4.197738813557405e-01},
-    {9.065957045149153e-01, -4.220002707997997e-01},
-    {9.055572304297014e-01, -4.242241181456904e-01},
-    {9.045133013352465e-01, -4.264454099971220e-01},
-    {9.034639235201017e-01, -4.286641329731982e-01},
-    {9.024091033056408e-01, -4.308802737084970e-01},
-    {9.013488470460220e-01, -4.330938188531520e-01},
-    {9.002831611281501e-01, -4.353047550729321e-01},
-    {8.992120519716374e-01, -4.375130690493225e-01},
-    {8.981355260287659e-01, -4.397187474796043e-01},
-    {8.970535897844474e-01, -4.419217770769352e-01},
-    {8.959662497561852e-01, -4.441221445704292e-01},
-    {8.948735124940346e-01, -4.463198367052365e-01},
-    {8.937753845805634e-01, -4.485148402426236e-01},
-    {8.926718726308122e-01, -4.507071419600526e-01},
-    {8.915629832922548e-01, -4.528967286512617e-01},
-    {8.904487232447579e-01, -4.550835871263438e-01},
-    {8.893290992005409e-01, -4.572677042118265e-01},
-    {8.882041179041357e-01, -4.594490667507513e-01},
-    {8.870737861323454e-01, -4.616276616027529e-01},
-    {8.859381106942048e-01, -4.638034756441384e-01},
-    {8.847970984309378e-01, -4.659764957679662e-01},
-    {8.836507562159172e-01, -4.681467088841250e-01},
-    {8.824990909546231e-01, -4.703141019194129e-01},
-    {8.813421095846011e-01, -4.724786618176158e-01},
-    {8.801798190754208e-01, -4.746403755395864e-01},
-    {8.790122264286335e-01, -4.767992300633221e-01},
-    {8.778393386777302e-01, -4.789552123840445e-01},
-    {8.766611628880995e-01, -4.811083095142767e-01},
-    {8.754777061569843e-01, -4.832585084839222e-01},
-    {8.742889756134398e-01, -4.854057963403425e-01},
-    {8.730949784182901e-01, -4.875501601484360e-01},
-    {8.718957217640854e-01, -4.896915869907146e-01},
-    {8.706912128750582e-01, -4.918300639673830e-01},
-    {8.694814590070804e-01, -4.939655781964152e-01},
-    {8.682664674476190e-01, -4.960981168136327e-01},
-    {8.670462455156926e-01, -4.982276669727819e-01},
-    {8.658208005618273e-01, -5.003542158456112e-01},
-    {8.645901399680118e-01, -5.024777506219491e-01},
-    {8.633542711476541e-01, -5.045982585097801e-01},
-    {8.621132015455357e-01, -5.067157267353229e-01},
-    {8.608669386377673e-01, -5.088301425431070e-01},
-    {8.596154899317437e-01, -5.109414931960489e-01},
-    {8.583588629660989e-01, -5.130497659755299e-01},
-    {8.570970653106597e-01, -5.151549481814718e-01},
-    {8.558301045664012e-01, -5.172570271324139e-01},
-    {8.545579883654005e-01, -5.193559901655896e-01},
-    {8.532807243707908e-01, -5.214518246370019e-01},
-    {8.519983202767152e-01, -5.235445179215000e-01},
-    {8.507107838082801e-01, -5.256340574128560e-01},
-    {8.494181227215095e-01, -5.277204305238395e-01},
-    {8.481203448032972e-01, -5.298036246862946e-01},
-    {8.468174578713608e-01, -5.318836273512150e-01},
-    {8.455094697741939e-01, -5.339604259888194e-01},
-    {8.441963883910193e-01, -5.360340080886280e-01},
-    {8.428782216317413e-01, -5.381043611595366e-01},
-    {8.415549774368984e-01, -5.401714727298929e-01},
-    {8.402266637776148e-01, -5.422353303475707e-01},
-    {8.388932886555529e-01, -5.442959215800456e-01},
-    {8.375548601028652e-01, -5.463532340144698e-01},
-    {8.362113861821453e-01, -5.484072552577465e-01},
-    {8.348628749863800e-01, -5.504579729366048e-01},
-    {8.335093346389004e-01, -5.525053746976744e-01},
-    {8.321507732933324e-01, -5.545494482075597e-01},
-    {8.307871991335484e-01, -5.565901811529141e-01},
-    {8.294186203736174e-01, -5.586275612405148e-01},
-    {8.280450452577558e-01, -5.606615761973360e-01},
-    {8.266664820602777e-01, -5.626922137706231e-01},
-    {8.252829390855451e-01, -5.647194617279668e-01},
-    {8.238944246679176e-01, -5.667433078573766e-01},
-    {8.225009471717026e-01, -5.687637399673542e-01},
-    {8.211025149911046e-01, -5.707807458869673e-01},
-    {8.196991365501750e-01, -5.727943134659226e-01},
-    {8.182908203027607e-01, -5.748044305746390e-01},
-    {8.168775747324537e-01, -5.768110851043212e-01},
-    {8.154594083525400e-01, -5.788142649670318e-01},
-    {8.140363297059484e-01, -5.808139580957645e-01},
-    {8.126083473651983e-01, -5.828101524445172e-01},
-    {8.111754699323488e-01, -5.848028359883638e-01},
-    {8.097377060389469e-01, -5.867919967235272e-01},
-    {8.082950643459751e-01, -5.887776226674516e-01},
-    {8.068475535437993e-01, -5.907597018588742e-01},
-    {8.053951823521167e-01, -5.927382223578977e-01},
-    {8.039379595199031e-01, -5.947131722460625e-01},
-    {8.024758938253601e-01, -5.966845396264172e-01},
-    {8.010089940758625e-01, -5.986523126235920e-01},
-    {7.995372691079050e-01, -6.006164793838690e-01},
-    {7.980607277870492e-01, -6.025770280752539e-01},
-    {7.965793790078698e-01, -6.045339468875478e-01},
-    {7.950932316939014e-01, -6.064872240324176e-01},
-    {7.936022947975847e-01, -6.084368477434675e-01},
-    {7.921065773002124e-01, -6.103828062763095e-01},
-    {7.906060882118751e-01, -6.123250879086344e-01},
-    {7.891008365714072e-01, -6.142636809402826e-01},
-    {7.875908314463325e-01, -6.161985736933142e-01},
-    {7.860760819328091e-01, -6.181297545120795e-01},
-    {7.845565971555752e-01, -6.200572117632891e-01},
-    {7.830323862678940e-01, -6.219809338360844e-01},
-    {7.815034584514979e-01, -6.239009091421072e-01},
-    {7.799698229165344e-01, -6.258171261155689e-01},
-    {7.784314889015095e-01, -6.277295732133219e-01},
-    {7.768884656732324e-01, -6.296382389149270e-01},
-    {7.753407625267603e-01, -6.315431117227246e-01},
-    {7.737883887853415e-01, -6.334441801619028e-01},
-    {7.722313538003597e-01, -6.353414327805670e-01},
-    {7.706696669512773e-01, -6.372348581498091e-01},
-    {7.691033376455797e-01, -6.391244448637757e-01},
-    {7.675323753187178e-01, -6.410101815397373e-01},
-    {7.659567894340514e-01, -6.428920568181569e-01},
-    {7.643765894827926e-01, -6.447700593627579e-01},
-    {7.627917849839481e-01, -6.466441778605931e-01},
-    {7.612023854842618e-01, -6.485144010221124e-01},
-    {7.596084005581580e-01, -6.503807175812309e-01},
-    {7.580098398076831e-01, -6.522431162953969e-01},
-    {7.564067128624476e-01, -6.541015859456593e-01},
-    {7.547990293795690e-01, -6.559561153367355e-01},
-    {7.531867990436125e-01, -6.578066932970786e-01},
-    {7.515700315665336e-01, -6.596533086789452e-01},
-    {7.499487366876190e-01, -6.614959503584616e-01},
-    {7.483229241734281e-01, -6.633346072356920e-01},
-    {7.466926038177344e-01, -6.651692682347043e-01},
-    {7.450577854414661e-01, -6.669999223036375e-01},
-    {7.434184788926470e-01, -6.688265584147679e-01},
-    {7.417746940463380e-01, -6.706491655645758e-01},
-    {7.401264408045760e-01, -6.724677327738116e-01},
-    {7.384737290963160e-01, -6.742822490875620e-01},
-    {7.368165688773699e-01, -6.760927035753159e-01},
-    {7.351549701303474e-01, -6.778990853310308e-01},
-    {7.334889428645953e-01, -6.797013834731973e-01},
-    {7.318184971161379e-01, -6.814995871449060e-01},
-    {7.301436429476156e-01, -6.832936855139119e-01},
-    {7.284643904482252e-01, -6.850836677727004e-01},
-    {7.267807497336585e-01, -6.868695231385515e-01},
-    {7.250927309460417e-01, -6.886512408536060e-01},
-    {7.234003442538740e-01, -6.904288101849290e-01},
-    {7.217035998519666e-01, -6.922022204245754e-01},
-    {7.200025079613817e-01, -6.939714608896540e-01},
-    {7.182970788293696e-01, -6.957365209223924e-01},
-    {7.165873227293083e-01, -6.974973898902004e-01},
-    {7.148732499606411e-01, -6.992540571857347e-01},
-    {7.131548708488146e-01, -7.010065122269625e-01},
-    {7.114321957452164e-01, -7.027547444572253e-01},
-    {7.097052350271130e-01, -7.044987433453024e-01},
-    {7.079739990975870e-01, -7.062384983854745e-01}
+    {9.999992470090361e-01f, -1.227184322288852e-03f},
+    {9.999932230881285e-01f, -3.681545574399692e-03f},
+    {9.999811752826011e-01f, -6.135884649154475e-03f},
+    {9.999631036650289e-01f, -8.590186761797602e-03f},
+    {9.999390083442741e-01f, -1.104443712779613e-02f},
+    {9.999088894654848e-01f, -1.349862096292883e-02f},
+    {9.998727472100952e-01f, -1.595272348337527e-02f},
+    {9.998305817958234e-01f, -1.840672990580482e-02f},
+    {9.997823934766707e-01f, -2.086062544746576e-02f},
+    {9.997281825429201e-01f, -2.331439532627430e-02f},
+    {9.996679493211340e-01f, -2.576802476090363e-02f},
+    {9.996016941741530e-01f, -2.822149897087298e-02f},
+    {9.995294175010931e-01f, -3.067480317663663e-02f},
+    {9.994511197373437e-01f, -3.312792259967294e-02f},
+    {9.993668013545645e-01f, -3.558084246257342e-02f},
+    {9.992764628606833e-01f, -3.803354798913168e-02f},
+    {9.991801047998923e-01f, -4.048602440443251e-02f},
+    {9.990777277526454e-01f, -4.293825693494082e-02f},
+    {9.989693323356542e-01f, -4.539023080859068e-02f},
+    {9.988549192018848e-01f, -4.784193125487429e-02f},
+    {9.987344890405533e-01f, -5.029334350493095e-02f},
+    {9.986080425771219e-01f, -5.274445279163603e-02f},
+    {9.984755805732948e-01f, -5.519524434968993e-02f},
+    {9.983371038270131e-01f, -5.764570341570704e-02f},
+    {9.981926131724506e-01f, -6.009581522830464e-02f},
+    {9.980421094800079e-01f, -6.254556502819182e-02f},
+    {9.978855936563085e-01f, -6.499493805825848e-02f},
+    {9.977230666441916e-01f, -6.744391956366405e-02f},
+    {9.975545294227081e-01f, -6.989249479192657e-02f},
+    {9.973799830071135e-01f, -7.234064899301137e-02f},
+    {9.971994284488623e-01f, -7.478836741942015e-02f},
+    {9.970128668356021e-01f, -7.723563532627951e-02f},
+    {9.968202992911657e-01f, -7.968243797143013e-02f},
+    {9.966217269755658e-01f, -8.212876061551522e-02f},
+    {9.964171510849874e-01f, -8.457458852206962e-02f},
+    {9.962065728517802e-01f, -8.701990695760831e-02f},
+    {9.959899935444517e-01f, -8.946470119171543e-02f},
+    {9.957674144676598e-01f, -9.190895649713272e-02f},
+    {9.955388369622040e-01f, -9.435265814984850e-02f},
+    {9.953042624050182e-01f, -9.679579142918618e-02f},
+    {9.950636922091622e-01f, -9.923834161789306e-02f},
+    {9.948171278238128e-01f, -1.016802940022289e-01f},
+    {9.945645707342554e-01f, -1.041216338720546e-01f},
+    {9.943060224618753e-01f, -1.065623465209208e-01f},
+    {9.940414845641478e-01f, -1.090024172461564e-01f},
+    {9.937709586346295e-01f, -1.114418313489574e-01f},
+    {9.934944463029486e-01f, -1.138805741344751e-01f},
+    {9.932119492347945e-01f, -1.163186309119048e-01f},
+    {9.929234691319088e-01f, -1.187559869945741e-01f},
+    {9.926290077320739e-01f, -1.211926277000318e-01f},
+    {9.923285668091033e-01f, -1.236285383501360e-01f},
+    {9.920221481728309e-01f, -1.260637042711424e-01f},
+    {9.917097536690995e-01f, -1.284981107937932e-01f},
+    {9.913913851797506e-01f, -1.309317432534049e-01f},
+    {9.910670446226119e-01f, -1.333645869899571e-01f},
+    {9.907367339514870e-01f, -1.357966273481804e-01f},
+    {9.904004551561425e-01f, -1.382278496776452e-01f},
+    {9.900582102622971e-01f, -1.406582393328492e-01f},
+    {9.897100013316084e-01f, -1.430877816733065e-01f},
+    {9.893558304616609e-01f, -1.455164620636352e-01f},
+    {9.889956997859536e-01f, -1.479442658736455e-01f},
+    {9.886296114738869e-01f, -1.503711784784285e-01f},
+    {9.882575677307495e-01f, -1.527971852584434e-01f},
+    {9.878795707977051e-01f, -1.552222715996064e-01f},
+    {9.874956229517791e-01f, -1.576464228933781e-01f},
+    {9.871057265058446e-01f, -1.600696245368518e-01f},
+    {9.867098838086088e-01f, -1.624918619328416e-01f},
+    {9.863080972445987e-01f, -1.649131204899699e-01f},
+    {9.859003692341464e-01f, -1.673333856227558e-01f},
+    {9.854867022333751e-01f, -1.697526427517024e-01f},
+    {9.850670987341841e-01f, -1.721708773033852e-01f},
+    {9.846415612642334e-01f, -1.745880747105397e-01f},
+    {9.842100923869290e-01f, -1.770042204121487e-01f},
+    {9.837726947014075e-01f, -1.794192998535309e-01f},
+    {9.833293708425197e-01f, -1.818332984864276e-01f},
+    {9.828801234808157e-01f, -1.842462017690910e-01f},
+    {9.824249553225278e-01f, -1.866579951663718e-01f},
+    {9.819638691095552e-01f, -1.890686641498062e-01f},
+    {9.814968676194470e-01f, -1.914781941977041e-01f},
+    {9.810239536653852e-01f, -1.938865707952361e-01f},
+    {9.805451300961683e-01f, -1.962937794345212e-01f},
+    {9.800603997961936e-01f, -1.986998056147138e-01f},
+    {9.795697656854405e-01f, -2.011046348420919e-01f},
+    {9.790732307194523e-01f, -2.035082526301433e-01f},
+    {9.785707978893183e-01f, -2.059106444996538e-01f},
+    {9.780624702216568e-01f, -2.083117959787937e-01f},
+    {9.775482507785956e-01f, -2.107116926032057e-01f},
+    {9.770281426577544e-01f, -2.131103199160914e-01f},
+    {9.765021489922255e-01f, -2.155076634682986e-01f},
+    {9.759702729505557e-01f, -2.179037088184086e-01f},
+    {9.754325177367266e-01f, -2.202984415328229e-01f},
+    {9.748888865901355e-01f, -2.226918471858500e-01f},
+    {9.743393827855759e-01f, -2.250839113597928e-01f},
+    {9.737840096332177e-01f, -2.274746196450351e-01f},
+    {9.732227704785874e-01f, -2.298639576401283e-01f},
+    {9.726556687025479e-01f, -2.322519109518786e-01f},
+    {9.720827077212779e-01f, -2.346384651954331e-01f},
+    {9.715038909862518e-01f, -2.370236059943672e-01f},
+    {9.709192219842182e-01f, -2.394073189807704e-01f},
+    {9.703287042371799e-01f, -2.417895897953334e-01f},
+    {9.697323413023714e-01f, -2.441704040874346e-01f},
+    {9.691301367722388e-01f, -2.465497475152259e-01f},
+    {9.685220942744174e-01f, -2.489276057457201e-01f},
+    {9.679082174717095e-01f, -2.513039644548766e-01f},
+    {9.672885100620635e-01f, -2.536788093276874e-01f},
+    {9.666629757785506e-01f, -2.560521260582643e-01f},
+    {9.660316183893426e-01f, -2.584239003499241e-01f},
+    {9.653944416976894e-01f, -2.607941179152755e-01f},
+    {9.647514495418958e-01f, -2.631627644763044e-01f},
+    {9.641026457952987e-01f, -2.655298257644607e-01f},
+    {9.634480343662435e-01f, -2.678952875207434e-01f},
+    {9.627876191980606e-01f, -2.702591354957875e-01f},
+    {9.621214042690416e-01f, -2.726213554499490e-01f},
+    {9.614493935924158e-01f, -2.749819331533909e-01f},
+    {9.607715912163253e-01f, -2.773408543861692e-01f},
+    {9.600880012238011e-01f, -2.796981049383182e-01f},
+    {9.593986277327383e-01f, -2.820536706099365e-01f},
+    {9.587034748958716e-01f, -2.844075372112719e-01f},
+    {9.580025469007496e-01f, -2.867596905628075e-01f},
+    {9.572958479697103e-01f, -2.891101164953470e-01f},
+    {9.565833823598556e-01f, -2.914588008500998e-01f},
+    {9.558651543630251e-01f, -2.938057294787664e-01f},
+    {9.551411683057708e-01f, -2.961508882436238e-01f},
+    {9.544114285493304e-01f, -2.984942630176104e-01f},
+    {9.536759394896021e-01f, -3.008358396844112e-01f},
+    {9.529347055571170e-01f, -3.031756041385431e-01f},
+    {9.521877312170133e-01f, -3.055135422854393e-01f},
+    {9.514350209690083e-01f, -3.078496400415349e-01f},
+    {9.506765793473728e-01f, -3.101838833343510e-01f},
+    {9.499124109209025e-01f, -3.125162581025802e-01f},
+    {9.491425202928909e-01f, -3.148467502961706e-01f},
+    {9.483669121011018e-01f, -3.171753458764112e-01f},
+    {9.475855910177411e-01f, -3.195020308160157e-01f},
+    {9.467985617494289e-01f, -3.218267910992075e-01f},
+    {9.460058290371707e-01f, -3.241496127218040e-01f},
+    {9.452073976563291e-01f, -3.264704816913009e-01f},
+    {9.444032724165956e-01f, -3.287893840269567e-01f},
+    {9.435934581619604e-01f, -3.311063057598764e-01f},
+    {9.427779597706842e-01f, -3.334212329330963e-01f},
+    {9.419567821552687e-01f, -3.357341516016679e-01f},
+    {9.411299302624264e-01f, -3.380450478327413e-01f},
+    {9.402974090730516e-01f, -3.403539077056500e-01f},
+    {9.394592236021899e-01f, -3.426607173119944e-01f},
+    {9.386153788990080e-01f, -3.449654627557252e-01f},
+    {9.377658800467635e-01f, -3.472681301532278e-01f},
+    {9.369107321627741e-01f, -3.495687056334055e-01f},
+    {9.360499403983871e-01f, -3.518671753377630e-01f},
+    {9.351835099389476e-01f, -3.541635254204903e-01f},
+    {9.343114460037683e-01f, -3.564577420485457e-01f},
+    {9.334337538460973e-01f, -3.587498114017393e-01f},
+    {9.325504387530866e-01f, -3.610397196728160e-01f},
+    {9.316615060457607e-01f, -3.633274530675394e-01f},
+    {9.307669610789837e-01f, -3.656129978047739e-01f},
+    {9.298668092414279e-01f, -3.678963401165684e-01f},
+    {9.289610559555410e-01f, -3.701774662482391e-01f},
+    {9.280497066775131e-01f, -3.724563624584523e-01f},
+    {9.271327668972442e-01f, -3.747330150193071e-01f},
+    {9.262102421383114e-01f, -3.770074102164183e-01f},
+    {9.252821379579349e-01f, -3.792795343489985e-01f},
+    {9.243484599469451e-01f, -3.815493737299417e-01f},
+    {9.234092137297489e-01f, -3.838169146859046e-01f},
+    {9.224644049642953e-01f, -3.860821435573893e-01f},
+    {9.215140393420420e-01f, -3.883450466988262e-01f},
+    {9.205581225879205e-01f, -3.906056104786556e-01f},
+    {9.195966604603021e-01f, -3.928638212794095e-01f},
+    {9.186296587509630e-01f, -3.951196654977946e-01f},
+    {9.176571232850496e-01f, -3.973731295447735e-01f},
+    {9.166790599210427e-01f, -3.996241998456468e-01f},
+    {9.156954745507232e-01f, -4.018728628401348e-01f},
+    {9.147063730991362e-01f, -4.041191049824593e-01f},
+    {9.137117615245548e-01f, -4.063629127414251e-01f},
+    {9.127116458184452e-01f, -4.086042726005015e-01f},
+    {9.117060320054299e-01f, -4.108431710579039e-01f},
+    {9.106949261432513e-01f, -4.130795946266749e-01f},
+    {9.096783343227359e-01f, -4.153135298347656e-01f},
+    {9.086562626677570e-01f, -4.175449632251170e-01f},
+    {9.076287173351980e-01f, -4.197738813557405e-01f},
+    {9.065957045149153e-01f, -4.220002707997997e-01f},
+    {9.055572304297014e-01f, -4.242241181456904e-01f},
+    {9.045133013352465e-01f, -4.264454099971220e-01f},
+    {9.034639235201017e-01f, -4.286641329731982e-01f},
+    {9.024091033056408e-01f, -4.308802737084970e-01f},
+    {9.013488470460220e-01f, -4.330938188531520e-01f},
+    {9.002831611281501e-01f, -4.353047550729321e-01f},
+    {8.992120519716374e-01f, -4.375130690493225e-01f},
+    {8.981355260287659e-01f, -4.397187474796043e-01f},
+    {8.970535897844474e-01f, -4.419217770769352e-01f},
+    {8.959662497561852e-01f, -4.441221445704292e-01f},
+    {8.948735124940346e-01f, -4.463198367052365e-01f},
+    {8.937753845805634e-01f, -4.485148402426236e-01f},
+    {8.926718726308122e-01f, -4.507071419600526e-01f},
+    {8.915629832922548e-01f, -4.528967286512617e-01f},
+    {8.904487232447579e-01f, -4.550835871263438e-01f},
+    {8.893290992005409e-01f, -4.572677042118265e-01f},
+    {8.882041179041357e-01f, -4.594490667507513e-01f},
+    {8.870737861323454e-01f, -4.616276616027529e-01f},
+    {8.859381106942048e-01f, -4.638034756441384e-01f},
+    {8.847970984309378e-01f, -4.659764957679662e-01f},
+    {8.836507562159172e-01f, -4.681467088841250e-01f},
+    {8.824990909546231e-01f, -4.703141019194129e-01f},
+    {8.813421095846011e-01f, -4.724786618176158e-01f},
+    {8.801798190754208e-01f, -4.746403755395864e-01f},
+    {8.790122264286335e-01f, -4.767992300633221e-01f},
+    {8.778393386777302e-01f, -4.789552123840445e-01f},
+    {8.766611628880995e-01f, -4.811083095142767e-01f},
+    {8.754777061569843e-01f, -4.832585084839222e-01f},
+    {8.742889756134398e-01f, -4.854057963403425e-01f},
+    {8.730949784182901e-01f, -4.875501601484360e-01f},
+    {8.718957217640854e-01f, -4.896915869907146e-01f},
+    {8.706912128750582e-01f, -4.918300639673830e-01f},
+    {8.694814590070804e-01f, -4.939655781964152e-01f},
+    {8.682664674476190e-01f, -4.960981168136327e-01f},
+    {8.670462455156926e-01f, -4.982276669727819e-01f},
+    {8.658208005618273e-01f, -5.003542158456112e-01f},
+    {8.645901399680118e-01f, -5.024777506219491e-01f},
+    {8.633542711476541e-01f, -5.045982585097801e-01f},
+    {8.621132015455357e-01f, -5.067157267353229e-01f},
+    {8.608669386377673e-01f, -5.088301425431070e-01f},
+    {8.596154899317437e-01f, -5.109414931960489e-01f},
+    {8.583588629660989e-01f, -5.130497659755299e-01f},
+    {8.570970653106597e-01f, -5.151549481814718e-01f},
+    {8.558301045664012e-01f, -5.172570271324139e-01f},
+    {8.545579883654005e-01f, -5.193559901655896e-01f},
+    {8.532807243707908e-01f, -5.214518246370019e-01f},
+    {8.519983202767152e-01f, -5.235445179215000e-01f},
+    {8.507107838082801e-01f, -5.256340574128560e-01f},
+    {8.494181227215095e-01f, -5.277204305238395e-01f},
+    {8.481203448032972e-01f, -5.298036246862946e-01f},
+    {8.468174578713608e-01f, -5.318836273512150e-01f},
+    {8.455094697741939e-01f, -5.339604259888194e-01f},
+    {8.441963883910193e-01f, -5.360340080886280e-01f},
+    {8.428782216317413e-01f, -5.381043611595366e-01f},
+    {8.415549774368984e-01f, -5.401714727298929e-01f},
+    {8.402266637776148e-01f, -5.422353303475707e-01f},
+    {8.388932886555529e-01f, -5.442959215800456e-01f},
+    {8.375548601028652e-01f, -5.463532340144698e-01f},
+    {8.362113861821453e-01f, -5.484072552577465e-01f},
+    {8.348628749863800e-01f, -5.504579729366048e-01f},
+    {8.335093346389004e-01f, -5.525053746976744e-01f},
+    {8.321507732933324e-01f, -5.545494482075597e-01f},
+    {8.307871991335484e-01f, -5.565901811529141e-01f},
+    {8.294186203736174e-01f, -5.586275612405148e-01f},
+    {8.280450452577558e-01f, -5.606615761973360e-01f},
+    {8.266664820602777e-01f, -5.626922137706231e-01f},
+    {8.252829390855451e-01f, -5.647194617279668e-01f},
+    {8.238944246679176e-01f, -5.667433078573766e-01f},
+    {8.225009471717026e-01f, -5.687637399673542e-01f},
+    {8.211025149911046e-01f, -5.707807458869673e-01f},
+    {8.196991365501750e-01f, -5.727943134659226e-01f},
+    {8.182908203027607e-01f, -5.748044305746390e-01f},
+    {8.168775747324537e-01f, -5.768110851043212e-01f},
+    {8.154594083525400e-01f, -5.788142649670318e-01f},
+    {8.140363297059484e-01f, -5.808139580957645e-01f},
+    {8.126083473651983e-01f, -5.828101524445172e-01f},
+    {8.111754699323488e-01f, -5.848028359883638e-01f},
+    {8.097377060389469e-01f, -5.867919967235272e-01f},
+    {8.082950643459751e-01f, -5.887776226674516e-01f},
+    {8.068475535437993e-01f, -5.907597018588742e-01f},
+    {8.053951823521167e-01f, -5.927382223578977e-01f},
+    {8.039379595199031e-01f, -5.947131722460625e-01f},
+    {8.024758938253601e-01f, -5.966845396264172e-01f},
+    {8.010089940758625e-01f, -5.986523126235920e-01f},
+    {7.995372691079050e-01f, -6.006164793838690e-01f},
+    {7.980607277870492e-01f, -6.025770280752539e-01f},
+    {7.965793790078698e-01f, -6.045339468875478e-01f},
+    {7.950932316939014e-01f, -6.064872240324176e-01f},
+    {7.936022947975847e-01f, -6.084368477434675e-01f},
+    {7.921065773002124e-01f, -6.103828062763095e-01f},
+    {7.906060882118751e-01f, -6.123250879086344e-01f},
+    {7.891008365714072e-01f, -6.142636809402826e-01f},
+    {7.875908314463325e-01f, -6.161985736933142e-01f},
+    {7.860760819328091e-01f, -6.181297545120795e-01f},
+    {7.845565971555752e-01f, -6.200572117632891e-01f},
+    {7.830323862678940e-01f, -6.219809338360844e-01f},
+    {7.815034584514979e-01f, -6.239009091421072e-01f},
+    {7.799698229165344e-01f, -6.258171261155689e-01f},
+    {7.784314889015095e-01f, -6.277295732133219e-01f},
+    {7.768884656732324e-01f, -6.296382389149270e-01f},
+    {7.753407625267603e-01f, -6.315431117227246e-01f},
+    {7.737883887853415e-01f, -6.334441801619028e-01f},
+    {7.722313538003597e-01f, -6.353414327805670e-01f},
+    {7.706696669512773e-01f, -6.372348581498091e-01f},
+    {7.691033376455797e-01f, -6.391244448637757e-01f},
+    {7.675323753187178e-01f, -6.410101815397373e-01f},
+    {7.659567894340514e-01f, -6.428920568181569e-01f},
+    {7.643765894827926e-01f, -6.447700593627579e-01f},
+    {7.627917849839481e-01f, -6.466441778605931e-01f},
+    {7.612023854842618e-01f, -6.485144010221124e-01f},
+    {7.596084005581580e-01f, -6.503807175812309e-01f},
+    {7.580098398076831e-01f, -6.522431162953969e-01f},
+    {7.564067128624476e-01f, -6.541015859456593e-01f},
+    {7.547990293795690e-01f, -6.559561153367355e-01f},
+    {7.531867990436125e-01f, -6.578066932970786e-01f},
+    {7.515700315665336e-01f, -6.596533086789452e-01f},
+    {7.499487366876190e-01f, -6.614959503584616e-01f},
+    {7.483229241734281e-01f, -6.633346072356920e-01f},
+    {7.466926038177344e-01f, -6.651692682347043e-01f},
+    {7.450577854414661e-01f, -6.669999223036375e-01f},
+    {7.434184788926470e-01f, -6.688265584147679e-01f},
+    {7.417746940463380e-01f, -6.706491655645758e-01f},
+    {7.401264408045760e-01f, -6.724677327738116e-01f},
+    {7.384737290963160e-01f, -6.742822490875620e-01f},
+    {7.368165688773699e-01f, -6.760927035753159e-01f},
+    {7.351549701303474e-01f, -6.778990853310308e-01f},
+    {7.334889428645953e-01f, -6.797013834731973e-01f},
+    {7.318184971161379e-01f, -6.814995871449060e-01f},
+    {7.301436429476156e-01f, -6.832936855139119e-01f},
+    {7.284643904482252e-01f, -6.850836677727004e-01f},
+    {7.267807497336585e-01f, -6.868695231385515e-01f},
+    {7.250927309460417e-01f, -6.886512408536060e-01f},
+    {7.234003442538740e-01f, -6.904288101849290e-01f},
+    {7.217035998519666e-01f, -6.922022204245754e-01f},
+    {7.200025079613817e-01f, -6.939714608896540e-01f},
+    {7.182970788293696e-01f, -6.957365209223924e-01f},
+    {7.165873227293083e-01f, -6.974973898902004e-01f},
+    {7.148732499606411e-01f, -6.992540571857347e-01f},
+    {7.131548708488146e-01f, -7.010065122269625e-01f},
+    {7.114321957452164e-01f, -7.027547444572253e-01f},
+    {7.097052350271130e-01f, -7.044987433453024e-01f},
+    {7.079739990975870e-01f, -7.062384983854745e-01f}
 };
 
 static const cos_msin_t cos_msin_640[640] =
 {
-    {9.999998117522413e-01, -6.135922766517967e-04},
-    {9.999983057705969e-01, -1.840775905896510e-03},
-    {9.999952938095762e-01, -3.067956762965976e-03},
-    {9.999907758737150e-01, -4.295132999748002e-03},
-    {9.999847519698173e-01, -5.522302768137352e-03},
-    {9.999772221069551e-01, -6.749464220038533e-03},
-    {9.999681862964679e-01, -7.976615507368575e-03},
-    {9.999576445519639e-01, -9.203754782059819e-03},
-    {9.999455968893185e-01, -1.043088019606269e-02},
-    {9.999320433266753e-01, -1.165798990134850e-02},
-    {9.999169838844458e-01, -1.288508204991220e-02},
-    {9.999004185853092e-01, -1.411215479377519e-02},
-    {9.998823474542126e-01, -1.533920628498810e-02},
-    {9.998627705183706e-01, -1.656623467563356e-02},
-    {9.998416878072659e-01, -1.779323811782898e-02},
-    {9.998190993526487e-01, -1.902021476372936e-02},
-    {9.997950051885367e-01, -2.024716276553004e-02},
-    {9.997694053512153e-01, -2.147408027546951e-02},
-    {9.997422998792375e-01, -2.270096544583216e-02},
-    {9.997136888134235e-01, -2.392781642895110e-02},
-    {9.996835721968610e-01, -2.515463137721094e-02},
-    {9.996519500749053e-01, -2.638140844305051e-02},
-    {9.996188224951786e-01, -2.760814577896574e-02},
-    {9.995841895075704e-01, -2.883484153751236e-02},
-    {9.995480511642375e-01, -3.006149387130874e-02},
-    {9.995104075196035e-01, -3.128810093303862e-02},
-    {9.994712586303591e-01, -3.251466087545394e-02},
-    {9.994306045554617e-01, -3.374117185137758e-02},
-    {9.993884453561358e-01, -3.496763201370620e-02},
-    {9.993447810958722e-01, -3.619403951541294e-02},
-    {9.992996118404286e-01, -3.742039250955028e-02},
-    {9.992529376578290e-01, -3.864668914925275e-02},
-    {9.992047586183639e-01, -3.987292758773981e-02},
-    {9.991550747945901e-01, -4.109910597831850e-02},
-    {9.991038862613305e-01, -4.232522247438635e-02},
-    {9.990511930956741e-01, -4.355127522943403e-02},
-    {9.989969953769761e-01, -4.477726239704831e-02},
-    {9.989412931868569e-01, -4.600318213091462e-02},
-    {9.988840866092031e-01, -4.722903258482004e-02},
-    {9.988253757301669e-01, -4.845481191265589e-02},
-    {9.987651606381658e-01, -4.968051826842070e-02},
-    {9.987034414238826e-01, -5.090614980622282e-02},
-    {9.986402181802653e-01, -5.213170468028332e-02},
-    {9.985754910025268e-01, -5.335718104493870e-02},
-    {9.985092599881454e-01, -5.458257705464371e-02},
-    {9.984415252368637e-01, -5.580789086397409e-02},
-    {9.983722868506889e-01, -5.703312062762941e-02},
-    {9.983015449338929e-01, -5.825826450043575e-02},
-    {9.982292995930115e-01, -5.948332063734863e-02},
-    {9.981555509368452e-01, -6.070828719345561e-02},
-    {9.980802990764579e-01, -6.193316232397920e-02},
-    {9.980035441251777e-01, -6.315794418427960e-02},
-    {9.979252861985960e-01, -6.438263092985747e-02},
-    {9.978455254145679e-01, -6.560722071635666e-02},
-    {9.977642618932119e-01, -6.683171169956714e-02},
-    {9.976814957569091e-01, -6.805610203542757e-02},
-    {9.975972271303040e-01, -6.928038988002828e-02},
-    {9.975114561403035e-01, -7.050457338961386e-02},
-    {9.974241829160772e-01, -7.172865072058610e-02},
-    {9.973354075890570e-01, -7.295262002950662e-02},
-    {9.972451302929369e-01, -7.417647947309980e-02},
-    {9.971533511636731e-01, -7.540022720825540e-02},
-    {9.970600703394830e-01, -7.662386139203149e-02},
-    {9.969652879608459e-01, -7.784738018165707e-02},
-    {9.968690041705026e-01, -7.907078173453497e-02},
-    {9.967712191134545e-01, -8.029406420824454e-02},
-    {9.966719329369642e-01, -8.151722576054453e-02},
-    {9.965711457905548e-01, -8.274026454937569e-02},
-    {9.964688578260101e-01, -8.396317873286374e-02},
-    {9.963650691973739e-01, -8.518596646932200e-02},
-    {9.962597800609497e-01, -8.640862591725426e-02},
-    {9.961529905753015e-01, -8.763115523535747e-02},
-    {9.960447009012520e-01, -8.885355258252460e-02},
-    {9.959349112018836e-01, -9.007581611784729e-02},
-    {9.958236216425376e-01, -9.129794400061877e-02},
-    {9.957108323908140e-01, -9.251993439033654e-02},
-    {9.955965436165716e-01, -9.374178544670515e-02},
-    {9.954807554919269e-01, -9.496349532963899e-02},
-    {9.953634681912550e-01, -9.618506219926506e-02},
-    {9.952446818911883e-01, -9.740648421592572e-02},
-    {9.951243967706169e-01, -9.862775954018151e-02},
-    {9.950026130106879e-01, -9.984888633281383e-02},
-    {9.948793307948056e-01, -1.010698627548278e-01},
-    {9.947545503086307e-01, -1.022906869674551e-01},
-    {9.946282717400804e-01, -1.035113571321563e-01},
-    {9.945004952793278e-01, -1.047318714106244e-01},
-    {9.943712211188022e-01, -1.059522279647869e-01},
-    {9.942404494531879e-01, -1.071724249568088e-01},
-    {9.941081804794248e-01, -1.083924605490956e-01},
-    {9.939744143967076e-01, -1.096123329042957e-01},
-    {9.938391514064855e-01, -1.108320401853034e-01},
-    {9.937023917124622e-01, -1.120515805552615e-01},
-    {9.935641355205953e-01, -1.132709521775643e-01},
-    {9.934243830390962e-01, -1.144901532158602e-01},
-    {9.932831344784294e-01, -1.157091818340545e-01},
-    {9.931403900513129e-01, -1.169280361963119e-01},
-    {9.929961499727171e-01, -1.181467144670601e-01},
-    {9.928504144598651e-01, -1.193652148109914e-01},
-    {9.927031837322318e-01, -1.205835353930663e-01},
-    {9.925544580115441e-01, -1.218016743785162e-01},
-    {9.924042375217801e-01, -1.230196299328457e-01},
-    {9.922525224891693e-01, -1.242374002218357e-01},
-    {9.920993131421918e-01, -1.254549834115462e-01},
-    {9.919446097115779e-01, -1.266723776683190e-01},
-    {9.917884124303086e-01, -1.278895811587802e-01},
-    {9.916307215336136e-01, -1.291065920498434e-01},
-    {9.914715372589731e-01, -1.303234085087122e-01},
-    {9.913108598461154e-01, -1.315400287028831e-01},
-    {9.911486895370180e-01, -1.327564508001479e-01},
-    {9.909850265759061e-01, -1.339726729685971e-01},
-    {9.908198712092535e-01, -1.351886933766218e-01},
-    {9.906532236857811e-01, -1.364045101929175e-01},
-    {9.904850842564571e-01, -1.376201215864860e-01},
-    {9.903154531744962e-01, -1.388355257266385e-01},
-    {9.901443306953601e-01, -1.400507207829983e-01},
-    {9.899717170767560e-01, -1.412657049255036e-01},
-    {9.897976125786367e-01, -1.424804763244102e-01},
-    {9.896220174632009e-01, -1.436950331502945e-01},
-    {9.894449319948911e-01, -1.449093735740556e-01},
-    {9.892663564403953e-01, -1.461234957669190e-01},
-    {9.890862910686448e-01, -1.473373979004386e-01},
-    {9.889047361508148e-01, -1.485510781464996e-01},
-    {9.887216919603238e-01, -1.497645346773215e-01},
-    {9.885371587728330e-01, -1.509777656654608e-01},
-    {9.883511368662461e-01, -1.521907692838135e-01},
-    {9.881636265207087e-01, -1.534035437056180e-01},
-    {9.879746280186079e-01, -1.546160871044581e-01},
-    {9.877841416445722e-01, -1.558283976542652e-01},
-    {9.875921676854704e-01, -1.570404735293217e-01},
-    {9.873987064304122e-01, -1.582523129042630e-01},
-    {9.872037581707463e-01, -1.594639139540810e-01},
-    {9.870073232000616e-01, -1.606752748541265e-01},
-    {9.868094018141855e-01, -1.618863937801118e-01},
-    {9.866099943111839e-01, -1.630972689081137e-01},
-    {9.864091009913611e-01, -1.643078984145762e-01},
-    {9.862067221572588e-01, -1.655182804763130e-01},
-    {9.860028581136556e-01, -1.667284132705107e-01},
-    {9.857975091675675e-01, -1.679382949747312e-01},
-    {9.855906756282459e-01, -1.691479237669144e-01},
-    {9.853823578071785e-01, -1.703572978253813e-01},
-    {9.851725560180883e-01, -1.715664153288364e-01},
-    {9.849612705769328e-01, -1.727752744563706e-01},
-    {9.847485018019042e-01, -1.739838733874638e-01},
-    {9.845342500134284e-01, -1.751922103019880e-01},
-    {9.843185155341647e-01, -1.764002833802096e-01},
-    {9.841012986890054e-01, -1.776080908027924e-01},
-    {9.838825998050751e-01, -1.788156307508001e-01},
-    {9.836624192117303e-01, -1.800229014056995e-01},
-    {9.834407572405590e-01, -1.812299009493628e-01},
-    {9.832176142253802e-01, -1.824366275640705e-01},
-    {9.829929905022433e-01, -1.836430794325141e-01},
-    {9.827668864094273e-01, -1.848492547377989e-01},
-    {9.825393022874412e-01, -1.860551516634466e-01},
-    {9.823102384790224e-01, -1.872607683933984e-01},
-    {9.820796953291370e-01, -1.884661031120172e-01},
-    {9.818476731849786e-01, -1.896711540040907e-01},
-    {9.816141723959685e-01, -1.908759192548340e-01},
-    {9.813791933137546e-01, -1.920803970498924e-01},
-    {9.811427362922112e-01, -1.932845855753442e-01},
-    {9.809048016874382e-01, -1.944884830177032e-01},
-    {9.806653898577611e-01, -1.956920875639216e-01},
-    {9.804245011637294e-01, -1.968953974013927e-01},
-    {9.801821359681174e-01, -1.980984107179536e-01},
-    {9.799382946359226e-01, -1.993011257018880e-01},
-    {9.796929775343657e-01, -2.005035405419289e-01},
-    {9.794461850328897e-01, -2.017056534272613e-01},
-    {9.791979175031598e-01, -2.029074625475249e-01},
-    {9.789481753190622e-01, -2.041089660928169e-01},
-    {9.786969588567044e-01, -2.053101622536946e-01},
-    {9.784442684944136e-01, -2.065110492211783e-01},
-    {9.781901046127370e-01, -2.077116251867540e-01},
-    {9.779344675944409e-01, -2.089118883423760e-01},
-    {9.776773578245099e-01, -2.101118368804696e-01},
-    {9.774187756901469e-01, -2.113114689939341e-01},
-    {9.771587215807717e-01, -2.125107828761450e-01},
-    {9.768971958880210e-01, -2.137097767209575e-01},
-    {9.766341990057480e-01, -2.149084487227085e-01},
-    {9.763697313300211e-01, -2.161067970762195e-01},
-    {9.761037932591240e-01, -2.173048199767996e-01},
-    {9.758363851935545e-01, -2.185025156202481e-01},
-    {9.755675075360243e-01, -2.196998822028567e-01},
-    {9.752971606914583e-01, -2.208969179214133e-01},
-    {9.750253450669941e-01, -2.220936209732035e-01},
-    {9.747520610719810e-01, -2.232899895560143e-01},
-    {9.744773091179798e-01, -2.244860218681361e-01},
-    {9.742010896187618e-01, -2.256817161083659e-01},
-    {9.739234029903089e-01, -2.268770704760098e-01},
-    {9.736442496508120e-01, -2.280720831708857e-01},
-    {9.733636300206708e-01, -2.292667523933261e-01},
-    {9.730815445224936e-01, -2.304610763441808e-01},
-    {9.727979935810960e-01, -2.316550532248194e-01},
-    {9.725129776235006e-01, -2.328486812371343e-01},
-    {9.722264970789363e-01, -2.340419585835434e-01},
-    {9.719385523788376e-01, -2.352348834669925e-01},
-    {9.716491439568440e-01, -2.364274540909583e-01},
-    {9.713582722487994e-01, -2.376196686594509e-01},
-    {9.710659376927513e-01, -2.388115253770169e-01},
-    {9.707721407289504e-01, -2.400030224487415e-01},
-    {9.704768817998493e-01, -2.411941580802516e-01},
-    {9.701801613501028e-01, -2.423849304777186e-01},
-    {9.698819798265667e-01, -2.435753378478606e-01},
-    {9.695823376782966e-01, -2.447653783979458e-01},
-    {9.692812353565485e-01, -2.459550503357946e-01},
-    {9.689786733147769e-01, -2.471443518697825e-01},
-    {9.686746520086348e-01, -2.483332812088429e-01},
-    {9.683691718959728e-01, -2.495218365624697e-01},
-    {9.680622334368384e-01, -2.507100161407201e-01},
-    {9.677538370934755e-01, -2.518978181542170e-01},
-    {9.674439833303232e-01, -2.530852408141520e-01},
-    {9.671326726140158e-01, -2.542722823322882e-01},
-    {9.668199054133816e-01, -2.554589409209625e-01},
-    {9.665056821994423e-01, -2.566452147930884e-01},
-    {9.661900034454125e-01, -2.578311021621590e-01},
-    {9.658728696266987e-01, -2.590166012422493e-01},
-    {9.655542812208985e-01, -2.602017102480191e-01},
-    {9.652342387078005e-01, -2.613864273947156e-01},
-    {9.649127425693828e-01, -2.625707508981763e-01},
-    {9.645897932898128e-01, -2.637546789748313e-01},
-    {9.642653913554462e-01, -2.649382098417065e-01},
-    {9.639395372548267e-01, -2.661213417164257e-01},
-    {9.636122314786845e-01, -2.673040728172135e-01},
-    {9.632834745199362e-01, -2.684864013628985e-01},
-    {9.629532668736839e-01, -2.696683255729151e-01},
-    {9.626216090372143e-01, -2.708498436673069e-01},
-    {9.622885015099981e-01, -2.720309538667289e-01},
-    {9.619539447936892e-01, -2.732116543924507e-01},
-    {9.616179393921240e-01, -2.743919434663584e-01},
-    {9.612804858113206e-01, -2.755718193109581e-01},
-    {9.609415845594780e-01, -2.767512801493782e-01},
-    {9.606012361469752e-01, -2.779303242053718e-01},
-    {9.602594410863711e-01, -2.791089497033199e-01},
-    {9.599161998924024e-01, -2.802871548682339e-01},
-    {9.595715130819845e-01, -2.814649379257579e-01},
-    {9.592253811742094e-01, -2.826422971021723e-01},
-    {9.588778046903456e-01, -2.838192306243950e-01},
-    {9.585287841538368e-01, -2.849957367199857e-01},
-    {9.581783200903017e-01, -2.861718136171474e-01},
-    {9.578264130275329e-01, -2.873474595447295e-01},
-    {9.574730634954960e-01, -2.885226727322305e-01},
-    {9.571182720263292e-01, -2.896974514098006e-01},
-    {9.567620391543418e-01, -2.908717938082443e-01},
-    {9.564043654160141e-01, -2.920456981590233e-01},
-    {9.560452513499964e-01, -2.932191626942586e-01},
-    {9.556846974971080e-01, -2.943921856467341e-01},
-    {9.553227044003364e-01, -2.955647652498983e-01},
-    {9.549592726048367e-01, -2.967368997378675e-01},
-    {9.545944026579306e-01, -2.979085873454284e-01},
-    {9.542280951091057e-01, -2.990798263080405e-01},
-    {9.538603505100144e-01, -3.002506148618392e-01},
-    {9.534911694144735e-01, -3.014209512436381e-01},
-    {9.531205523784633e-01, -3.025908336909318e-01},
-    {9.527484999601259e-01, -3.037602604418984e-01},
-    {9.523750127197659e-01, -3.049292297354024e-01},
-    {9.520000912198481e-01, -3.060977398109971e-01},
-    {9.516237360249976e-01, -3.072657889089275e-01},
-    {9.512459477019986e-01, -3.084333752701328e-01},
-    {9.508667268197933e-01, -3.096004971362489e-01},
-    {9.504860739494817e-01, -3.107671527496115e-01},
-    {9.501039896643201e-01, -3.119333403532583e-01},
-    {9.497204745397203e-01, -3.130990581909318e-01},
-    {9.493355291532494e-01, -3.142643045070820e-01},
-    {9.489491540846281e-01, -3.154290775468691e-01},
-    {9.485613499157303e-01, -3.165933755561658e-01},
-    {9.481721172305820e-01, -3.177571967815606e-01},
-    {9.477814566153607e-01, -3.189205394703594e-01},
-    {9.473893686583942e-01, -3.200834018705895e-01},
-    {9.469958539501598e-01, -3.212457822310009e-01},
-    {9.466009130832835e-01, -3.224076788010699e-01},
-    {9.462045466525394e-01, -3.235690898310011e-01},
-    {9.458067552548478e-01, -3.247300135717307e-01},
-    {9.454075394892756e-01, -3.258904482749284e-01},
-    {9.450068999570345e-01, -3.270503921930005e-01},
-    {9.446048372614803e-01, -3.282098435790925e-01},
-    {9.442013520081122e-01, -3.293688006870915e-01},
-    {9.437964448045717e-01, -3.305272617716291e-01},
-    {9.433901162606417e-01, -3.316852250880838e-01},
-    {9.429823669882458e-01, -3.328426888925837e-01},
-    {9.425731976014469e-01, -3.339996514420094e-01},
-    {9.421626087164466e-01, -3.351561109939961e-01},
-    {9.417506009515846e-01, -3.363120658069366e-01},
-    {9.413371749273369e-01, -3.374675141399838e-01},
-    {9.409223312663159e-01, -3.386224542530535e-01},
-    {9.405060705932683e-01, -3.397768844068269e-01},
-    {9.400883935350755e-01, -3.409308028627527e-01},
-    {9.396693007207513e-01, -3.420842078830508e-01},
-    {9.392487927814420e-01, -3.432370977307140e-01},
-    {9.388268703504251e-01, -3.443894706695110e-01},
-    {9.384035340631081e-01, -3.455413249639891e-01},
-    {9.379787845570278e-01, -3.466926588794764e-01},
-    {9.375526224718491e-01, -3.478434706820849e-01},
-    {9.371250484493645e-01, -3.489937586387129e-01},
-    {9.366960631334929e-01, -3.501435210170474e-01},
-    {9.362656671702783e-01, -3.512927560855671e-01},
-    {9.358338612078891e-01, -3.524414621135448e-01},
-    {9.354006458966176e-01, -3.535896373710499e-01},
-    {9.349660218888781e-01, -3.547372801289512e-01},
-    {9.345299898392064e-01, -3.558843886589194e-01},
-    {9.340925504042590e-01, -3.570309612334300e-01},
-    {9.336537042428116e-01, -3.581769961257653e-01},
-    {9.332134520157588e-01, -3.593224916100174e-01},
-    {9.327717943861125e-01, -3.604674459610909e-01},
-    {9.323287320190009e-01, -3.616118574547051e-01},
-    {9.318842655816681e-01, -3.627557243673972e-01},
-    {9.314383957434725e-01, -3.638990449765241e-01},
-    {9.309911231758859e-01, -3.650418175602657e-01},
-    {9.305424485524929e-01, -3.661840403976272e-01},
-    {9.300923725489892e-01, -3.673257117684415e-01},
-    {9.296408958431813e-01, -3.684668299533723e-01},
-    {9.291880191149847e-01, -3.696073932339162e-01},
-    {9.287337430464239e-01, -3.707473998924054e-01},
-    {9.282780683216301e-01, -3.718868482120106e-01},
-    {9.278209956268415e-01, -3.730257364767432e-01},
-    {9.273625256504011e-01, -3.741640629714579e-01},
-    {9.269026590827565e-01, -3.753018259818559e-01},
-    {9.264413966164585e-01, -3.764390237944864e-01},
-    {9.259787389461599e-01, -3.775756546967501e-01},
-    {9.255146867686148e-01, -3.787117169769015e-01},
-    {9.250492407826776e-01, -3.798472089240512e-01},
-    {9.245824016893013e-01, -3.809821288281689e-01},
-    {9.241141701915373e-01, -3.821164749800858e-01},
-    {9.236445469945337e-01, -3.832502456714969e-01},
-    {9.231735328055345e-01, -3.843834391949643e-01},
-    {9.227011283338786e-01, -3.855160538439188e-01},
-    {9.222273342909986e-01, -3.866480879126634e-01},
-    {9.217521513904198e-01, -3.877795396963752e-01},
-    {9.212755803477590e-01, -3.889104074911081e-01},
-    {9.207976218807237e-01, -3.900406895937958e-01},
-    {9.203182767091106e-01, -3.911703843022539e-01},
-    {9.198375455548048e-01, -3.922994899151824e-01},
-    {9.193554291417789e-01, -3.934280047321689e-01},
-    {9.188719281960914e-01, -3.945559270536903e-01},
-    {9.183870434458861e-01, -3.956832551811160e-01},
-    {9.179007756213905e-01, -3.968099874167103e-01},
-    {9.174131254549152e-01, -3.979361220636348e-01},
-    {9.169240936808526e-01, -3.990616574259509e-01},
-    {9.164336810356757e-01, -4.001865918086229e-01},
-    {9.159418882579371e-01, -4.013109235175197e-01},
-    {9.154487160882678e-01, -4.024346508594184e-01},
-    {9.149541652693762e-01, -4.035577721420057e-01},
-    {9.144582365460469e-01, -4.046802856738814e-01},
-    {9.139609306651395e-01, -4.058021897645602e-01},
-    {9.134622483755878e-01, -4.069234827244749e-01},
-    {9.129621904283982e-01, -4.080441628649787e-01},
-    {9.124607575766490e-01, -4.091642284983474e-01},
-    {9.119579505754890e-01, -4.102836779377824e-01},
-    {9.114537701821365e-01, -4.114025094974132e-01},
-    {9.109482171558779e-01, -4.125207214922996e-01},
-    {9.104412922580672e-01, -4.136383122384345e-01},
-    {9.099329962521239e-01, -4.147552800527466e-01},
-    {9.094233299035327e-01, -4.158716232531024e-01},
-    {9.089122939798419e-01, -4.169873401583093e-01},
-    {9.083998892506623e-01, -4.181024290881177e-01},
-    {9.078861164876663e-01, -4.192168883632239e-01},
-    {9.073709764645862e-01, -4.203307163052724e-01},
-    {9.068544699572136e-01, -4.214439112368585e-01},
-    {9.063365977433983e-01, -4.225564714815306e-01},
-    {9.058173606030460e-01, -4.236683953637931e-01},
-    {9.052967593181188e-01, -4.247796812091088e-01},
-    {9.047747946726327e-01, -4.258903273439013e-01},
-    {9.042514674526569e-01, -4.270003320955576e-01},
-    {9.037267784463131e-01, -4.281096937924305e-01},
-    {9.032007284437731e-01, -4.292184107638414e-01},
-    {9.026733182372588e-01, -4.303264813400826e-01},
-    {9.021445486210405e-01, -4.314339038524199e-01},
-    {9.016144203914357e-01, -4.325406766330948e-01},
-    {9.010829343468079e-01, -4.336467980153277e-01},
-    {9.005500912875654e-01, -4.347522663333197e-01},
-    {9.000158920161603e-01, -4.358570799222555e-01},
-    {8.994803373370870e-01, -4.369612371183058e-01},
-    {8.989434280568812e-01, -4.380647362586298e-01},
-    {8.984051649841186e-01, -4.391675756813778e-01},
-    {8.978655489294136e-01, -4.402697537256935e-01},
-    {8.973245807054183e-01, -4.413712687317167e-01},
-    {8.967822611268210e-01, -4.424721190405857e-01},
-    {8.962385910103452e-01, -4.435723029944398e-01},
-    {8.956935711747483e-01, -4.446718189364220e-01},
-    {8.951472024408204e-01, -4.457706652106809e-01},
-    {8.945994856313827e-01, -4.468688401623742e-01},
-    {8.940504215712870e-01, -4.479663421376699e-01},
-    {8.935000110874138e-01, -4.490631694837502e-01},
-    {8.929482550086714e-01, -4.501593205488127e-01},
-    {8.923951541659944e-01, -4.512547936820739e-01},
-    {8.918407093923427e-01, -4.523495872337709e-01},
-    {8.912849215227001e-01, -4.534436995551644e-01},
-    {8.907277913940732e-01, -4.545371289985410e-01},
-    {8.901693198454897e-01, -4.556298739172159e-01},
-    {8.896095077179980e-01, -4.567219326655349e-01},
-    {8.890483558546646e-01, -4.578133035988772e-01},
-    {8.884858651005743e-01, -4.589039850736579e-01},
-    {8.879220363028281e-01, -4.599939754473306e-01},
-    {8.873568703105417e-01, -4.610832730783892e-01},
-    {8.867903679748451e-01, -4.621718763263714e-01},
-    {8.862225301488806e-01, -4.632597835518601e-01},
-    {8.856533576878016e-01, -4.643469931164871e-01},
-    {8.850828514487716e-01, -4.654335033829341e-01},
-    {8.845110122909626e-01, -4.665193127149364e-01},
-    {8.839378410755541e-01, -4.676044194772847e-01},
-    {8.833633386657316e-01, -4.686888220358279e-01},
-    {8.827875059266853e-01, -4.697725187574754e-01},
-    {8.822103437256089e-01, -4.708555080101994e-01},
-    {8.816318529316984e-01, -4.719377881630376e-01},
-    {8.810520344161502e-01, -4.730193575860958e-01},
-    {8.804708890521608e-01, -4.741002146505500e-01},
-    {8.798884177149244e-01, -4.751803577286489e-01},
-    {8.793046212816323e-01, -4.762597851937166e-01},
-    {8.787195006314716e-01, -4.773384954201548e-01},
-    {8.781330566456232e-01, -4.784164867834454e-01},
-    {8.775452902072614e-01, -4.794937576601530e-01},
-    {8.769562022015515e-01, -4.805703064279270e-01},
-    {8.763657935156495e-01, -4.816461314655044e-01},
-    {8.757740650387004e-01, -4.827212311527123e-01},
-    {8.751810176618363e-01, -4.837956038704698e-01},
-    {8.745866522781761e-01, -4.848692480007911e-01},
-    {8.739909697828232e-01, -4.859421619267875e-01},
-    {8.733939710728648e-01, -4.870143440326701e-01},
-    {8.727956570473698e-01, -4.880857927037520e-01},
-    {8.721960286073888e-01, -4.891565063264507e-01},
-    {8.715950866559510e-01, -4.902264832882912e-01},
-    {8.709928320980644e-01, -4.912957219779071e-01},
-    {8.703892658407133e-01, -4.923642207850446e-01},
-    {8.697843887928577e-01, -4.934319781005636e-01},
-    {8.691782018654314e-01, -4.944989923164409e-01},
-    {8.685707059713409e-01, -4.955652618257725e-01},
-    {8.679619020254642e-01, -4.966307850227757e-01},
-    {8.673517909446490e-01, -4.976955603027919e-01},
-    {8.667403736477115e-01, -4.987595860622885e-01},
-    {8.661276510554351e-01, -4.998228606988624e-01},
-    {8.655136240905691e-01, -5.008853826112407e-01},
-    {8.648982936778269e-01, -5.019471501992850e-01},
-    {8.642816607438848e-01, -5.030081618639924e-01},
-    {8.636637262173812e-01, -5.040684160074983e-01},
-    {8.630444910289141e-01, -5.051279110330795e-01},
-    {8.624239561110406e-01, -5.061866453451552e-01},
-    {8.618021223982749e-01, -5.072446173492910e-01},
-    {8.611789908270876e-01, -5.083018254522002e-01},
-    {8.605545623359034e-01, -5.093582680617462e-01},
-    {8.599288378651004e-01, -5.104139435869457e-01},
-    {8.593018183570085e-01, -5.114688504379703e-01},
-    {8.586735047559073e-01, -5.125229870261497e-01},
-    {8.580438980080262e-01, -5.135763517639729e-01},
-    {8.574129990615412e-01, -5.146289430650919e-01},
-    {8.567808088665750e-01, -5.156807593443229e-01},
-    {8.561473283751945e-01, -5.167317990176499e-01},
-    {8.555125585414098e-01, -5.177820605022260e-01},
-    {8.548765003211730e-01, -5.188315422163763e-01},
-    {8.542391546723761e-01, -5.198802425796005e-01},
-    {8.536005225548502e-01, -5.209281600125748e-01},
-    {8.529606049303636e-01, -5.219752929371544e-01},
-    {8.523194027626210e-01, -5.230216397763758e-01},
-    {8.516769170172609e-01, -5.240671989544601e-01},
-    {8.510331486618554e-01, -5.251119688968137e-01},
-    {8.503880986659081e-01, -5.261559480300321e-01},
-    {8.497417680008525e-01, -5.271991347819013e-01},
-    {8.490941576400509e-01, -5.282415275814013e-01},
-    {8.484452685587929e-01, -5.292831248587072e-01},
-    {8.477951017342936e-01, -5.303239250451923e-01},
-    {8.471436581456926e-01, -5.313639265734305e-01},
-    {8.464909387740521e-01, -5.324031278771979e-01},
-    {8.458369446023557e-01, -5.334415273914767e-01},
-    {8.451816766155068e-01, -5.344791235524554e-01},
-    {8.445251358003272e-01, -5.355159147975332e-01},
-    {8.438673231455553e-01, -5.365518995653215e-01},
-    {8.432082396418454e-01, -5.375870762956454e-01},
-    {8.425478862817651e-01, -5.386214434295480e-01},
-    {8.418862640597948e-01, -5.396549994092906e-01},
-    {8.412233739723254e-01, -5.406877426783570e-01},
-    {8.405592170176576e-01, -5.417196716814542e-01},
-    {8.398937941959995e-01, -5.427507848645159e-01},
-    {8.392271065094661e-01, -5.437810806747042e-01},
-    {8.385591549620770e-01, -5.448105575604123e-01},
-    {8.378899405597550e-01, -5.458392139712668e-01},
-    {8.372194643103249e-01, -5.468670483581293e-01},
-    {8.365477272235120e-01, -5.478940591731002e-01},
-    {8.358747303109401e-01, -5.489202448695194e-01},
-    {8.352004745861303e-01, -5.499456039019702e-01},
-    {8.345249610644997e-01, -5.509701347262801e-01},
-    {8.338481907633595e-01, -5.519938357995242e-01},
-    {8.331701647019132e-01, -5.530167055800275e-01},
-    {8.324908839012561e-01, -5.540387425273663e-01},
-    {8.318103493843727e-01, -5.550599451023716e-01},
-    {8.311285621761358e-01, -5.560803117671306e-01},
-    {8.304455233033046e-01, -5.570998409849897e-01},
-    {8.297612337945230e-01, -5.581185312205561e-01},
-    {8.290756946803191e-01, -5.591363809397010e-01},
-    {8.283889069931020e-01, -5.601533886095610e-01},
-    {8.277008717671618e-01, -5.611695526985409e-01},
-    {8.270115900386670e-01, -5.621848716763159e-01},
-    {8.263210628456635e-01, -5.631993440138341e-01},
-    {8.256292912280727e-01, -5.642129681833185e-01},
-    {8.249362762276903e-01, -5.652257426582692e-01},
-    {8.242420188881840e-01, -5.662376659134664e-01},
-    {8.235465202550933e-01, -5.672487364249718e-01},
-    {8.228497813758264e-01, -5.682589526701315e-01},
-    {8.221518032996592e-01, -5.692683131275782e-01},
-    {8.214525870777344e-01, -5.702768162772331e-01},
-    {8.207521337630588e-01, -5.712844606003090e-01},
-    {8.200504444105025e-01, -5.722912445793115e-01},
-    {8.193475200767969e-01, -5.732971666980422e-01},
-    {8.186433618205335e-01, -5.743022254416005e-01},
-    {8.179379707021619e-01, -5.753064192963863e-01},
-    {8.172313477839882e-01, -5.763097467501014e-01},
-    {8.165234941301740e-01, -5.773122062917532e-01},
-    {8.158144108067338e-01, -5.783137964116556e-01},
-    {8.151040988815345e-01, -5.793145156014319e-01},
-    {8.143925594242929e-01, -5.803143623540171e-01},
-    {8.136797935065747e-01, -5.813133351636602e-01},
-    {8.129658022017924e-01, -5.823114325259262e-01},
-    {8.122505865852039e-01, -5.833086529376983e-01},
-    {8.115341477339112e-01, -5.843049948971807e-01},
-    {8.108164867268581e-01, -5.853004569039005e-01},
-    {8.100976046448293e-01, -5.862950374587097e-01},
-    {8.093775025704479e-01, -5.872887350637883e-01},
-    {8.086561815881750e-01, -5.882815482226452e-01},
-    {8.079336427843067e-01, -5.892734754401222e-01},
-    {8.072098872469734e-01, -5.902645152223945e-01},
-    {8.064849160661379e-01, -5.912546660769743e-01},
-    {8.057587303335938e-01, -5.922439265127122e-01},
-    {8.050313311429637e-01, -5.932322950397998e-01},
-    {8.043027195896973e-01, -5.942197701697721e-01},
-    {8.035728967710708e-01, -5.952063504155093e-01},
-    {8.028418637861839e-01, -5.961920342912395e-01},
-    {8.021096217359593e-01, -5.971768203125404e-01},
-    {8.013761717231402e-01, -5.981607069963423e-01},
-    {8.006415148522891e-01, -5.991436928609294e-01},
-    {7.999056522297859e-01, -6.001257764259429e-01},
-    {7.991685849638264e-01, -6.011069562123827e-01},
-    {7.984303141644207e-01, -6.020872307426096e-01},
-    {7.976908409433912e-01, -6.030665985403482e-01},
-    {7.969501664143711e-01, -6.040450581306880e-01},
-    {7.962082916928030e-01, -6.050226080400867e-01},
-    {7.954652178959369e-01, -6.059992467963715e-01},
-    {7.947209461428283e-01, -6.069749729287426e-01},
-    {7.939754775543372e-01, -6.079497849677736e-01},
-    {7.932288132531257e-01, -6.089236814454155e-01},
-    {7.924809543636567e-01, -6.098966608949977e-01},
-    {7.917319020121923e-01, -6.108687218512306e-01},
-    {7.909816573267918e-01, -6.118398628502083e-01},
-    {7.902302214373100e-01, -6.128100824294097e-01},
-    {7.894775954753960e-01, -6.137793791277018e-01},
-    {7.887237805744907e-01, -6.147477514853411e-01},
-    {7.879687778698258e-01, -6.157151980439765e-01},
-    {7.872125884984216e-01, -6.166817173466510e-01},
-    {7.864552135990858e-01, -6.176473079378039e-01},
-    {7.856966543124112e-01, -6.186119683632733e-01},
-    {7.849369117807745e-01, -6.195756971702979e-01},
-    {7.841759871483340e-01, -6.205384929075197e-01},
-    {7.834138815610288e-01, -6.215003541249855e-01},
-    {7.826505961665757e-01, -6.224612793741500e-01},
-    {7.818861321144691e-01, -6.234212672078768e-01},
-    {7.811204905559779e-01, -6.243803161804418e-01},
-    {7.803536726441443e-01, -6.253384248475345e-01},
-    {7.795856795337824e-01, -6.262955917662607e-01},
-    {7.788165123814760e-01, -6.272518154951441e-01},
-    {7.780461723455767e-01, -6.282070945941292e-01},
-    {7.772746605862029e-01, -6.291614276245828e-01},
-    {7.765019782652373e-01, -6.301148131492967e-01},
-    {7.757281265463254e-01, -6.310672497324895e-01},
-    {7.749531065948739e-01, -6.320187359398091e-01},
-    {7.741769195780490e-01, -6.329692703383341e-01},
-    {7.733995666647743e-01, -6.339188514965771e-01},
-    {7.726210490257291e-01, -6.348674779844861e-01},
-    {7.718413678333470e-01, -6.358151483734467e-01},
-    {7.710605242618138e-01, -6.367618612362842e-01},
-    {7.702785194870657e-01, -6.377076151472665e-01},
-    {7.694953546867879e-01, -6.386524086821050e-01},
-    {7.687110310404124e-01, -6.395962404179578e-01},
-    {7.679255497291163e-01, -6.405391089334316e-01},
-    {7.671389119358204e-01, -6.414810128085832e-01},
-    {7.663511188451869e-01, -6.424219506249224e-01},
-    {7.655621716436182e-01, -6.433619209654138e-01},
-    {7.647720715192542e-01, -6.443009224144792e-01},
-    {7.639808196619715e-01, -6.452389535579994e-01},
-    {7.631884172633813e-01, -6.461760129833163e-01},
-    {7.623948655168271e-01, -6.471120992792355e-01},
-    {7.616001656173835e-01, -6.480472110360278e-01},
-    {7.608043187618542e-01, -6.489813468454321e-01},
-    {7.600073261487703e-01, -6.499145053006563e-01},
-    {7.592091889783881e-01, -6.508466849963809e-01},
-    {7.584099084526877e-01, -6.517778845287601e-01},
-    {7.576094857753715e-01, -6.527081024954242e-01},
-    {7.568079221518612e-01, -6.536373374954818e-01},
-    {7.560052187892974e-01, -6.545655881295217e-01},
-    {7.552013768965365e-01, -6.554928529996153e-01},
-    {7.543963976841503e-01, -6.564191307093185e-01},
-    {7.535902823644226e-01, -6.573444198636738e-01},
-    {7.527830321513488e-01, -6.582687190692122e-01},
-    {7.519746482606328e-01, -6.591920269339562e-01},
-    {7.511651319096865e-01, -6.601143420674205e-01},
-    {7.503544843176265e-01, -6.610356630806152e-01},
-    {7.495427067052737e-01, -6.619559885860479e-01},
-    {7.487298002951505e-01, -6.628753171977246e-01},
-    {7.479157663114792e-01, -6.637936475311532e-01},
-    {7.471006059801801e-01, -6.647109782033448e-01},
-    {7.462843205288703e-01, -6.656273078328160e-01},
-    {7.454669111868606e-01, -6.665426350395909e-01},
-    {7.446483791851549e-01, -6.674569584452033e-01},
-    {7.438287257564475e-01, -6.683702766726985e-01},
-    {7.430079521351217e-01, -6.692825883466360e-01},
-    {7.421860595572477e-01, -6.701938920930909e-01},
-    {7.413630492605809e-01, -6.711041865396560e-01},
-    {7.405389224845600e-01, -6.720134703154446e-01},
-    {7.397136804703048e-01, -6.729217420510915e-01},
-    {7.388873244606151e-01, -6.738290003787560e-01},
-    {7.380598556999681e-01, -6.747352439321236e-01},
-    {7.372312754345167e-01, -6.756404713464076e-01},
-    {7.364015849120877e-01, -6.765446812583521e-01},
-    {7.355707853821803e-01, -6.774478723062332e-01},
-    {7.347388780959635e-01, -6.783500431298615e-01},
-    {7.339058643062745e-01, -6.792511923705841e-01},
-    {7.330717452676171e-01, -6.801513186712865e-01},
-    {7.322365222361595e-01, -6.810504206763948e-01},
-    {7.314001964697324e-01, -6.819484970318775e-01},
-    {7.305627692278276e-01, -6.828455463852481e-01},
-    {7.297242417715950e-01, -6.837415673855661e-01},
-    {7.288846153638420e-01, -6.846365586834405e-01},
-    {7.280438912690308e-01, -6.855305189310302e-01},
-    {7.272020707532766e-01, -6.864234467820476e-01},
-    {7.263591550843460e-01, -6.873153408917591e-01},
-    {7.255151455316546e-01, -6.882061999169885e-01},
-    {7.246700433662657e-01, -6.890960225161182e-01},
-    {7.238238498608879e-01, -6.899848073490914e-01},
-    {7.229765662898732e-01, -6.908725530774144e-01},
-    {7.221281939292153e-01, -6.917592583641577e-01},
-    {7.212787340565479e-01, -6.926449218739597e-01},
-    {7.204281879511419e-01, -6.935295422730269e-01},
-    {7.195765568939045e-01, -6.944131182291369e-01},
-    {7.187238421673769e-01, -6.952956484116404e-01},
-    {7.178700450557317e-01, -6.961771314914630e-01},
-    {7.170151668447722e-01, -6.970575661411068e-01},
-    {7.161592088219294e-01, -6.979369510346534e-01},
-    {7.153021722762606e-01, -6.988152848477649e-01},
-    {7.144440584984474e-01, -6.996925662576865e-01},
-    {7.135848687807936e-01, -7.005687939432483e-01},
-    {7.127246044172235e-01, -7.014439665848672e-01},
-    {7.118632667032795e-01, -7.023180828645491e-01},
-    {7.110008569361208e-01, -7.031911414658905e-01},
-    {7.101373764145209e-01, -7.040631410740809e-01},
-    {7.092728264388657e-01, -7.049340803759049e-01},
-    {7.084072083111520e-01, -7.058039580597435e-01},
-    {7.075405233349850e-01, -7.066727728155766e-01}
+    {9.999998117522413e-01f, -6.135922766517967e-04f},
+    {9.999983057705969e-01f, -1.840775905896510e-03f},
+    {9.999952938095762e-01f, -3.067956762965976e-03f},
+    {9.999907758737150e-01f, -4.295132999748002e-03f},
+    {9.999847519698173e-01f, -5.522302768137352e-03f},
+    {9.999772221069551e-01f, -6.749464220038533e-03f},
+    {9.999681862964679e-01f, -7.976615507368575e-03f},
+    {9.999576445519639e-01f, -9.203754782059819e-03f},
+    {9.999455968893185e-01f, -1.043088019606269e-02f},
+    {9.999320433266753e-01f, -1.165798990134850e-02f},
+    {9.999169838844458e-01f, -1.288508204991220e-02f},
+    {9.999004185853092e-01f, -1.411215479377519e-02f},
+    {9.998823474542126e-01f, -1.533920628498810e-02f},
+    {9.998627705183706e-01f, -1.656623467563356e-02f},
+    {9.998416878072659e-01f, -1.779323811782898e-02f},
+    {9.998190993526487e-01f, -1.902021476372936e-02f},
+    {9.997950051885367e-01f, -2.024716276553004e-02f},
+    {9.997694053512153e-01f, -2.147408027546951e-02f},
+    {9.997422998792375e-01f, -2.270096544583216e-02f},
+    {9.997136888134235e-01f, -2.392781642895110e-02f},
+    {9.996835721968610e-01f, -2.515463137721094e-02f},
+    {9.996519500749053e-01f, -2.638140844305051e-02f},
+    {9.996188224951786e-01f, -2.760814577896574e-02f},
+    {9.995841895075704e-01f, -2.883484153751236e-02f},
+    {9.995480511642375e-01f, -3.006149387130874e-02f},
+    {9.995104075196035e-01f, -3.128810093303862e-02f},
+    {9.994712586303591e-01f, -3.251466087545394e-02f},
+    {9.994306045554617e-01f, -3.374117185137758e-02f},
+    {9.993884453561358e-01f, -3.496763201370620e-02f},
+    {9.993447810958722e-01f, -3.619403951541294e-02f},
+    {9.992996118404286e-01f, -3.742039250955028e-02f},
+    {9.992529376578290e-01f, -3.864668914925275e-02f},
+    {9.992047586183639e-01f, -3.987292758773981e-02f},
+    {9.991550747945901e-01f, -4.109910597831850e-02f},
+    {9.991038862613305e-01f, -4.232522247438635e-02f},
+    {9.990511930956741e-01f, -4.355127522943403e-02f},
+    {9.989969953769761e-01f, -4.477726239704831e-02f},
+    {9.989412931868569e-01f, -4.600318213091462e-02f},
+    {9.988840866092031e-01f, -4.722903258482004e-02f},
+    {9.988253757301669e-01f, -4.845481191265589e-02f},
+    {9.987651606381658e-01f, -4.968051826842070e-02f},
+    {9.987034414238826e-01f, -5.090614980622282e-02f},
+    {9.986402181802653e-01f, -5.213170468028332e-02f},
+    {9.985754910025268e-01f, -5.335718104493870e-02f},
+    {9.985092599881454e-01f, -5.458257705464371e-02f},
+    {9.984415252368637e-01f, -5.580789086397409e-02f},
+    {9.983722868506889e-01f, -5.703312062762941e-02f},
+    {9.983015449338929e-01f, -5.825826450043575e-02f},
+    {9.982292995930115e-01f, -5.948332063734863e-02f},
+    {9.981555509368452e-01f, -6.070828719345561e-02f},
+    {9.980802990764579e-01f, -6.193316232397920e-02f},
+    {9.980035441251777e-01f, -6.315794418427960e-02f},
+    {9.979252861985960e-01f, -6.438263092985747e-02f},
+    {9.978455254145679e-01f, -6.560722071635666e-02f},
+    {9.977642618932119e-01f, -6.683171169956714e-02f},
+    {9.976814957569091e-01f, -6.805610203542757e-02f},
+    {9.975972271303040e-01f, -6.928038988002828e-02f},
+    {9.975114561403035e-01f, -7.050457338961386e-02f},
+    {9.974241829160772e-01f, -7.172865072058610e-02f},
+    {9.973354075890570e-01f, -7.295262002950662e-02f},
+    {9.972451302929369e-01f, -7.417647947309980e-02f},
+    {9.971533511636731e-01f, -7.540022720825540e-02f},
+    {9.970600703394830e-01f, -7.662386139203149e-02f},
+    {9.969652879608459e-01f, -7.784738018165707e-02f},
+    {9.968690041705026e-01f, -7.907078173453497e-02f},
+    {9.967712191134545e-01f, -8.029406420824454e-02f},
+    {9.966719329369642e-01f, -8.151722576054453e-02f},
+    {9.965711457905548e-01f, -8.274026454937569e-02f},
+    {9.964688578260101e-01f, -8.396317873286374e-02f},
+    {9.963650691973739e-01f, -8.518596646932200e-02f},
+    {9.962597800609497e-01f, -8.640862591725426e-02f},
+    {9.961529905753015e-01f, -8.763115523535747e-02f},
+    {9.960447009012520e-01f, -8.885355258252460e-02f},
+    {9.959349112018836e-01f, -9.007581611784729e-02f},
+    {9.958236216425376e-01f, -9.129794400061877e-02f},
+    {9.957108323908140e-01f, -9.251993439033654e-02f},
+    {9.955965436165716e-01f, -9.374178544670515e-02f},
+    {9.954807554919269e-01f, -9.496349532963899e-02f},
+    {9.953634681912550e-01f, -9.618506219926506e-02f},
+    {9.952446818911883e-01f, -9.740648421592572e-02f},
+    {9.951243967706169e-01f, -9.862775954018151e-02f},
+    {9.950026130106879e-01f, -9.984888633281383e-02f},
+    {9.948793307948056e-01f, -1.010698627548278e-01f},
+    {9.947545503086307e-01f, -1.022906869674551e-01f},
+    {9.946282717400804e-01f, -1.035113571321563e-01f},
+    {9.945004952793278e-01f, -1.047318714106244e-01f},
+    {9.943712211188022e-01f, -1.059522279647869e-01f},
+    {9.942404494531879e-01f, -1.071724249568088e-01f},
+    {9.941081804794248e-01f, -1.083924605490956e-01f},
+    {9.939744143967076e-01f, -1.096123329042957e-01f},
+    {9.938391514064855e-01f, -1.108320401853034e-01f},
+    {9.937023917124622e-01f, -1.120515805552615e-01f},
+    {9.935641355205953e-01f, -1.132709521775643e-01f},
+    {9.934243830390962e-01f, -1.144901532158602e-01f},
+    {9.932831344784294e-01f, -1.157091818340545e-01f},
+    {9.931403900513129e-01f, -1.169280361963119e-01f},
+    {9.929961499727171e-01f, -1.181467144670601e-01f},
+    {9.928504144598651e-01f, -1.193652148109914e-01f},
+    {9.927031837322318e-01f, -1.205835353930663e-01f},
+    {9.925544580115441e-01f, -1.218016743785162e-01f},
+    {9.924042375217801e-01f, -1.230196299328457e-01f},
+    {9.922525224891693e-01f, -1.242374002218357e-01f},
+    {9.920993131421918e-01f, -1.254549834115462e-01f},
+    {9.919446097115779e-01f, -1.266723776683190e-01f},
+    {9.917884124303086e-01f, -1.278895811587802e-01f},
+    {9.916307215336136e-01f, -1.291065920498434e-01f},
+    {9.914715372589731e-01f, -1.303234085087122e-01f},
+    {9.913108598461154e-01f, -1.315400287028831e-01f},
+    {9.911486895370180e-01f, -1.327564508001479e-01f},
+    {9.909850265759061e-01f, -1.339726729685971e-01f},
+    {9.908198712092535e-01f, -1.351886933766218e-01f},
+    {9.906532236857811e-01f, -1.364045101929175e-01f},
+    {9.904850842564571e-01f, -1.376201215864860e-01f},
+    {9.903154531744962e-01f, -1.388355257266385e-01f},
+    {9.901443306953601e-01f, -1.400507207829983e-01f},
+    {9.899717170767560e-01f, -1.412657049255036e-01f},
+    {9.897976125786367e-01f, -1.424804763244102e-01f},
+    {9.896220174632009e-01f, -1.436950331502945e-01f},
+    {9.894449319948911e-01f, -1.449093735740556e-01f},
+    {9.892663564403953e-01f, -1.461234957669190e-01f},
+    {9.890862910686448e-01f, -1.473373979004386e-01f},
+    {9.889047361508148e-01f, -1.485510781464996e-01f},
+    {9.887216919603238e-01f, -1.497645346773215e-01f},
+    {9.885371587728330e-01f, -1.509777656654608e-01f},
+    {9.883511368662461e-01f, -1.521907692838135e-01f},
+    {9.881636265207087e-01f, -1.534035437056180e-01f},
+    {9.879746280186079e-01f, -1.546160871044581e-01f},
+    {9.877841416445722e-01f, -1.558283976542652e-01f},
+    {9.875921676854704e-01f, -1.570404735293217e-01f},
+    {9.873987064304122e-01f, -1.582523129042630e-01f},
+    {9.872037581707463e-01f, -1.594639139540810e-01f},
+    {9.870073232000616e-01f, -1.606752748541265e-01f},
+    {9.868094018141855e-01f, -1.618863937801118e-01f},
+    {9.866099943111839e-01f, -1.630972689081137e-01f},
+    {9.864091009913611e-01f, -1.643078984145762e-01f},
+    {9.862067221572588e-01f, -1.655182804763130e-01f},
+    {9.860028581136556e-01f, -1.667284132705107e-01f},
+    {9.857975091675675e-01f, -1.679382949747312e-01f},
+    {9.855906756282459e-01f, -1.691479237669144e-01f},
+    {9.853823578071785e-01f, -1.703572978253813e-01f},
+    {9.851725560180883e-01f, -1.715664153288364e-01f},
+    {9.849612705769328e-01f, -1.727752744563706e-01f},
+    {9.847485018019042e-01f, -1.739838733874638e-01f},
+    {9.845342500134284e-01f, -1.751922103019880e-01f},
+    {9.843185155341647e-01f, -1.764002833802096e-01f},
+    {9.841012986890054e-01f, -1.776080908027924e-01f},
+    {9.838825998050751e-01f, -1.788156307508001e-01f},
+    {9.836624192117303e-01f, -1.800229014056995e-01f},
+    {9.834407572405590e-01f, -1.812299009493628e-01f},
+    {9.832176142253802e-01f, -1.824366275640705e-01f},
+    {9.829929905022433e-01f, -1.836430794325141e-01f},
+    {9.827668864094273e-01f, -1.848492547377989e-01f},
+    {9.825393022874412e-01f, -1.860551516634466e-01f},
+    {9.823102384790224e-01f, -1.872607683933984e-01f},
+    {9.820796953291370e-01f, -1.884661031120172e-01f},
+    {9.818476731849786e-01f, -1.896711540040907e-01f},
+    {9.816141723959685e-01f, -1.908759192548340e-01f},
+    {9.813791933137546e-01f, -1.920803970498924e-01f},
+    {9.811427362922112e-01f, -1.932845855753442e-01f},
+    {9.809048016874382e-01f, -1.944884830177032e-01f},
+    {9.806653898577611e-01f, -1.956920875639216e-01f},
+    {9.804245011637294e-01f, -1.968953974013927e-01f},
+    {9.801821359681174e-01f, -1.980984107179536e-01f},
+    {9.799382946359226e-01f, -1.993011257018880e-01f},
+    {9.796929775343657e-01f, -2.005035405419289e-01f},
+    {9.794461850328897e-01f, -2.017056534272613e-01f},
+    {9.791979175031598e-01f, -2.029074625475249e-01f},
+    {9.789481753190622e-01f, -2.041089660928169e-01f},
+    {9.786969588567044e-01f, -2.053101622536946e-01f},
+    {9.784442684944136e-01f, -2.065110492211783e-01f},
+    {9.781901046127370e-01f, -2.077116251867540e-01f},
+    {9.779344675944409e-01f, -2.089118883423760e-01f},
+    {9.776773578245099e-01f, -2.101118368804696e-01f},
+    {9.774187756901469e-01f, -2.113114689939341e-01f},
+    {9.771587215807717e-01f, -2.125107828761450e-01f},
+    {9.768971958880210e-01f, -2.137097767209575e-01f},
+    {9.766341990057480e-01f, -2.149084487227085e-01f},
+    {9.763697313300211e-01f, -2.161067970762195e-01f},
+    {9.761037932591240e-01f, -2.173048199767996e-01f},
+    {9.758363851935545e-01f, -2.185025156202481e-01f},
+    {9.755675075360243e-01f, -2.196998822028567e-01f},
+    {9.752971606914583e-01f, -2.208969179214133e-01f},
+    {9.750253450669941e-01f, -2.220936209732035e-01f},
+    {9.747520610719810e-01f, -2.232899895560143e-01f},
+    {9.744773091179798e-01f, -2.244860218681361e-01f},
+    {9.742010896187618e-01f, -2.256817161083659e-01f},
+    {9.739234029903089e-01f, -2.268770704760098e-01f},
+    {9.736442496508120e-01f, -2.280720831708857e-01f},
+    {9.733636300206708e-01f, -2.292667523933261e-01f},
+    {9.730815445224936e-01f, -2.304610763441808e-01f},
+    {9.727979935810960e-01f, -2.316550532248194e-01f},
+    {9.725129776235006e-01f, -2.328486812371343e-01f},
+    {9.722264970789363e-01f, -2.340419585835434e-01f},
+    {9.719385523788376e-01f, -2.352348834669925e-01f},
+    {9.716491439568440e-01f, -2.364274540909583e-01f},
+    {9.713582722487994e-01f, -2.376196686594509e-01f},
+    {9.710659376927513e-01f, -2.388115253770169e-01f},
+    {9.707721407289504e-01f, -2.400030224487415e-01f},
+    {9.704768817998493e-01f, -2.411941580802516e-01f},
+    {9.701801613501028e-01f, -2.423849304777186e-01f},
+    {9.698819798265667e-01f, -2.435753378478606e-01f},
+    {9.695823376782966e-01f, -2.447653783979458e-01f},
+    {9.692812353565485e-01f, -2.459550503357946e-01f},
+    {9.689786733147769e-01f, -2.471443518697825e-01f},
+    {9.686746520086348e-01f, -2.483332812088429e-01f},
+    {9.683691718959728e-01f, -2.495218365624697e-01f},
+    {9.680622334368384e-01f, -2.507100161407201e-01f},
+    {9.677538370934755e-01f, -2.518978181542170e-01f},
+    {9.674439833303232e-01f, -2.530852408141520e-01f},
+    {9.671326726140158e-01f, -2.542722823322882e-01f},
+    {9.668199054133816e-01f, -2.554589409209625e-01f},
+    {9.665056821994423e-01f, -2.566452147930884e-01f},
+    {9.661900034454125e-01f, -2.578311021621590e-01f},
+    {9.658728696266987e-01f, -2.590166012422493e-01f},
+    {9.655542812208985e-01f, -2.602017102480191e-01f},
+    {9.652342387078005e-01f, -2.613864273947156e-01f},
+    {9.649127425693828e-01f, -2.625707508981763e-01f},
+    {9.645897932898128e-01f, -2.637546789748313e-01f},
+    {9.642653913554462e-01f, -2.649382098417065e-01f},
+    {9.639395372548267e-01f, -2.661213417164257e-01f},
+    {9.636122314786845e-01f, -2.673040728172135e-01f},
+    {9.632834745199362e-01f, -2.684864013628985e-01f},
+    {9.629532668736839e-01f, -2.696683255729151e-01f},
+    {9.626216090372143e-01f, -2.708498436673069e-01f},
+    {9.622885015099981e-01f, -2.720309538667289e-01f},
+    {9.619539447936892e-01f, -2.732116543924507e-01f},
+    {9.616179393921240e-01f, -2.743919434663584e-01f},
+    {9.612804858113206e-01f, -2.755718193109581e-01f},
+    {9.609415845594780e-01f, -2.767512801493782e-01f},
+    {9.606012361469752e-01f, -2.779303242053718e-01f},
+    {9.602594410863711e-01f, -2.791089497033199e-01f},
+    {9.599161998924024e-01f, -2.802871548682339e-01f},
+    {9.595715130819845e-01f, -2.814649379257579e-01f},
+    {9.592253811742094e-01f, -2.826422971021723e-01f},
+    {9.588778046903456e-01f, -2.838192306243950e-01f},
+    {9.585287841538368e-01f, -2.849957367199857e-01f},
+    {9.581783200903017e-01f, -2.861718136171474e-01f},
+    {9.578264130275329e-01f, -2.873474595447295e-01f},
+    {9.574730634954960e-01f, -2.885226727322305e-01f},
+    {9.571182720263292e-01f, -2.896974514098006e-01f},
+    {9.567620391543418e-01f, -2.908717938082443e-01f},
+    {9.564043654160141e-01f, -2.920456981590233e-01f},
+    {9.560452513499964e-01f, -2.932191626942586e-01f},
+    {9.556846974971080e-01f, -2.943921856467341e-01f},
+    {9.553227044003364e-01f, -2.955647652498983e-01f},
+    {9.549592726048367e-01f, -2.967368997378675e-01f},
+    {9.545944026579306e-01f, -2.979085873454284e-01f},
+    {9.542280951091057e-01f, -2.990798263080405e-01f},
+    {9.538603505100144e-01f, -3.002506148618392e-01f},
+    {9.534911694144735e-01f, -3.014209512436381e-01f},
+    {9.531205523784633e-01f, -3.025908336909318e-01f},
+    {9.527484999601259e-01f, -3.037602604418984e-01f},
+    {9.523750127197659e-01f, -3.049292297354024e-01f},
+    {9.520000912198481e-01f, -3.060977398109971e-01f},
+    {9.516237360249976e-01f, -3.072657889089275e-01f},
+    {9.512459477019986e-01f, -3.084333752701328e-01f},
+    {9.508667268197933e-01f, -3.096004971362489e-01f},
+    {9.504860739494817e-01f, -3.107671527496115e-01f},
+    {9.501039896643201e-01f, -3.119333403532583e-01f},
+    {9.497204745397203e-01f, -3.130990581909318e-01f},
+    {9.493355291532494e-01f, -3.142643045070820e-01f},
+    {9.489491540846281e-01f, -3.154290775468691e-01f},
+    {9.485613499157303e-01f, -3.165933755561658e-01f},
+    {9.481721172305820e-01f, -3.177571967815606e-01f},
+    {9.477814566153607e-01f, -3.189205394703594e-01f},
+    {9.473893686583942e-01f, -3.200834018705895e-01f},
+    {9.469958539501598e-01f, -3.212457822310009e-01f},
+    {9.466009130832835e-01f, -3.224076788010699e-01f},
+    {9.462045466525394e-01f, -3.235690898310011e-01f},
+    {9.458067552548478e-01f, -3.247300135717307e-01f},
+    {9.454075394892756e-01f, -3.258904482749284e-01f},
+    {9.450068999570345e-01f, -3.270503921930005e-01f},
+    {9.446048372614803e-01f, -3.282098435790925e-01f},
+    {9.442013520081122e-01f, -3.293688006870915e-01f},
+    {9.437964448045717e-01f, -3.305272617716291e-01f},
+    {9.433901162606417e-01f, -3.316852250880838e-01f},
+    {9.429823669882458e-01f, -3.328426888925837e-01f},
+    {9.425731976014469e-01f, -3.339996514420094e-01f},
+    {9.421626087164466e-01f, -3.351561109939961e-01f},
+    {9.417506009515846e-01f, -3.363120658069366e-01f},
+    {9.413371749273369e-01f, -3.374675141399838e-01f},
+    {9.409223312663159e-01f, -3.386224542530535e-01f},
+    {9.405060705932683e-01f, -3.397768844068269e-01f},
+    {9.400883935350755e-01f, -3.409308028627527e-01f},
+    {9.396693007207513e-01f, -3.420842078830508e-01f},
+    {9.392487927814420e-01f, -3.432370977307140e-01f},
+    {9.388268703504251e-01f, -3.443894706695110e-01f},
+    {9.384035340631081e-01f, -3.455413249639891e-01f},
+    {9.379787845570278e-01f, -3.466926588794764e-01f},
+    {9.375526224718491e-01f, -3.478434706820849e-01f},
+    {9.371250484493645e-01f, -3.489937586387129e-01f},
+    {9.366960631334929e-01f, -3.501435210170474e-01f},
+    {9.362656671702783e-01f, -3.512927560855671e-01f},
+    {9.358338612078891e-01f, -3.524414621135448e-01f},
+    {9.354006458966176e-01f, -3.535896373710499e-01f},
+    {9.349660218888781e-01f, -3.547372801289512e-01f},
+    {9.345299898392064e-01f, -3.558843886589194e-01f},
+    {9.340925504042590e-01f, -3.570309612334300e-01f},
+    {9.336537042428116e-01f, -3.581769961257653e-01f},
+    {9.332134520157588e-01f, -3.593224916100174e-01f},
+    {9.327717943861125e-01f, -3.604674459610909e-01f},
+    {9.323287320190009e-01f, -3.616118574547051e-01f},
+    {9.318842655816681e-01f, -3.627557243673972e-01f},
+    {9.314383957434725e-01f, -3.638990449765241e-01f},
+    {9.309911231758859e-01f, -3.650418175602657e-01f},
+    {9.305424485524929e-01f, -3.661840403976272e-01f},
+    {9.300923725489892e-01f, -3.673257117684415e-01f},
+    {9.296408958431813e-01f, -3.684668299533723e-01f},
+    {9.291880191149847e-01f, -3.696073932339162e-01f},
+    {9.287337430464239e-01f, -3.707473998924054e-01f},
+    {9.282780683216301e-01f, -3.718868482120106e-01f},
+    {9.278209956268415e-01f, -3.730257364767432e-01f},
+    {9.273625256504011e-01f, -3.741640629714579e-01f},
+    {9.269026590827565e-01f, -3.753018259818559e-01f},
+    {9.264413966164585e-01f, -3.764390237944864e-01f},
+    {9.259787389461599e-01f, -3.775756546967501e-01f},
+    {9.255146867686148e-01f, -3.787117169769015e-01f},
+    {9.250492407826776e-01f, -3.798472089240512e-01f},
+    {9.245824016893013e-01f, -3.809821288281689e-01f},
+    {9.241141701915373e-01f, -3.821164749800858e-01f},
+    {9.236445469945337e-01f, -3.832502456714969e-01f},
+    {9.231735328055345e-01f, -3.843834391949643e-01f},
+    {9.227011283338786e-01f, -3.855160538439188e-01f},
+    {9.222273342909986e-01f, -3.866480879126634e-01f},
+    {9.217521513904198e-01f, -3.877795396963752e-01f},
+    {9.212755803477590e-01f, -3.889104074911081e-01f},
+    {9.207976218807237e-01f, -3.900406895937958e-01f},
+    {9.203182767091106e-01f, -3.911703843022539e-01f},
+    {9.198375455548048e-01f, -3.922994899151824e-01f},
+    {9.193554291417789e-01f, -3.934280047321689e-01f},
+    {9.188719281960914e-01f, -3.945559270536903e-01f},
+    {9.183870434458861e-01f, -3.956832551811160e-01f},
+    {9.179007756213905e-01f, -3.968099874167103e-01f},
+    {9.174131254549152e-01f, -3.979361220636348e-01f},
+    {9.169240936808526e-01f, -3.990616574259509e-01f},
+    {9.164336810356757e-01f, -4.001865918086229e-01f},
+    {9.159418882579371e-01f, -4.013109235175197e-01f},
+    {9.154487160882678e-01f, -4.024346508594184e-01f},
+    {9.149541652693762e-01f, -4.035577721420057e-01f},
+    {9.144582365460469e-01f, -4.046802856738814e-01f},
+    {9.139609306651395e-01f, -4.058021897645602e-01f},
+    {9.134622483755878e-01f, -4.069234827244749e-01f},
+    {9.129621904283982e-01f, -4.080441628649787e-01f},
+    {9.124607575766490e-01f, -4.091642284983474e-01f},
+    {9.119579505754890e-01f, -4.102836779377824e-01f},
+    {9.114537701821365e-01f, -4.114025094974132e-01f},
+    {9.109482171558779e-01f, -4.125207214922996e-01f},
+    {9.104412922580672e-01f, -4.136383122384345e-01f},
+    {9.099329962521239e-01f, -4.147552800527466e-01f},
+    {9.094233299035327e-01f, -4.158716232531024e-01f},
+    {9.089122939798419e-01f, -4.169873401583093e-01f},
+    {9.083998892506623e-01f, -4.181024290881177e-01f},
+    {9.078861164876663e-01f, -4.192168883632239e-01f},
+    {9.073709764645862e-01f, -4.203307163052724e-01f},
+    {9.068544699572136e-01f, -4.214439112368585e-01f},
+    {9.063365977433983e-01f, -4.225564714815306e-01f},
+    {9.058173606030460e-01f, -4.236683953637931e-01f},
+    {9.052967593181188e-01f, -4.247796812091088e-01f},
+    {9.047747946726327e-01f, -4.258903273439013e-01f},
+    {9.042514674526569e-01f, -4.270003320955576e-01f},
+    {9.037267784463131e-01f, -4.281096937924305e-01f},
+    {9.032007284437731e-01f, -4.292184107638414e-01f},
+    {9.026733182372588e-01f, -4.303264813400826e-01f},
+    {9.021445486210405e-01f, -4.314339038524199e-01f},
+    {9.016144203914357e-01f, -4.325406766330948e-01f},
+    {9.010829343468079e-01f, -4.336467980153277e-01f},
+    {9.005500912875654e-01f, -4.347522663333197e-01f},
+    {9.000158920161603e-01f, -4.358570799222555e-01f},
+    {8.994803373370870e-01f, -4.369612371183058e-01f},
+    {8.989434280568812e-01f, -4.380647362586298e-01f},
+    {8.984051649841186e-01f, -4.391675756813778e-01f},
+    {8.978655489294136e-01f, -4.402697537256935e-01f},
+    {8.973245807054183e-01f, -4.413712687317167e-01f},
+    {8.967822611268210e-01f, -4.424721190405857e-01f},
+    {8.962385910103452e-01f, -4.435723029944398e-01f},
+    {8.956935711747483e-01f, -4.446718189364220e-01f},
+    {8.951472024408204e-01f, -4.457706652106809e-01f},
+    {8.945994856313827e-01f, -4.468688401623742e-01f},
+    {8.940504215712870e-01f, -4.479663421376699e-01f},
+    {8.935000110874138e-01f, -4.490631694837502e-01f},
+    {8.929482550086714e-01f, -4.501593205488127e-01f},
+    {8.923951541659944e-01f, -4.512547936820739e-01f},
+    {8.918407093923427e-01f, -4.523495872337709e-01f},
+    {8.912849215227001e-01f, -4.534436995551644e-01f},
+    {8.907277913940732e-01f, -4.545371289985410e-01f},
+    {8.901693198454897e-01f, -4.556298739172159e-01f},
+    {8.896095077179980e-01f, -4.567219326655349e-01f},
+    {8.890483558546646e-01f, -4.578133035988772e-01f},
+    {8.884858651005743e-01f, -4.589039850736579e-01f},
+    {8.879220363028281e-01f, -4.599939754473306e-01f},
+    {8.873568703105417e-01f, -4.610832730783892e-01f},
+    {8.867903679748451e-01f, -4.621718763263714e-01f},
+    {8.862225301488806e-01f, -4.632597835518601e-01f},
+    {8.856533576878016e-01f, -4.643469931164871e-01f},
+    {8.850828514487716e-01f, -4.654335033829341e-01f},
+    {8.845110122909626e-01f, -4.665193127149364e-01f},
+    {8.839378410755541e-01f, -4.676044194772847e-01f},
+    {8.833633386657316e-01f, -4.686888220358279e-01f},
+    {8.827875059266853e-01f, -4.697725187574754e-01f},
+    {8.822103437256089e-01f, -4.708555080101994e-01f},
+    {8.816318529316984e-01f, -4.719377881630376e-01f},
+    {8.810520344161502e-01f, -4.730193575860958e-01f},
+    {8.804708890521608e-01f, -4.741002146505500e-01f},
+    {8.798884177149244e-01f, -4.751803577286489e-01f},
+    {8.793046212816323e-01f, -4.762597851937166e-01f},
+    {8.787195006314716e-01f, -4.773384954201548e-01f},
+    {8.781330566456232e-01f, -4.784164867834454e-01f},
+    {8.775452902072614e-01f, -4.794937576601530e-01f},
+    {8.769562022015515e-01f, -4.805703064279270e-01f},
+    {8.763657935156495e-01f, -4.816461314655044e-01f},
+    {8.757740650387004e-01f, -4.827212311527123e-01f},
+    {8.751810176618363e-01f, -4.837956038704698e-01f},
+    {8.745866522781761e-01f, -4.848692480007911e-01f},
+    {8.739909697828232e-01f, -4.859421619267875e-01f},
+    {8.733939710728648e-01f, -4.870143440326701e-01f},
+    {8.727956570473698e-01f, -4.880857927037520e-01f},
+    {8.721960286073888e-01f, -4.891565063264507e-01f},
+    {8.715950866559510e-01f, -4.902264832882912e-01f},
+    {8.709928320980644e-01f, -4.912957219779071e-01f},
+    {8.703892658407133e-01f, -4.923642207850446e-01f},
+    {8.697843887928577e-01f, -4.934319781005636e-01f},
+    {8.691782018654314e-01f, -4.944989923164409e-01f},
+    {8.685707059713409e-01f, -4.955652618257725e-01f},
+    {8.679619020254642e-01f, -4.966307850227757e-01f},
+    {8.673517909446490e-01f, -4.976955603027919e-01f},
+    {8.667403736477115e-01f, -4.987595860622885e-01f},
+    {8.661276510554351e-01f, -4.998228606988624e-01f},
+    {8.655136240905691e-01f, -5.008853826112407e-01f},
+    {8.648982936778269e-01f, -5.019471501992850e-01f},
+    {8.642816607438848e-01f, -5.030081618639924e-01f},
+    {8.636637262173812e-01f, -5.040684160074983e-01f},
+    {8.630444910289141e-01f, -5.051279110330795e-01f},
+    {8.624239561110406e-01f, -5.061866453451552e-01f},
+    {8.618021223982749e-01f, -5.072446173492910e-01f},
+    {8.611789908270876e-01f, -5.083018254522002e-01f},
+    {8.605545623359034e-01f, -5.093582680617462e-01f},
+    {8.599288378651004e-01f, -5.104139435869457e-01f},
+    {8.593018183570085e-01f, -5.114688504379703e-01f},
+    {8.586735047559073e-01f, -5.125229870261497e-01f},
+    {8.580438980080262e-01f, -5.135763517639729e-01f},
+    {8.574129990615412e-01f, -5.146289430650919e-01f},
+    {8.567808088665750e-01f, -5.156807593443229e-01f},
+    {8.561473283751945e-01f, -5.167317990176499e-01f},
+    {8.555125585414098e-01f, -5.177820605022260e-01f},
+    {8.548765003211730e-01f, -5.188315422163763e-01f},
+    {8.542391546723761e-01f, -5.198802425796005e-01f},
+    {8.536005225548502e-01f, -5.209281600125748e-01f},
+    {8.529606049303636e-01f, -5.219752929371544e-01f},
+    {8.523194027626210e-01f, -5.230216397763758e-01f},
+    {8.516769170172609e-01f, -5.240671989544601e-01f},
+    {8.510331486618554e-01f, -5.251119688968137e-01f},
+    {8.503880986659081e-01f, -5.261559480300321e-01f},
+    {8.497417680008525e-01f, -5.271991347819013e-01f},
+    {8.490941576400509e-01f, -5.282415275814013e-01f},
+    {8.484452685587929e-01f, -5.292831248587072e-01f},
+    {8.477951017342936e-01f, -5.303239250451923e-01f},
+    {8.471436581456926e-01f, -5.313639265734305e-01f},
+    {8.464909387740521e-01f, -5.324031278771979e-01f},
+    {8.458369446023557e-01f, -5.334415273914767e-01f},
+    {8.451816766155068e-01f, -5.344791235524554e-01f},
+    {8.445251358003272e-01f, -5.355159147975332e-01f},
+    {8.438673231455553e-01f, -5.365518995653215e-01f},
+    {8.432082396418454e-01f, -5.375870762956454e-01f},
+    {8.425478862817651e-01f, -5.386214434295480e-01f},
+    {8.418862640597948e-01f, -5.396549994092906e-01f},
+    {8.412233739723254e-01f, -5.406877426783570e-01f},
+    {8.405592170176576e-01f, -5.417196716814542e-01f},
+    {8.398937941959995e-01f, -5.427507848645159e-01f},
+    {8.392271065094661e-01f, -5.437810806747042e-01f},
+    {8.385591549620770e-01f, -5.448105575604123e-01f},
+    {8.378899405597550e-01f, -5.458392139712668e-01f},
+    {8.372194643103249e-01f, -5.468670483581293e-01f},
+    {8.365477272235120e-01f, -5.478940591731002e-01f},
+    {8.358747303109401e-01f, -5.489202448695194e-01f},
+    {8.352004745861303e-01f, -5.499456039019702e-01f},
+    {8.345249610644997e-01f, -5.509701347262801e-01f},
+    {8.338481907633595e-01f, -5.519938357995242e-01f},
+    {8.331701647019132e-01f, -5.530167055800275e-01f},
+    {8.324908839012561e-01f, -5.540387425273663e-01f},
+    {8.318103493843727e-01f, -5.550599451023716e-01f},
+    {8.311285621761358e-01f, -5.560803117671306e-01f},
+    {8.304455233033046e-01f, -5.570998409849897e-01f},
+    {8.297612337945230e-01f, -5.581185312205561e-01f},
+    {8.290756946803191e-01f, -5.591363809397010e-01f},
+    {8.283889069931020e-01f, -5.601533886095610e-01f},
+    {8.277008717671618e-01f, -5.611695526985409e-01f},
+    {8.270115900386670e-01f, -5.621848716763159e-01f},
+    {8.263210628456635e-01f, -5.631993440138341e-01f},
+    {8.256292912280727e-01f, -5.642129681833185e-01f},
+    {8.249362762276903e-01f, -5.652257426582692e-01f},
+    {8.242420188881840e-01f, -5.662376659134664e-01f},
+    {8.235465202550933e-01f, -5.672487364249718e-01f},
+    {8.228497813758264e-01f, -5.682589526701315e-01f},
+    {8.221518032996592e-01f, -5.692683131275782e-01f},
+    {8.214525870777344e-01f, -5.702768162772331e-01f},
+    {8.207521337630588e-01f, -5.712844606003090e-01f},
+    {8.200504444105025e-01f, -5.722912445793115e-01f},
+    {8.193475200767969e-01f, -5.732971666980422e-01f},
+    {8.186433618205335e-01f, -5.743022254416005e-01f},
+    {8.179379707021619e-01f, -5.753064192963863e-01f},
+    {8.172313477839882e-01f, -5.763097467501014e-01f},
+    {8.165234941301740e-01f, -5.773122062917532e-01f},
+    {8.158144108067338e-01f, -5.783137964116556e-01f},
+    {8.151040988815345e-01f, -5.793145156014319e-01f},
+    {8.143925594242929e-01f, -5.803143623540171e-01f},
+    {8.136797935065747e-01f, -5.813133351636602e-01f},
+    {8.129658022017924e-01f, -5.823114325259262e-01f},
+    {8.122505865852039e-01f, -5.833086529376983e-01f},
+    {8.115341477339112e-01f, -5.843049948971807e-01f},
+    {8.108164867268581e-01f, -5.853004569039005e-01f},
+    {8.100976046448293e-01f, -5.862950374587097e-01f},
+    {8.093775025704479e-01f, -5.872887350637883e-01f},
+    {8.086561815881750e-01f, -5.882815482226452e-01f},
+    {8.079336427843067e-01f, -5.892734754401222e-01f},
+    {8.072098872469734e-01f, -5.902645152223945e-01f},
+    {8.064849160661379e-01f, -5.912546660769743e-01f},
+    {8.057587303335938e-01f, -5.922439265127122e-01f},
+    {8.050313311429637e-01f, -5.932322950397998e-01f},
+    {8.043027195896973e-01f, -5.942197701697721e-01f},
+    {8.035728967710708e-01f, -5.952063504155093e-01f},
+    {8.028418637861839e-01f, -5.961920342912395e-01f},
+    {8.021096217359593e-01f, -5.971768203125404e-01f},
+    {8.013761717231402e-01f, -5.981607069963423e-01f},
+    {8.006415148522891e-01f, -5.991436928609294e-01f},
+    {7.999056522297859e-01f, -6.001257764259429e-01f},
+    {7.991685849638264e-01f, -6.011069562123827e-01f},
+    {7.984303141644207e-01f, -6.020872307426096e-01f},
+    {7.976908409433912e-01f, -6.030665985403482e-01f},
+    {7.969501664143711e-01f, -6.040450581306880e-01f},
+    {7.962082916928030e-01f, -6.050226080400867e-01f},
+    {7.954652178959369e-01f, -6.059992467963715e-01f},
+    {7.947209461428283e-01f, -6.069749729287426e-01f},
+    {7.939754775543372e-01f, -6.079497849677736e-01f},
+    {7.932288132531257e-01f, -6.089236814454155e-01f},
+    {7.924809543636567e-01f, -6.098966608949977e-01f},
+    {7.917319020121923e-01f, -6.108687218512306e-01f},
+    {7.909816573267918e-01f, -6.118398628502083e-01f},
+    {7.902302214373100e-01f, -6.128100824294097e-01f},
+    {7.894775954753960e-01f, -6.137793791277018e-01f},
+    {7.887237805744907e-01f, -6.147477514853411e-01f},
+    {7.879687778698258e-01f, -6.157151980439765e-01f},
+    {7.872125884984216e-01f, -6.166817173466510e-01f},
+    {7.864552135990858e-01f, -6.176473079378039e-01f},
+    {7.856966543124112e-01f, -6.186119683632733e-01f},
+    {7.849369117807745e-01f, -6.195756971702979e-01f},
+    {7.841759871483340e-01f, -6.205384929075197e-01f},
+    {7.834138815610288e-01f, -6.215003541249855e-01f},
+    {7.826505961665757e-01f, -6.224612793741500e-01f},
+    {7.818861321144691e-01f, -6.234212672078768e-01f},
+    {7.811204905559779e-01f, -6.243803161804418e-01f},
+    {7.803536726441443e-01f, -6.253384248475345e-01f},
+    {7.795856795337824e-01f, -6.262955917662607e-01f},
+    {7.788165123814760e-01f, -6.272518154951441e-01f},
+    {7.780461723455767e-01f, -6.282070945941292e-01f},
+    {7.772746605862029e-01f, -6.291614276245828e-01f},
+    {7.765019782652373e-01f, -6.301148131492967e-01f},
+    {7.757281265463254e-01f, -6.310672497324895e-01f},
+    {7.749531065948739e-01f, -6.320187359398091e-01f},
+    {7.741769195780490e-01f, -6.329692703383341e-01f},
+    {7.733995666647743e-01f, -6.339188514965771e-01f},
+    {7.726210490257291e-01f, -6.348674779844861e-01f},
+    {7.718413678333470e-01f, -6.358151483734467e-01f},
+    {7.710605242618138e-01f, -6.367618612362842e-01f},
+    {7.702785194870657e-01f, -6.377076151472665e-01f},
+    {7.694953546867879e-01f, -6.386524086821050e-01f},
+    {7.687110310404124e-01f, -6.395962404179578e-01f},
+    {7.679255497291163e-01f, -6.405391089334316e-01f},
+    {7.671389119358204e-01f, -6.414810128085832e-01f},
+    {7.663511188451869e-01f, -6.424219506249224e-01f},
+    {7.655621716436182e-01f, -6.433619209654138e-01f},
+    {7.647720715192542e-01f, -6.443009224144792e-01f},
+    {7.639808196619715e-01f, -6.452389535579994e-01f},
+    {7.631884172633813e-01f, -6.461760129833163e-01f},
+    {7.623948655168271e-01f, -6.471120992792355e-01f},
+    {7.616001656173835e-01f, -6.480472110360278e-01f},
+    {7.608043187618542e-01f, -6.489813468454321e-01f},
+    {7.600073261487703e-01f, -6.499145053006563e-01f},
+    {7.592091889783881e-01f, -6.508466849963809e-01f},
+    {7.584099084526877e-01f, -6.517778845287601e-01f},
+    {7.576094857753715e-01f, -6.527081024954242e-01f},
+    {7.568079221518612e-01f, -6.536373374954818e-01f},
+    {7.560052187892974e-01f, -6.545655881295217e-01f},
+    {7.552013768965365e-01f, -6.554928529996153e-01f},
+    {7.543963976841503e-01f, -6.564191307093185e-01f},
+    {7.535902823644226e-01f, -6.573444198636738e-01f},
+    {7.527830321513488e-01f, -6.582687190692122e-01f},
+    {7.519746482606328e-01f, -6.591920269339562e-01f},
+    {7.511651319096865e-01f, -6.601143420674205e-01f},
+    {7.503544843176265e-01f, -6.610356630806152e-01f},
+    {7.495427067052737e-01f, -6.619559885860479e-01f},
+    {7.487298002951505e-01f, -6.628753171977246e-01f},
+    {7.479157663114792e-01f, -6.637936475311532e-01f},
+    {7.471006059801801e-01f, -6.647109782033448e-01f},
+    {7.462843205288703e-01f, -6.656273078328160e-01f},
+    {7.454669111868606e-01f, -6.665426350395909e-01f},
+    {7.446483791851549e-01f, -6.674569584452033e-01f},
+    {7.438287257564475e-01f, -6.683702766726985e-01f},
+    {7.430079521351217e-01f, -6.692825883466360e-01f},
+    {7.421860595572477e-01f, -6.701938920930909e-01f},
+    {7.413630492605809e-01f, -6.711041865396560e-01f},
+    {7.405389224845600e-01f, -6.720134703154446e-01f},
+    {7.397136804703048e-01f, -6.729217420510915e-01f},
+    {7.388873244606151e-01f, -6.738290003787560e-01f},
+    {7.380598556999681e-01f, -6.747352439321236e-01f},
+    {7.372312754345167e-01f, -6.756404713464076e-01f},
+    {7.364015849120877e-01f, -6.765446812583521e-01f},
+    {7.355707853821803e-01f, -6.774478723062332e-01f},
+    {7.347388780959635e-01f, -6.783500431298615e-01f},
+    {7.339058643062745e-01f, -6.792511923705841e-01f},
+    {7.330717452676171e-01f, -6.801513186712865e-01f},
+    {7.322365222361595e-01f, -6.810504206763948e-01f},
+    {7.314001964697324e-01f, -6.819484970318775e-01f},
+    {7.305627692278276e-01f, -6.828455463852481e-01f},
+    {7.297242417715950e-01f, -6.837415673855661e-01f},
+    {7.288846153638420e-01f, -6.846365586834405e-01f},
+    {7.280438912690308e-01f, -6.855305189310302e-01f},
+    {7.272020707532766e-01f, -6.864234467820476e-01f},
+    {7.263591550843460e-01f, -6.873153408917591e-01f},
+    {7.255151455316546e-01f, -6.882061999169885e-01f},
+    {7.246700433662657e-01f, -6.890960225161182e-01f},
+    {7.238238498608879e-01f, -6.899848073490914e-01f},
+    {7.229765662898732e-01f, -6.908725530774144e-01f},
+    {7.221281939292153e-01f, -6.917592583641577e-01f},
+    {7.212787340565479e-01f, -6.926449218739597e-01f},
+    {7.204281879511419e-01f, -6.935295422730269e-01f},
+    {7.195765568939045e-01f, -6.944131182291369e-01f},
+    {7.187238421673769e-01f, -6.952956484116404e-01f},
+    {7.178700450557317e-01f, -6.961771314914630e-01f},
+    {7.170151668447722e-01f, -6.970575661411068e-01f},
+    {7.161592088219294e-01f, -6.979369510346534e-01f},
+    {7.153021722762606e-01f, -6.988152848477649e-01f},
+    {7.144440584984474e-01f, -6.996925662576865e-01f},
+    {7.135848687807936e-01f, -7.005687939432483e-01f},
+    {7.127246044172235e-01f, -7.014439665848672e-01f},
+    {7.118632667032795e-01f, -7.023180828645491e-01f},
+    {7.110008569361208e-01f, -7.031911414658905e-01f},
+    {7.101373764145209e-01f, -7.040631410740809e-01f},
+    {7.092728264388657e-01f, -7.049340803759049e-01f},
+    {7.084072083111520e-01f, -7.058039580597435e-01f},
+    {7.075405233349850e-01f, -7.066727728155766e-01f}
 };
 

Modified: freeswitch/branches/gmaruzz/libs/libg722_1/src/decoderf.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/libg722_1/src/decoderf.c	(original)
+++ freeswitch/branches/gmaruzz/libs/libg722_1/src/decoderf.c	Tue Dec 23 07:37:03 2008
@@ -451,7 +451,7 @@
 
         if (category == NUM_CATEGORIES - 1)
         {
-            noifillpos = standard_deviation*0.70711;
+            noifillpos = standard_deviation*0.70711f;
             noifillneg = -noifillpos;
 
             /* This assumes region_size = 20 */

Modified: freeswitch/branches/gmaruzz/libs/libg722_1/src/sam2coef.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/libg722_1/src/sam2coef.h	(original)
+++ freeswitch/branches/gmaruzz/libs/libg722_1/src/sam2coef.h	Tue Dec 23 07:37:03 2008
@@ -124,970 +124,970 @@
 #else
 const float samples_to_rmlt_window[DCT_LENGTH] =
 {
-    2.45436677e-03,
-    7.36304140e-03,
-    1.22715384e-02,
-    1.71797387e-02,
-    2.20875274e-02,
-    2.69947816e-02,
-    3.19013856e-02,
-    3.68072242e-02,
-    4.17121723e-02,
-    4.66161147e-02,
-    5.15189357e-02,
-    5.64205162e-02,
-    6.13207370e-02,
-    6.62194788e-02,
-    7.11166263e-02,
-    7.60120600e-02,
-    8.09056610e-02,
-    8.57973099e-02,
-    9.06868950e-02,
-    9.55742970e-02,
-    1.00459397e-01,
-    1.05342068e-01,
-    1.10222206e-01,
-    1.15099691e-01,
-    1.19974397e-01,
-    1.24846213e-01,
-    1.29715025e-01,
-    1.34580702e-01,
-    1.39443144e-01,
-    1.44302234e-01,
-    1.49157837e-01,
-    1.54009849e-01,
-    1.58858150e-01,
-    1.63702607e-01,
-    1.68543145e-01,
-    1.73379600e-01,
-    1.78211898e-01,
-    1.83039889e-01,
-    1.87863469e-01,
-    1.92682534e-01,
-    1.97496936e-01,
-    2.02306598e-01,
-    2.07111374e-01,
-    2.11911172e-01,
-    2.16705844e-01,
-    2.21495315e-01,
-    2.26279438e-01,
-    2.31058106e-01,
-    2.35831216e-01,
-    2.40598634e-01,
-    2.45360255e-01,
-    2.50115961e-01,
-    2.54865646e-01,
-    2.59609193e-01,
-    2.64346480e-01,
-    2.69077420e-01,
-    2.73801863e-01,
-    2.78519690e-01,
-    2.83230811e-01,
-    2.87935108e-01,
-    2.92632490e-01,
-    2.97322810e-01,
-    3.02005947e-01,
-    3.06681812e-01,
-    3.11350316e-01,
-    3.16011280e-01,
-    3.20664644e-01,
-    3.25310290e-01,
-    3.29948097e-01,
-    3.34577948e-01,
-    3.39199722e-01,
-    3.43813360e-01,
-    3.48418683e-01,
-    3.53015602e-01,
-    3.57604057e-01,
-    3.62183869e-01,
-    3.66754949e-01,
-    3.71317208e-01,
-    3.75870496e-01,
-    3.80414754e-01,
-    3.84949833e-01,
-    3.89475614e-01,
-    3.93992037e-01,
-    3.98498952e-01,
-    4.02996302e-01,
-    4.07483906e-01,
-    4.11961704e-01,
-    4.16429549e-01,
-    4.20887381e-01,
-    4.25335079e-01,
-    4.29772526e-01,
-    4.34199601e-01,
-    4.38616246e-01,
-    4.43022281e-01,
-    4.47417676e-01,
-    4.51802284e-01,
-    4.56175983e-01,
-    4.60538715e-01,
-    4.64890331e-01,
-    4.69230771e-01,
-    4.73559886e-01,
-    4.77877587e-01,
-    4.82183784e-01,
-    4.86478359e-01,
-    4.90761191e-01,
-    4.95032221e-01,
-    4.99291331e-01,
-    5.03538370e-01,
-    5.07773340e-01,
-    5.11996031e-01,
-    5.16206384e-01,
-    5.20404279e-01,
-    5.24589658e-01,
-    5.28762400e-01,
-    5.32922447e-01,
-    5.37069619e-01,
-    5.41203797e-01,
-    5.45324981e-01,
-    5.49433053e-01,
-    5.53527832e-01,
-    5.57609320e-01,
-    5.61677337e-01,
-    5.65731823e-01,
-    5.69772661e-01,
-    5.73799789e-01,
-    5.77813089e-01,
-    5.81812501e-01,
-    5.85797846e-01,
-    5.89769125e-01,
-    5.93726158e-01,
-    5.97668886e-01,
-    6.01597190e-01,
-    6.05511069e-01,
-    6.09410286e-01,
-    6.13294840e-01,
-    6.17164612e-01,
-    6.21019542e-01,
-    6.24859512e-01,
-    6.28684402e-01,
-    6.32494152e-01,
-    6.36288643e-01,
-    6.40067816e-01,
-    6.43831551e-01,
-    6.47579789e-01,
-    6.51312411e-01,
-    6.55029356e-01,
-    6.58730507e-01,
-    6.62415802e-01,
-    6.66085124e-01,
-    6.69738352e-01,
-    6.73375487e-01,
-    6.76996410e-01,
-    6.80601001e-01,
-    6.84189200e-01,
-    6.87760890e-01,
-    6.91316009e-01,
-    6.94854498e-01,
-    6.98376238e-01,
-    7.01881170e-01,
-    7.05369174e-01,
-    7.08840132e-01,
-    7.12294042e-01,
-    7.15730846e-01,
-    7.19150364e-01,
-    7.22552538e-01,
-    7.25937307e-01,
-    7.29304552e-01,
-    7.32654274e-01,
-    7.35986352e-01,
-    7.39300668e-01,
-    7.42597163e-01,
-    7.45875776e-01,
-    7.49136388e-01,
-    7.52379000e-01,
-    7.55603433e-01,
-    7.58809686e-01,
-    7.61997640e-01,
-    7.65167236e-01,
-    7.68318415e-01,
-    7.71451116e-01,
-    7.74565160e-01,
-    7.77660549e-01,
-    7.80737221e-01,
-    7.83795059e-01,
-    7.86834061e-01,
-    7.89854050e-01,
-    7.92855024e-01,
-    7.95836926e-01,
-    7.98799574e-01,
-    8.01743031e-01,
-    8.04667175e-01,
-    8.07571888e-01,
-    8.10457170e-01,
-    8.13322961e-01,
-    8.16169083e-01,
-    8.18995595e-01,
-    8.21802378e-01,
-    8.24589312e-01,
-    8.27356398e-01,
-    8.30103517e-01,
-    8.32830667e-01,
-    8.35537732e-01,
-    8.38224709e-01,
-    8.40891480e-01,
-    8.43537927e-01,
-    8.46164107e-01,
-    8.48769844e-01,
-    8.51355195e-01,
-    8.53919983e-01,
-    8.56464207e-01,
-    8.58987808e-01,
-    8.61490726e-01,
-    8.63972843e-01,
-    8.66434157e-01,
-    8.68874609e-01,
-    8.71294141e-01,
-    8.73692632e-01,
-    8.76070082e-01,
-    8.78426433e-01,
-    8.80761623e-01,
-    8.83075595e-01,
-    8.85368288e-01,
-    8.87639642e-01,
-    8.89889598e-01,
-    8.92118096e-01,
-    8.94325137e-01,
-    8.96510601e-01,
-    8.98674488e-01,
-    9.00816679e-01,
-    9.02937174e-01,
-    9.05035973e-01,
-    9.07112896e-01,
-    9.09168005e-01,
-    9.11201179e-01,
-    9.13212419e-01,
-    9.15201604e-01,
-    9.17168796e-01,
-    9.19113874e-01,
-    9.21036780e-01,
-    9.22937512e-01,
-    9.24816012e-01,
-    9.26672220e-01,
-    9.28506076e-01,
-    9.30317581e-01,
-    9.32106674e-01,
-    9.33873296e-01,
-    9.35617447e-01,
-    9.37339008e-01,
-    9.39037979e-01,
-    9.40714359e-01,
-    9.42368090e-01,
-    9.43999052e-01,
-    9.45607305e-01,
-    9.47192788e-01,
-    9.48755443e-01,
-    9.50295210e-01,
-    9.51812088e-01,
-    9.53306019e-01,
-    9.54777002e-01,
-    9.56224978e-01,
-    9.57649946e-01,
-    9.59051788e-01,
-    9.60430503e-01,
-    9.61786151e-01,
-    9.63118553e-01,
-    9.64427769e-01,
-    9.65713739e-01,
-    9.66976464e-01,
-    9.68215883e-01,
-    9.69431996e-01,
-    9.70624685e-01,
-    9.71794009e-01,
-    9.72939968e-01,
-    9.74062443e-01,
-    9.75161433e-01,
-    9.76236939e-01,
-    9.77288961e-01,
-    9.78317380e-01,
-    9.79322255e-01,
-    9.80303526e-01,
-    9.81261134e-01,
-    9.82195139e-01,
-    9.83105481e-01,
-    9.83992159e-01,
-    9.84855056e-01,
-    9.85694289e-01,
-    9.86509740e-01,
-    9.87301409e-01,
-    9.88069296e-01,
-    9.88813400e-01,
-    9.89533663e-01,
-    9.90230083e-01,
-    9.90902662e-01,
-    9.91551340e-01,
-    9.92176116e-01,
-    9.92776990e-01,
-    9.93353963e-01,
-    9.93906975e-01,
-    9.94436026e-01,
-    9.94941175e-01,
-    9.95422304e-01,
-    9.95879471e-01,
-    9.96312618e-01,
-    9.96721745e-01,
-    9.97106910e-01,
-    9.97467995e-01,
-    9.97805059e-01,
-    9.98118103e-01,
-    9.98407066e-01,
-    9.98672009e-01,
-    9.98912871e-01,
-    9.99129653e-01,
-    9.99322355e-01,
-    9.99491036e-01,
-    9.99635577e-01,
-    9.99756038e-01,
-    9.99852419e-01,
-    9.99924719e-01,
-    9.99972880e-01,
-    9.99996960e-01
+    2.45436677e-03f,
+    7.36304140e-03f,
+    1.22715384e-02f,
+    1.71797387e-02f,
+    2.20875274e-02f,
+    2.69947816e-02f,
+    3.19013856e-02f,
+    3.68072242e-02f,
+    4.17121723e-02f,
+    4.66161147e-02f,
+    5.15189357e-02f,
+    5.64205162e-02f,
+    6.13207370e-02f,
+    6.62194788e-02f,
+    7.11166263e-02f,
+    7.60120600e-02f,
+    8.09056610e-02f,
+    8.57973099e-02f,
+    9.06868950e-02f,
+    9.55742970e-02f,
+    1.00459397e-01f,
+    1.05342068e-01f,
+    1.10222206e-01f,
+    1.15099691e-01f,
+    1.19974397e-01f,
+    1.24846213e-01f,
+    1.29715025e-01f,
+    1.34580702e-01f,
+    1.39443144e-01f,
+    1.44302234e-01f,
+    1.49157837e-01f,
+    1.54009849e-01f,
+    1.58858150e-01f,
+    1.63702607e-01f,
+    1.68543145e-01f,
+    1.73379600e-01f,
+    1.78211898e-01f,
+    1.83039889e-01f,
+    1.87863469e-01f,
+    1.92682534e-01f,
+    1.97496936e-01f,
+    2.02306598e-01f,
+    2.07111374e-01f,
+    2.11911172e-01f,
+    2.16705844e-01f,
+    2.21495315e-01f,
+    2.26279438e-01f,
+    2.31058106e-01f,
+    2.35831216e-01f,
+    2.40598634e-01f,
+    2.45360255e-01f,
+    2.50115961e-01f,
+    2.54865646e-01f,
+    2.59609193e-01f,
+    2.64346480e-01f,
+    2.69077420e-01f,
+    2.73801863e-01f,
+    2.78519690e-01f,
+    2.83230811e-01f,
+    2.87935108e-01f,
+    2.92632490e-01f,
+    2.97322810e-01f,
+    3.02005947e-01f,
+    3.06681812e-01f,
+    3.11350316e-01f,
+    3.16011280e-01f,
+    3.20664644e-01f,
+    3.25310290e-01f,
+    3.29948097e-01f,
+    3.34577948e-01f,
+    3.39199722e-01f,
+    3.43813360e-01f,
+    3.48418683e-01f,
+    3.53015602e-01f,
+    3.57604057e-01f,
+    3.62183869e-01f,
+    3.66754949e-01f,
+    3.71317208e-01f,
+    3.75870496e-01f,
+    3.80414754e-01f,
+    3.84949833e-01f,
+    3.89475614e-01f,
+    3.93992037e-01f,
+    3.98498952e-01f,
+    4.02996302e-01f,
+    4.07483906e-01f,
+    4.11961704e-01f,
+    4.16429549e-01f,
+    4.20887381e-01f,
+    4.25335079e-01f,
+    4.29772526e-01f,
+    4.34199601e-01f,
+    4.38616246e-01f,
+    4.43022281e-01f,
+    4.47417676e-01f,
+    4.51802284e-01f,
+    4.56175983e-01f,
+    4.60538715e-01f,
+    4.64890331e-01f,
+    4.69230771e-01f,
+    4.73559886e-01f,
+    4.77877587e-01f,
+    4.82183784e-01f,
+    4.86478359e-01f,
+    4.90761191e-01f,
+    4.95032221e-01f,
+    4.99291331e-01f,
+    5.03538370e-01f,
+    5.07773340e-01f,
+    5.11996031e-01f,
+    5.16206384e-01f,
+    5.20404279e-01f,
+    5.24589658e-01f,
+    5.28762400e-01f,
+    5.32922447e-01f,
+    5.37069619e-01f,
+    5.41203797e-01f,
+    5.45324981e-01f,
+    5.49433053e-01f,
+    5.53527832e-01f,
+    5.57609320e-01f,
+    5.61677337e-01f,
+    5.65731823e-01f,
+    5.69772661e-01f,
+    5.73799789e-01f,
+    5.77813089e-01f,
+    5.81812501e-01f,
+    5.85797846e-01f,
+    5.89769125e-01f,
+    5.93726158e-01f,
+    5.97668886e-01f,
+    6.01597190e-01f,
+    6.05511069e-01f,
+    6.09410286e-01f,
+    6.13294840e-01f,
+    6.17164612e-01f,
+    6.21019542e-01f,
+    6.24859512e-01f,
+    6.28684402e-01f,
+    6.32494152e-01f,
+    6.36288643e-01f,
+    6.40067816e-01f,
+    6.43831551e-01f,
+    6.47579789e-01f,
+    6.51312411e-01f,
+    6.55029356e-01f,
+    6.58730507e-01f,
+    6.62415802e-01f,
+    6.66085124e-01f,
+    6.69738352e-01f,
+    6.73375487e-01f,
+    6.76996410e-01f,
+    6.80601001e-01f,
+    6.84189200e-01f,
+    6.87760890e-01f,
+    6.91316009e-01f,
+    6.94854498e-01f,
+    6.98376238e-01f,
+    7.01881170e-01f,
+    7.05369174e-01f,
+    7.08840132e-01f,
+    7.12294042e-01f,
+    7.15730846e-01f,
+    7.19150364e-01f,
+    7.22552538e-01f,
+    7.25937307e-01f,
+    7.29304552e-01f,
+    7.32654274e-01f,
+    7.35986352e-01f,
+    7.39300668e-01f,
+    7.42597163e-01f,
+    7.45875776e-01f,
+    7.49136388e-01f,
+    7.52379000e-01f,
+    7.55603433e-01f,
+    7.58809686e-01f,
+    7.61997640e-01f,
+    7.65167236e-01f,
+    7.68318415e-01f,
+    7.71451116e-01f,
+    7.74565160e-01f,
+    7.77660549e-01f,
+    7.80737221e-01f,
+    7.83795059e-01f,
+    7.86834061e-01f,
+    7.89854050e-01f,
+    7.92855024e-01f,
+    7.95836926e-01f,
+    7.98799574e-01f,
+    8.01743031e-01f,
+    8.04667175e-01f,
+    8.07571888e-01f,
+    8.10457170e-01f,
+    8.13322961e-01f,
+    8.16169083e-01f,
+    8.18995595e-01f,
+    8.21802378e-01f,
+    8.24589312e-01f,
+    8.27356398e-01f,
+    8.30103517e-01f,
+    8.32830667e-01f,
+    8.35537732e-01f,
+    8.38224709e-01f,
+    8.40891480e-01f,
+    8.43537927e-01f,
+    8.46164107e-01f,
+    8.48769844e-01f,
+    8.51355195e-01f,
+    8.53919983e-01f,
+    8.56464207e-01f,
+    8.58987808e-01f,
+    8.61490726e-01f,
+    8.63972843e-01f,
+    8.66434157e-01f,
+    8.68874609e-01f,
+    8.71294141e-01f,
+    8.73692632e-01f,
+    8.76070082e-01f,
+    8.78426433e-01f,
+    8.80761623e-01f,
+    8.83075595e-01f,
+    8.85368288e-01f,
+    8.87639642e-01f,
+    8.89889598e-01f,
+    8.92118096e-01f,
+    8.94325137e-01f,
+    8.96510601e-01f,
+    8.98674488e-01f,
+    9.00816679e-01f,
+    9.02937174e-01f,
+    9.05035973e-01f,
+    9.07112896e-01f,
+    9.09168005e-01f,
+    9.11201179e-01f,
+    9.13212419e-01f,
+    9.15201604e-01f,
+    9.17168796e-01f,
+    9.19113874e-01f,
+    9.21036780e-01f,
+    9.22937512e-01f,
+    9.24816012e-01f,
+    9.26672220e-01f,
+    9.28506076e-01f,
+    9.30317581e-01f,
+    9.32106674e-01f,
+    9.33873296e-01f,
+    9.35617447e-01f,
+    9.37339008e-01f,
+    9.39037979e-01f,
+    9.40714359e-01f,
+    9.42368090e-01f,
+    9.43999052e-01f,
+    9.45607305e-01f,
+    9.47192788e-01f,
+    9.48755443e-01f,
+    9.50295210e-01f,
+    9.51812088e-01f,
+    9.53306019e-01f,
+    9.54777002e-01f,
+    9.56224978e-01f,
+    9.57649946e-01f,
+    9.59051788e-01f,
+    9.60430503e-01f,
+    9.61786151e-01f,
+    9.63118553e-01f,
+    9.64427769e-01f,
+    9.65713739e-01f,
+    9.66976464e-01f,
+    9.68215883e-01f,
+    9.69431996e-01f,
+    9.70624685e-01f,
+    9.71794009e-01f,
+    9.72939968e-01f,
+    9.74062443e-01f,
+    9.75161433e-01f,
+    9.76236939e-01f,
+    9.77288961e-01f,
+    9.78317380e-01f,
+    9.79322255e-01f,
+    9.80303526e-01f,
+    9.81261134e-01f,
+    9.82195139e-01f,
+    9.83105481e-01f,
+    9.83992159e-01f,
+    9.84855056e-01f,
+    9.85694289e-01f,
+    9.86509740e-01f,
+    9.87301409e-01f,
+    9.88069296e-01f,
+    9.88813400e-01f,
+    9.89533663e-01f,
+    9.90230083e-01f,
+    9.90902662e-01f,
+    9.91551340e-01f,
+    9.92176116e-01f,
+    9.92776990e-01f,
+    9.93353963e-01f,
+    9.93906975e-01f,
+    9.94436026e-01f,
+    9.94941175e-01f,
+    9.95422304e-01f,
+    9.95879471e-01f,
+    9.96312618e-01f,
+    9.96721745e-01f,
+    9.97106910e-01f,
+    9.97467995e-01f,
+    9.97805059e-01f,
+    9.98118103e-01f,
+    9.98407066e-01f,
+    9.98672009e-01f,
+    9.98912871e-01f,
+    9.99129653e-01f,
+    9.99322355e-01f,
+    9.99491036e-01f,
+    9.99635577e-01f,
+    9.99756038e-01f,
+    9.99852419e-01f,
+    9.99924719e-01f,
+    9.99972880e-01f,
+    9.99996960e-01f
 };
 
 const float max_samples_to_rmlt_window[MAX_DCT_LENGTH] =
 {
-    1.22718432e-03,
-    3.68154561e-03,
-    6.13588467e-03,
-    8.59018695e-03,
-    1.10444371e-02,
-    1.34986211e-02,
-    1.59527231e-02,
-    1.84067301e-02,
-    2.08606254e-02,
-    2.33143959e-02,
-    2.57680248e-02,
-    2.82214992e-02,
-    3.06748040e-02,
-    3.31279226e-02,
-    3.55808437e-02,
-    3.80335487e-02,
-    4.04860228e-02,
-    4.29382585e-02,
-    4.53902297e-02,
-    4.78419326e-02,
-    5.02933450e-02,
-    5.27444519e-02,
-    5.51952459e-02,
-    5.76457046e-02,
-    6.00958169e-02,
-    6.25455678e-02,
-    6.49949387e-02,
-    6.74439222e-02,
-    6.98924959e-02,
-    7.23406523e-02,
-    7.47883692e-02,
-    7.72356316e-02,
-    7.96824396e-02,
-    8.21287632e-02,
-    8.45745876e-02,
-    8.70199054e-02,
-    8.94647017e-02,
-    9.19089541e-02,
-    9.43526551e-02,
-    9.67957899e-02,
-    9.92383435e-02,
-    1.01680294e-01,
-    1.04121633e-01,
-    1.06562346e-01,
-    1.09002419e-01,
-    1.11441828e-01,
-    1.13880575e-01,
-    1.16318628e-01,
-    1.18755989e-01,
-    1.21192627e-01,
-    1.23628542e-01,
-    1.26063704e-01,
-    1.28498107e-01,
-    1.30931750e-01,
-    1.33364588e-01,
-    1.35796621e-01,
-    1.38227850e-01,
-    1.40658244e-01,
-    1.43087775e-01,
-    1.45516455e-01,
-    1.47944272e-01,
-    1.50371179e-01,
-    1.52797192e-01,
-    1.55222267e-01,
-    1.57646418e-01,
-    1.60069630e-01,
-    1.62491858e-01,
-    1.64913118e-01,
-    1.67333379e-01,
-    1.69752643e-01,
-    1.72170877e-01,
-    1.74588069e-01,
-    1.77004218e-01,
-    1.79419294e-01,
-    1.81833297e-01,
-    1.84246197e-01,
-    1.86657995e-01,
-    1.89068660e-01,
-    1.91478193e-01,
-    1.93886578e-01,
-    1.96293786e-01,
-    1.98699802e-01,
-    2.01104641e-01,
-    2.03508258e-01,
-    2.05910638e-01,
-    2.08311796e-01,
-    2.10711688e-01,
-    2.13110313e-01,
-    2.15507656e-01,
-    2.17903703e-01,
-    2.20298439e-01,
-    2.22691849e-01,
-    2.25083917e-01,
-    2.27474615e-01,
-    2.29863957e-01,
-    2.32251912e-01,
-    2.34638467e-01,
-    2.37023607e-01,
-    2.39407316e-01,
-    2.41789594e-01,
-    2.44170398e-01,
-    2.46549740e-01,
-    2.48927608e-01,
-    2.51303971e-01,
-    2.53678799e-01,
-    2.56052136e-01,
-    2.58423895e-01,
-    2.60794103e-01,
-    2.63162762e-01,
-    2.65529811e-01,
-    2.67895281e-01,
-    2.70259142e-01,
-    2.72621363e-01,
-    2.74981946e-01,
-    2.77340859e-01,
-    2.79698104e-01,
-    2.82053679e-01,
-    2.84407526e-01,
-    2.86759704e-01,
-    2.89110124e-01,
-    2.91458815e-01,
-    2.93805718e-01,
-    2.96150893e-01,
-    2.98494250e-01,
-    3.00835848e-01,
-    3.03175598e-01,
-    3.05513531e-01,
-    3.07849646e-01,
-    3.10183883e-01,
-    3.12516272e-01,
-    3.14846754e-01,
-    3.17175359e-01,
-    3.19502026e-01,
-    3.21826786e-01,
-    3.24149609e-01,
-    3.26470494e-01,
-    3.28789383e-01,
-    3.31106305e-01,
-    3.33421230e-01,
-    3.35734159e-01,
-    3.38045061e-01,
-    3.40353906e-01,
-    3.42660725e-01,
-    3.44965458e-01,
-    3.47268134e-01,
-    3.49568695e-01,
-    3.51867169e-01,
-    3.54163527e-01,
-    3.56457740e-01,
-    3.58749807e-01,
-    3.61039728e-01,
-    3.63327444e-01,
-    3.65612984e-01,
-    3.67896348e-01,
-    3.70177478e-01,
-    3.72456372e-01,
-    3.74733001e-01,
-    3.77007425e-01,
-    3.79279524e-01,
-    3.81549388e-01,
-    3.83816928e-01,
-    3.86082143e-01,
-    3.88345033e-01,
-    3.90605599e-01,
-    3.92863810e-01,
-    3.95119667e-01,
-    3.97373140e-01,
-    3.99624199e-01,
-    4.01872873e-01,
-    4.04119104e-01,
-    4.06362921e-01,
-    4.08604264e-01,
-    4.10843164e-01,
-    4.13079590e-01,
-    4.15313542e-01,
-    4.17544961e-01,
-    4.19773877e-01,
-    4.22000259e-01,
-    4.24224108e-01,
-    4.26445425e-01,
-    4.28664148e-01,
-    4.30880278e-01,
-    4.33093816e-01,
-    4.35304761e-01,
-    4.37513083e-01,
-    4.39718753e-01,
-    4.41921771e-01,
-    4.44122136e-01,
-    4.46319848e-01,
-    4.48514849e-01,
-    4.50707138e-01,
-    4.52896714e-01,
-    4.55083579e-01,
-    4.57267702e-01,
-    4.59449053e-01,
-    4.61627662e-01,
-    4.63803470e-01,
-    4.65976506e-01,
-    4.68146712e-01,
-    4.70314115e-01,
-    4.72478658e-01,
-    4.74640369e-01,
-    4.76799220e-01,
-    4.78955209e-01,
-    4.81108308e-01,
-    4.83258516e-01,
-    4.85405803e-01,
-    4.87550169e-01,
-    4.89691585e-01,
-    4.91830051e-01,
-    4.93965566e-01,
-    4.96098131e-01,
-    4.98227656e-01,
-    5.00354230e-01,
-    5.02477765e-01,
-    5.04598260e-01,
-    5.06715715e-01,
-    5.08830130e-01,
-    5.10941505e-01,
-    5.13049781e-01,
-    5.15154958e-01,
-    5.17257035e-01,
-    5.19356012e-01,
-    5.21451831e-01,
-    5.23544490e-01,
-    5.25634050e-01,
-    5.27720451e-01,
-    5.29803634e-01,
-    5.31883657e-01,
-    5.33960402e-01,
-    5.36033988e-01,
-    5.38104355e-01,
-    5.40171444e-01,
-    5.42235315e-01,
-    5.44295907e-01,
-    5.46353221e-01,
-    5.48407257e-01,
-    5.50457954e-01,
-    5.52505374e-01,
-    5.54549456e-01,
-    5.56590199e-01,
-    5.58627546e-01,
-    5.60661554e-01,
-    5.62692225e-01,
-    5.64719439e-01,
-    5.66743314e-01,
-    5.68763733e-01,
-    5.70780754e-01,
-    5.72794318e-01,
-    5.74804425e-01,
-    5.76811075e-01,
-    5.78814268e-01,
-    5.80813944e-01,
-    5.82810163e-01,
-    5.84802806e-01,
-    5.86791992e-01,
-    5.88777602e-01,
-    5.90759695e-01,
-    5.92738211e-01,
-    5.94713151e-01,
-    5.96684515e-01,
-    5.98652303e-01,
-    6.00616455e-01,
-    6.02577031e-01,
-    6.04533970e-01,
-    6.06487215e-01,
-    6.08436823e-01,
-    6.10382795e-01,
-    6.12325072e-01,
-    6.14263654e-01,
-    6.16198599e-01,
-    6.18129730e-01,
-    6.20057225e-01,
-    6.21980906e-01,
-    6.23900890e-01,
-    6.25817120e-01,
-    6.27729595e-01,
-    6.29638255e-01,
-    6.31543100e-01,
-    6.33444190e-01,
-    6.35341406e-01,
-    6.37234867e-01,
-    6.39124453e-01,
-    6.41010165e-01,
-    6.42892063e-01,
-    6.44770086e-01,
-    6.46644175e-01,
-    6.48514390e-01,
-    6.50380731e-01,
-    6.52243137e-01,
-    6.54101610e-01,
-    6.55956089e-01,
-    6.57806695e-01,
-    6.59653306e-01,
-    6.61495924e-01,
-    6.63334608e-01,
-    6.65169239e-01,
-    6.66999936e-01,
-    6.68826580e-01,
-    6.70649171e-01,
-    6.72467709e-01,
-    6.74282253e-01,
-    6.76092684e-01,
-    6.77899063e-01,
-    6.79701388e-01,
-    6.81499600e-01,
-    6.83293700e-01,
-    6.85083687e-01,
-    6.86869502e-01,
-    6.88651264e-01,
-    6.90428793e-01,
-    6.92202210e-01,
-    6.93971455e-01,
-    6.95736527e-01,
-    6.97497368e-01,
-    6.99254036e-01,
-    7.01006532e-01,
-    7.02754736e-01,
-    7.04498768e-01,
-    7.06238508e-01,
-    7.07974017e-01,
-    7.09705234e-01,
-    7.11432219e-01,
-    7.13154852e-01,
-    7.14873254e-01,
-    7.16587305e-01,
-    7.18297064e-01,
-    7.20002532e-01,
-    7.21703589e-01,
-    7.23400354e-01,
-    7.25092709e-01,
-    7.26780772e-01,
-    7.28464365e-01,
-    7.30143666e-01,
-    7.31818497e-01,
-    7.33488917e-01,
-    7.35154986e-01,
-    7.36816585e-01,
-    7.38473713e-01,
-    7.40126431e-01,
-    7.41774678e-01,
-    7.43418455e-01,
-    7.45057762e-01,
-    7.46692598e-01,
-    7.48322904e-01,
-    7.49948740e-01,
-    7.51570046e-01,
-    7.53186822e-01,
-    7.54799008e-01,
-    7.56406724e-01,
-    7.58009851e-01,
-    7.59608388e-01,
-    7.61202395e-01,
-    7.62791812e-01,
-    7.64376581e-01,
-    7.65956819e-01,
-    7.67532349e-01,
-    7.69103348e-01,
-    7.70669639e-01,
-    7.72231340e-01,
-    7.73788393e-01,
-    7.75340736e-01,
-    7.76888490e-01,
-    7.78431475e-01,
-    7.79969811e-01,
-    7.81503439e-01,
-    7.83032358e-01,
-    7.84556568e-01,
-    7.86076069e-01,
-    7.87590802e-01,
-    7.89100826e-01,
-    7.90606081e-01,
-    7.92106569e-01,
-    7.93602288e-01,
-    7.95093238e-01,
-    7.96579361e-01,
-    7.98060715e-01,
-    7.99537241e-01,
-    8.01008999e-01,
-    8.02475870e-01,
-    8.03937972e-01,
-    8.05395186e-01,
-    8.06847572e-01,
-    8.08295071e-01,
-    8.09737682e-01,
-    8.11175466e-01,
-    8.12608361e-01,
-    8.14036310e-01,
-    8.15459430e-01,
-    8.16877604e-01,
-    8.18290830e-01,
-    8.19699109e-01,
-    8.21102500e-01,
-    8.22500944e-01,
-    8.23894441e-01,
-    8.25282931e-01,
-    8.26666474e-01,
-    8.28045070e-01,
-    8.29418600e-01,
-    8.30787182e-01,
-    8.32150757e-01,
-    8.33509326e-01,
-    8.34862888e-01,
-    8.36211383e-01,
-    8.37554872e-01,
-    8.38893294e-01,
-    8.40226650e-01,
-    8.41554999e-01,
-    8.42878222e-01,
-    8.44196379e-01,
-    8.45509470e-01,
-    8.46817434e-01,
-    8.48120332e-01,
-    8.49418104e-01,
-    8.50710809e-01,
-    8.51998329e-01,
-    8.53280723e-01,
-    8.54557991e-01,
-    8.55830133e-01,
-    8.57097089e-01,
-    8.58358860e-01,
-    8.59615505e-01,
-    8.60866964e-01,
-    8.62113178e-01,
-    8.63354266e-01,
-    8.64590168e-01,
-    8.65820825e-01,
-    8.67046237e-01,
-    8.68266463e-01,
-    8.69481444e-01,
-    8.70691240e-01,
-    8.71895730e-01,
-    8.73094976e-01,
-    8.74288976e-01,
-    8.75477731e-01,
-    8.76661181e-01,
-    8.77839327e-01,
-    8.79012227e-01,
-    8.80179822e-01,
-    8.81342113e-01,
-    8.82499099e-01,
-    8.83650780e-01,
-    8.84797096e-01,
-    8.85938108e-01,
-    8.87073815e-01,
-    8.88204098e-01,
-    8.89329076e-01,
-    8.90448749e-01,
-    8.91562998e-01,
-    8.92671883e-01,
-    8.93775403e-01,
-    8.94873500e-01,
-    8.95966232e-01,
-    8.97053599e-01,
-    8.98135543e-01,
-    8.99212062e-01,
-    9.00283158e-01,
-    9.01348829e-01,
-    9.02409077e-01,
-    9.03463900e-01,
-    9.04513299e-01,
-    9.05557215e-01,
-    9.06595707e-01,
-    9.07628715e-01,
-    9.08656240e-01,
-    9.09678340e-01,
-    9.10694897e-01,
-    9.11706030e-01,
-    9.12711620e-01,
-    9.13711786e-01,
-    9.14706349e-01,
-    9.15695488e-01,
-    9.16679084e-01,
-    9.17657137e-01,
-    9.18629646e-01,
-    9.19596672e-01,
-    9.20558095e-01,
-    9.21514034e-01,
-    9.22464430e-01,
-    9.23409224e-01,
-    9.24348474e-01,
-    9.25282121e-01,
-    9.26210225e-01,
-    9.27132785e-01,
-    9.28049684e-01,
-    9.28961039e-01,
-    9.29866791e-01,
-    9.30766940e-01,
-    9.31661487e-01,
-    9.32550430e-01,
-    9.33433771e-01,
-    9.34311450e-01,
-    9.35183525e-01,
-    9.36049938e-01,
-    9.36910748e-01,
-    9.37765896e-01,
-    9.38615382e-01,
-    9.39459205e-01,
-    9.40297425e-01,
-    9.41129923e-01,
-    9.41956758e-01,
-    9.42777932e-01,
-    9.43593442e-01,
-    9.44403291e-01,
-    9.45207417e-01,
-    9.46005821e-01,
-    9.46798563e-01,
-    9.47585583e-01,
-    9.48366940e-01,
-    9.49142516e-01,
-    9.49912429e-01,
-    9.50676560e-01,
-    9.51435030e-01,
-    9.52187717e-01,
-    9.52934682e-01,
-    9.53675926e-01,
-    9.54411447e-01,
-    9.55141187e-01,
-    9.55865145e-01,
-    9.56583381e-01,
-    9.57295835e-01,
-    9.58002567e-01,
-    9.58703458e-01,
-    9.59398627e-01,
-    9.60088015e-01,
-    9.60771620e-01,
-    9.61449385e-01,
-    9.62121427e-01,
-    9.62787628e-01,
-    9.63448048e-01,
-    9.64102626e-01,
-    9.64751422e-01,
-    9.65394437e-01,
-    9.66031611e-01,
-    9.66663003e-01,
-    9.67288494e-01,
-    9.67908204e-01,
-    9.68522072e-01,
-    9.69130158e-01,
-    9.69732344e-01,
-    9.70328689e-01,
-    9.70919251e-01,
-    9.71503913e-01,
-    9.72082734e-01,
-    9.72655654e-01,
-    9.73222792e-01,
-    9.73784029e-01,
-    9.74339366e-01,
-    9.74888861e-01,
-    9.75432515e-01,
-    9.75970268e-01,
-    9.76502120e-01,
-    9.77028131e-01,
-    9.77548242e-01,
-    9.78062451e-01,
-    9.78570819e-01,
-    9.79073226e-01,
-    9.79569793e-01,
-    9.80060399e-01,
-    9.80545104e-01,
-    9.81023967e-01,
-    9.81496871e-01,
-    9.81963873e-01,
-    9.82424974e-01,
-    9.82880116e-01,
-    9.83329356e-01,
-    9.83772695e-01,
-    9.84210074e-01,
-    9.84641552e-01,
-    9.85067070e-01,
-    9.85486686e-01,
-    9.85900342e-01,
-    9.86308098e-01,
-    9.86709893e-01,
-    9.87105727e-01,
-    9.87495601e-01,
-    9.87879574e-01,
-    9.88257587e-01,
-    9.88629639e-01,
-    9.88995671e-01,
-    9.89355803e-01,
-    9.89709973e-01,
-    9.90058184e-01,
-    9.90400434e-01,
-    9.90736723e-01,
-    9.91067052e-01,
-    9.91391361e-01,
-    9.91709769e-01,
-    9.92022157e-01,
-    9.92328584e-01,
-    9.92628992e-01,
-    9.92923498e-01,
-    9.93211925e-01,
-    9.93494451e-01,
-    9.93770957e-01,
-    9.94041502e-01,
-    9.94306028e-01,
-    9.94564593e-01,
-    9.94817138e-01,
-    9.95063663e-01,
-    9.95304286e-01,
-    9.95538831e-01,
-    9.95767415e-01,
-    9.95989978e-01,
-    9.96206582e-01,
-    9.96417165e-01,
-    9.96621728e-01,
-    9.96820271e-01,
-    9.97012854e-01,
-    9.97199416e-01,
-    9.97379959e-01,
-    9.97554541e-01,
-    9.97723043e-01,
-    9.97885585e-01,
-    9.98042107e-01,
-    9.98192608e-01,
-    9.98337090e-01,
-    9.98475552e-01,
-    9.98608053e-01,
-    9.98734474e-01,
-    9.98854935e-01,
-    9.98969316e-01,
-    9.99077737e-01,
-    9.99180079e-01,
-    9.99276459e-01,
-    9.99366820e-01,
-    9.99451101e-01,
-    9.99529421e-01,
-    9.99601722e-01,
-    9.99667943e-01,
-    9.99728203e-01,
-    9.99782383e-01,
-    9.99830604e-01,
-    9.99872744e-01,
-    9.99908864e-01,
-    9.99939024e-01,
-    9.99963105e-01,
-    9.99981165e-01,
-    9.99993205e-01,
-    9.99999225e-01
+    1.22718432e-03f,
+    3.68154561e-03f,
+    6.13588467e-03f,
+    8.59018695e-03f,
+    1.10444371e-02f,
+    1.34986211e-02f,
+    1.59527231e-02f,
+    1.84067301e-02f,
+    2.08606254e-02f,
+    2.33143959e-02f,
+    2.57680248e-02f,
+    2.82214992e-02f,
+    3.06748040e-02f,
+    3.31279226e-02f,
+    3.55808437e-02f,
+    3.80335487e-02f,
+    4.04860228e-02f,
+    4.29382585e-02f,
+    4.53902297e-02f,
+    4.78419326e-02f,
+    5.02933450e-02f,
+    5.27444519e-02f,
+    5.51952459e-02f,
+    5.76457046e-02f,
+    6.00958169e-02f,
+    6.25455678e-02f,
+    6.49949387e-02f,
+    6.74439222e-02f,
+    6.98924959e-02f,
+    7.23406523e-02f,
+    7.47883692e-02f,
+    7.72356316e-02f,
+    7.96824396e-02f,
+    8.21287632e-02f,
+    8.45745876e-02f,
+    8.70199054e-02f,
+    8.94647017e-02f,
+    9.19089541e-02f,
+    9.43526551e-02f,
+    9.67957899e-02f,
+    9.92383435e-02f,
+    1.01680294e-01f,
+    1.04121633e-01f,
+    1.06562346e-01f,
+    1.09002419e-01f,
+    1.11441828e-01f,
+    1.13880575e-01f,
+    1.16318628e-01f,
+    1.18755989e-01f,
+    1.21192627e-01f,
+    1.23628542e-01f,
+    1.26063704e-01f,
+    1.28498107e-01f,
+    1.30931750e-01f,
+    1.33364588e-01f,
+    1.35796621e-01f,
+    1.38227850e-01f,
+    1.40658244e-01f,
+    1.43087775e-01f,
+    1.45516455e-01f,
+    1.47944272e-01f,
+    1.50371179e-01f,
+    1.52797192e-01f,
+    1.55222267e-01f,
+    1.57646418e-01f,
+    1.60069630e-01f,
+    1.62491858e-01f,
+    1.64913118e-01f,
+    1.67333379e-01f,
+    1.69752643e-01f,
+    1.72170877e-01f,
+    1.74588069e-01f,
+    1.77004218e-01f,
+    1.79419294e-01f,
+    1.81833297e-01f,
+    1.84246197e-01f,
+    1.86657995e-01f,
+    1.89068660e-01f,
+    1.91478193e-01f,
+    1.93886578e-01f,
+    1.96293786e-01f,
+    1.98699802e-01f,
+    2.01104641e-01f,
+    2.03508258e-01f,
+    2.05910638e-01f,
+    2.08311796e-01f,
+    2.10711688e-01f,
+    2.13110313e-01f,
+    2.15507656e-01f,
+    2.17903703e-01f,
+    2.20298439e-01f,
+    2.22691849e-01f,
+    2.25083917e-01f,
+    2.27474615e-01f,
+    2.29863957e-01f,
+    2.32251912e-01f,
+    2.34638467e-01f,
+    2.37023607e-01f,
+    2.39407316e-01f,
+    2.41789594e-01f,
+    2.44170398e-01f,
+    2.46549740e-01f,
+    2.48927608e-01f,
+    2.51303971e-01f,
+    2.53678799e-01f,
+    2.56052136e-01f,
+    2.58423895e-01f,
+    2.60794103e-01f,
+    2.63162762e-01f,
+    2.65529811e-01f,
+    2.67895281e-01f,
+    2.70259142e-01f,
+    2.72621363e-01f,
+    2.74981946e-01f,
+    2.77340859e-01f,
+    2.79698104e-01f,
+    2.82053679e-01f,
+    2.84407526e-01f,
+    2.86759704e-01f,
+    2.89110124e-01f,
+    2.91458815e-01f,
+    2.93805718e-01f,
+    2.96150893e-01f,
+    2.98494250e-01f,
+    3.00835848e-01f,
+    3.03175598e-01f,
+    3.05513531e-01f,
+    3.07849646e-01f,
+    3.10183883e-01f,
+    3.12516272e-01f,
+    3.14846754e-01f,
+    3.17175359e-01f,
+    3.19502026e-01f,
+    3.21826786e-01f,
+    3.24149609e-01f,
+    3.26470494e-01f,
+    3.28789383e-01f,
+    3.31106305e-01f,
+    3.33421230e-01f,
+    3.35734159e-01f,
+    3.38045061e-01f,
+    3.40353906e-01f,
+    3.42660725e-01f,
+    3.44965458e-01f,
+    3.47268134e-01f,
+    3.49568695e-01f,
+    3.51867169e-01f,
+    3.54163527e-01f,
+    3.56457740e-01f,
+    3.58749807e-01f,
+    3.61039728e-01f,
+    3.63327444e-01f,
+    3.65612984e-01f,
+    3.67896348e-01f,
+    3.70177478e-01f,
+    3.72456372e-01f,
+    3.74733001e-01f,
+    3.77007425e-01f,
+    3.79279524e-01f,
+    3.81549388e-01f,
+    3.83816928e-01f,
+    3.86082143e-01f,
+    3.88345033e-01f,
+    3.90605599e-01f,
+    3.92863810e-01f,
+    3.95119667e-01f,
+    3.97373140e-01f,
+    3.99624199e-01f,
+    4.01872873e-01f,
+    4.04119104e-01f,
+    4.06362921e-01f,
+    4.08604264e-01f,
+    4.10843164e-01f,
+    4.13079590e-01f,
+    4.15313542e-01f,
+    4.17544961e-01f,
+    4.19773877e-01f,
+    4.22000259e-01f,
+    4.24224108e-01f,
+    4.26445425e-01f,
+    4.28664148e-01f,
+    4.30880278e-01f,
+    4.33093816e-01f,
+    4.35304761e-01f,
+    4.37513083e-01f,
+    4.39718753e-01f,
+    4.41921771e-01f,
+    4.44122136e-01f,
+    4.46319848e-01f,
+    4.48514849e-01f,
+    4.50707138e-01f,
+    4.52896714e-01f,
+    4.55083579e-01f,
+    4.57267702e-01f,
+    4.59449053e-01f,
+    4.61627662e-01f,
+    4.63803470e-01f,
+    4.65976506e-01f,
+    4.68146712e-01f,
+    4.70314115e-01f,
+    4.72478658e-01f,
+    4.74640369e-01f,
+    4.76799220e-01f,
+    4.78955209e-01f,
+    4.81108308e-01f,
+    4.83258516e-01f,
+    4.85405803e-01f,
+    4.87550169e-01f,
+    4.89691585e-01f,
+    4.91830051e-01f,
+    4.93965566e-01f,
+    4.96098131e-01f,
+    4.98227656e-01f,
+    5.00354230e-01f,
+    5.02477765e-01f,
+    5.04598260e-01f,
+    5.06715715e-01f,
+    5.08830130e-01f,
+    5.10941505e-01f,
+    5.13049781e-01f,
+    5.15154958e-01f,
+    5.17257035e-01f,
+    5.19356012e-01f,
+    5.21451831e-01f,
+    5.23544490e-01f,
+    5.25634050e-01f,
+    5.27720451e-01f,
+    5.29803634e-01f,
+    5.31883657e-01f,
+    5.33960402e-01f,
+    5.36033988e-01f,
+    5.38104355e-01f,
+    5.40171444e-01f,
+    5.42235315e-01f,
+    5.44295907e-01f,
+    5.46353221e-01f,
+    5.48407257e-01f,
+    5.50457954e-01f,
+    5.52505374e-01f,
+    5.54549456e-01f,
+    5.56590199e-01f,
+    5.58627546e-01f,
+    5.60661554e-01f,
+    5.62692225e-01f,
+    5.64719439e-01f,
+    5.66743314e-01f,
+    5.68763733e-01f,
+    5.70780754e-01f,
+    5.72794318e-01f,
+    5.74804425e-01f,
+    5.76811075e-01f,
+    5.78814268e-01f,
+    5.80813944e-01f,
+    5.82810163e-01f,
+    5.84802806e-01f,
+    5.86791992e-01f,
+    5.88777602e-01f,
+    5.90759695e-01f,
+    5.92738211e-01f,
+    5.94713151e-01f,
+    5.96684515e-01f,
+    5.98652303e-01f,
+    6.00616455e-01f,
+    6.02577031e-01f,
+    6.04533970e-01f,
+    6.06487215e-01f,
+    6.08436823e-01f,
+    6.10382795e-01f,
+    6.12325072e-01f,
+    6.14263654e-01f,
+    6.16198599e-01f,
+    6.18129730e-01f,
+    6.20057225e-01f,
+    6.21980906e-01f,
+    6.23900890e-01f,
+    6.25817120e-01f,
+    6.27729595e-01f,
+    6.29638255e-01f,
+    6.31543100e-01f,
+    6.33444190e-01f,
+    6.35341406e-01f,
+    6.37234867e-01f,
+    6.39124453e-01f,
+    6.41010165e-01f,
+    6.42892063e-01f,
+    6.44770086e-01f,
+    6.46644175e-01f,
+    6.48514390e-01f,
+    6.50380731e-01f,
+    6.52243137e-01f,
+    6.54101610e-01f,
+    6.55956089e-01f,
+    6.57806695e-01f,
+    6.59653306e-01f,
+    6.61495924e-01f,
+    6.63334608e-01f,
+    6.65169239e-01f,
+    6.66999936e-01f,
+    6.68826580e-01f,
+    6.70649171e-01f,
+    6.72467709e-01f,
+    6.74282253e-01f,
+    6.76092684e-01f,
+    6.77899063e-01f,
+    6.79701388e-01f,
+    6.81499600e-01f,
+    6.83293700e-01f,
+    6.85083687e-01f,
+    6.86869502e-01f,
+    6.88651264e-01f,
+    6.90428793e-01f,
+    6.92202210e-01f,
+    6.93971455e-01f,
+    6.95736527e-01f,
+    6.97497368e-01f,
+    6.99254036e-01f,
+    7.01006532e-01f,
+    7.02754736e-01f,
+    7.04498768e-01f,
+    7.06238508e-01f,
+    7.07974017e-01f,
+    7.09705234e-01f,
+    7.11432219e-01f,
+    7.13154852e-01f,
+    7.14873254e-01f,
+    7.16587305e-01f,
+    7.18297064e-01f,
+    7.20002532e-01f,
+    7.21703589e-01f,
+    7.23400354e-01f,
+    7.25092709e-01f,
+    7.26780772e-01f,
+    7.28464365e-01f,
+    7.30143666e-01f,
+    7.31818497e-01f,
+    7.33488917e-01f,
+    7.35154986e-01f,
+    7.36816585e-01f,
+    7.38473713e-01f,
+    7.40126431e-01f,
+    7.41774678e-01f,
+    7.43418455e-01f,
+    7.45057762e-01f,
+    7.46692598e-01f,
+    7.48322904e-01f,
+    7.49948740e-01f,
+    7.51570046e-01f,
+    7.53186822e-01f,
+    7.54799008e-01f,
+    7.56406724e-01f,
+    7.58009851e-01f,
+    7.59608388e-01f,
+    7.61202395e-01f,
+    7.62791812e-01f,
+    7.64376581e-01f,
+    7.65956819e-01f,
+    7.67532349e-01f,
+    7.69103348e-01f,
+    7.70669639e-01f,
+    7.72231340e-01f,
+    7.73788393e-01f,
+    7.75340736e-01f,
+    7.76888490e-01f,
+    7.78431475e-01f,
+    7.79969811e-01f,
+    7.81503439e-01f,
+    7.83032358e-01f,
+    7.84556568e-01f,
+    7.86076069e-01f,
+    7.87590802e-01f,
+    7.89100826e-01f,
+    7.90606081e-01f,
+    7.92106569e-01f,
+    7.93602288e-01f,
+    7.95093238e-01f,
+    7.96579361e-01f,
+    7.98060715e-01f,
+    7.99537241e-01f,
+    8.01008999e-01f,
+    8.02475870e-01f,
+    8.03937972e-01f,
+    8.05395186e-01f,
+    8.06847572e-01f,
+    8.08295071e-01f,
+    8.09737682e-01f,
+    8.11175466e-01f,
+    8.12608361e-01f,
+    8.14036310e-01f,
+    8.15459430e-01f,
+    8.16877604e-01f,
+    8.18290830e-01f,
+    8.19699109e-01f,
+    8.21102500e-01f,
+    8.22500944e-01f,
+    8.23894441e-01f,
+    8.25282931e-01f,
+    8.26666474e-01f,
+    8.28045070e-01f,
+    8.29418600e-01f,
+    8.30787182e-01f,
+    8.32150757e-01f,
+    8.33509326e-01f,
+    8.34862888e-01f,
+    8.36211383e-01f,
+    8.37554872e-01f,
+    8.38893294e-01f,
+    8.40226650e-01f,
+    8.41554999e-01f,
+    8.42878222e-01f,
+    8.44196379e-01f,
+    8.45509470e-01f,
+    8.46817434e-01f,
+    8.48120332e-01f,
+    8.49418104e-01f,
+    8.50710809e-01f,
+    8.51998329e-01f,
+    8.53280723e-01f,
+    8.54557991e-01f,
+    8.55830133e-01f,
+    8.57097089e-01f,
+    8.58358860e-01f,
+    8.59615505e-01f,
+    8.60866964e-01f,
+    8.62113178e-01f,
+    8.63354266e-01f,
+    8.64590168e-01f,
+    8.65820825e-01f,
+    8.67046237e-01f,
+    8.68266463e-01f,
+    8.69481444e-01f,
+    8.70691240e-01f,
+    8.71895730e-01f,
+    8.73094976e-01f,
+    8.74288976e-01f,
+    8.75477731e-01f,
+    8.76661181e-01f,
+    8.77839327e-01f,
+    8.79012227e-01f,
+    8.80179822e-01f,
+    8.81342113e-01f,
+    8.82499099e-01f,
+    8.83650780e-01f,
+    8.84797096e-01f,
+    8.85938108e-01f,
+    8.87073815e-01f,
+    8.88204098e-01f,
+    8.89329076e-01f,
+    8.90448749e-01f,
+    8.91562998e-01f,
+    8.92671883e-01f,
+    8.93775403e-01f,
+    8.94873500e-01f,
+    8.95966232e-01f,
+    8.97053599e-01f,
+    8.98135543e-01f,
+    8.99212062e-01f,
+    9.00283158e-01f,
+    9.01348829e-01f,
+    9.02409077e-01f,
+    9.03463900e-01f,
+    9.04513299e-01f,
+    9.05557215e-01f,
+    9.06595707e-01f,
+    9.07628715e-01f,
+    9.08656240e-01f,
+    9.09678340e-01f,
+    9.10694897e-01f,
+    9.11706030e-01f,
+    9.12711620e-01f,
+    9.13711786e-01f,
+    9.14706349e-01f,
+    9.15695488e-01f,
+    9.16679084e-01f,
+    9.17657137e-01f,
+    9.18629646e-01f,
+    9.19596672e-01f,
+    9.20558095e-01f,
+    9.21514034e-01f,
+    9.22464430e-01f,
+    9.23409224e-01f,
+    9.24348474e-01f,
+    9.25282121e-01f,
+    9.26210225e-01f,
+    9.27132785e-01f,
+    9.28049684e-01f,
+    9.28961039e-01f,
+    9.29866791e-01f,
+    9.30766940e-01f,
+    9.31661487e-01f,
+    9.32550430e-01f,
+    9.33433771e-01f,
+    9.34311450e-01f,
+    9.35183525e-01f,
+    9.36049938e-01f,
+    9.36910748e-01f,
+    9.37765896e-01f,
+    9.38615382e-01f,
+    9.39459205e-01f,
+    9.40297425e-01f,
+    9.41129923e-01f,
+    9.41956758e-01f,
+    9.42777932e-01f,
+    9.43593442e-01f,
+    9.44403291e-01f,
+    9.45207417e-01f,
+    9.46005821e-01f,
+    9.46798563e-01f,
+    9.47585583e-01f,
+    9.48366940e-01f,
+    9.49142516e-01f,
+    9.49912429e-01f,
+    9.50676560e-01f,
+    9.51435030e-01f,
+    9.52187717e-01f,
+    9.52934682e-01f,
+    9.53675926e-01f,
+    9.54411447e-01f,
+    9.55141187e-01f,
+    9.55865145e-01f,
+    9.56583381e-01f,
+    9.57295835e-01f,
+    9.58002567e-01f,
+    9.58703458e-01f,
+    9.59398627e-01f,
+    9.60088015e-01f,
+    9.60771620e-01f,
+    9.61449385e-01f,
+    9.62121427e-01f,
+    9.62787628e-01f,
+    9.63448048e-01f,
+    9.64102626e-01f,
+    9.64751422e-01f,
+    9.65394437e-01f,
+    9.66031611e-01f,
+    9.66663003e-01f,
+    9.67288494e-01f,
+    9.67908204e-01f,
+    9.68522072e-01f,
+    9.69130158e-01f,
+    9.69732344e-01f,
+    9.70328689e-01f,
+    9.70919251e-01f,
+    9.71503913e-01f,
+    9.72082734e-01f,
+    9.72655654e-01f,
+    9.73222792e-01f,
+    9.73784029e-01f,
+    9.74339366e-01f,
+    9.74888861e-01f,
+    9.75432515e-01f,
+    9.75970268e-01f,
+    9.76502120e-01f,
+    9.77028131e-01f,
+    9.77548242e-01f,
+    9.78062451e-01f,
+    9.78570819e-01f,
+    9.79073226e-01f,
+    9.79569793e-01f,
+    9.80060399e-01f,
+    9.80545104e-01f,
+    9.81023967e-01f,
+    9.81496871e-01f,
+    9.81963873e-01f,
+    9.82424974e-01f,
+    9.82880116e-01f,
+    9.83329356e-01f,
+    9.83772695e-01f,
+    9.84210074e-01f,
+    9.84641552e-01f,
+    9.85067070e-01f,
+    9.85486686e-01f,
+    9.85900342e-01f,
+    9.86308098e-01f,
+    9.86709893e-01f,
+    9.87105727e-01f,
+    9.87495601e-01f,
+    9.87879574e-01f,
+    9.88257587e-01f,
+    9.88629639e-01f,
+    9.88995671e-01f,
+    9.89355803e-01f,
+    9.89709973e-01f,
+    9.90058184e-01f,
+    9.90400434e-01f,
+    9.90736723e-01f,
+    9.91067052e-01f,
+    9.91391361e-01f,
+    9.91709769e-01f,
+    9.92022157e-01f,
+    9.92328584e-01f,
+    9.92628992e-01f,
+    9.92923498e-01f,
+    9.93211925e-01f,
+    9.93494451e-01f,
+    9.93770957e-01f,
+    9.94041502e-01f,
+    9.94306028e-01f,
+    9.94564593e-01f,
+    9.94817138e-01f,
+    9.95063663e-01f,
+    9.95304286e-01f,
+    9.95538831e-01f,
+    9.95767415e-01f,
+    9.95989978e-01f,
+    9.96206582e-01f,
+    9.96417165e-01f,
+    9.96621728e-01f,
+    9.96820271e-01f,
+    9.97012854e-01f,
+    9.97199416e-01f,
+    9.97379959e-01f,
+    9.97554541e-01f,
+    9.97723043e-01f,
+    9.97885585e-01f,
+    9.98042107e-01f,
+    9.98192608e-01f,
+    9.98337090e-01f,
+    9.98475552e-01f,
+    9.98608053e-01f,
+    9.98734474e-01f,
+    9.98854935e-01f,
+    9.98969316e-01f,
+    9.99077737e-01f,
+    9.99180079e-01f,
+    9.99276459e-01f,
+    9.99366820e-01f,
+    9.99451101e-01f,
+    9.99529421e-01f,
+    9.99601722e-01f,
+    9.99667943e-01f,
+    9.99728203e-01f,
+    9.99782383e-01f,
+    9.99830604e-01f,
+    9.99872744e-01f,
+    9.99908864e-01f,
+    9.99939024e-01f,
+    9.99963105e-01f,
+    9.99981165e-01f,
+    9.99993205e-01f,
+    9.99999225e-01f
 };
 #endif
 /*- End of file ------------------------------------------------------------*/

Modified: freeswitch/branches/gmaruzz/libs/libg722_1/src/tables.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/libg722_1/src/tables.c	(original)
+++ freeswitch/branches/gmaruzz/libs/libg722_1/src/tables.c	Tue Dec 23 07:37:03 2008
@@ -65,70 +65,70 @@
 #else
 const float region_standard_deviation_table[REGION_POWER_TABLE_SIZE] =
 {
-    2.441406247570224e-04,
-    3.452669826719395e-04,
-    4.882812495545411e-04,
-    6.905339654011486e-04,
-    9.765624991900746e-04,
-    1.381067930916839e-03,
-    1.953124998542134e-03,
-    2.762135862062757e-03,
-    3.906249997408239e-03,
-    5.524271724583683e-03,
-    7.812499995464418e-03,
-    1.104854345008369e-02,
-    1.562499999222472e-02,
-    2.209708690200003e-02,
-    3.124999998704119e-02,
-    4.419417380766535e-02,
-    6.249999997926591e-02,
-    8.838834762266132e-02,
-    1.249999999688989e-01,
-    1.767766952599839e-01,
-    2.499999999585318e-01,
-    3.535533905492901e-01,
-    4.999999999585318e-01,
-    7.071067811572251e-01,
-    1.000000000000000e+00,
-    1.414213562431740e+00,
-    2.000000000165873e+00,
-    2.828427125098059e+00,
-    4.000000000663491e+00,
-    5.656854250665278e+00,
-    8.000000001990472e+00,
-    1.131370850226887e+01,
-    1.600000000530792e+01,
-    2.262741700641438e+01,
-    3.200000001326981e+01,
-    4.525483401658204e+01,
-    6.400000003184756e+01,
-    9.050966804067060e+01,
-    1.280000000743110e+02,
-    1.810193360963542e+02,
-    2.560000001698536e+02,
-    3.620386722227349e+02,
-    5.120000003821707e+02,
-    7.240773445055215e+02,
-    1.024000000849268e+03,
-    1.448154689131149e+03,
-    2.048000001868390e+03,
-    2.896309378502505e+03,
-    4.096000004076487e+03,
-    5.792618757485434e+03,
-    8.192000008832390e+03,
-    1.158523751593169e+04,
-    1.638400001902361e+04,
-    2.317047503378509e+04,
-    3.276800004076484e+04,
-    4.634095007141347e+04,
-    6.553600008696507e+04,
-    9.268190015051374e+04,
-    1.310720001848009e+05,
-    1.853638003164007e+05,
-    2.621440003913428e+05,
-    3.707276006635486e+05,
-    5.242880008261676e+05,
-    7.414552013885899e+05
+    2.441406247570224e-04f,
+    3.452669826719395e-04f,
+    4.882812495545411e-04f,
+    6.905339654011486e-04f,
+    9.765624991900746e-04f,
+    1.381067930916839e-03f,
+    1.953124998542134e-03f,
+    2.762135862062757e-03f,
+    3.906249997408239e-03f,
+    5.524271724583683e-03f,
+    7.812499995464418e-03f,
+    1.104854345008369e-02f,
+    1.562499999222472e-02f,
+    2.209708690200003e-02f,
+    3.124999998704119e-02f,
+    4.419417380766535e-02f,
+    6.249999997926591e-02f,
+    8.838834762266132e-02f,
+    1.249999999688989e-01f,
+    1.767766952599839e-01f,
+    2.499999999585318e-01f,
+    3.535533905492901e-01f,
+    4.999999999585318e-01f,
+    7.071067811572251e-01f,
+    1.000000000000000e+00f,
+    1.414213562431740e+00f,
+    2.000000000165873e+00f,
+    2.828427125098059e+00f,
+    4.000000000663491e+00f,
+    5.656854250665278e+00f,
+    8.000000001990472e+00f,
+    1.131370850226887e+01f,
+    1.600000000530792e+01f,
+    2.262741700641438e+01f,
+    3.200000001326981e+01f,
+    4.525483401658204e+01f,
+    6.400000003184756e+01f,
+    9.050966804067060e+01f,
+    1.280000000743110e+02f,
+    1.810193360963542e+02f,
+    2.560000001698536e+02f,
+    3.620386722227349e+02f,
+    5.120000003821707e+02f,
+    7.240773445055215e+02f,
+    1.024000000849268e+03f,
+    1.448154689131149e+03f,
+    2.048000001868390e+03f,
+    2.896309378502505e+03f,
+    4.096000004076487e+03f,
+    5.792618757485434e+03f,
+    8.192000008832390e+03f,
+    1.158523751593169e+04f,
+    1.638400001902361e+04f,
+    2.317047503378509e+04f,
+    3.276800004076484e+04f,
+    4.634095007141347e+04f,
+    6.553600008696507e+04f,
+    9.268190015051374e+04f,
+    1.310720001848009e+05f,
+    1.853638003164007e+05f,
+    2.621440003913428e+05f,
+    3.707276006635486e+05f,
+    5.242880008261676e+05f,
+    7.414552013885899e+05f
 };
 #endif
 
@@ -146,70 +146,70 @@
 #else
 const float standard_deviation_inverse_table[REGION_POWER_TABLE_SIZE] =
 {
-    4.096000004076488e+03,
-    2.896309378502504e+03,
-    2.048000001868390e+03,
-    1.448154689131149e+03,
-    1.024000000849268e+03,
-    7.240773445055215e+02,
-    5.120000003821708e+02,
-    3.620386722227349e+02,
-    2.560000001698537e+02,
-    1.810193360963542e+02,
-    1.280000000743110e+02,
-    9.050966804067060e+01,
-    6.400000003184756e+01,
-    4.525483401658203e+01,
-    3.200000001326982e+01,
-    2.262741700641438e+01,
-    1.600000000530793e+01,
-    1.131370850226887e+01,
-    8.000000001990474e+00,
-    5.656854250665277e+00,
-    4.000000000663491e+00,
-    2.828427125098059e+00,
-    2.000000000165873e+00,
-    1.414213562431740e+00,
-    1.000000000000000e+00,
-    7.071067811572251e-01,
-    4.999999999585318e-01,
-    3.535533905492901e-01,
-    2.499999999585318e-01,
-    1.767766952599838e-01,
-    1.249999999688989e-01,
-    8.838834762266132e-02,
-    6.249999997926592e-02,
-    4.419417380766535e-02,
-    3.124999998704120e-02,
-    2.209708690200002e-02,
-    1.562499999222472e-02,
-    1.104854345008369e-02,
-    7.812499995464418e-03,
-    5.524271724583683e-03,
-    3.906249997408239e-03,
-    2.762135862062757e-03,
-    1.953124998542134e-03,
-    1.381067930916839e-03,
-    9.765624991900747e-04,
-    6.905339654011486e-04,
-    4.882812495545411e-04,
-    3.452669826719394e-04,
-    2.441406247570224e-04,
-    1.726334913216520e-04,
-    1.220703123683871e-04,
-    8.631674565366727e-05,
-    6.103515617913153e-05,
-    4.315837282325419e-05,
-    3.051757808703478e-05,
-    2.157918640983742e-05,
-    1.525878904225187e-05,
-    1.078959320402385e-05,
-    7.629394520493171e-06,
-    5.394796601564505e-06,
-    3.814697259930213e-06,
-    2.697398300558537e-06,
-    1.907348629806920e-06,
-    1.348699150167414e-06
+    4.096000004076488e+03f,
+    2.896309378502504e+03f,
+    2.048000001868390e+03f,
+    1.448154689131149e+03f,
+    1.024000000849268e+03f,
+    7.240773445055215e+02f,
+    5.120000003821708e+02f,
+    3.620386722227349e+02f,
+    2.560000001698537e+02f,
+    1.810193360963542e+02f,
+    1.280000000743110e+02f,
+    9.050966804067060e+01f,
+    6.400000003184756e+01f,
+    4.525483401658203e+01f,
+    3.200000001326982e+01f,
+    2.262741700641438e+01f,
+    1.600000000530793e+01f,
+    1.131370850226887e+01f,
+    8.000000001990474e+00f,
+    5.656854250665277e+00f,
+    4.000000000663491e+00f,
+    2.828427125098059e+00f,
+    2.000000000165873e+00f,
+    1.414213562431740e+00f,
+    1.000000000000000e+00f,
+    7.071067811572251e-01f,
+    4.999999999585318e-01f,
+    3.535533905492901e-01f,
+    2.499999999585318e-01f,
+    1.767766952599838e-01f,
+    1.249999999688989e-01f,
+    8.838834762266132e-02f,
+    6.249999997926592e-02f,
+    4.419417380766535e-02f,
+    3.124999998704120e-02f,
+    2.209708690200002e-02f,
+    1.562499999222472e-02f,
+    1.104854345008369e-02f,
+    7.812499995464418e-03f,
+    5.524271724583683e-03f,
+    3.906249997408239e-03f,
+    2.762135862062757e-03f,
+    1.953124998542134e-03f,
+    1.381067930916839e-03f,
+    9.765624991900747e-04f,
+    6.905339654011486e-04f,
+    4.882812495545411e-04f,
+    3.452669826719394e-04f,
+    2.441406247570224e-04f,
+    1.726334913216520e-04f,
+    1.220703123683871e-04f,
+    8.631674565366727e-05f,
+    6.103515617913153e-05f,
+    4.315837282325419e-05f,
+    3.051757808703478e-05f,
+    2.157918640983742e-05f,
+    1.525878904225187e-05f,
+    1.078959320402385e-05f,
+    7.629394520493171e-06f,
+    5.394796601564505e-06f,
+    3.814697259930213e-06f,
+    2.697398300558537e-06f,
+    1.907348629806920e-06f,
+    1.348699150167414e-06f
 };
 #endif
 
@@ -241,14 +241,14 @@
 
 const float step_size_inverse_table[NUM_CATEGORIES] =
 {
-    2.82805443e+00,
-    2.00000000e+00,
-    1.41422713e+00,
-    1.00000000e+00,
-    7.07113564e-01,
-    5.00000000e-01,
-    3.53556782e-01,
-    3.53556782e-01
+    2.82805443e+00f,
+    2.00000000e+00f,
+    1.41422713e+00f,
+    1.00000000e+00f,
+    7.07113564e-01f,
+    5.00000000e-01f,
+    3.53556782e-01f,
+    3.53556782e-01f
 };
 #endif
 
@@ -279,137 +279,137 @@
 #if !defined(G722_1_USE_FIXED_POINT)
 const float region_power_table[REGION_POWER_TABLE_SIZE] =
 {
-    5.96046448e-08,
-    1.19209290e-07,
-    2.38418579e-07,
-    4.76837158e-07,
-    9.53674316e-07,
-    1.90734863e-06,
-    3.81469727e-06,
-    7.62939453e-06,
-    1.52587891e-05,
-    3.05175781e-05,
-    6.10351562e-05,
-    1.22070312e-04,
-    2.44140625e-04,
-    4.88281250e-04,
-    9.76562500e-04,
-    1.95312500e-03,
-    3.90625000e-03,
-    7.81250000e-03,
-    1.56250000e-02,
-    3.12500000e-02,
-    6.25000000e-02,
-    1.25000000e-01,
-    2.50000000e-01,
-    5.00000000e-01,
-    1.00000000e+00,
-    2.00000000e+00,
-    4.00000000e+00,
-    8.00000000e+00,
-    1.60000000e+01,
-    3.20000000e+01,
-    6.40000000e+01,
-    1.28000000e+02,
-    2.56000000e+02,
-    5.12000000e+02,
-    1.02400000e+03,
-    2.04800000e+03,
-    4.09600000e+03,
-    8.19200000e+03,
-    1.63840000e+04,
-    3.27680000e+04,
-    6.55360000e+04,
-    1.31072000e+05,
-    2.62144000e+05,
-    5.24288000e+05,
-    1.04857600e+06,
-    2.09715200e+06,
-    4.19430400e+06,
-    8.38860800e+06,
-    1.67772160e+07,
-    3.35544320e+07,
-    6.71088640e+07,
-    1.34217728e+08,
-    2.68435456e+08,
-    5.36870912e+08,
-    1.07374182e+09,
-    2.14748365e+09,
-    4.29496730e+09,
-    8.58993459e+09,
-    1.71798692e+10,
-    3.43597384e+10,
-    6.87194767e+10,
-    1.37438953e+11,
-    2.74877907e+11,
-    5.49755814e+11
+    5.96046448e-08f,
+    1.19209290e-07f,
+    2.38418579e-07f,
+    4.76837158e-07f,
+    9.53674316e-07f,
+    1.90734863e-06f,
+    3.81469727e-06f,
+    7.62939453e-06f,
+    1.52587891e-05f,
+    3.05175781e-05f,
+    6.10351562e-05f,
+    1.22070312e-04f,
+    2.44140625e-04f,
+    4.88281250e-04f,
+    9.76562500e-04f,
+    1.95312500e-03f,
+    3.90625000e-03f,
+    7.81250000e-03f,
+    1.56250000e-02f,
+    3.12500000e-02f,
+    6.25000000e-02f,
+    1.25000000e-01f,
+    2.50000000e-01f,
+    5.00000000e-01f,
+    1.00000000e+00f,
+    2.00000000e+00f,
+    4.00000000e+00f,
+    8.00000000e+00f,
+    1.60000000e+01f,
+    3.20000000e+01f,
+    6.40000000e+01f,
+    1.28000000e+02f,
+    2.56000000e+02f,
+    5.12000000e+02f,
+    1.02400000e+03f,
+    2.04800000e+03f,
+    4.09600000e+03f,
+    8.19200000e+03f,
+    1.63840000e+04f,
+    3.27680000e+04f,
+    6.55360000e+04f,
+    1.31072000e+05f,
+    2.62144000e+05f,
+    5.24288000e+05f,
+    1.04857600e+06f,
+    2.09715200e+06f,
+    4.19430400e+06f,
+    8.38860800e+06f,
+    1.67772160e+07f,
+    3.35544320e+07f,
+    6.71088640e+07f,
+    1.34217728e+08f,
+    2.68435456e+08f,
+    5.36870912e+08f,
+    1.07374182e+09f,
+    2.14748365e+09f,
+    4.29496730e+09f,
+    8.58993459e+09f,
+    1.71798692e+10f,
+    3.43597384e+10f,
+    6.87194767e+10f,
+    1.37438953e+11f,
+    2.74877907e+11f,
+    5.49755814e+11f
 };
 
 const float region_power_table_boundary[REGION_POWER_TABLE_SIZE - 1] =
 {
-    8.42936956e-08,
-    1.68587391e-07,
-    3.37174782e-07,
-    6.74349565e-07,
-    1.34869913e-06,
-    2.69739826e-06,
-    5.39479652e-06,
-    1.07895930e-05,
-    2.15791861e-05,
-    4.31583721e-05,
-    8.63167443e-05,
-    1.72633489e-04,
-    3.45266977e-04,
-    6.90533954e-04,
-    1.38106791e-03,
-    2.76213582e-03,
-    5.52427163e-03,
-    1.10485433e-02,
-    2.20970865e-02,
-    4.41941731e-02,
-    8.83883461e-02,
-    1.76776692e-01,
-    3.53553385e-01,
-    7.07106769e-01,
-    1.41421354e+00,
-    2.82842708e+00,
-    5.65685415e+00,
-    1.13137083e+01,
-    2.26274166e+01,
-    4.52548332e+01,
-    9.05096664e+01,
-    1.81019333e+02,
-    3.62038666e+02,
-    7.24077332e+02,
-    1.44815466e+03,
-    2.89630933e+03,
-    5.79261865e+03,
-    1.15852373e+04,
-    2.31704746e+04,
-    4.63409492e+04,
-    9.26818984e+04,
-    1.85363797e+05,
-    3.70727594e+05,
-    7.41455188e+05,
-    1.48291038e+06,
-    2.96582075e+06,
-    5.93164150e+06,
-    1.18632830e+07,
-    2.37265660e+07,
-    4.74531320e+07,
-    9.49062640e+07,
-    1.89812528e+08,
-    3.79625056e+08,
-    7.59250112e+08,
-    1.51850022e+09,
-    3.03700045e+09,
-    6.07400090e+09,
-    1.21480018e+10,
-    2.42960036e+10,
-    4.85920072e+10,
-    9.71840143e+10,
-    1.94368029e+11,
-    3.88736057e+11
+    8.42936956e-08f,
+    1.68587391e-07f,
+    3.37174782e-07f,
+    6.74349565e-07f,
+    1.34869913e-06f,
+    2.69739826e-06f,
+    5.39479652e-06f,
+    1.07895930e-05f,
+    2.15791861e-05f,
+    4.31583721e-05f,
+    8.63167443e-05f,
+    1.72633489e-04f,
+    3.45266977e-04f,
+    6.90533954e-04f,
+    1.38106791e-03f,
+    2.76213582e-03f,
+    5.52427163e-03f,
+    1.10485433e-02f,
+    2.20970865e-02f,
+    4.41941731e-02f,
+    8.83883461e-02f,
+    1.76776692e-01f,
+    3.53553385e-01f,
+    7.07106769e-01f,
+    1.41421354e+00f,
+    2.82842708e+00f,
+    5.65685415e+00f,
+    1.13137083e+01f,
+    2.26274166e+01f,
+    4.52548332e+01f,
+    9.05096664e+01f,
+    1.81019333e+02f,
+    3.62038666e+02f,
+    7.24077332e+02f,
+    1.44815466e+03f,
+    2.89630933e+03f,
+    5.79261865e+03f,
+    1.15852373e+04f,
+    2.31704746e+04f,
+    4.63409492e+04f,
+    9.26818984e+04f,
+    1.85363797e+05f,
+    3.70727594e+05f,
+    7.41455188e+05f,
+    1.48291038e+06f,
+    2.96582075e+06f,
+    5.93164150e+06f,
+    1.18632830e+07f,
+    2.37265660e+07f,
+    4.74531320e+07f,
+    9.49062640e+07f,
+    1.89812528e+08f,
+    3.79625056e+08f,
+    7.59250112e+08f,
+    1.51850022e+09f,
+    3.03700045e+09f,
+    6.07400090e+09f,
+    1.21480018e+10f,
+    2.42960036e+10f,
+    4.85920072e+10f,
+    9.71840143e+10f,
+    1.94368029e+11f,
+    3.88736057e+11f
 };
 #endif
 

Modified: freeswitch/branches/gmaruzz/libs/pcre/pcretest.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/pcre/pcretest.c	(original)
+++ freeswitch/branches/gmaruzz/libs/pcre/pcretest.c	Tue Dec 23 07:37:03 2008
@@ -794,7 +794,7 @@
 if (offsets == NULL)
   {
   printf("** Failed to get %d bytes of memory for offsets vector\n",
-    size_offsets_max * sizeof(int));
+    size_offsets_max * (int)sizeof(int));
   yield = 1;
   goto EXIT;
   }
@@ -1736,7 +1736,7 @@
           if (offsets == NULL)
             {
             printf("** Failed to get %d bytes of memory for offsets vector\n",
-              size_offsets_max * sizeof(int));
+              size_offsets_max * (int)sizeof(int));
             yield = 1;
             goto EXIT;
             }

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/.update
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/.update	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/.update	Tue Dec 23 07:37:03 2008
@@ -1 +1 @@
-Wed Nov 12 11:28:12 EST 2008
+Thur Dec 18 17:23:18 CST 2008

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/AUTHORS
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/AUTHORS	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/AUTHORS	Tue Dec 23 07:37:03 2008
@@ -8,30 +8,42 @@
 Contributors (in alphabetical order, surname first)
 ---------------------------------------------------
 
+Alaoui, Youness <youness -dot alaoui -at collabora -dot co -dot uk>
 Chan, Tat <first.surname at nokia.com>
 Ciarkowski, Andrzej <wp-voigtkampff -at users -dot sourceforge -dot net>
+Czapiga, Brian <rys -at evool -dot com>
 Denis-Courmont, Remi <first.surname at nokia.com>
+Ferrari, Fabio <fabioferrari -at gmail -dot com>
 Filonenko Roman <shkoder -at ua -dot fm>
 Haataja, Mikko <first.surname at nokia.com>
 Jacobs, Remeres <first.surname at nokia.com>
 Jalava, Teemu <first.surname at nokia.com>
 Jerris, Michael <mike -at jerris -dot com>
+Katcipis, Tiago <katcipis AT inf DOT ufcs DOT br>
+Knoblich, Stefan
 Legostayev, Denis <legostayev -at neic -dot nsk -dot su>
+Lenk, Jeff <jlenk -at frontiernet -dot net>
 Leuenberger, Stefan <first.surname -at netmodule -dot com>
+Margarido, Fabio <fabiomargarido AT gmail DOT com>
+Neuner, Jarod <janeuner -at networkharbor -dot com>
+Paul, Johan <johan -dot paul -at plenware -dot fi>
+Pizarro, Paulo <paulo -dot pizarro -at gmail -dot com>
 Prado, Dimitri E. <dprado -at e3c -dot com -dot br>
 Puolakka, Petteri <first.surname at nokia.com>
 Puustinen, Ismo <first.surname at nokia.com>
 Rinne-Rahkola, Pasi <first.surname at nokia.com>
+Richards, Jerry <jerryr at tonecommander dot com>
 Rondina, Daniele <geaary -at gmail -dot com>
 Saari, Mika <first.surname at nokia.com>
+Sabatini, Stefano
 Selin, Jari <first.surname at nokia.com>
 Suttner, Bernhard <suttner -at comdasys -dot com>
 Underwood, Steve <steveu -at coppice -dot org>
 Urpalainen, Jari <first.surname at nokia.com>
 Whittaker, Colin <colinw -at occamnetworks -dot com>
 Zabaluev, Mikhail <first.surname at nokia.com>
+Zaikin, Maxim <Maxim -at amsd -dot com>
 
-Note: for details on who did what, see the version control 
+Note: for details on who did what, see the version control
       system change history, and release notes for past releases at
       http://sofia-sip.sourceforge.net/relnotes/
- 
\ No newline at end of file

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/COPYING
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/COPYING	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/COPYING	Tue Dec 23 07:37:03 2008
@@ -146,7 +146,7 @@
 on the Library (independent of the use of the Library in a tool for
 writing it).  Whether that is true depends on what the Library does
 and what the program that uses the Library does.
-  
+
   1. You may copy and distribute verbatim copies of the Library's
 complete source code as you receive it, in any medium, provided that
 you conspicuously and appropriately publish on each copy an

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/COPYRIGHTS
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/COPYRIGHTS	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/COPYRIGHTS	Tue Dec 23 07:37:03 2008
@@ -1,6 +1,6 @@
 This package contains the Sofia-SIP library.
 
-Copyright (C) 2005-2006 Nokia Corporation and others (see the 
+Copyright (C) 2005-2006 Nokia Corporation and others (see the
 in individual files for a detailed list of copyright holders).
 
 Contact: Pekka Pessi <Pekka.Pessi at nokia.com>
@@ -102,23 +102,23 @@
 The package also contains files licensed by IBM Corporation. These files are
 distributed with the following copyright notice:
 
-           This module contains code made available by IBM 
-           Corporation on an AS IS basis.  Any one receiving the 
-           module is considered to be licensed under IBM copyrights 
-           to use the IBM-provided source code in any way he or she 
-           deems fit, including copying it, compiling it, modifying 
-           it, and redistributing it, with or without 
-           modifications.  No license under any IBM patents or 
-           patent applications is to be implied from this copyright 
-           license. 
-
-           A user of the module should understand that IBM cannot 
-           provide technical support for the module and will not be 
-           responsible for any consequences of use of the program. 
-
-           Any notices, including this one, are not to be removed 
-           from the module without the prior written consent of 
-           IBM. 
+           This module contains code made available by IBM
+           Corporation on an AS IS basis.  Any one receiving the
+           module is considered to be licensed under IBM copyrights
+           to use the IBM-provided source code in any way he or she
+           deems fit, including copying it, compiling it, modifying
+           it, and redistributing it, with or without
+           modifications.  No license under any IBM patents or
+           patent applications is to be implied from this copyright
+           license.
+
+           A user of the module should understand that IBM cannot
+           provide technical support for the module and will not be
+           responsible for any consequences of use of the program.
+
+           Any notices, including this one, are not to be removed
+           from the module without the prior written consent of
+           IBM.
 
 ----------------------------------------------------------------------------
 
@@ -149,7 +149,7 @@
 
 The following license.terms for information on usage and redistribution
 of this individual file, and for a DISCLAIMER OF ALL WARRANTIES.
- 
+
 This software is copyrighted by the Regents of the University of
 California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState
 Corporation and other parties.  The following terms apply to all files
@@ -181,7 +181,7 @@
 
 GOVERNMENT USE: If you are acquiring this software on behalf of the
 U.S. government, the Government shall have only "Restricted Rights"
-in the software and related documentation as defined in the Federal 
+in the software and related documentation as defined in the Federal
 Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
 are acquiring the software on behalf of the Department of Defense, the
 software shall be classified as "Commercial Computer Software" and the
@@ -189,7 +189,7 @@
 252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
 authors grant the U.S. Government and others acting in its behalf
 permission to use and distribute the software in accordance with the
-terms specified in this license. 
+terms specified in this license.
 
 ----------------------------------------------------------------------------
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/ChangeLog
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/ChangeLog	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/ChangeLog	Tue Dec 23 07:37:03 2008
@@ -2,11 +2,11 @@
 ChangeLog / Sofia-SIP - SIP User-Agent library
 ===============================================================
 
-Sofia-SIP library ChangeLog files are available in the 
+Sofia-SIP library ChangeLog files are available in the
 following places:
 
-- per subdirectory ChangeLog files 
-    - all non-trivial changes to files (unless documented  
+- per subdirectory ChangeLog files
+    - all non-trivial changes to files (unless documented
       elsewhere)
 - version control system changelogs
     - darcs and CVS tree repositories (see README.developers

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/ChangeLog.ext-trees
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/ChangeLog.ext-trees	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/ChangeLog.ext-trees	Tue Dec 23 07:37:03 2008
@@ -20,18 +20,18 @@
 
   * Fixed binding problems in nua and nta.c.
   Returning more appropriate error code from tport_tbind(), too.
-  This patch fixes tracked bugs 
-  #1485624 (nua not binding to 5060), 
-  #1485625 (nua_create() fails if STUN init fails) and 
+  This patch fixes tracked bugs
+  #1485624 (nua not binding to 5060),
+  #1485625 (nua_create() fails if STUN init fails) and
   #1485632 (ncorrect error message for nua bind error).
   Nua now also binds both to NUTAG_URL and NUTAG_SIPS_URL() URIs, nua_create()
   fails if binding either of them fails.
 
   * Fixed msg_addrlen() usage.
-  
+
   msg_addrlen() returns a pointer to ai_addrlen field of struct addrinfo
   inside the msg_t object. ai_addrlen has type size_t. However, system calls
-  taking a return valur pointer to address length, use type socklen_t. 
+  taking a return valur pointer to address length, use type socklen_t.
   Typically size_t is unsigned long, socklen_t is int, so casting
   msg_addrlen() return value to (socklen_t *) will break on (high-endian)
   64-bit platforms. svsp.
@@ -74,22 +74,22 @@
   - win32/tests/test_nua/test_nat_tags.cpp
 
   * Now building libsofia_sip_ua.dll on win32.
-  
+
   We define both IN_LIBSOFIA_SIP_UA and IN_LIBSOFIA_SRES in
   libsofia_sip_ua.dsp.
-  
+
   Because of DLL linkage, we compile tags typedefs as C++
   (see win32/tests/test_nua/test_nat_tags.cpp).
-  
+
   Removed LIBSOFIA_SIP_UA_STATIC from win32/sofia-sip/su_configure.h.
-  
+
   Added libsofia_sip_ua_static.lib, too. If you want to compile against
-  that, you need define LIBSOFIA_SIP_UA_STATIC by yourself. 
-  
+  that, you need define LIBSOFIA_SIP_UA_STATIC by yourself.
+
   Added libsofia-sip-ua-static/libsofia_sip_ua_static.dsp.
-  
+
   Using multithreaded DLL runtime for all projects.
-  
+
   * Added SOFIAPUBFUN/SOFIAPUBVAR to stun module, too.
 
   * Added test_nat_tags.c to nua module.
@@ -99,11 +99,11 @@
   * Added SRESPUBFUN and sres_config.h to sresolv module.
 
   * Updated headers.
-  
+
   Added sofia-sip/ prefix to documentation entries referring to include files.
-  
+
   Added SOFIAPUBFUN and SOFIAPUBVAR to files that missed them.
-  
+
   Removed some deprecated functions and macros.
 
   * Avoid #include ordering problem with sip_parser.h in sip_test_msg.c, too.
@@ -118,7 +118,7 @@
   Avoid #include ordering problem with <sofia-sip/http_parser.h>.
 
   * Removed utf8 and unicode-related stuff from library.
-  
+
   Source files are still included in source tar.
 
   * Reordered #includes in sip module.
@@ -137,9 +137,9 @@
 
   * Fixed includes in outbound.[hc].
 
-  * Added Doxyfiles to libsofia-sip-ua-glib. 
-  
-  Note that the files are not actually commented. 
+  * Added Doxyfiles to libsofia-sip-ua-glib.
+
+  Note that the files are not actually commented.
 
   * nua, soa: Adding Warnings to the response if appropriate.
 
@@ -166,18 +166,18 @@
   * nua_register.c: use nua-generated contact for refresh interval calculation.
   Allow SIPS uris in contacts, too.
 
-  * nua_register.c: ignoring bad received parameters in Via header. 
+  * nua_register.c: ignoring bad received parameters in Via header.
+
+  * Updated config file handling in sresolv/sres.c.
 
-  * Updated config file handling in sresolv/sres.c. 
-  
   Using reference counting with config structure when copying
   resolver objects.
-  
+
   Trying harder to avoid re-parsing resolv.conf and checking for
   updated servers.
-  
+
   Changed SRES_UPDATE_INTERVAL_SECS to 5 for non-WIN32 platforms.
-  
+
   * su/su_alloc.c, su/sofia-sip/su_alloc.h: su_home_ref() takes const pointer.
 
 2006-05-08  kai.vehmanen at nokia.com
@@ -252,10 +252,10 @@
   * test_sresolv.v: added more tests for A6 record parsing.
 
   * sres.c, sres_cache.c: records are now allocated in a single chunk.
-  
+
   Bug hunted down by Thomas Rosenblatt: strings and domains belonging to
   record were allocated from resolver home, not from cache home.
-  
+
   * Fixed problem with config without search domains in sresolv/sres.c.
 
   * Added information for COPYRIGHTS file to README.developers.
@@ -277,7 +277,7 @@
   * Added sofia-sip/auth_ntlm.h auth_ntlm.c to dist in iptsec module.
 
   * Added license to Makefiles (kv)
-    
+
   Added copyright lines and reference to LGPL license to the Makefile.am and
   configure.ac files.
 
@@ -286,7 +286,7 @@
   * Added libsofia-sip-ua-glib/ChangeLog to darcs (kv)
 
   * Added win32 registry name server discovery (kv)
-  
+
   Based on a patch from Dimitri E. Prado.
   Decreased update interval to 180secs (SRES_UPDATE_INTERVAL_SECS).
 
@@ -371,7 +371,7 @@
 	const *, too.
 
 	* Added SOFIAPUBFUN to auth_struct_copy(), too.
-	
+
   * iptsec module (by Martti Mela):
 
 	* ntlm support now compiles, not working.
@@ -393,7 +393,7 @@
   * iptsec module:
 
 	* Updated headers in iptsec module.
-	Added SOFIAPUBFUN and SOFIAPUBVAR where needed. 
+	Added SOFIAPUBFUN and SOFIAPUBVAR where needed.
 	Removed auc_with_uicc().
 
 	* Fixed memory management problems in iptsec module.
@@ -403,7 +403,7 @@
 	freed.
 	Now we are actually running the tests in test_auth_digest.c, too.
 	The problem was reported and patch submitted by Colin Whittaker.
-  
+
   * sresolv module:
 
 	* Updated sresolv API.
@@ -743,7 +743,7 @@
 
     M ./libsofia-sip-ua/nua/test_nua.c +138
 
-  * Fixed NTA API test for SigComp options (they are now always processed). 
+  * Fixed NTA API test for SigComp options (they are now always processed).
 
     M ./libsofia-sip-ua/nta/test_nta_api.c -8 +4
 
@@ -800,7 +800,7 @@
 
 2006-04-11  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
-  Synchronizing CVS with darcs (other contributors pp = Pekka Pessi, 
+  Synchronizing CVS with darcs (other contributors pp = Pekka Pessi,
   mm = Martti Mela).
 
   * NDEBUG oops. (pp)
@@ -897,7 +897,7 @@
     M ./libsofia-sip-ua/nua/nua_tag.c -2
     M ./libsofia-sip-ua/nua/sofia-sip/nua_tag.h -7 +6
 
-  * Fixed su_root_run() usage in docs. (pp) 
+  * Fixed su_root_run() usage in docs. (pp)
   Thanks for hint by Julio Auto.
 
     M ./libsofia-sip-ua/nua/nua.docs -1 +1
@@ -915,7 +915,7 @@
     M ./libsofia-sip-ua/nua/nua_register.c -7 +11
 
   * Removed obsoleted nua events. (pp)
-  
+
   Removed nua events nua_i_media_event, nua_r_set_media_param,
   nua_r_get_media_param, nua_r_media_setup, nua_r_media_describe,
   nua_r_media_event, nua_i_announce, nua_i_describe, nua_i_get_parameter,
@@ -923,7 +923,7 @@
   nua_i_setup, nua_i_teardown, nua_r_setup, nua_r_play, nua_r_record,
   nua_r_pause, nua_r_describe, nua_r_teardown, nua_r_options2, nua_r_announce,
   nua_r_get_parameter, and nua_r_set_parameter.
-  
+
   Removed nua functions nua_announce(), nua_describe(), nua_get_media_param(),
   nua_get_parameter(), nua_media_describe(), nua_media_event(),
   nua_media_setup(), nua_options2(), nua_pause(), nua_play(), nua_record(),
@@ -1330,7 +1330,7 @@
     A ./libsofia-sip-ua/tport/tport_type_connect.c
 
   * Split tport.c into multiple modules. (pp)
-  STUN, UPnP and SigComp still need some polishing. 
+  STUN, UPnP and SigComp still need some polishing.
 
     M ./libsofia-sip-ua/tport/Makefile.am -3 +7
     M ./libsofia-sip-ua/tport/test_tport.c -13 +11
@@ -1574,12 +1574,12 @@
     M ./libsofia-sip-ua/nta/nta.c -3 +9
 
   * Using SOFIAPUBFUN in msg_header.h. Avoiding use of msg_param_t where possible. (pp)
-      
+
   API CHANGE:
   Allowing NULL as message public pointer (using default) in calls to
   msg_serialize(), msg_header_add(), msg_header_prepend(),
   msg_header_add_dup(), msg_header_add_dup_as(), msg_header_add_make(),
-  msg_header_add_str(), msg_header_insert(), msg_header_remove(), 
+  msg_header_add_str(), msg_header_insert(), msg_header_remove(),
   msg_header_remove_all(), and msg_header_replace().
 
     M ./libsofia-sip-ua/msg/msg_parser.c -155 +182
@@ -1613,7 +1613,7 @@
   * nua_dialog_store_peer_info() now optionally removes peer info. (pp)
   If the SIP message given to nua_dialog_store_peer_info() is redirection
   response, reset peer info.
-  
+
 
     M ./libsofia-sip-ua/nua/nua_dialog.c +14
 
@@ -1645,7 +1645,7 @@
 2006-03-16  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
   Synchronizing CVS with darcs.
-	
+
   * Fixed lib-sofia-sip-ua-glib Makefile.ams.
   Tried to sanitize glib-less compilation.
 
@@ -1718,7 +1718,7 @@
   * Using alarm() with su_test.c.
 
   * Fixed hc_print usage in msg_header_prepare().
-  Some headers use snprintf() which may return -1 on some platforms if 
+  Some headers use snprintf() which may return -1 on some platforms if
   buffer is too small.
 
   * Fixed problems in test_nua on win32.
@@ -1753,13 +1753,13 @@
     M ./libsofia-sip-ua/nua/nua_stack.c -1 +1
 
 2006-03-13  Martti Mela  <martti.mela at nokia.com>
-	
+
   * win32 defs, compiles and installs in mingw environment
 
 2006-03-09  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
-  * Synchronized darcs and CVS. 
-	
+  * Synchronized darcs and CVS.
+
   * Added missing su_source_test.c file.
 
     A ./libsofia-sip-ua-glib/su-glib/su_source_test.c
@@ -1978,8 +1978,8 @@
 
 2006-03-01  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
-  * Synchronized darcs and CVS. 
-	
+  * Synchronized darcs and CVS.
+
   * Added utils/Doxyfile
 
     A ./utils/Doxyfile
@@ -2122,7 +2122,7 @@
 2006-02-15  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
   * Release 1.11.6.
-	
+
   * Fixed problems in doxygen documentation and dist.
 
   * Updated PRACK and nta_outgoing_prack().
@@ -2173,19 +2173,19 @@
   <sofia-sip/su.h>.
 
   You can either fix your applications to use the new include file names
-  with the fix-include-sofia-sip sed script found in scripts/ directory, or 
-  add both ${sofiadir} and ${sofiadir}/sofia-sip into your include path, 
+  with the fix-include-sofia-sip sed script found in scripts/ directory, or
+  add both ${sofiadir} and ${sofiadir}/sofia-sip into your include path,
   e.g.,
 
-  INCLUDES = -I/usr/include/sofia-1.11 -I/usr/include/sofia-1.11/sofia-sip 
+  INCLUDES = -I/usr/include/sofia-1.11 -I/usr/include/sofia-1.11/sofia-sip
 
   At the same time, I took the liberty to rename two include files
 
   sofia_sip_features.h => sofia-sip/features.h
-  su_memmem.h => sofia-sip/su_bm.h	
+  su_memmem.h => sofia-sip/su_bm.h
 
   The fix-include-sofia-sip sed script takes care of both of them.
-	
+
   * Improved 100rel handling in nua.
   Added test_100rel to test_nua.c.
 
@@ -2193,7 +2193,7 @@
 
   * Improving getaddrinfo replacements.
   Testing functions getaddrinfo()/freeaddrinfo(), getnameinfo() and
-  gai_strerror() separately. 
+  gai_strerror() separately.
   There is no gai_strerror() in windows, I think.
 
 2006-02-03  Pekka Pessi  <Pekka.Pessi at nokia.com>
@@ -2286,12 +2286,12 @@
     M ./libsofia-sip-ua/nea/nea_server.c -1 +1
 
   * Added functions for scanning domain names and IP addresses.
-  Added span_ip4_address()/scan_ip4_address(), 
-        span_ip6_address()/scan_ip6_address(), 
+  Added span_ip4_address()/scan_ip4_address(),
+        span_ip6_address()/scan_ip6_address(),
         span_ip6_reference()/scan_ip6_reference(),
-        span_ip_address()/scan_ip_address(), 
+        span_ip_address()/scan_ip_address(),
         span_domain()/scan_domain(), and
-        span_host()/scan_host(). 
+        span_host()/scan_host().
 
     M ./libsofia-sip-ua/bnf/bnf.c -2 +588
     M ./libsofia-sip-ua/bnf/bnf.h -2 +18
@@ -2393,7 +2393,7 @@
 2006-01-03  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
   Syncinc darcs and CVS.
-	
+
   * Added more tests for call hold.
 
   * Using msg_header_replace_param() in nua_stack.c.
@@ -2410,7 +2410,7 @@
 
   * Removed msg_bnf.h
 
-  * Added NTATAG_TCP_RPORT(). 
+  * Added NTATAG_TCP_RPORT().
   Do not use rport with TCP by default.
 
   * Added test for comp=sigcomp.
@@ -2420,7 +2420,7 @@
 
   * Documented TP_AI_ flags.
   Test our TP_AI_ assumptions.
-  Added a test for asymmetric SigComp on TCP. 
+  Added a test for asymmetric SigComp on TCP.
   We use TP_AI_COMPRESSED flag in this test.
 
   * Added TPTAG_FRESH() and a test for it.
@@ -2429,7 +2429,7 @@
 
   * Use #include <stdio.h> for FILE.
 
-  * Fixed include_sofiadir handling in pkg-config and rpm files. 
+  * Fixed include_sofiadir handling in pkg-config and rpm files.
 
 2005-12-27  Martti Mela <martti.mela at nokia.com
 
@@ -2559,7 +2559,7 @@
     M ./libsofia-sip-ua/sip/torture_sip.c -13 +137
 
   * Added manipulation functions for header parameters.
-  msg_header_find_param(), msg_header_add_param(), 
+  msg_header_find_param(), msg_header_add_param(),
   msg_header_replace_param(), and msg_header_remove_param().
 
     M ./libsofia-sip-ua/http/http_basic.c -1 +1
@@ -2659,7 +2659,7 @@
 
     M ./libsofia-sip-ua/su/su_localinfo.c +3
     M ./libsofia-sip-ua/su/su_localinfo.h -2 +3
-   
+
 2005-12-02  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
    Again, syncing darcs and CVS.
@@ -3025,11 +3025,11 @@
 
   * Cleaned up su_addrinfo.c. [pp]
   Cleaned up comments.
-  Using SU_HAVE_ flags. 
+  Using SU_HAVE_ flags.
   Added support for SCTP in getaddrinfo() replacement.
 
     M ./libsofia-sip-ua/su/su_addrinfo.c -10 +38
-	
+
   * Declaring sockaddr_storage in su.h if it is not provided in environment.
 
     M ./libsofia-sip-ua/su/su.h +23
@@ -3052,7 +3052,7 @@
 2005-11-30  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
   Syncing darcs with CVS.
-	
+
   * Silenced warning in su_addrinfo.c.
 
     M ./libsofia-sip-ua/su/su_addrinfo.c -1 +2
@@ -3158,16 +3158,16 @@
 
     M ./libsofia-sip-ua/nua/nua_stack.c -10 +18
 
-  * Rewrote uas_check_session_content(). 
+  * Rewrote uas_check_session_content().
   Returning empty Accept-Encoding header in 415/406 responses.
 
     M ./libsofia-sip-ua/nua/nua_stack.c -21 +41
 
   * Do not throttle at termination. [FIX]
-  
-  nea_server now sends NOTIFYs that terminate subscription even if the 
+
+  nea_server now sends NOTIFYs that terminate subscription even if the
   previous NOTIFY transaction has not completed yet.
-  
+
   This fixes the race condition in nua_terminate() (where terminating NOTIFY
   was is never sent).
 
@@ -3203,7 +3203,7 @@
     M ./RELEASE -3 +16
 
   * Fixed installing and distributing m4 files.
-  Not installing m4/sac-su2.m4. 
+  Not installing m4/sac-su2.m4.
   Including m4/sac-tport.m4 and m4/sac-openssl.m4 in distribution.
 
     M ./Makefile.am -1 +2
@@ -3219,7 +3219,7 @@
     M ./libsofia-sip-ua/docs/mainpage.docs -5 +7
 
   * Updated subscriptuion authorization and nua_terminate() semantics.
-  Subscription authorization now rejects SUBSCRIBE if 
+  Subscription authorization now rejects SUBSCRIBE if
   NUTAG_SUBSTATE(nua_substate_terminated) parameter is set.
   Correct status code is relayed to application, too.
   nua_terminate() now always terminates whole notifier.
@@ -3253,7 +3253,7 @@
 
     M ./libsofia-sip-ua/docs/Doxyfile -1 +1
     M ./libsofia-sip-ua/features/Doxyfile -1 +1
-	
+
 	M ./libsofia-sip-ua/nea/Doxyfile -1 +1
 
   * Moved typedefs nua_t and nua_handle_t into <nua_tag.h>
@@ -3409,9 +3409,9 @@
 2005-11-28  Martti Mela  <martti.mela at nokia.com>
 
 	* nua.h: added event nua_i_subscription
-	
+
 	* nua_commmon.c: added event nua_i_subscription
-	
+
 	* nua_stack.c: ua_event for nua_i_subscription (nea subscribers)
 
 	* nea.h, nea_tag.c, nea_tag_ref.c, nea_server.c: support for a new
@@ -3419,7 +3419,7 @@
 
 2005-11-15  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
-	* configure.ac: Added VER_LIBSOFIA_SIP_UA variables. 
+	* configure.ac: Added VER_LIBSOFIA_SIP_UA variables.
 
 2005-11-14  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
@@ -3469,7 +3469,7 @@
     M ./libsofia-sip-ua/soa/test_soa.c -19 +382
 
   * Added funtions for rtp payload type management.
-  
+
   Added sdp_media_uses_rtp(), sdp_rtpmap_match(), sdp_rtpmap_find_matching()
   and sdp_rtpmap_well_known[]. Fixed RTP timestamp rate for G722: it was 16000
   but it should be 8000.
@@ -3510,8 +3510,8 @@
     M ./libsofia-sip-ua/su/su_wait.h +3
 
   * Fixed tport.c on Win32 port.
-  Added a separate "connecting" phase. 
-  Checking EWOULDBLOCK in addition to EAGAIN. 
+  Added a separate "connecting" phase.
+  Checking EWOULDBLOCK in addition to EAGAIN.
   Fixed TP_AI_CLOSE and TP_AI_SHUTDOWN flags.
   Improved logging.
 
@@ -3757,7 +3757,7 @@
   * Cleaned up nta module interfaces.
   Use uint32_t instead of sip_u32_t.
   Removed old funtions not using reference counting with messages:
-  Replaced nta_outgoing_getresponse() with nta_outgoing_getresponse_ref(), 
+  Replaced nta_outgoing_getresponse() with nta_outgoing_getresponse_ref(),
   and nta_outgoing_getrequest() with nta_outgoing_getrequest_ref().
   Removed nta_incoming_getresponse(), nta_leg_stateful().
   Removed nta_outgoing_tmcreate(): use nta_outgoing_mcreate() instead.
@@ -3795,7 +3795,7 @@
 
     M ./libsofia-sip-ua/sip/sip_protos.h.in -1 +1
 
-  * Cleaned up sip types. 
+  * Cleaned up sip types.
   Not using special typedefs sip_u32_t or sip_u16_t.
 
     M ./libsofia-sip-ua/sip/sip.h -15 +11
@@ -3816,7 +3816,7 @@
   * Removed annoying Last modified from iptsec.
 
 2005-11-04  Pekka Pessi  <Pekka.Pessi at nokia.com>
-	
+
   * Removed annoying Last modified from msg module.
 
   * Removed Last modified things from sip module.
@@ -3852,7 +3852,7 @@
 
     M ./libsofia-sip-ua/nua/test_nua.c +409
 
-  * Added nua_unpublish(). 
+  * Added nua_unpublish().
   Some cosmetic changes, too.
 
     M ./libsofia-sip-ua/nua/nua.h -1 +4
@@ -3899,14 +3899,14 @@
 
   * Moved deprecated functions to nta/nta_compat.c.
   nta_msg_vsend() and msg_msg_send() should not be used anymore.
-  
+
   nta_msg_discard() is also deprecated, but getting rid of references to it
   takes time.
 
     M ./libsofia-sip-ua/nta/nta.c -43 +42
     M ./libsofia-sip-ua/nta/nta_compat.c -1 +31
 
-  * Plugged memory leak in nth_engine_create() in nth/nth_client.c 
+  * Plugged memory leak in nth_engine_create() in nth/nth_client.c
   Use su_home_new() instead of su_salloc().
 
     M ./libsofia-sip-ua/nth/nth_client.c -3 +2
@@ -4297,7 +4297,7 @@
 
 	* Importing darcs-to-cvs-2005-10-04.
 
-  * Using DIST_SUBDIRS when including dist-only dirs 
+  * Using DIST_SUBDIRS when including dist-only dirs
 
     M ./Makefile.am -1 +2
     M ./libsofia-sip-ua/Makefile.am -1 +4
@@ -4308,7 +4308,7 @@
 2005-10-03  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
 	* Importing darcs-to-cvs-2005-10-03.
-	
+
   * Removed old .def files.
 
     R ./libsofia-sip-ua/ipt/ipt.def
@@ -4337,7 +4337,7 @@
 2005-09-29  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
 	* Importing darcs-to-cvs-2005-09-29.
-		
+
 2005-09-28  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
 	* Added nua improvements.
@@ -4347,7 +4347,7 @@
 2005-09-23  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
 	* darcs changes:
-	
+
 	Fri Sep 23 18:58:29 EEST 2005  Pekka.Pessi at nokia.com
 	  * Building msg_test class into msg_test library, use that in tport.
 
@@ -4460,7 +4460,7 @@
 	    M ./libsofia-sip-ua/sip/sip_header.h +3
 
 	Mon Sep 19 20:12:33 EEST 2005  Pekka.Pessi at nokia.com
-	  * Updated. Added rules for ignoring SDP. corrected some 
+	  * Updated. Added rules for ignoring SDP. corrected some
 
 	    M ./libsofia-sip-ua/soa/soa.docs -8 +18
 
@@ -4567,7 +4567,7 @@
 	* Makefile.am: Added requirement for automake-1.6.1
 	or newer.
 
-	* autogen.sh: Fixed interop problem with older automake 
+	* autogen.sh: Fixed interop problem with older automake
 	versions.
 
 	* configure.ac: Do not compile STUN if OpenSSL is not

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/Makefile.am
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/Makefile.am	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/Makefile.am	Tue Dec 23 07:37:03 2008
@@ -21,12 +21,12 @@
 VERSION = @VERSION@
 
 EXTRA_DIST =	AUTHORS COPYING COPYRIGHTS ChangeLog.ext-trees \
-		README README.developers RELEASE TODO 
+		README README.developers RELEASE TODO
 
 ACLOCAL_AMFLAGS = -I m4
 
 EXTRA_DIST += 	m4/sac-general.m4 m4/sac-coverage.m4 \
-		m4/sac-su2.m4 m4/sac-tport.m4 m4/sac-openssl.m4 
+		m4/sac-su2.m4 m4/sac-tport.m4 m4/sac-openssl.m4
 
 EXTRA_DIST +=   docs/build_system.txt \
 		docs/devel_platform_notes.txt \

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/README
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/README	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/README	Tue Dec 23 07:37:03 2008
@@ -5,12 +5,12 @@
 Introduction
 ------------
 
-Sofia-SIP is an open-source SIP User-Agent library, compliant 
-with the IETF RFC3261 specification. It can be used as 
-a building block for SIP client software for uses such as VoIP, 
-IM, and many other real-time and person-to-person communication 
-services. The primary target platform for Sofia-SIP is 
-GNU/Linux. Sofia-SIP is based on a SIP stack developed at 
+Sofia-SIP is an open-source SIP User-Agent library, compliant
+with the IETF RFC3261 specification. It can be used as
+a building block for SIP client software for uses such as VoIP,
+IM, and many other real-time and person-to-person communication
+services. The primary target platform for Sofia-SIP is
+GNU/Linux. Sofia-SIP is based on a SIP stack developed at
 the Nokia Research Center. Sofia-SIP is licensed under the LGPL.
 
 
@@ -42,9 +42,9 @@
 
 The Sofia-SIP su submodule also provides some small utilities:
 
-- addrinfo (libsofia-sip-ua/su), resolve host names 
+- addrinfo (libsofia-sip-ua/su), resolve host names
 - localinfo (libsofia-sip-ua/su), prints information about
-  local network interfaces 
+  local network interfaces
 
 References
 ----------

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/README.developers
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/README.developers	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/README.developers	Tue Dec 23 07:37:03 2008
@@ -6,8 +6,8 @@
 ============
 
 This file is a collection of practices and rules for Sofia-SIP
-development. If you have questions, or would like to make 
-changes, raise the issue on sofia-sip-devel (see 
+development. If you have questions, or would like to make
+changes, raise the issue on sofia-sip-devel (see
 http://lists.sourceforge.net/lists/listinfo/sofia-sip-devel ).
 
 
@@ -15,17 +15,17 @@
 ==============================
 
 AUTHORS
-	List of contributors. When contributing new code, add 
+	List of contributors. When contributing new code, add
 	yourself to AUTHORS, and also remember to update the
 	per source file copyright statements.
 
 COPYRIGHTS
-	List of licenses and related copyright statements. While 
+	List of licenses and related copyright statements. While
 	majority of Sofia-SIP is licensed under LGPL, there are
-	a few files with different, but LGPL compatible, licensing 
+	a few files with different, but LGPL compatible, licensing
 	terms.
-	
-README.developers 
+
+README.developers
 	This file.
 
 TODO
@@ -33,11 +33,11 @@
 
 <dir>/ChangeLog files
 	All non-trivial changes to the source code should
-	be documented in the ChangeLog files. See also the 
+	be documented in the ChangeLog files. See also the
 	top-level ChangeLog.
 
 
-Version numbering 
+Version numbering
 =================
 
 Package version
@@ -50,8 +50,8 @@
      vMAJOR.MINOR.REVISION, where minor is odd
      vMAJOR.MINOR.REVISION.YEAR.MONTH.DAY, where minor is odd
 
-For all releases, the version should be changed in configure.ac 
-and committed to Darcs/CVS before making the release package. The person 
+For all releases, the version should be changed in configure.ac
+and committed to Darcs/CVS before making the release package. The person
 doing the release is responsible for updating the version number.
 
 Library interface versions
@@ -64,14 +64,14 @@
 
 The interface versions are set in top-level 'configure.ac' file.
 Additionally, the SONAME version (CURRENT-AGE) is set in the
-same place. These version numbers are available for use as autoconf 
-variables (see the library 'Makefile.am' files and 
+same place. These version numbers are available for use as autoconf
+variables (see the library 'Makefile.am' files and
 'packages/sofia-sip.spec.in').
 
 All changes to the library versions should be marked to the
 appropriate library 'ChangeLog' file. The library version should
-be changed at the same time as the first interface change is 
-committed since the previous release. The interface version is 
+be changed at the same time as the first interface change is
+committed since the previous release. The interface version is
 frozen (should be marked to the 'ChangeLog' file) at the time
 the next release is tagged (in other words, intra-release changes
 need not be tracked with libtool versions).
@@ -95,7 +95,7 @@
     - CVS tree (only used to track major releases) at:
       http://sourceforge.net/cvs/?group_id=143636
 - tags: rel-sofia-sip-x_y_z
-    - stable and development releases (matches release 
+    - stable and development releases (matches release
       version sofia-sip-x.y.z)
 - tags: snapshot_rel_YEARMMDD
     - snapshot releases at
@@ -113,13 +113,13 @@
 People without Darcs access
 ---------------------------
 
-Send your patches to sofia-sip-devel. Someone from the 
+Send your patches to sofia-sip-devel. Someone from the
 development team (see AUTHORS) will handle the patch.
 
 People with Darcs access
 ------------------------
 
-Trivial changes can be committed without review. For non-trivial 
+Trivial changes can be committed without review. For non-trivial
 changes, you should first send a proposal to sofia-sip-devel and
 wait for comments. There are no strict approval rules so use of
 common sense is recommended. ;)

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/RELEASE
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/RELEASE	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/RELEASE	Tue Dec 23 07:37:03 2008
@@ -17,17 +17,17 @@
 
 <see previous release notes at
  http://sofia-sip.sourceforge.net/relnotes/ for examples ;
- - should include all changes to public headers, and 
-   other important information to developers; 
+ - should include all changes to public headers, and
+   other important information to developers;
  - and should be updated _continuously_! />
 
 **template**: New features in API are marked with Doxytag macro @VERSION_1_XX_X.
 
 libsofia-sip-ua:
 - **template**: Added foobar() function (sofia-sip/foobar.h).
-- This release is ABI/API compatible with applications linked against 
-  any 1.12.x release. However, applications built against this release won't 
-  work against an older library. The ABI has been tested with the nua module 
+- This release is ABI/API compatible with applications linked against
+  any 1.12.x release. However, applications built against this release won't
+  work against an older library. The ABI has been tested with the nua module
   unit test (test_nua) built against original 1.12.0 release.
 
 libsofia-sip-ua-glib:
@@ -41,12 +41,12 @@
 <list of people who contributed to _this_ release
  - update as people's patches are added, or when you commit stuff
  - current development team members (see AUTHORS) may be omitted,
-   or listed at the end of the contribur list (depending on the scope 
+   or listed at the end of the contribur list (depending on the scope
    of the work done since the last release)
  - name of the contributor should be enough (email addresses in AUTHORS),
    plus a _brief_ description of what was contributed
  - roughly sorted by number of patches accepted
-/> 
+/>
 
 - **template**: First Surname (patch to nua/soa/msg)
 
@@ -59,7 +59,7 @@
  - new/changed/removed functionality
  - links to further documentation
  - section may be omitted for minor releases
-/> 
+/>
 
 Bugs fixed in this release
 --------------------------

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/RELEASE.template
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/RELEASE.template	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/RELEASE.template	Tue Dec 23 07:37:03 2008
@@ -17,17 +17,17 @@
 
 <see previous release notes at
  http://sofia-sip.sourceforge.net/relnotes/ for examples ;
- - should include all changes to public headers, and 
-   other important information to developers; 
+ - should include all changes to public headers, and
+   other important information to developers;
  - and should be updated _continuously_! />
 
 **template**: New features in API are marked with Doxytag macro @VERSION_1_XX_X.
 
 libsofia-sip-ua:
 - **template**: Added foobar() function (sofia-sip/foobar.h).
-- This release is ABI/API compatible with applications linked against 
-  any 1.12.x release. However, applications built against this release won't 
-  work against an older library. The ABI has been tested with the nua module 
+- This release is ABI/API compatible with applications linked against
+  any 1.12.x release. However, applications built against this release won't
+  work against an older library. The ABI has been tested with the nua module
   unit test (test_nua) built against original 1.12.0 release.
 
 libsofia-sip-ua-glib:
@@ -41,12 +41,12 @@
 <list of people who contributed to _this_ release
  - update as people's patches are added, or when you commit stuff
  - current development team members (see AUTHORS) may be omitted,
-   or listed at the end of the contribur list (depending on the scope 
+   or listed at the end of the contribur list (depending on the scope
    of the work done since the last release)
  - name of the contributor should be enough (email addresses in AUTHORS),
    plus a _brief_ description of what was contributed
  - roughly sorted by number of patches accepted
-/> 
+/>
 
 - **template**: First Surname (patch to nua/soa/msg)
 
@@ -59,7 +59,7 @@
  - new/changed/removed functionality
  - links to further documentation
  - section may be omitted for minor releases
-/> 
+/>
 
 Bugs fixed in this release
 --------------------------

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/TODO
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/TODO	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/TODO	Tue Dec 23 07:37:03 2008
@@ -8,11 +8,11 @@
 ---------------
 
 1.11/1.12 series
-    - first version of the new nua+soa API 
+    - first version of the new nua+soa API
  	- nua_respond_nit() (non-INVITEs)
 	- nua_set_hparams()/nua_get_hparams() [DONE]
 	- session object ownership changes [DONE]
-        - allow multiple registrations (lines) and selecting 
+        - allow multiple registrations (lines) and selecting
           service route, outbound proxy, and transport independently
           for each handle; NUTAG_IDENTITY
     - doxygen documentation updates [DONE]

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/autogen.sh
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/autogen.sh	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/autogen.sh	Tue Dec 23 07:37:03 2008
@@ -1,4 +1,4 @@
-#!/bin/sh 
+#!/bin/sh
 
 set -x
 AUTOMAKE=${AUTOMAKE:-automake-1.9} ACLOCAL=${ACLOCAL:-aclocal-1.9}

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/configure.ac
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/configure.ac	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/configure.ac	Tue Dec 23 07:37:03 2008
@@ -2,7 +2,7 @@
 dnl Contact: Pekka Pessi <pekka.pessi at nokia.com>
 dnl Licensed under LGPL. See file COPYING.
 
-dnl 
+dnl
 dnl ref: http://www.gnu.org/software/autoconf/manual/autoconf.info.gz
 dnl
 AC_PREREQ(2.57)
@@ -11,7 +11,7 @@
 dnl ---------------------------
 
 dnl update both the version for AC_INIT and the LIBSOFIA_SIP_UA_MAJOR_MINOR
-AC_INIT([sofia-sip], [1.12.9devel1])
+AC_INIT([sofia-sip], [1.12.10devel])
 AC_CONFIG_SRCDIR([libsofia-sip-ua/sip/sofia-sip/sip.h])
 AC_SUBST(VER_LIBSOFIA_SIP_UA_MAJOR_MINOR, [1.12])
 dnl Includedir specific to this sofia version
@@ -24,7 +24,7 @@
 AC_SUBST(LIBVER_SOFIA_SIP_UA_GLIB_REV, [0])
 AC_SUBST(LIBVER_SOFIA_SIP_UA_GLIB_AGE, [0])
 AC_SUBST(LIBVER_SOFIA_SIP_UA_GLIB_SOVER, [3]) # CUR-AGE
-					    
+
 # dnl calls AC_CANONICAL_ macros that are required by AM_INIT_AUTOMAKE
 SAC_CANONICAL_SYSTEM_CACHE_CHECK
 
@@ -56,7 +56,7 @@
 
 AC_ARG_WITH(doxygen,
 [  --with-doxygen[[=CMD]]    use doxygen command CMD [[doxygen]]],[
-case $enable_doxygen in 
+case $enable_doxygen in
 yes ) doxygen=doxygen ;;
 no ) doxygen=echo ;;
 esac], doxygen=doxygen)
@@ -249,12 +249,12 @@
 if test $ac_cv_c_z_format = yes; then
   AC_DEFINE([MOD_ZD], ["%ld"], [Define printf() modifier for ssize_t])dnl
   AC_DEFINE([MOD_ZU], ["%lu"], [Define printf() modifier for size_t])dnl
-else 
+else
   dnl Cross fingers
   AC_MSG_WARN("printf cannot handle size_t, using long instead")
   AC_DEFINE([MOD_ZD], ["%ld"], [Define printf() modifier for ssize_t])dnl
   AC_DEFINE([MOD_ZU], ["%lu"], [Define printf() modifier for size_t])dnl
-fi 
+fi
 
 fi
 
@@ -327,7 +327,7 @@
 libsofia-sip-ua/soa/Doxyfile
 libsofia-sip-ua/soa/Makefile
 libsofia-sip-ua/sresolv/Doxyfile
-libsofia-sip-ua/sresolv/Makefile 
+libsofia-sip-ua/sresolv/Makefile
 libsofia-sip-ua/stun/Doxyfile
 libsofia-sip-ua/stun/Makefile
 libsofia-sip-ua/su/Doxyfile

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/docs/build_system.txt
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/docs/build_system.txt	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/docs/build_system.txt	Tue Dec 23 07:37:03 2008
@@ -73,8 +73,8 @@
 ================
 
 Most of the code resides in the libsofia-sip-ua directory.
-The main library, libsofia-sip-ua.so, is created by 
-collecting object files (for example bnf/bnf_objs.o) from 
+The main library, libsofia-sip-ua.so, is created by
+collecting object files (for example bnf/bnf_objs.o) from
 individual modules.
 
 There are some portability issues with the way the
@@ -89,13 +89,13 @@
 Developer documentation
 =======================
 
-Generating reference documentation from source code 
+Generating reference documentation from source code
 ---------------------------------------------------
 
 The libsofia-sip-ua library has a top-level make target
 "doxygen" for generating the HTML reference documentation.
-The pages will be created to libsofia-sip-ua/docs 
-subdirectory. 
+The pages will be created to libsofia-sip-ua/docs
+subdirectory.
 
 This special target is primarily meant for use by
 the Sofia-SIP website admins, but can be used by anyone

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/docs/devel_platform_notes.txt
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/docs/devel_platform_notes.txt	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/docs/devel_platform_notes.txt	Tue Dec 23 07:37:03 2008
@@ -14,16 +14,16 @@
 Notes to distributors
 ----------------------
 
-Build options such as "--disable-stun" (HAVE_SOFIA_STUN) and 
+Build options such as "--disable-stun" (HAVE_SOFIA_STUN) and
 "--disable-nth" (HAVE_SOFIA_NTH) modify the public library API/ABI,
 by omitting certain interfaces from the resulting library and installed
 header files.
 
 Options such as '--disable-size-compat' modify the library
-ABI by changing the types used in public library function 
+ABI by changing the types used in public library function
 signatures.
 
-Generic POSIX (GNU/Linux, BSD, ...) 
+Generic POSIX (GNU/Linux, BSD, ...)
 -----------------------------------
 
 Sofia-SIP should compile out-of-the-box on generic POSIX
@@ -35,17 +35,17 @@
 for the full list.
 
 
-Mac OS X 
+Mac OS X
 --------
 
 TBD
 
-Win32 / Mingw 
+Win32 / Mingw
 -------------
 
-TBD 
+TBD
 
-Win32 / Cygwin 
+Win32 / Cygwin
 --------------
 
 TBD

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/docs/release_management.txt
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/docs/release_management.txt	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/docs/release_management.txt	Tue Dec 23 07:37:03 2008
@@ -27,8 +27,8 @@
     - maintained in sofia-sip/RELEASE
     - see diff between cvs/darcs between previous and
       this version
-    - written in freshmeat.net "Changes:" style 
-- notes on API/ABI interface changes 
+    - written in freshmeat.net "Changes:" style
+- notes on API/ABI interface changes
     - maintained in sofia-sip/RELEASE
     - all changes in public interfaces, plus other
       notes that developers should be aware of
@@ -41,7 +41,7 @@
 See the RELEASE.template file for a full list of release note
 sections.
 
-Making the release tarball 
+Making the release tarball
 ==========================
 
 - basics: check system clock of the build host ;)
@@ -71,15 +71,15 @@
 
 - combine the sofia-sip/RELEASE contents with
   the template found from sfnet_www/templates/relnotes.txt
-- store the resulting release notes to 
+- store the resulting release notes to
   sfnet_www/relnotes/relnotes-sofia-sip-x.y.z.txt
-- add explicit link to the release notes to 
+- add explicit link to the release notes to
   sfnet_www/download.html (three most recent releases,
   see guidelines in the html comments)
 - update sfnet_www/index.html to mention the latest
   release
-- commit the change to sf.net website CVS, and run the 
-  sfnet_www/put_online.sh script 
+- commit the change to sf.net website CVS, and run the
+  sfnet_www/put_online.sh script
 
 Uploading the release to sourceforge.net
 ========================================
@@ -104,8 +104,8 @@
 
 - replace the RELEASE file with RELEASE.template, and
   commit it to master source repository (see sofia-sip/README.developers)
-- change version in configure.ac from "X.Y.Z" to 
-  "X.Y.Zdevel" (as it is in many cases unknown what the 
+- change version in configure.ac from "X.Y.Z" to
+  "X.Y.Zdevel" (as it is in many cases unknown what the
   next version will be)
 - make a "tree open for development" commit
 
@@ -122,15 +122,15 @@
 
 - Always tag the src-tree with "syncuser-fromvcs-to-tovcs-yearmmdd".
 
-- Add a top-level ChangeLog entry that documents all the 
+- Add a top-level ChangeLog entry that documents all the
   changes made outside the target tree (what, who and when -
-  for example produced with the "darcs changes --summary" 
+  for example produced with the "darcs changes --summary"
   command).
 
 Checking API/ABI compatibility
 ==============================
 
-- Use a unit test binary built against an old library, 
+- Use a unit test binary built against an old library,
   to verify a new library version (forwards-compatibility).
 - Use the 'icheck' tool (in Debian) to make comparison
   between two released versions.

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am	Tue Dec 23 07:37:03 2008
@@ -17,7 +17,7 @@
 lib_LTLIBRARIES += libsofia-sip-ua-glib.la
 endif
 
-libsofia_sip_ua_glib_la_SOURCES = 
+libsofia_sip_ua_glib_la_SOURCES =
 libsofia_sip_ua_glib_la_LIBADD = $(GLIB_TARGETS) $(GLIB_LIBS)
 
 # set the libtool version info version:revision:age for libsofia-sip-ua-glib
@@ -42,7 +42,7 @@
 	done
 	${top_srcdir}/scripts/hide_emails.sh docs/html
 
-PHONY = doxygen 
+PHONY = doxygen
 
 include $(top_srcdir)/rules/recursive.am
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_glib.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_glib.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_glib.h	Tue Dec 23 07:37:03 2008
@@ -27,7 +27,7 @@
 
 /**
  * @file su_glib.h
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  * @author Kai Vehmanen <first.surname at nokia.com>
  */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_source.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_source.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_source.h	Tue Dec 23 07:37:03 2008
@@ -27,16 +27,16 @@
 
 /**
  * @file su_source.h
- * @brief 
+ * @brief
  *
- * NOTE: This file (su_source.h) is DEPRECATED as of 1.12.2 release. 
+ * NOTE: This file (su_source.h) is DEPRECATED as of 1.12.2 release.
  *       Please use su_glib.h instead.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  * @author Kai Vehmanen <first.surname at nokia.com>
- *  
+ *
  * @date Created: Thu Mar  4 19:58:50 2004 ppessi
- * 
+ *
  */
 
 #ifndef SU_WAIT_H

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_glib.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_glib.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_glib.docs	Tue Dec 23 07:37:03 2008
@@ -4,7 +4,7 @@
 
 @section su_glib_meta Module Meta Information
 
-The su-glib module provides an interface to connect Sofia-SIP event loop 
+The su-glib module provides an interface to connect Sofia-SIP event loop
 to an existing glib main loop. Without this interface, a glib based
 application would have to create a separate thread for running
 the Sofia-SIP event loop.
@@ -29,14 +29,14 @@
   #include <sofia-sip/su_glib.h>
 
   /* ... */
-  
+
   GMainLoop *ptr = g_main_loop_new(NULL, FALSE);
   GSource *gsource;
   su_root_t *sofia_event_loop;
   su_timer_t *timer;
 
   /* create a sofia event loop using su-glib function su_glib_root_source_create() */
-  sofia_event_loop = su_glib_root_create(NULL); 
+  sofia_event_loop = su_glib_root_create(NULL);
 
   /* attach the created GSource to glib event loop */
   gsource = su_glib_root_gsource(sofia_event_loop);
@@ -48,12 +48,12 @@
   /* ... initialize other Sofia-SIP modules/functrions */
 
   /* run the glib mainloop */
-  g_main_loop_run(ptr);  
- at endcode   
+  g_main_loop_run(ptr);
+ at endcode
 
 @section su_glib_todo Todo
 
-- see sourceforge.net issue tracker for sofia-sip 
+- see sourceforge.net issue tracker for sofia-sip
   (-> http://sofia-sip.sourceforge.net/development.html )
 
 */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c	Tue Dec 23 07:37:03 2008
@@ -25,15 +25,15 @@
 /**
  * @file su_source.c
  * @brief Wrapper for glib GSource.
- *  
- * Refs: 
+ *
+ * Refs:
  *  - http://sofia-sip.sourceforge.net/refdocs/su/group__su__wait.html
  *  - http://developer.gnome.org/doc/API/glib/glib-the-main-event-loop.html
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>.
- * 
+ *
  * @date Created: Thu Mar  4 15:15:15 2004 ppessi
- * 
+ *
  */
 
 #include "config.h"
@@ -100,28 +100,28 @@
 static int su_source_send(su_port_t *self, su_msg_r rmsg);
 
 static int su_source_register(su_port_t *self,
-			    su_root_t *root, 
-			    su_wait_t *wait, 
+			    su_root_t *root,
+			    su_wait_t *wait,
 			    su_wakeup_f callback,
 			    su_wakeup_arg_t *arg,
 			    int priority);
 static int su_source_unregister(su_port_t *port,
-			      su_root_t *root, 
-			      su_wait_t *wait,	
-			      su_wakeup_f callback, 
+			      su_root_t *root,
+			      su_wait_t *wait,
+			      su_wakeup_f callback,
 			      su_wakeup_arg_t *arg);
 static int su_source_deregister(su_port_t *self, int i);
 static int su_source_unregister_all(su_port_t *self,
 				  su_root_t *root);
-static int su_source_eventmask(su_port_t *self, 
+static int su_source_eventmask(su_port_t *self,
 			     int index, int socket, int events);
 static void su_source_run(su_port_t *self);
 static void su_source_break(su_port_t *self);
 static su_duration_t su_source_step(su_port_t *self, su_duration_t tout);
 static int su_source_thread(su_port_t *self, enum su_port_thread_op op);
 static int su_source_add_prepoll(su_port_t *port,
-				 su_root_t *root, 
-				 su_prepoll_f *, 
+				 su_root_t *root,
+				 su_prepoll_f *,
 				 su_prepoll_magic_t *);
 static int su_source_remove_prepoll(su_port_t *port,
 				  su_root_t *root);
@@ -129,7 +129,7 @@
 
 static char const *su_source_name(su_port_t const *self);
 
-static 
+static
 su_port_vtable_t const su_source_port_vtable[1] =
   {{
       /* su_vtable_size: */ sizeof su_source_port_vtable,
@@ -169,14 +169,14 @@
   return "GSource";
 }
 
-/** 
- * Port is a per-thread reactor.  
+/**
+ * Port is a per-thread reactor.
  *
- * Multiple root objects executed by single thread share a su_port_t object. 
+ * Multiple root objects executed by single thread share a su_port_t object.
  */
 struct su_source_s {
   su_base_port_t   sup_base[1];
-  
+
   GThread         *sup_tid;
   GStaticMutex     sup_obtained[1];
 
@@ -184,20 +184,20 @@
 
   GSource         *sup_source;	/**< Backpointer to source */
   GMainLoop       *sup_main_loop; /**< Reference to mainloop while running */
-  
+
   /* Waits */
-  unsigned         sup_registers; /** Counter incremented by 
-				      su_port_register() or 
+  unsigned         sup_registers; /** Counter incremented by
+				      su_port_register() or
 				      su_port_unregister()
 				  */
-  unsigned         sup_n_waits; 
-  unsigned         sup_size_waits; 
+  unsigned         sup_n_waits;
+  unsigned         sup_size_waits;
   unsigned         sup_max_index;
-  unsigned        *sup_indices; 
-  su_wait_t       *sup_waits; 
-  su_wakeup_f     *sup_wait_cbs; 
-  su_wakeup_arg_t**sup_wait_args; 
-  su_root_t      **sup_wait_roots; 
+  unsigned        *sup_indices;
+  su_wait_t       *sup_waits;
+  su_wakeup_f     *sup_wait_cbs;
+  su_wakeup_arg_t**sup_wait_args;
+  su_root_t      **sup_wait_roots;
 };
 
 typedef struct _SuSource
@@ -243,13 +243,13 @@
   return su_glib_root_create(magic);
 }
 
-/** 
- * Returns a GSource object for the root 
+/**
+ * Returns a GSource object for the root
  *
- * Note that you need to unref the GSource with g_source_unref() 
+ * Note that you need to unref the GSource with g_source_unref()
  * before destroying the root object.
  *
- * @return NULL on error (for instance if root was not created with 
+ * @return NULL on error (for instance if root was not created with
  *         su_glib_root_create())
  */
 GSource *su_glib_root_gsource(su_root_t *root)
@@ -299,7 +299,7 @@
 
 
 /** @internal Destroy a port. */
-static 
+static
 void su_source_finalize(GSource *gs)
 {
   SuSource *ss = (SuSource *)gs;
@@ -315,7 +315,7 @@
 
   g_static_mutex_lock(self->sup_mutex);
 
-  PORT_LOCK_DEBUG((" ...%p at %s locked(%p)...", 
+  PORT_LOCK_DEBUG((" ...%p at %s locked(%p)...",
 		   (void *)g_thread_self(), who, self));
 }
 
@@ -323,7 +323,7 @@
 {
   g_static_mutex_unlock(self->sup_mutex);
 
-  PORT_LOCK_DEBUG((" ...%p at %s unlocked(%p)\n", 
+  PORT_LOCK_DEBUG((" ...%p at %s unlocked(%p)\n",
 		   (void *)g_thread_self(), who, self));
 }
 
@@ -351,7 +351,7 @@
  * Change or query ownership of the port object.
  *
  * @param self pointer to a port object
- * @param op operation 
+ * @param op operation
  *
  * @ERRORS
  * @ERROR EALREADY port already has an owner (or has no owner)
@@ -392,7 +392,7 @@
 /* -- Registering and unregistering ------------------------------------- */
 
 /* Seconds from 1.1.1900 to 1.1.1970 */
-#define NTP_EPOCH 2208988800UL 
+#define NTP_EPOCH 2208988800UL
 
 /** Prepare to wait - calculate time to next timer */
 static
@@ -402,7 +402,7 @@
   su_port_t *self = ss->ss_port;
 
   enter;
-  
+
   if (self->sup_base->sup_head) {
     *return_tout = 0;
     return TRUE;
@@ -450,7 +450,7 @@
   return su_source_prepare(gs, &tout);
 }
 
-static 
+static
 gboolean su_source_dispatch(GSource *gs,
 			    GSourceFunc callback,
 			    gpointer user_data)
@@ -489,8 +489,8 @@
     for (i = 0; i < n; i++) {
       if (waits[i].revents) {
 	root = self->sup_wait_roots[i];
-	self->sup_wait_cbs[i](root ? su_root_magic(root) : NULL, 
-			      &waits[i], 
+	self->sup_wait_cbs[i](root ? su_root_magic(root) : NULL,
+			      &waits[i],
 			      self->sup_wait_args[i]);
 	/* Callback used su_register()/su_unregister() */
 	if (version != self->sup_registers)
@@ -512,7 +512,7 @@
 		   (void *)g_thread_self(), who, self));
   g_static_mutex_lock(self->sup_mutex);
 
-  PORT_LOCK_DEBUG((" ...%p at %s locked(%p)...", 
+  PORT_LOCK_DEBUG((" ...%p at %s locked(%p)...",
 		   (void *)g_thread_self(), who, self));
 }
 
@@ -520,7 +520,7 @@
 {
   g_static_mutex_unlock(self->sup_mutex);
 
-  PORT_LOCK_DEBUG((" ...%p at %s unlocked(%p)\n", 
+  PORT_LOCK_DEBUG((" ...%p at %s unlocked(%p)\n",
 		   (void *)g_thread_self(), who, self));
 }
 
@@ -548,21 +548,21 @@
  *
  *  Please note if identical wait objects are inserted, only first one is
  *  ever signalled.
- * 
+ *
  * @param self	     pointer to port
  * @param root	     pointer to root object
  * @param waits	     pointer to wait object
  * @param callback   callback function pointer
  * @param arg	     argument given to callback function when it is invoked
- * @param priority   relative priority of the wait object 
+ * @param priority   relative priority of the wait object
  *              (0 is normal, 1 important, 2 realtime)
- * 
+ *
  * @return
- *   The function @su_source_register returns nonzero index of the wait object, 
+ *   The function @su_source_register returns nonzero index of the wait object,
  *   or -1 upon an error.  */
 int su_source_register(su_port_t *self,
-		       su_root_t *root, 
-		       su_wait_t *wait, 
+		       su_root_t *root,
+		       su_wait_t *wait,
 		       su_wakeup_f callback,
 		       su_wakeup_arg_t *arg,
 		       int priority)
@@ -571,7 +571,7 @@
   unsigned n;
 
   enter;
-  
+
   assert(SU_SOURCE_OWN_THREAD(self));
 
   n = self->sup_n_waits;
@@ -587,7 +587,7 @@
 
     if (self->sup_size_waits == 0)
       size = SU_WAIT_MIN;
-    else 
+    else
       size = 2 * self->sup_size_waits;
 
     indices = realloc(self->sup_indices, size * sizeof(*indices));
@@ -600,14 +600,14 @@
 
     for (i = 0; i < self->sup_n_waits; i++)
       g_source_remove_poll(self->sup_source, (GPollFD*)&self->sup_waits[i]);
-      
+
     waits = realloc(self->sup_waits, size * sizeof(*waits));
     if (waits)
       self->sup_waits = waits;
 
     for (i = 0; i < self->sup_n_waits; i++)
       g_source_add_poll(self->sup_source, (GPollFD*)&waits[i]);
-      
+
     wait_cbs = realloc(self->sup_wait_cbs, size * sizeof(*wait_cbs));
     if (wait_cbs)
       self->sup_wait_cbs = wait_cbs;
@@ -618,7 +618,7 @@
 
     /* Add sup_wait_roots array, if needed */
     wait_tasks = realloc(self->sup_wait_roots, size * sizeof(*wait_tasks));
-    if (wait_tasks) 
+    if (wait_tasks)
       self->sup_wait_roots = wait_tasks;
 
     if (!(indices && waits && wait_cbs && wait_args && wait_tasks)) {
@@ -638,7 +638,7 @@
       g_source_add_poll(self->sup_source, (GPollFD*)&self->sup_waits[n]);
       self->sup_wait_cbs[n] = self->sup_wait_cbs[n-1];
       self->sup_wait_args[n] = self->sup_wait_args[n-1];
-      self->sup_wait_roots[n] = self->sup_wait_roots[n-1];	
+      self->sup_wait_roots[n] = self->sup_wait_roots[n-1];
     }
   }
   else {
@@ -653,13 +653,13 @@
 
   I = self->sup_max_index;
 
-  for (i = 0; i < I; i++)  
+  for (i = 0; i < I; i++)
     if (self->sup_indices[i] == UINT_MAX)
       break;
     else if (self->sup_indices[i] >= n)
       self->sup_indices[i]++;
 
-  if (i == I) 
+  if (i == I)
     self->sup_max_index++;
 
   if (n + 1 < self->sup_n_waits)
@@ -676,23 +676,23 @@
 }
 
 /** Unregister a su_wait_t object.
- *  
+ *
  *  The function su_source_unregister() unregisters a su_wait_t object. The
  *  wait object, a callback function and a argument are removed from the
  *  port object.
- * 
+ *
  * @param self     - pointer to port object
  * @param root     - pointer to root object
  * @param wait     - pointer to wait object
  * @param callback - callback function pointer (may be NULL)
- * @param arg      - argument given to callback function when it is invoked 
+ * @param arg      - argument given to callback function when it is invoked
  *                   (may be NULL)
- * 
+ *
  * @return Nonzero index of the wait object, or -1 upon an error.
  */
 int su_source_unregister(su_port_t *self,
-			 su_root_t *root, 
-			 su_wait_t *wait,	
+			 su_root_t *root,
+			 su_wait_t *wait,
 			 su_wakeup_f callback, /* XXX - ignored */
 			 su_wakeup_arg_t *arg)
 {
@@ -700,7 +700,7 @@
   unsigned i, I, j, *indices;
 
   enter;
-  
+
   assert(self);
   assert(SU_SOURCE_OWN_THREAD(self));
 
@@ -733,14 +733,14 @@
 	if (self->sup_indices[j] != UINT_MAX &&
 	    self->sup_indices[j] > n)
 	  self->sup_indices[j]--;
-    
+
     for (; n < N; n++) {
       g_source_remove_poll(self->sup_source, (GPollFD*)&self->sup_waits[n+1]);
       self->sup_waits[n] = self->sup_waits[n+1];
       g_source_add_poll(self->sup_source, (GPollFD*)&self->sup_waits[n]);
       self->sup_wait_cbs[n] = self->sup_wait_cbs[n+1];
       self->sup_wait_args[n] = self->sup_wait_args[n+1];
-      self->sup_wait_roots[n] = self->sup_wait_roots[n+1];	  
+      self->sup_wait_roots[n] = self->sup_wait_roots[n+1];
     }
 
     i += 1;	/* 0 is failure */
@@ -757,14 +757,14 @@
 }
 
 /** Deregister a su_wait_t object.
- *  
- *  The function su_source_deregister() deregisters a su_wait_t registrattion. 
+ *
+ *  The function su_source_deregister() deregisters a su_wait_t registrattion.
  *  The wait object, a callback function and a argument are removed from the
  *  port object.
- * 
+ *
  * @param self     - pointer to port object
  * @param i        - registration index
- * 
+ *
  * @return Index of the wait object, or -1 upon an error.
  */
 int su_source_deregister(su_port_t *self, int i)
@@ -774,7 +774,7 @@
   su_wait_t wait[1];
 
   enter;
-  
+
   assert(self);
   assert(SU_SOURCE_OWN_THREAD(self));
 
@@ -810,7 +810,7 @@
     g_source_add_poll(self->sup_source, (GPollFD*)&self->sup_waits[n]);
     self->sup_wait_cbs[n] = self->sup_wait_cbs[n+1];
     self->sup_wait_args[n] = self->sup_wait_args[n+1];
-    self->sup_wait_roots[n] = self->sup_wait_roots[n+1];	  
+    self->sup_wait_roots[n] = self->sup_wait_roots[n+1];
   }
 
   indices[i - 1] = UINT_MAX;
@@ -830,13 +830,13 @@
  *
  * The function su_source_unregister_all() unregisters all su_wait_t objects
  * associated with given root object destroys all queued timers.
- * 
+ *
  * @param  self     - pointer to port object
  * @param  root     - pointer to root object
- * 
+ *
  * @return Number of wait objects removed.
  */
-int su_source_unregister_all(su_port_t *self, 
+int su_source_unregister_all(su_port_t *self,
 			   su_root_t *root)
 {
   unsigned i, j;
@@ -847,15 +847,15 @@
   su_root_t      **wait_roots;
 
   enter;
-  
+
   assert(SU_SOURCE_OWN_THREAD(self));
 
   n_waits    = self->sup_n_waits;
-  waits      = self->sup_waits; 
-  wait_cbs   = self->sup_wait_cbs; 
+  waits      = self->sup_waits;
+  wait_cbs   = self->sup_wait_cbs;
   wait_args  = self->sup_wait_args;
-  wait_roots = self->sup_wait_roots; 
-  
+  wait_roots = self->sup_wait_roots;
+
   for (i = j = 0; (unsigned)i < n_waits; i++) {
     if (wait_roots[i] == root) {
       /* XXX - we should free all resources associated with this */
@@ -872,7 +872,7 @@
     }
     j++;
   }
-  
+
   self->sup_n_waits = j;
   self->sup_registers++;
 
@@ -898,7 +898,7 @@
   int retval;
 
   enter;
-  
+
   assert(self);
   assert(SU_SOURCE_OWN_THREAD(self));
   assert(0 < index && (unsigned)index <= self->sup_max_index);
@@ -927,18 +927,18 @@
     return 1;
   else if (multishot == 0 || multishot == 1)
     return 1;			/* Always enabled */
-  else 
+  else
     return (errno = EINVAL), -1;
 }
 
 
 /** @internal Main loop.
- * 
+ *
  * The function @c su_source_run() runs the main loop
- * 
+ *
  * The function @c su_source_run() runs until @c su_source_break() is called
  * from a callback.
- * 
+ *
  * @param self     pointer to root object
  * */
 void su_source_run(su_port_t *self)
@@ -947,7 +947,7 @@
   GMainLoop *gml;
 
   enter;
-  
+
   gmc = g_source_get_context(self->sup_source);
   if (gmc && g_main_context_acquire(gmc)) {
     gml = g_main_loop_new(gmc, TRUE);
@@ -962,30 +962,30 @@
 /** @internal
  * The function @c su_source_break() is used to terminate execution of @c
  * su_source_run(). It can be called from a callback function.
- * 
+ *
  * @param self     pointer to port
- * 
+ *
  */
 void su_source_break(su_port_t *self)
 {
   enter;
-  
+
   if (self->sup_main_loop)
     g_main_loop_quit(self->sup_main_loop);
 }
 
 /** @internal Block until wait object is signaled or timeout.
  *
- * This function waits for wait objects and the timers associated with 
+ * This function waits for wait objects and the timers associated with
  * the root object.  When any wait object is signaled or timer is
- * expired, it invokes the callbacks. 
- * 
+ * expired, it invokes the callbacks.
+ *
  *   This function returns when a callback has been invoked or @c tout
- *   milliseconds is elapsed. 
+ *   milliseconds is elapsed.
  *
  * @param self     pointer to port
  * @param tout     timeout in milliseconds
- * 
+ *
  * @Return
  *   Milliseconds to the next invocation of timer, or @c SU_WAIT_FOREVER if
  *   there are no active timers.
@@ -995,7 +995,7 @@
   GMainContext *gmc;
 
   enter;
-  
+
   gmc = g_source_get_context(self->sup_source);
 
   if (gmc && g_main_context_acquire(gmc)) {
@@ -1030,8 +1030,8 @@
 }
 
 static int su_source_add_prepoll(su_port_t *port,
-				 su_root_t *root, 
-				 su_prepoll_f *prepoll, 
+				 su_root_t *root,
+				 su_prepoll_f *prepoll,
 				 su_prepoll_magic_t *magic)
 {
   /* We could call prepoll in su_source_prepare()?? */
@@ -1066,7 +1066,7 @@
   fprintf(f, "\tport tid %p\n", (void *)self->sup_tid);
   fprintf(f, "\t%d wait objects\n", self->sup_n_waits);
   for (i = 0; i < self->sup_n_waits; i++) {
-    
+
   }
 }
 
@@ -1078,7 +1078,7 @@
  *
  * @return
  *   If successful a pointer to the new message port is returned, otherwise
- *   NULL is returned.  
+ *   NULL is returned.
  */
 static su_port_t *su_source_port_create(void)
 {

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source_test.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source_test.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source_test.c	Tue Dec 23 07:37:03 2008
@@ -28,7 +28,7 @@
  * @brief Test program for glib and su root event loop integration.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Thu Mar 18 19:40:51 1999 pessi
  */
 
@@ -74,7 +74,7 @@
 short opt_singlethread = 0;
 GMainLoop *global_gmainloop = NULL;
 
-static su_socket_t udpsocket(void) 
+static su_socket_t udpsocket(void)
 {
   su_socket_t s;
   su_sockaddr_t su = { 0 };
@@ -98,7 +98,7 @@
 
   if (getsockname(s, &su.su_sa, &sulen) == SOCKET_ERROR) {
     su_perror("udpsocket: getsockname");
-    exit(1); 
+    exit(1);
   }
 
   if (opt_verbatim)
@@ -118,7 +118,7 @@
   return buf;
 }
 
-void 
+void
 do_ping(struct pinger *p, su_timer_t *t, void *p0)
 {
   char buf[1024];
@@ -129,7 +129,7 @@
   p->when = su_now();
 
   snprintf(buf, sizeof(buf), "Ping %d at %s", p->id++, snow(p->when));
-  if (sendto(p->s, buf, strlen(buf), 0, 
+  if (sendto(p->s, buf, strlen(buf), 0,
 	     &p->addr.su_sa, su_sockaddr_size(&p->addr)) == -1) {
     su_perror("do_ping: send");
   }
@@ -189,7 +189,7 @@
   p->id = 0;
 
   snprintf(buf, sizeof(buf), "Pong at %s", snow(su_now()));
-  if (sendto(p->s, buf, strlen(buf), 0, 
+  if (sendto(p->s, buf, strlen(buf), 0,
 	     &p->addr.su_sa, su_sockaddr_size(&p->addr)) == -1) {
     su_perror("do_pong: send");
   }
@@ -412,7 +412,7 @@
 /*
  * test su_wait functionality:
  *
- * Create a ponger, waking up do_recv() when data arrives, 
+ * Create a ponger, waking up do_recv() when data arrives,
  *                  then scheduling do_pong() by timer
  *
  * Create a pinger, executed from timer, scheduling do_ping(),
@@ -428,8 +428,8 @@
   su_timer_t *t;
   unsigned long sleeppid = 0;
 
-  struct pinger 
-    pinger = { PINGER, "ping", 1 }, 
+  struct pinger
+    pinger = { PINGER, "ping", 1 },
     ponger = { PONGER, "pong", 1 };
 
   char *argv0 = argv[0];
@@ -437,7 +437,7 @@
 #if HAVE_OPEN_C
   dup2(1, 2);
 #endif
-  
+
   while (argv[1]) {
     if (strcmp(argv[1], "-v") == 0) {
       opt_verbatim = 1;
@@ -465,9 +465,9 @@
 #if HAVE_OPEN_C
   opt_verbatim = 1;
   opt_singlethread = 1;
-  su_log_soft_set_level(su_log_default, 9);  
+  su_log_soft_set_level(su_log_default, 9);
 #endif
-  
+
 #if HAVE_SIGNAL
   signal(SIGTERM, term);
 #endif
@@ -478,20 +478,20 @@
 
   global_gmainloop = g_main_loop_new(NULL, FALSE);
   g_assert(global_gmainloop);
-  
-  root = su_glib_root_create(NULL); 
+
+  root = su_glib_root_create(NULL);
 
   if (!root) perror("su_root_glib_create"), exit(1);
-  
-  if (!g_source_attach(su_glib_root_gsource(root), g_main_loop_get_context(global_gmainloop))) 
+
+  if (!g_source_attach(su_glib_root_gsource(root), g_main_loop_get_context(global_gmainloop)))
     perror("g_source_attach"), exit(1);
-  
+
   su_root_threading(root, 0 && !opt_singlethread);
 
   if (su_clone_start(root, ping, &pinger, do_init, do_destroy) != 0)
     perror("su_clone_start"), exit(1);
   if (su_clone_start(root, pong, &ponger, do_init, do_destroy) != 0)
-    perror("su_clone_start"), exit(1); 
+    perror("su_clone_start"), exit(1);
 
   /* Test timer, exiting after 200 milliseconds */
   t = su_timer_create(su_root_task(root), 200L);
@@ -499,7 +499,7 @@
     su_perror("su_timer_create"), exit(1);
   su_timer_set(t, (su_timer_f)do_exit, NULL);
 
-  su_msg_create(start_msg, su_clone_task(ping), su_clone_task(pong), 
+  su_msg_create(start_msg, su_clone_task(ping), su_clone_task(pong),
 		init_ping, 0);
   su_msg_send(start_msg);
 
@@ -511,7 +511,7 @@
   su_timer_destroy(t);
 
   if (pinger.rtt_n) {
-    printf("%s executed %u pings in %g, mean rtt=%g sec\n", name, 
+    printf("%s executed %u pings in %g, mean rtt=%g sec\n", name,
 	   pinger.rtt_n, pinger.rtt_total, pinger.rtt_total / pinger.rtt_n);
   }
   su_root_destroy(root);
@@ -519,7 +519,7 @@
   g_main_loop_unref(global_gmainloop), global_gmainloop = NULL;
 
   if (opt_verbatim)
-    printf("%s exiting\n", argv0); 
+    printf("%s exiting\n", argv0);
 
 #ifndef HAVE_WIN32
 #if HAVE_SIGNAL
@@ -531,6 +531,6 @@
 #if HAVE_OPEN_C
    sleep(7);
 #endif
-   
+
   return 0;
 }

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/torture_su_glib_timer.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/torture_su_glib_timer.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/torture_su_glib_timer.c	Tue Dec 23 07:37:03 2008
@@ -23,7 +23,7 @@
  */
 
 /**
- * @brief Test program for su-glib timers 
+ * @brief Test program for su-glib timers
  *
  * Based on torture_su_timer.c of libsofia-sip-ua.
  *
@@ -186,7 +186,7 @@
   su_init(); atexit(su_deinit);
 
   tester->root = root = su_glib_root_create(tester);
-  
+
   source = su_root_gsource(tester->root);
   g_source_attach(source, NULL /*g_main_context_default ()*/);
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ChangeLog
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ChangeLog	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ChangeLog	Tue Dec 23 07:37:03 2008
@@ -9,7 +9,7 @@
 2006-10-12  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
 	* libsofia-sip-ua interface v3 frozen (3:0:3) for the 1.12.3 release
-	
+
 2006-09-26  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
 	* libsofia-sip-ua interface v2 frozen (2:0:2) for the 1.12.2 release
@@ -27,9 +27,9 @@
 	* Added urltag_scan().
 
 2006-08-23  Pekka Pessi  <Pekka.Pessi at nokia.com>
-	
+
 	* nta.c, nta.h: added nta_leg_make_replaces(), nta_leg_by_replaces().
-	
+
 	* nua: event watcher (nua_subscribe, nua_watcher) now tries to re-establish
 	  subscription if the subscription was terminated with reason "deactivated" or
 	  "probation". Likewise, if SUBSCRIBE was returned a suitable error response
@@ -49,13 +49,13 @@
 	* <SUBDIRS>/Doxyfile: Fixed the use of doxytags. Now
 	a separate 'doxytags_MODNAME' file is created for each
 	module.
-	
+
 2005-11-15  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
-	* <SUBDIRS>/Makefile.am: Changed to use the 'include_sofia_HEADERS' 
+	* <SUBDIRS>/Makefile.am: Changed to use the 'include_sofia_HEADERS'
 	variable for listing public library headers. The variable
 	is defined in the top-level configure.ac.
-	
+
 2005-10-27  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
   * Always including stun library.
@@ -84,7 +84,7 @@
 
 2005-10-14  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
-	  * Shell syntax exercise. 
+	  * Shell syntax exercise.
 
 	    M ./autogen.sh -4 +4
 
@@ -94,7 +94,7 @@
 
 2005-10-13  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
-	* <SUBDIRS>/Makefile.am: Build all submodules as proper shared 
+	* <SUBDIRS>/Makefile.am: Build all submodules as proper shared
 	libraries (noinst_LTLIBRARIES). Fixes sf.net:#1264030.
 
 2005-09-09  Pekka Pessi  <Pekka.Pessi at nokia.com>
@@ -179,7 +179,7 @@
 	    M ./iptsec/auth_module.c -5 +5
 
 	Thu Sep  8 21:10:23 EEST 2005  Pekka.Pessi at nokia.com
-	  * Added auth_digest_credentials(). 
+	  * Added auth_digest_credentials().
 	  Use opaque to match Authorization header.
 
 	    M ./iptsec/auth_digest_test.c -2 +3
@@ -319,7 +319,7 @@
 	    M ./url/url.c -1 +6
 
 	Thu Sep  8 18:01:17 EEST 2005  Pekka.Pessi at nokia.com
-	  * Explicitly using <errno.h> 
+	  * Explicitly using <errno.h>
 
 	    M ./msg/msg.c +2
 	    M ./msg/msg_mclass.c +1
@@ -369,10 +369,10 @@
 
 	Thu Sep  8 03:11:35 EEST 2005  Pekka.Pessi at nokia.com
 	  * su_home_new and su_home_unref
-	  Added su_home_new() and su_home_unref(). 
-	  
+	  Added su_home_new() and su_home_unref().
+
 	  Fixed su_home_mutex_lock() and su_home_mutex_unlock().
-	  
+
 	  Slightly changed semantics of su_home_clone() versus
 	  su_home_threadsafe().
 
@@ -386,7 +386,7 @@
 
 	Thu Sep  8 03:07:17 EEST 2005  Pekka.Pessi at nokia.com
 	  * More liberal sdp parsing for config files.
-	  Be more liberal when parsing config files 
+	  Be more liberal when parsing config files
 	  (do not require v=, accept -1 as len argument).
 
 	    M ./sdp/sdp_parse.c -9 +25
@@ -403,7 +403,7 @@
 
 	    M ./sdp/sdp.h +2
 	    M ./sdp/sdp_parse.c +10
-	
+
 2005-09-08  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
 	* Makefile.am: Workaround for automake bug related to adding
@@ -416,7 +416,7 @@
 
 2005-08-17  Pekka Pessi  <Pekka.Pessi at nokia.com>
 
-	* Fixed BEGIN()/END() pairs in test programs. 
+	* Fixed BEGIN()/END() pairs in test programs.
 
 2005-08-04  Pekka Pessi  <Pekka.Pessi at nokia.com>
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/Makefile.am
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/Makefile.am	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/Makefile.am	Tue Dec 23 07:37:03 2008
@@ -16,13 +16,13 @@
 OPT_SUBDIRS_HTTP =
 OPT_SUBDIRS_NTH =
 if HAVE_STUN
-OPT_LIBADD += stun/libstun.la 
+OPT_LIBADD += stun/libstun.la
 OPT_SUBDIRS_STUN += stun
 endif
 if HAVE_NTH
-OPT_LIBADD += http/libhttp.la nth/libnth.la 
+OPT_LIBADD += http/libhttp.la nth/libnth.la
 OPT_SUBDIRS_HTTP += http
-OPT_SUBDIRS_NTH += nth 
+OPT_SUBDIRS_NTH += nth
 endif
 
 # note: order does matter in the subdir list
@@ -37,7 +37,7 @@
 
 noinst_LTLIBRARIES = libsofia-sip-ua.la
 
-libsofia_sip_ua_la_SOURCES = 
+libsofia_sip_ua_la_SOURCES =
 libsofia_sip_ua_la_LIBADD = 	bnf/libbnf.la \
 				features/libfeatures.la \
 				ipt/libipt.la \
@@ -80,29 +80,27 @@
           fi ; \
 	done
 	for d in $(DIST_SUBDIRS); do \
-	  test -r $$d/Doxyfile \
-	  && pushd $$d > /dev/null \
-	  && echo running ${DOXYGEN} first time in $$d \
-          && ${DOXYGEN} 2>&1 \
-	  | egrep -v -i -e 'Warning: (unsupported (xml/)?html tag|unable to resolve reference|explicit link.*could not be resolved)' \
-          ; popd > /dev/null ; \
-	  test -r docs/$$d.doxytags && \
+	  ( test -r $$d/Doxyfile && \
+	  cd $$d > /dev/null && \
+	  echo running ${DOXYGEN} first time in $$d && \
+          ${DOXYGEN} 2>&1 ) | \
+	  egrep -v -i -e 'Warning: (unsupported (xml/)?html tag|unable to resolve reference|explicit link.*could not be resolved)' ; \
+          test -r docs/$$d.doxytags && \
 	  sed '2,10s!<name>index</name>!<name>'$$d'_index</name>!' \
 	    docs/$$d.doxytags > docs/$$d.doxytags.tmp && \
 	  mv -f docs/$$d.doxytags.tmp docs/$$d.doxytags ; \
-	done 
+	done
 	for d in $(DIST_SUBDIRS); do \
-	  test -r $$d/Doxyfile \
-	  && pushd $$d > /dev/null \
-	  && echo running ${DOXYGEN} second time in $$d \
-          && ${DOXYGEN} 2>&1 \
-	   | egrep -v -i -e 'Warning: Unsupported (xml/)?html tag' \
-          ; popd > /dev/null ; \
+	  ( test -r $$d/Doxyfile && \
+	    cd $$d > /dev/null \
+	    echo running ${DOXYGEN} second time in $$d && \
+            ${DOXYGEN} 2>&1 ) | \
+	    egrep -v -i -e 'Warning: Unsupported (xml/)?html tag' ; \
 	  test -r docs/$$d.doxytags && \
 	  sed '2,10s!<name>index</name>!<name>'$$d'_index</name>!' \
 	    docs/$$d.doxytags > docs/$$d.doxytags.tmp && \
 	  mv -f docs/$$d.doxytags.tmp docs/$$d.doxytags ; \
-	done 
+	done
 	${top_srcdir}/scripts/hide_emails.sh docs/html
 
 if HAVE_LCOV

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c	Tue Dec 23 07:37:03 2008
@@ -96,10 +96,10 @@
 /** Span of a token */
 size_t bnf_span_token4(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (_bnf_table[(unsigned char)(*e)] & bnf_token)
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 char * bnf_span_token_end(char const *s)
@@ -192,9 +192,9 @@
 
 /** Return length of valid IP4 address.
  *
- * Note that we accept here up to two leading zeroes 
+ * Note that we accept here up to two leading zeroes
  * which makes "dotted decimal" notation ambiguous:
- * 127.000.000.001 is interpreted same as 127.0.0.1 
+ * 127.000.000.001 is interpreted same as 127.0.0.1
  *
  * Note that traditionally IP address octets starting
  * with zero have been interpreted as octal:
@@ -711,7 +711,7 @@
 
 /** Return true if @a string is valid IP6 address in hex notation.
  *
- * E.g., fe80::1 is a valid IP6 address. 
+ * E.g., fe80::1 is a valid IP6 address.
  */
 int host_is_ip6_address(char const *string)
 {
@@ -724,7 +724,7 @@
   return host_is_ip6_reference(string);
 }
 
-/** Return true if @a string is valid IP6 reference, 
+/** Return true if @a string is valid IP6 reference,
  *  i.e. hex notation in square brackets.
  *
  * E.g., [::1] is a valid IP6 reference.
@@ -737,7 +737,7 @@
 
 /** Return true if @a string is valid IP address.
  *
- * Valid IP address is either a IP4 adddress in quad-octet notation, 
+ * Valid IP address is either a IP4 adddress in quad-octet notation,
  * IP6 hex address or IP6 reference in square brackets ([]).
  */
 int host_is_ip_address(char const *string)
@@ -748,7 +748,7 @@
 
 /** Return true if @a string is valid a domain name.
  *
- * Valid domain name consists of alphanumeric labels separated with 
+ * Valid domain name consists of alphanumeric labels separated with
  * dot ("."). There can be a "-" in the middle of label.
  * The last label must start with a letter.
  *
@@ -777,8 +777,8 @@
 
 /** Returns true if @a string is describing a local address.
  *
- * Uses the definitions of local addresses found in RFC1700 and 
- * RFC4291. 
+ * Uses the definitions of local addresses found in RFC1700 and
+ * RFC4291.
  */
 int host_is_local(char const *host)
 {
@@ -793,10 +793,10 @@
 
   n = span_domain(host);
 
-  return 
+  return
     n >= 9 /* strlen("localhost") */ &&
     strncasecmp(host, "localhost", 9) == 0 &&
-    (n == 9 || 
+    (n == 9 ||
      ((n == 10 || /* localhost. */
        n == 21 || /* strlen("localhost.localdomain") */
        n == 22) && /* strlen("localhost.localdomain.") */
@@ -866,7 +866,7 @@
     if (canonize) {
       char *tmp = buf;
       s = memcpy(tmp, s, len + 1);
-      scan_ip4_address(&tmp);      
+      scan_ip4_address(&tmp);
     }
     if (s[len] == '\0' && su_inet_pton(AF_INET, s, addr) == 1)
       return (void)(*return_addrlen = 4), len;
@@ -877,14 +877,14 @@
 
 /** Compare two host names or IP addresses
  *
- * Converts valid IP addresses to the binary format before comparing them. 
+ * Converts valid IP addresses to the binary format before comparing them.
  * Note that IP6-mapped IP4 addresses and IP6-compatible IP4 addresses are
  * compared as IP4 addresses; that is, ::ffff:127.0.0.1, ::127.0.0.1 and
  * 127.0.0.1 all are all equal.
  *
  * @param a IP address or domain name
  * @param b IP address or domain name
- * 
+ *
  * @retval -1 if a < b
  * @retval 0 if a == b
  * @retval 1 if a > b

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.docs	Tue Dec 23 07:37:03 2008
@@ -10,9 +10,9 @@
  *
  * The interface used for validating hostnames and IP addresses is in
  * <sofia-sip/hostdomain.h>.
- * 
+ *
  * @CONTACT Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @STATUS @SofiaSIP Core library
  *
  * @LICENSE LGPL

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/bnf.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/bnf.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/bnf.h	Tue Dec 23 07:37:03 2008
@@ -26,11 +26,11 @@
 #define BNF_H
 
 /**@file sofia-sip/bnf.h
- * 
+ *
  * Parsing macros and prototypes for HTTP-like protocols.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Tue Jun 06 10:59:34 2000 ppessi
  *
  */
@@ -58,7 +58,7 @@
 /** Line-ending characters */
 #define CRLF     CR LF
 /** Whitespace */
-#define WS       SP HT 
+#define WS       SP HT
 /** Linear whitespace */
 #define LWS      SP HT CR LF
 /** Lower-case alphabetic characters */
@@ -71,11 +71,11 @@
 #define DIGIT   "0123456789"
 /** RTSP safe characters */
 #define SAFE    "$-_." /* RTSP stuff */
-#define ALPHANUM DIGIT ALPHA 
+#define ALPHANUM DIGIT ALPHA
 #define HEX      DIGIT "ABCDEF" "abcdef"
 
 /** SIP token characters.
- * @note $|&^# were token chars in RFC 2543, but no more in RFC 3261. 
+ * @note $|&^# were token chars in RFC 2543, but no more in RFC 3261.
  */
 #define SIP_TOKEN  ALPHANUM "-.!%*_+`'~"
 /** SIP separator characters */
@@ -109,7 +109,7 @@
 #define skip_word(ss) (*(ss) += span_word(*(ss)))
 
 /** Test if @c is CR or LF */
-#define IS_CRLF(c)       ((c) == '\r' || (c) == '\n') 
+#define IS_CRLF(c)       ((c) == '\r' || (c) == '\n')
 /** Test if @c is linear whitespace */
 #define IS_LWS(c)  	 ((c) == ' ' || (c) == '\t' || (c) == '\r' || (c) == '\n')
 /*#define IS_LWS(c)  	 ((_bnf_table[(unsigned char)(c)] & bnf_lws))*/
@@ -150,7 +150,7 @@
   bnf_unreserved = bnf_alpha | bnf_mark,	/**< URL unreserved */
   bnf_separator = 32,				/**< SIP separator */
   /** SIP token, not alphabetic (0123456789-.!%*_+`'~) */
-  bnf_token0 = 64 | bnf_safe,				
+  bnf_token0 = 64 | bnf_safe,
   bnf_token = bnf_token0 | bnf_alpha,		/**< SIP token */
   bnf_param0 = 128,				/**< SIP parameter, not token */
   bnf_param = bnf_token | bnf_param0 /**< SIP/HTTP parameter */
@@ -171,7 +171,7 @@
 /** Get number of characters before linear whitespace */
 #define span_non_lws(s) strcspn(s, LWS)
 
-/** Calculate span of a linear whitespace. 
+/** Calculate span of a linear whitespace.
  * LWS = [*WSP CRLF] 1*WSP
  */
 su_inline isize_t span_lws(char const *s)
@@ -189,73 +189,73 @@
 /** Calculate span of a token or linear whitespace characters.  */
 su_inline isize_t span_token_lws(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (_bnf_table[(unsigned char)(*e)] & (bnf_token | bnf_lws))
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 /** Calculate span of a token characters.  */
 su_inline isize_t span_token(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (_bnf_table[(unsigned char)(*e)] & bnf_token)
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 /** Calculate span of a alphabetic characters.  */
 su_inline isize_t span_alpha(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (_bnf_table[(unsigned char)(*e)] & bnf_alpha)
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 /** Calculate span of a digits.  */
 su_inline isize_t span_digit(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (*e >= '0' && *e <= '9')
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 /** Calculate span of a hex.  */
 su_inline isize_t span_hexdigit(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (IS_HEX(*e))
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 /** Calculate span of characters belonging to an RTSP token */
 su_inline isize_t span_alpha_digit_safe(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (_bnf_table[(unsigned char)(*e)] & (bnf_alpha | bnf_safe))
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 /** Calculate span of a characters valid in parameters.  */
 su_inline isize_t span_param(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (IS_PARAM(*e))
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 /** Calculate span of a SIP word.  */
 su_inline isize_t span_word(char const *s)
 {
-  char const *e = s; 
+  char const *e = s;
   while (*e && (IS_TOKEN(*e) || strchr(SIP_WORD, *e)))
-    e++; 
-  return e - s; 
+    e++;
+  return e - s;
 }
 
 /** Calculate span of a unreserved characters.  */
@@ -290,13 +290,13 @@
 /** Reserved in URLs */
 #define URL_RESERVED        ";/?:=+$,"
 
-/** Non-alphanumeric characters without syntactical meaning. */ 
+/** Non-alphanumeric characters without syntactical meaning. */
 #define URL_MARK            "-_.!~*'()"
 
-/** Unreserved characters. */ 
+/** Unreserved characters. */
 #define URL_UNRESERVED ALPHANUM URL_MARK
 
-/** URL hex escape. */ 
+/** URL hex escape. */
 #define URL_ESCAPED    "%"
 #define URL_DELIMS     "<>#%\""
 #define URL_UNWISE     "{}|\\^[]`"

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/hostdomain.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/hostdomain.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/hostdomain.h	Tue Dec 23 07:37:03 2008
@@ -27,11 +27,11 @@
 #define SOFIA_SIP_HOSTDOMAIN_H
 
 /**@file sofia-sip/hostdomain.h
- * 
+ *
  * Predicates for handling host names: IP addresses or domain names.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Thu Mar  9 16:15:22 EET 2006 ppessi
  */
 
@@ -51,7 +51,7 @@
 SOFIAPUBFUN int host_has_domain_invalid(char const *string);
 SOFIAPUBFUN int host_cmp(char const *a, char const *b);
 
-/** This is typo. @deprecated Use host_is_ip6_reference() instead. */ 
+/** This is typo. @deprecated Use host_is_ip6_reference() instead. */
 SOFIAPUBFUN int host_ip6_reference(char const *string);
 
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c	Tue Dec 23 07:37:03 2008
@@ -281,7 +281,7 @@
   TEST_SCAN(scan_host, "127.255.249.000.a,", "127.255.249.000.a,", ",");
   TEST_SCAN(scan_host, "0.00.000.000:,", "0.0.0.0", ":,");
   TEST_SCAN(scan_host, "127.255.249.000,", "127.255.249.0", ",");
-  TEST_SCAN(scan_host, "[dead:beef:feed:ded:0:1:2:3]:1", 
+  TEST_SCAN(scan_host, "[dead:beef:feed:ded:0:1:2:3]:1",
                        "[dead:beef:feed:ded::1:2:3]", ":1");
   TEST_SCAN(scan_host, "[::127.0.0.1]:1", "[::127.0.0.1]:1", ":1");
 
@@ -323,10 +323,10 @@
   /* Invalid IP4 address (extra leading zeros) */
   TEST_1(!host_cmp("127.0.0.1", "127.0.0.01"));
   /* Invalid reference (extra leading zeros) */
-  TEST_1(host_cmp("[0ffff:0ffff:0ffff:0ffff:0ffff:0ffff:255.255.255.255]", 
+  TEST_1(host_cmp("[0ffff:0ffff:0ffff:0ffff:0ffff:0ffff:255.255.255.255]",
 		  "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"));
 #if SU_HAVE_IN6
-  TEST_1(!host_cmp("[ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255]", 
+  TEST_1(!host_cmp("[ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255]",
 		  "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"));
   TEST_1(!host_cmp("::1", "::001"));
   TEST_1(!host_cmp("[::1]", "::1"));

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/ChangeLog
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/ChangeLog	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/ChangeLog	Tue Dec 23 07:37:03 2008
@@ -13,7 +13,7 @@
 2005-09-08  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
 	* hide_emails.sh: Fixed bug in hiding addresses of
-	form foo.bar-bar at something.org. Fixed sf.net 
+	form foo.bar-bar at something.org. Fixed sf.net
 	bug #1277167.
 
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.conf
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.conf	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.conf	Tue Dec 23 07:37:03 2008
@@ -55,10 +55,10 @@
 PDF_HYPERLINKS       = YES
 COMPACT_LATEX        = YES
 PAPER_TYPE           = a4wide
-EXTRA_PACKAGES       = 
+EXTRA_PACKAGES       =
 LATEX_BATCHMODE      = YES
 
-FILE_PATTERNS        = *.h *.c 
+FILE_PATTERNS        = *.h *.c
 
 EXCLUDE_PATTERNS     = acconfig.h config.h confdefs.h \
 			test*.h test*.c torture*.c *test.c *torture.c \

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.in	Tue Dec 23 07:37:03 2008
@@ -11,7 +11,7 @@
 
 GENERATE_TAGFILE    = docs.doxytags
 
-TAGFILES            = 
+TAGFILES            =
 TAGFILES            += su.doxytags=su
 TAGFILES            += ipt.doxytags=ipt
 TAGFILES            += bnf.doxytags=bnf

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Makefile.am
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Makefile.am	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/Makefile.am	Tue Dec 23 07:37:03 2008
@@ -22,7 +22,7 @@
 	pictures/autotools.gif \
 	pictures/autotools.vsd \
 	pictures/nta-receiving-message.eps \
-	pictures/nta-receiving-message.gif 
+	pictures/nta-receiving-message.gif
 
 BUILT_SOURCES = Doxyfile.rfc
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/conformance.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/conformance.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/conformance.docs	Tue Dec 23 07:37:03 2008
@@ -145,9 +145,9 @@
 	@ref sip_min_expires "Min-Expires",
 	@ref sip_mime_version "MIME-Version",
 	@ref sip_organization "Organization",
-	@ref sip_p_asserted_identity "P-Asserted-Identity" 
+	@ref sip_p_asserted_identity "P-Asserted-Identity"
         (extension in @VERSION_1_12_7),
-	@ref sip_p_preferred_identity "P-Preferred-Identity" 
+	@ref sip_p_preferred_identity "P-Preferred-Identity"
         (extension in @VERSION_1_12_7),
 	@ref sip_priority "Priority",
 	@ref sip_proxy_authenticate "Proxy-Authenticate",
@@ -479,7 +479,7 @@
 	@RFC3325: Asserted Identity
     </th>
     <td>
-	Sofia-SIP supports 
+	Sofia-SIP supports
 	@ref sip_p_asserted_identity "P-Asserted-Identity" and
 	@ref sip_p_preferred_identity "P-Preferred-Identity" headers
         (generating, parsing and syntax checking). Also the non-standard
@@ -952,7 +952,7 @@
 	(generating, parsing and syntax checking).
 
         The implicit subscription is suppressed by @nua, if the @ReferSub:
-        true header is included in the REFER 
+        true header is included in the REFER
 	request (@ref nua_refer "on server side") or
 	response (@ref nua_i_refer "on client side").
 
@@ -972,7 +972,7 @@
     <td>
 	Sofia-SIP provides function sip_response_terminates_dialog() that
 	can be used to determine the effect of error response with dialog.
-	
+
 	The nua UA engine uses sip_response_terminates_dialog().
     </td>
     <td>
@@ -1131,7 +1131,7 @@
     <td>
         Application must take care of:
 	- Audio or video processing
-        - Generating a=rtpmap or a=fmtp lines when needed 
+        - Generating a=rtpmap or a=fmtp lines when needed
     </td>
 </tr>
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/docguide.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/docguide.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/docguide.docs	Tue Dec 23 07:37:03 2008
@@ -1,33 +1,33 @@
 /*!
 
 @page docguide Documentation Guidelines
- 
+
 @section doxygen Using Doxygen
 
 Doxygen is a document generation program, used by many C/C++ projects. Its
-home page is at <a href="http://www.doxygen.org">http://www.doxygen.org</a>. 
+home page is at <a href="http://www.doxygen.org">http://www.doxygen.org</a>.
 The Sofia documentation is written using Doxygen.
 
 Doxygen works by extracting the documentation data both from the actual
-C/C++ source code and from the specially formatted comments. 
-The comments can contain some Javadoc-like 
- at ref doxycommands "special commands". 
+C/C++ source code and from the specially formatted comments.
+The comments can contain some Javadoc-like
+ at ref doxycommands "special commands".
 
 In general the the style of the comments and documentation should follow the
 <a href="http://java.sun.com/j2se/javadoc/writingdoccomments/">
 javadoc style guide</a>.
 
 A Doxygen comment must either contain reference about the entity
-it is describing, e.g., command 
+it is describing, e.g., command
 \@file when describing files:
 @verbatim
 /**
- * @file foo.c 
- * 
+ * @file foo.c
+ *
  * Implementation of foo. The foo takes care of grokking xyzzy.
- * 
+ *
  * @author Jaska Jokunen <jaska.jokunen at company.com> \n
- * 
+ *
  * @date Created: Wed Oct 20 15:06:51 EEST 2004 jasjoku
  */
 @endverbatim
@@ -40,7 +40,7 @@
 /**
  * Orches a candometer. If orching candometer is not possible, it
  * tries to schadule hearping.
- * 
+ *
  * @param[in]  k        pointer to a candometer
  * @param[in]  level    orching level
  * @param[out] return_hearping return value for schaduled hearping
@@ -59,15 +59,15 @@
 @subsection doxyfile Doxyfile and Doxyfile.conf
 
 The doxygen options are specified through a configuration file,
-<i>Doxyfile</i>. As a convention, a module-specific Doxyfile includes 
-a common file libsofia-sip-ua/docs/Doxyfile.conf. This makes it possible 
+<i>Doxyfile</i>. As a convention, a module-specific Doxyfile includes
+a common file libsofia-sip-ua/docs/Doxyfile.conf. This makes it possible
 to keep the module-specific Doxyfiles as clean as possible:
 
 @code
 PROJECT_NAME         = "ipt"
 OUTPUT_DIRECTORY     = ../docs/ipt
 
-INPUT 		     = ipt.docs . 
+INPUT 		     = ipt.docs .
 
 @INCLUDE = ../Doxyfile.conf
 
@@ -80,7 +80,7 @@
 Doxygen-generated HTML documentation is collected in @b docs
 subdirectory at top level. A separate output directory is created for
 each submodule under it. Doxytags for the module are generated in the @e
-doxytags file in the output directory. 
+doxytags file in the output directory.
 
 @subsection module_docs Module documentation in \<module\>.docs
 
@@ -105,7 +105,7 @@
 
 @section ipt_overview Overview
 
-This module contain some routines useful for IPT applications, like 
+This module contain some routines useful for IPT applications, like
 - ...
 - ...
 */
@@ -115,7 +115,7 @@
 
 In this section we go through the most common Doxygen commands. All
 the commands are explained in the manual.
-The commands include 
+The commands include
 - @ref doxystyle "style commands (@@a, @@b, @@c, @@e, @@em, @@p)"
 - @ref doxyfuncs "function parameters and return values (@@param, @@return, @@retval)"
 
@@ -123,17 +123,17 @@
 
 The text style can be changed with @@b @b (bold), @@c @c (code), or
 @@e @e (italic) commands. Function argument names use style command
-@@a. 
+@@a.
 
 For example, a sentence "The @b Content-Type header @a ct specifies the @e
 media-type of the message body, e.g., @c audio/amr would be AMR-encoded
 audio." is produced with commands like
 @code
-The @b Content-Type header @a ct specifies the @e media-type of 
+The @b Content-Type header @a ct specifies the @e media-type of
 the message body, e.g., @c audio/amr would be AMR-encoded audio.
- at endcode 
+ at endcode
 
-The style commands have synonyms, e.g., @@em and @@e mean same, as 
+The style commands have synonyms, e.g., @@em and @@e mean same, as
 well as @@c and @@p.
 
 @subsection doxyfuncs Function Parameters and Return Values - @param, @return, @retval
@@ -150,11 +150,11 @@
 
 @verbatim
 /**Schadule hearping.
- * 
+ *
  * The function schadule() schadules a hearping.
- * 
+ *
  * @param[in] h pointer to hearping
- * 
+ *
  * @retval 0  hearping was successful
  * @retval -1 an error occurred
  */
@@ -170,12 +170,12 @@
 commands.
 @verbatim
 /**Destroy a hearping.
- * 
+ *
  * The function hearping_destroy() deinitializes a hearping and
- * reclaims the memory allocated for it. 
- * 
+ * reclaims the memory allocated for it.
+ *
  * @param[in,out] h pointer to pointer to hearping
- * 
+ *
  * The function clears the pointer to hearping, so it must be called
  * with a pointer to pointer:
  * @code
@@ -204,7 +204,7 @@
 When the structure of the documentation does not follow directory or file
 structure, it is possible to use grouping commands @@defgroup and @@ingroup.
 The command @@defgroup creates a group, and @@ingroup adds an entry to an
-group. 
+group.
 
 @subsection doclinking Creating Links
 
@@ -215,7 +215,7 @@
 variable is prefixed with hash @#, Doxygen creates a link to it.
 
 It is also possible to create links with freely selected link to
-documentation entries with @@link and @@endlink commands. 
+documentation entries with @@link and @@endlink commands.
 
 When the link target is a named page, section, or subsection, it is possible
 to use the @@ref command.

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/mainpage.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/mainpage.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/docs/mainpage.docs	Tue Dec 23 07:37:03 2008
@@ -8,39 +8,39 @@
 for Sofia-SIP components. Some introductory material and
 pointers to the example code are also included.
 
-For a list of module specific pages, see @ref subdirs 
+For a list of module specific pages, see @ref subdirs
 "source tree structure" or direct links to submodules:<br>
-<a href="nua/index.html">nua</a> 
-<a href="su/index.html">su</a> 
-<a href="features/index.html">features</a> 
-<a href="soa/index.html">soa</a> 
-<a href="sdp/index.html">sdp</a> 
-<a href="nta/index.html">nta</a> 
-<a href="tport/index.html">tport</a> 
-<a href="sresolv/index.html">sresolv</a> 
-<a href="sip/index.html">sip</a> 
-<a href="msg/index.html">msg</a> 
-<a href="url/index.html">url</a> 
-<a href="stun/index.html">stun</a> 
-<a href="iptsec/index.html">iptsec</a> 
-<a href="nea/index.html">nea</a> 
-<a href="nth/index.html">nth</a> 
-<a href="http/index.html">http</a> 
-<a href="bnf/index.html">bnf</a> 
-<a href="ipt/index.html">ipt</a> 
+<a href="nua/index.html">nua</a>
+<a href="su/index.html">su</a>
+<a href="features/index.html">features</a>
+<a href="soa/index.html">soa</a>
+<a href="sdp/index.html">sdp</a>
+<a href="nta/index.html">nta</a>
+<a href="tport/index.html">tport</a>
+<a href="sresolv/index.html">sresolv</a>
+<a href="sip/index.html">sip</a>
+<a href="msg/index.html">msg</a>
+<a href="url/index.html">url</a>
+<a href="stun/index.html">stun</a>
+<a href="iptsec/index.html">iptsec</a>
+<a href="nea/index.html">nea</a>
+<a href="nth/index.html">nth</a>
+<a href="http/index.html">http</a>
+<a href="bnf/index.html">bnf</a>
+<a href="ipt/index.html">ipt</a>
 
 @section who Contact Information
 
-You can download latest Sofia SIP from the project 
-<a href="http://sofia-sip.sf.net">home page</a> at 
+You can download latest Sofia SIP from the project
+<a href="http://sofia-sip.sf.net">home page</a> at
 <a href="sf.net">Sourceforge.net</a>.
 
 Please contact us if you have questions regarding this software:
 
-<ul> 
+<ul>
 <li>Pekka Pessi <Pekka.Pessi at nokia.com></li>
 <li>Kai Vehmanen <Kai.Vehmanen at nokia.com></li>
-</ul> 
+</ul>
 
 Or post to the Sofia-SIP mailing list:
 
@@ -68,7 +68,7 @@
 SIP Signaling:
  - <a href="nua/index.html">"nua" - SIP User Agent library</a>
  - <a href="nea/index.html">"nea" - SIP Event API</a>
- - <a href="iptsec/index.html">"iptsec" - 
+ - <a href="iptsec/index.html">"iptsec" -
     Digest authentication for HTTP and SIP</a>
  - <a href="nta/index.html">"nta" - SIP transaction engine</a>
  - <a href="tport/index.html">"tport" - Message transport</a>
@@ -103,7 +103,7 @@
 formatting within Sofia-SIP. The guidelines include identifier naming
 conventions, indenting convention, and tool usage directions.
 
-Please note that C style is always a matter of taste. 
+Please note that C style is always a matter of taste.
 
 @section naming Naming Conventions
 
@@ -177,7 +177,7 @@
 -saw -nsc -nsob -nss
 @endcode
 
-Loops without condition use @c for @c (;;) instead of @c while @c (1). 
+Loops without condition use @c for @c (;;) instead of @c while @c (1).
 
 @code
   for (;;) {
@@ -220,7 +220,7 @@
 wrapper interface.
 
 SU module handles abstraction to OS specific functionality such as
-memory management, sockets, threads and time functions. 
+memory management, sockets, threads and time functions.
 
 @subsection ansi_99 ANSI C 99 features
 
@@ -322,7 +322,7 @@
 
 If compiler decides to pack this structure, this code generates a
 structure that has @a bar and @a foo in the first seven bits, and then
- at a something beginning from the next 32 bit boundary. 
+ at a something beginning from the next 32 bit boundary.
 
 One problem arises when using packed bit-fields: on ARM it is
 generally not possible to access a 32 bit field that does not start from
@@ -348,9 +348,9 @@
 @section file_organization File and Directory Structure
 
 A Sofia-SIP library module can be defined as a subdirectory under the
-libsofia-sip-ua directory hierarchy that contains a file \<modulename\>.docs 
-(where the \<modulename\> of course referes to the actual name of 
-the module). 
+libsofia-sip-ua directory hierarchy that contains a file \<modulename\>.docs
+(where the \<modulename\> of course referes to the actual name of
+the module).
 
 In case you like to start developing a new module, please
 contact Sofia-SIP development team so that they can help you to set up
@@ -364,16 +364,16 @@
     Contains any pictures/images
     that are needed by the module documentation. The
     file formats to use are GIF (for html pages) and
-    EPS (for latex). If some program (e.g. MS Visio) is 
+    EPS (for latex). If some program (e.g. MS Visio) is
     used to create the pictures, also the original
     files must be stored here.\n
     (Note that old modules may have "images" subdirectory instead of
     "pictures")
   - files Makefile.am \n
     See section @ref build "dealing with GNU Autotools" below.
-  - (optionally) source code file(s) of the module and module tests. 
+  - (optionally) source code file(s) of the module and module tests.
     The source code file(s) can also be located in subdirectories if necesary.
-    
+
 
 @section oo_with_c Writing Object-Oriented Code
 
@@ -423,17 +423,17 @@
 
 @subsection oo_derived Inheritance and Derived Objects
 
-Inheritance is a object-oriented practice that has limited use in Sofia. 
+Inheritance is a object-oriented practice that has limited use in Sofia.
 Most common example of inheritance is use of #su_home_t. Many objects are
 derived from #su_home_t, which means that they can use the various
-home-based memory management functions from <su_alloc.h>. 
+home-based memory management functions from <su_alloc.h>.
 
 In this sence, inheritance means that a pointer to a derived object can be
 casted as a pointer to a base object. In other words, the derived object
 must have the base object at the beginning of its memory area:
 
 @code
-struct derived 
+struct derived
 {
   struct base base[1];
   int         extra;
@@ -452,19 +452,19 @@
 
 @subsection oo_templates Templates
 
-There are a few template types implemented as macros in Sofia libraries. 
+There are a few template types implemented as macros in Sofia libraries.
 They include hash table, defined in <sofia-sip/htable.h>, which can be used
 to define hash tables types and accessor functions for different object, and
 red-black tree, defined in <sofia-sip/rbtree.h>.
 
 @section memory Memory Management
 
-The home-based memory management is useful when a lot of memory blocks are 
-allocated for given task. The allocations are done via the memory home, 
-which keeps a reference to each allocated memory block. When the memory 
-home is then freed, it will free all memory blocks to which it has 
-reference. This simplifies application logic because application code does 
-not need to keep track of the allocated memory and free every allocated block 
+The home-based memory management is useful when a lot of memory blocks are
+allocated for given task. The allocations are done via the memory home,
+which keeps a reference to each allocated memory block. When the memory
+home is then freed, it will free all memory blocks to which it has
+reference. This simplifies application logic because application code does
+not need to keep track of the allocated memory and free every allocated block
 separately.
 
 See documentation of <sofia-sip/su_alloc.h> and @ref su_alloc "memory managment tutorial"
@@ -502,8 +502,8 @@
 @subsection combining Combining allocations
 
 Another place where home-based memory management makes programmers
-life easier is case where a sub-procedure makes multiple memory allocations 
-and, in case the sub-procedure fails, all the allocations must be released 
+life easier is case where a sub-procedure makes multiple memory allocations
+and, in case the sub-procedure fails, all the allocations must be released
 and, in case the sub-procedure is succesfull, all allocations must be
 controlled by upper level memory management.
 
@@ -522,7 +522,7 @@
     }
     /* destroy temporary memory home (and registered allocations) */
     /* Note than in case processing was succesfull the memory     */
-    /* registrations were already moved to upper level home.      */ 
+    /* registrations were already moved to upper level home.      */
     su_home_deinit(temphome);
 
     /* return ok/not-ok */
@@ -542,9 +542,9 @@
   - valid args
   - not valid args
 - Aim for 100% line coverage\n
-  (If there is a line of code that you have not tested, you don't know 
+  (If there is a line of code that you have not tested, you don't know
   if its working.) \n
-  For selected part of code you should also aim for 
+  For selected part of code you should also aim for
   100% branch/path coverage.\n
   But be anyway reasonable with these because in practise complete
   coverage is next to impossible to achive (so 80% is ok in practise).
@@ -573,13 +573,13 @@
 
 Each test program should either return zero for success or a non-zero
 error code in its main function. Now when you run "make check",
- at b my_test_foo and @b my_test_bar will be built and then run. 
+ at b my_test_foo and @b my_test_bar will be built and then run.
 Make will print a
-summary of how the tests went. As these tests are run from the build 
-system, the tests must be non-interactive (no questions asked) and not 
+summary of how the tests went. As these tests are run from the build
+system, the tests must be non-interactive (no questions asked) and not
 rely on any files that are not in version control system.
 
-Sofia SIP's top-level makefile contains a recursive check target, so 
+Sofia SIP's top-level makefile contains a recursive check target, so
 you can use "cd sofia-sip ; make check" to run all the existing tests
 with a single command.
 
@@ -594,7 +594,7 @@
 <a href="http://developer.gnome.org/doc/books/WGA/generating-makefiles.html">
 developer.gnome.org</a>. <a href="http://sources.redhat.com/autobook">Autobook</a>
 provides more detailed documentation for autoconf and automake.
-The <a href="http://www.gnu.org/manual/make/">GNU make manual</a> 
+The <a href="http://www.gnu.org/manual/make/">GNU make manual</a>
 is also a good source of information.
 
 @subsection autogen_sh autogen.sh
@@ -629,14 +629,14 @@
 
 @subsection aclocal_m4 aclocal.m4
 
-The aclocal.m4 contains the definitions of the autoconf macros used in 
+The aclocal.m4 contains the definitions of the autoconf macros used in
 @b configure.ac.
 
 This file is generated by aclocal command.
 
 @subsection Makefile_am Makefile.am
 
-Makefile.am is where you define what programs and libraries should 
+Makefile.am is where you define what programs and libraries should
 be built, and also what source files are needed to create them.
 When you run automake, it creates the file Makefile.in.
 
@@ -644,12 +644,12 @@
 
 @subsection configure configure
 
-When you run configure script, it performs all the checks defined in 
- at b configure.ac and then replaces all @b xxx.in files with equivalent 
- at b xxx files. All @c @@FOO@@ variables in the source @b *.in files are 
+When you run configure script, it performs all the checks defined in
+ at b configure.ac and then replaces all @b xxx.in files with equivalent
+ at b xxx files. All @c @@FOO@@ variables in the source @b *.in files are
 replaced with values found during the configuration process. For instance
-the variable @c @@srcdir@@ in @b Makefile.in is replaced in @b Makefile 
-with the source directory path (useful when compiling outside the main 
+the variable @c @@srcdir@@ in @b Makefile.in is replaced in @b Makefile
+with the source directory path (useful when compiling outside the main
 source tree).
 
 This file is generated by autoconf command.
@@ -658,14 +658,14 @@
 
 This script stores the last parameters given to configre command.
 If necessary you can rerun the last given configure script (with given
-parameters) by using command "./config.status -r" or 
+parameters) by using command "./config.status -r" or
 "./config.status --recheck".
 
 This file is generated by configure script.
 
 @subsection config_cache config.cache
 
-This file contains results of the various checks that configure script 
+This file contains results of the various checks that configure script
 performed. In case the configure script failed, you might try to
 delete this file and run the configure script again.
 
@@ -673,8 +673,8 @@
 
 @subsection Makefile Makefile
 
-The @b Makefile contains the actual rules how to build the target 
-libraries and program. It is used by the @c make program. @b Makefile 
+The @b Makefile contains the actual rules how to build the target
+libraries and program. It is used by the @c make program. @b Makefile
 is generated from @b Makefile.in when you run @c autoconf command.
 Ensure that "make dist" and "make install" targets work.
 
@@ -726,7 +726,7 @@
 - 7 SU_DEBUG_7() - media protocol actions (incoming packets, ...)
 - 9 SU_DEBUG_9() - entering/exiting functions, very verbatim progress
 
-In addition to the macros mentioned above, there is also functions for 
+In addition to the macros mentioned above, there is also functions for
 printing logging messages:
 - su_llog(), su_vllog()
 - su_perror(), su_perror2()

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/features/features.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/features/features.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/features/features.c	Tue Dec 23 07:37:03 2008
@@ -43,15 +43,15 @@
  */
 char const * const sofia_sip_name_version = SOFIA_SIP_NAME_VERSION;
 
-/** The name and version of software package providing S/MIME functionality, 
+/** The name and version of software package providing S/MIME functionality,
  *  NULL if none.
  */
 char const * sofia_sip_has_smime;
 
 
-/** The name and version of software package providing TLS functionality, 
- *  NULL if none. 
- * 
+/** The name and version of software package providing TLS functionality,
+ *  NULL if none.
+ *
  * TLS over TCP is used as transport for SIP messages when using SIPS
  * scheme. Using TLS over TCP with SIP is described in @RFC3261.
  */
@@ -61,16 +61,16 @@
 char const * sofia_sip_has_tls;
 #endif
 
-/** The name and version of software package providing DTLS functionality, 
- *  NULL if none. 
+/** The name and version of software package providing DTLS functionality,
+ *  NULL if none.
  *
  * DTLS or TLS over datagram transport (UDP) can be used as transport for
  * SIP messages.
  */
 char const * sofia_sip_has_dtls;
 
-/** The name and version of software package providing TLS over SCTP functionality, 
- *  NULL if none. 
+/** The name and version of software package providing TLS over SCTP functionality,
+ *  NULL if none.
  *
  * TLS over SCTP can be used as transport for SIP messages.
  */
@@ -80,8 +80,8 @@
 #include <sigcomp.h>
 #endif
 
-/** The name and version of software package providing SigComp functionality, 
- *  NULL if none. 
+/** The name and version of software package providing SigComp functionality,
+ *  NULL if none.
  *
  * SigComp can be used to compress SIP messages.
  */
@@ -91,8 +91,8 @@
 char const * sofia_sip_has_sigcomp;
 #endif
 
-/** The name and version of software package providing STUN functionality, 
- *  NULL if none. 
+/** The name and version of software package providing STUN functionality,
+ *  NULL if none.
  *
  * STUN is a protocol used to traverse NATs with UDP.
  */
@@ -103,21 +103,21 @@
 char const * sofia_sip_has_stun;
 #endif
 
-/** The name and version of software package providing TURN functionality, 
- *  NULL if none. 
+/** The name and version of software package providing TURN functionality,
+ *  NULL if none.
  *
  * TURN is a protocol used to traverse NATs or firewalls with TCP or UDP.
  */
 char const * sofia_sip_has_turn;
 
-/** The name and version of software package providing UPnP functionality, 
- *  NULL if none. 
+/** The name and version of software package providing UPnP functionality,
+ *  NULL if none.
  *
  * UPnP (Universal Plug and Play) can be used to traverse NATs or firewalls.
  */
 char const * sofia_sip_has_upnp;
 
-/** The name and version of software package providing SCTP functionality, 
+/** The name and version of software package providing SCTP functionality,
  *  NULL if none.
  *
  * SCTP can be used as transport for SIP messages. The software providing it
@@ -126,7 +126,7 @@
 char const * sofia_sip_has_sctp;
 /* We don't have viable SCTP transport interface */
 
-/** The name and version of software package providing IPv6 functionality, 
+/** The name and version of software package providing IPv6 functionality,
  *  NULL if none.
  *
  * IPv6 can be used to send SIP messages.

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/features/features.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/features/features.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/features/features.docs	Tue Dec 23 07:37:03 2008
@@ -22,8 +22,8 @@
 installed @a libsofia-sip-ua.so library. The macro #SOFIA_SIP_NAME_VERSION
 contains the name and release of currently available include files.
 
-The Sofia SIP binary API hides some protocols used under the SIP stack. 
-While the binary API stays the same, the features are not necessarily there. 
+The Sofia SIP binary API hides some protocols used under the SIP stack.
+While the binary API stays the same, the features are not necessarily there.
 These features are mainly related to encryption, compression and underlying
 transports.
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/Doxyfile.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/Doxyfile.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/Doxyfile.in	Tue Dec 23 07:37:03 2008
@@ -1,7 +1,7 @@
 PROJECT_NAME         = "http"
 OUTPUT_DIRECTORY     = ../docs/html/http
 
-INPUT 		     = @srcdir@/http.docs @srcdir@/sofia-sip sofia-sip @srcdir@ . 
+INPUT 		     = @srcdir@/http.docs @srcdir@/sofia-sip sofia-sip @srcdir@ .
 
 @INCLUDE_PATH = . @srcdir@
 @INCLUDE = ../docs/Doxyfile.conf

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/Makefile.am
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/Makefile.am	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/Makefile.am	Tue Dec 23 07:37:03 2008
@@ -29,12 +29,12 @@
 			sofia-sip/http_parser.h sofia-sip/http_tag_class.h \
 			sofia-sip/http_status.h sofia-sip/http_hclasses.h
 
-BUILT_H = 		sofia-sip/http_protos.h sofia-sip/http_tag.h 
+BUILT_H = 		sofia-sip/http_protos.h sofia-sip/http_tag.h
 BUILT_C = 		http_tag.c http_parser_table.c
 
 BUILT_SOURCES = 	$(BUILT_H) $(BUILT_C) http_tag_ref.c
 
-nobase_include_sofia_HEADERS = $(BUILT_H) $(PUBLIC_H) 
+nobase_include_sofia_HEADERS = $(BUILT_H) $(PUBLIC_H)
 
 libhttp_la_SOURCES = 	$(INTERNAL_H) \
 			http_parser.c http_header.c \
@@ -77,7 +77,7 @@
 
 ${BUILT_H} ${BUILT_C}: ${srcdir}/sofia-sip/http.h ${MSG_PARSER_AWK}
 
-sofia-sip/http_protos.h: ${srcdir}/sofia-sip/http_protos.h.in 
+sofia-sip/http_protos.h: ${srcdir}/sofia-sip/http_protos.h.in
 	@-mkdir sofia-sip 2>/dev/null || true
 	${AWK_HTTP_AWK} PR=$@ TEMPLATE=${srcdir}/sofia-sip/http_protos.h.in ${SS_HTTP_H}
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http.docs	Tue Dec 23 07:37:03 2008
@@ -26,13 +26,13 @@
  *  - @c http_X_t is the structure used to store parsed header,
  *  - @c HTTP_X_INIT() initializes a static instance of http_X_t,
  *  - @c http_X_p() tests if header object is instance of header X,
- *  - @c http_X_make() is a macro that creates a header X object by 
+ *  - @c http_X_make() is a macro that creates a header X object by
          decoding given string,
- *  - @c http_X_dup() duplicates (deeply copies) the header X (macro), 
+ *  - @c http_X_dup() duplicates (deeply copies) the header X (macro),
  *  - @c http_X_copy() is a macro that copies the header X (macro),
- *  - @c #msg_hclass_t http_X_class[] contains the @em header @em class 
+ *  - @c #msg_hclass_t http_X_class[] contains the @em header @em class
  *    for header X.
- * 
+ *
  * In addition to this interface, the parser provider interface is
  * documented in the <a href="../sip/group__sip__parser.html">SIP Parser module</a>.
  * The parser provider interface makes it possible to extend HTTP parser with

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c	Tue Dec 23 07:37:03 2008
@@ -197,7 +197,7 @@
 
   if (msg_firstline_d(s, &status, &phrase) < 0 ||
       http_version_d(&s, &st->st_version) < 0 || *s ||
-      msg_uint32_d(&status, &code) == -1 || 
+      msg_uint32_d(&status, &code) == -1 ||
       status[0])
     return -1;
 
@@ -341,7 +341,7 @@
 #define http_authentication_info_dup_one msg_list_dup_one
 
 msg_hclass_t http_authentication_info_class[] =
-HTTP_HEADER_CLASS(authentication_info, "Authentication-Info", 
+HTTP_HEADER_CLASS(authentication_info, "Authentication-Info",
 		  ai_params, list, authentication_info);
 
 /* ====================================================================== */
@@ -427,7 +427,7 @@
 /**@ingroup http_content_range
  * @typedef typedef struct http_content_range_s http_content_range_t;
  *
- * The structure #http_content_range_t contains representation of 
+ * The structure #http_content_range_t contains representation of
  * @b Content-Range header.
  *
  * The #http_content_range_t is defined as follows:
@@ -652,7 +652,7 @@
 HTTP_HEADER_CLASS(expires, "Expires", d_common, single, default);
 
 /* ====================================================================== */
-/**@HTTP_HEADER http_from From header. 
+/**@HTTP_HEADER http_from From header.
  *
  * @code
  *    From   = "From" ":" mailbox
@@ -773,7 +773,7 @@
 /**@ingroup http_if_modified_since
  * @typedef typedef struct http_if_modified_since_s http_if_modified_since_t;
  *
- * The structure #http_if_modified_since_t contains representation of 
+ * The structure #http_if_modified_since_t contains representation of
  * @b If-Modified-Since header.
  *
  * The #http_if_modified_since_t is defined as follows:
@@ -790,7 +790,7 @@
 #define http_if_modified_since_e http_date_e
 
 msg_hclass_t http_if_modified_since_class[] =
-HTTP_HEADER_CLASS(if_modified_since, "If-Modified-Since", 
+HTTP_HEADER_CLASS(if_modified_since, "If-Modified-Since",
 		  d_common, single, default);
 
 /* ====================================================================== */
@@ -802,7 +802,7 @@
 HTTP_HEADER_CLASS_LIST(if_none_match, "If-None-Match", list);
 
 /* ====================================================================== */
-/**@HTTP_HEADER http_if_range If-Range header. 
+/**@HTTP_HEADER http_if_range If-Range header.
  *
  * The @b If-Range header is used when a client has a partial copy of an
  * entity in its cache, and wishes to have an up-to-date copy of the entire
@@ -813,7 +813,7 @@
  * @code
  *   If-Range = "If-Range" ":" ( entity-tag / HTTP-date )
  * @endcode
- */    
+ */
 
 /** Parse If-Range header */
 issize_t http_if_range_d(su_home_t *home, http_header_t *h, char *s, isize_t slen)
@@ -892,7 +892,7 @@
 /**@ingroup http_if_unmodified_since
  * @typedef typedef http_date_t http_if_unmodified_since_t;
  *
- * The structure #http_if_unmodified_since_t contains representation of 
+ * The structure #http_if_unmodified_since_t contains representation of
  * @b If-Unmodified-Since header.
  *
  * The #http_if_unmodified_since_t is defined as follows:
@@ -909,7 +909,7 @@
 #define http_if_unmodified_since_e http_date_e
 
 msg_hclass_t http_if_unmodified_since_class[] =
-HTTP_HEADER_CLASS(if_unmodified_since, "If-Unmodified-Since", 
+HTTP_HEADER_CLASS(if_unmodified_since, "If-Unmodified-Since",
 		  d_common, single, default);
 
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c	Tue Dec 23 07:37:03 2008
@@ -22,7 +22,7 @@
  *
  */
 
-/**@CFILE http_extra.c 
+/**@CFILE http_extra.c
  *
  * Extra HTTP headers
  *
@@ -162,7 +162,7 @@
     }
     else {
       s += strcspn(s, ",;" LWS);
-      if (s == v) 
+      if (s == v)
 	return -1;
     }
 
@@ -352,7 +352,7 @@
 
   /* Special cases from Netscape spec */
   if (LOOKING_AT(s, "expires=")) {
-    msg_time_t value; 
+    msg_time_t value;
     msg_date_d((char const **)&rest, &value);
   } else if (LOOKING_AT(s, "path=/")) {
     for (;;) {
@@ -366,8 +366,8 @@
   }
 #undef LOOKING_AT
 
-  if (IS_LWS(*rest)) { 
-    *rest++ = '\0'; skip_lws(&rest); 
+  if (IS_LWS(*rest)) {
+    *rest++ = '\0'; skip_lws(&rest);
   }
 
   return rest - s;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_header.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_header.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_header.c	Tue Dec 23 07:37:03 2008
@@ -88,7 +88,7 @@
       msg_fragment_clear(http->http_content_length->l_common);
     }
   }
-  
+
   if (!http->http_separator)
     http->http_separator = http_separator_create(home);
 
@@ -118,13 +118,13 @@
 
 /** Add a Content-Length and separator to a message */
 int http_message_complete(msg_t *msg, http_t *http)
-{ 
+{
 #if 1
   if (!http->http_content_length) {
     http_content_length_t *l;
     http_payload_t *pl;
     size_t len = 0;
-    
+
     for (pl = http->http_payload; pl; pl = pl->pl_next)
       len += pl->pl_len;
 
@@ -148,8 +148,8 @@
 }
 
 /** Add headers from the request to the response message. */
-int http_complete_response(msg_t *msg, 
-			   int status, char const *phrase, 
+int http_complete_response(msg_t *msg,
+			   int status, char const *phrase,
 			   http_t const *request)
 {
   su_home_t *home = msg_home(msg);
@@ -210,7 +210,7 @@
   return h->sh_class->hc_print(b, bsiz, h, flags);
 }
 
-http_header_t *http_header_format(su_home_t *home, 
+http_header_t *http_header_format(su_home_t *home,
 				  msg_hclass_t *hc,
 				  char const *fmt,
 				  ...)

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c	Tue Dec 23 07:37:03 2008
@@ -75,7 +75,7 @@
 #define CRLF_TEST(s) \
   (((s)[0]) == '\r' ? (((s)[1]) == '\n') + 1 : ((s)[0])=='\n')
 
-/** Extract the HTTP message body, including separator line. 
+/** Extract the HTTP message body, including separator line.
  *
  * @retval -1    error
  * @retval 0     cannot proceed
@@ -98,7 +98,7 @@
     if (!eos && (bsiz == 0 || (bsiz == 1 && b[0] == '\r')))
       return 0;
 
-    m = CRLF_TEST(b); 
+    m = CRLF_TEST(b);
 
     assert(m > 0 || eos); /* We should be looking at an empty line */
 
@@ -143,7 +143,7 @@
 	 */
 	http->http_transfer_encoding->k_items &&
 	http->http_transfer_encoding->k_items[0] &&
-	strcasecmp(http->http_transfer_encoding->k_items[0], 
+	strcasecmp(http->http_transfer_encoding->k_items[0],
 		   "identity") != 0) {
       http->http_flags |= MSG_FLG_CHUNKS;
 
@@ -162,16 +162,16 @@
     body_len = http->http_content_length->l_length;
   /* We cannot parse multipart/byteranges ... */
   else if (http->http_content_type && http->http_content_type->c_type &&
-	   strcasecmp(http->http_content_type->c_type, "multipart/byteranges") 
+	   strcasecmp(http->http_content_type->c_type, "multipart/byteranges")
 	   == 0)
     return -1;
   else if (MSG_IS_MAILBOX(flags)) /* message fragments */
     body_len = 0;
-  else if (http->http_request) 
+  else if (http->http_request)
     body_len = 0;
   else if (eos)
     body_len = bsiz;
-  else 
+  else
     return 0;			/* XXX */
 
   if (body_len == 0) {
@@ -198,7 +198,7 @@
   return m;
 }
 
-/** Extract a chunk. 
+/** Extract a chunk.
  *
  * @retval -1    error
  * @retval 0     cannot proceed
@@ -210,7 +210,7 @@
   unsigned crlf, chunk_len;
   char *b0 = b, *s;
   union {
-    msg_header_t *header;  
+    msg_header_t *header;
     msg_payload_t *chunk;
   } h = { NULL };
   size_t bsiz0 = bsiz;
@@ -234,15 +234,15 @@
     assert(crlf < bsiz);
 
     /* Skip crlf */
-    b += crlf; bsiz -= crlf;  
+    b += crlf; bsiz -= crlf;
   }
 
   /* Now, looking at the chunk header */
-  n = strcspn(b, CRLF); 
-  if (!eos && n == bsiz) 
+  n = strcspn(b, CRLF);
+  if (!eos && n == bsiz)
     return 0;
   crlf = CRLF_TEST(b + n);
-  
+
   if (n == 0) {
     if (crlf == bsiz && eos) {
       msg_mark_as_complete(msg, MSG_FLG_COMPLETE | MSG_FLG_FRAGS);
@@ -267,7 +267,7 @@
 
     crlf = bsiz > 0 ? CRLF_TEST(b) : 0;
 
-    if ((eos && bsiz == 0) || crlf == 2 || 
+    if ((eos && bsiz == 0) || crlf == 2 ||
 	(crlf == 1 && (bsiz > 1 || b[0] == '\n'))) {
       /* Shortcut - We got empty trailers */
       b += crlf;
@@ -285,7 +285,7 @@
     b += n + crlf, bsiz -= n + crlf;
 
     /* Extract chunk */
-    chunk = msg_extract_payload(msg, http, 
+    chunk = msg_extract_payload(msg, http,
 				&h.header, chunk_len + (b - b0),
 				b0, bsiz0, eos);
 
@@ -294,7 +294,7 @@
       h.chunk->pl_data += (b - b0);
       h.chunk->pl_len -= (b - b0);
     }
-  
+
     return chunk;
   }
 }
@@ -312,12 +312,12 @@
   char const *result;
   int const version_size = sizeof(http_version_1_1) - 1;
 
-  if (strncasecmp(s, http_version_1_1, version_size) == 0 && 
+  if (strncasecmp(s, http_version_1_1, version_size) == 0 &&
       !IS_TOKEN(s[version_size])) {
     result = http_version_1_1;
     s += version_size;
   }
-  else if (strncasecmp(s, http_version_1_0, version_size) == 0 && 
+  else if (strncasecmp(s, http_version_1_0, version_size) == 0 &&
 	   !IS_TOKEN(s[version_size])) {
     result = http_version_1_0;
     s += version_size;
@@ -348,7 +348,7 @@
       memmove(s + l1 + 1, s + n - l2, l2);
       s[l1 + 1 + l2] = 0;
 
-      /* Compare again with compacted version */ 
+      /* Compare again with compacted version */
       if (strcasecmp(s, http_version_1_1) == 0)
 	result = http_version_1_1;
       else if (strcasecmp(s, http_version_1_0) == 0)
@@ -359,10 +359,10 @@
   }
 
   while (IS_LWS(*s)) *s++ = '\0';
-  
+
   *ss = s;
 
-  if (ver) 
+  if (ver)
     *ver = result;
 
   return 0;
@@ -454,7 +454,7 @@
 
 #define MATCH(s, m) (strncasecmp(s, m, n = sizeof(m) - 1) == 0)
 
-  if (c >= 'a' && c <= 'z') 
+  if (c >= 'a' && c <= 'z')
     c += 'A' - 'a';
 
   switch (c) {
@@ -463,7 +463,7 @@
   case 'G': if (MATCH(s, "GET")) code = http_method_get; break;
   case 'H': if (MATCH(s, "HEAD")) code = http_method_head; break;
   case 'O': if (MATCH(s, "OPTIONS")) code = http_method_options; break;
-  case 'P': if (MATCH(s, "POST")) code = http_method_post; 
+  case 'P': if (MATCH(s, "POST")) code = http_method_post;
             else
             if (MATCH(s, "PUT")) code = http_method_put; break;
   case 'T': if (MATCH(s, "TRACE")) code = http_method_trace; break;
@@ -510,7 +510,7 @@
  * query. For each key, a query element (in the form name=value) is searched
  * from the query string. If a query element has a beginning matching with
  * the key, a copy of the rest of the element is returned in corresponding
- * return_value argument. 
+ * return_value argument.
  *
  * @note The @a query string will be modified.
  *
@@ -538,15 +538,15 @@
     valuelen = namelen + strcspn(q + namelen, "&");
 
     q_next = q + valuelen;
-    if (*q_next) 
+    if (*q_next)
       *q_next++ = '\0';
 
-    value = q + namelen; 
+    value = q + namelen;
     has_value = (*value) != '\0'; /* is the part in form of name=value? */
     if (has_value)
       *value++ = '\0';
 
-    name = url_unescape(q, q); 
+    name = url_unescape(q, q);
 
     if (has_value) {
       namelen = strlen(name);
@@ -570,4 +570,4 @@
   }
 
   return N;
-} 
+}

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_parser_table.c.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_parser_table.c.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_parser_table.c.in	Tue Dec 23 07:37:03 2008
@@ -31,7 +31,7 @@
  */
 
 /**@internal
- * @CFILE http_parser_table.c 
+ * @CFILE http_parser_table.c
  * @brief HTTP parser table
  *
  * #AUTO#

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_status.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_status.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_status.c	Tue Dec 23 07:37:03 2008
@@ -79,7 +79,7 @@
 
 char const *http_status_phrase(int status)
 {
-  if (status < 100 || status > 699) 
+  if (status < 100 || status > 699)
     return NULL;
 
   switch (status) {

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_tag.c.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_tag.c.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_tag.c.in	Tue Dec 23 07:37:03 2008
@@ -1,4 +1,4 @@
-/**@HTTP 
+/**@HTTP
  * @IFILE http_tag.c.in
  *
  * Template for <http_tag.c>.
@@ -35,7 +35,7 @@
  * This file is autogenerated from <http_tag.c.in>.
  *
  * #AUTO#
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  */
 
@@ -58,7 +58,7 @@
 
 tag_typedef_t httptag_http = HTTPMSGTAG_TYPEDEF(http);
 tag_typedef_t httptag_version = STRTAG_TYPEDEF(version);
-tag_typedef_t httptag_header = 
+tag_typedef_t httptag_header =
 	{{ TAG_NAMESPACE, "header", httphdrtag_class, 0 }};
 tag_typedef_t httptag_header_str = STRTAG_TYPEDEF(header_str);
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_tag_class.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_tag_class.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/http_tag_class.c	Tue Dec 23 07:37:03 2008
@@ -49,7 +49,7 @@
 #include <sofia-sip/http_tag_class.h>
 #include <sofia-sip/su_tagarg.h>
 
-tag_class_t httphdrtag_class[1] = 
+tag_class_t httphdrtag_class[1] =
   {{
     sizeof(httphdrtag_class),
     /* tc_next */     NULL,
@@ -65,7 +65,7 @@
     /* tc_scan */     msghdrtag_scan,
   }};
 
-tag_class_t httpstrtag_class[1] = 
+tag_class_t httpstrtag_class[1] =
   {{
     sizeof(httpstrtag_class),
     /* tc_next */     NULL,
@@ -81,7 +81,7 @@
     /* tc_scan */     msghdrtag_scan,
   }};
 
-tag_class_t httpmsgtag_class[1] = 
+tag_class_t httpmsgtag_class[1] =
   {{
     sizeof(httpmsgtag_class),
     /* tc_next */     NULL,
@@ -100,7 +100,7 @@
 /** Filter a HTTP header structure. */
 tagi_t *httptag_filter(tagi_t *dst,
 		      tagi_t const f[],
-		      tagi_t const *src, 
+		      tagi_t const *src,
 		      void **bb)
 {
   tagi_t stub[2] = {{ NULL }};
@@ -152,7 +152,7 @@
   }
 }
 
-/** Duplicate headers from taglist and add them to the HTTP message. 
+/** Duplicate headers from taglist and add them to the HTTP message.
  *
  * Return the number of headers added to the HTTP message.
  */
@@ -209,8 +209,8 @@
     else if (tag == httptag_header_str) {
       if (msg_header_add_str(msg, http, (char const *)value) < 0)
 	break;
-    } 
-    else 
+    }
+    else
       continue;
 
     retval++;
@@ -218,7 +218,7 @@
 
   ta_end(ta);
 
-  if (t) 
+  if (t)
     return -1;
 
   return retval;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http.h	Tue Dec 23 07:37:03 2008
@@ -26,10 +26,10 @@
 /** Defined when <sofia-sip/http.h> has been included. */
 #define HTTP_H
 
-/**@file sofia-sip/http.h 
- * 
+/**@file sofia-sip/http.h
+ *
  * HTTP message, methods, headers.
- * 
+ *
  * @sa <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a>
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>.
@@ -50,7 +50,7 @@
 SOFIA_BEGIN_DECLS
 
 /* ----------------------------------------------------------------------
- * 1) Constants 
+ * 1) Constants
  */
 
 #define HTTP_NONE ((http_header_t *)MSG_HEADER_NONE)
@@ -161,9 +161,9 @@
 typedef msg_error_t                 http_error_t;
 /** Unknown header. */
 typedef msg_generic_t               http_unknown_t;
-/** Separator line between headers and message contents */ 
+/** Separator line between headers and message contents */
 typedef msg_separator_t             http_separator_t;
-/** Entity-body */ 
+/** Entity-body */
 typedef msg_payload_t               http_payload_t;
 /** Time in seconds since 01-Jan-1900. */
 typedef unsigned long               http_time_t;
@@ -327,7 +327,7 @@
   unsigned                   http_size;	         /**< Size of this structure */
   int                        http_flags;                          /**< Flags */
   http_error_t              *http_error;              /**< Erroneous headers */
-  
+
   http_request_t            *http_request;                /**< Request line  */
   http_status_t             *http_status;                   /**< Status line */
 
@@ -389,19 +389,19 @@
 
   /* === Headers end here */
   http_header_t             *http_unknown;             /**< Unknown headers. */
-  http_separator_t          *http_separator;     
+  http_separator_t          *http_separator;
 				  /**< Separator between message and payload */
   http_payload_t            *http_payload;	    /**< Message entity-body */
 };
 
 /**Union representing any HTTP header.
- * 
+ *
  * Each different header is an array of size 1.
- * 
+ *
  * @deprecated
  */
 union http_header_u {
-  msg_common_t                sh_common[1]; 
+  msg_common_t                sh_common[1];
   struct {
     msg_common_t              shn_common;
     http_header_t            *shn_next;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_hclasses.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_hclasses.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_hclasses.h	Tue Dec 23 07:37:03 2008
@@ -28,9 +28,9 @@
 
 /**@file sofia-sip/http_hclasses.h
  * @brief HTTP header classes.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  */
 
 #ifndef MSG_TYPES_H

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_header.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_header.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_header.h	Tue Dec 23 07:37:03 2008
@@ -26,7 +26,7 @@
 /** Defined when <sofia-sip/http_header.h> has been included.*/
 #define HTTP_HEADER_H
 
-/**@file sofia-sip/http_header.h 
+/**@file sofia-sip/http_header.h
  *
  * HTTP library prototypes.
  *
@@ -85,13 +85,13 @@
 /** HTTP 1.0 */
 SOFIAPUBVAR char const http_version_1_0[];
 
-/** HTTP 1.1 version. */ 
+/** HTTP 1.1 version. */
 SOFIAPUBVAR char const http_version_1_1[];
 
 #define HTTP_VERSION_CURRENT http_version_1_1
 
 /* ----------------------------------------------------------------------
- * 3) Prototypes 
+ * 3) Prototypes
  */
 
 /** HTTP parser description. */
@@ -123,7 +123,7 @@
 
 /** Add required headers to the response message */
 SOFIAPUBFUN int http_complete_response(msg_t *msg,
-				       int status, char const *phrase, 
+				       int status, char const *phrase,
 				       http_t const *request);
 
 /** Return string corresponding to the method. */
@@ -139,9 +139,9 @@
 SOFIAPUBFUN int http_header_remove(msg_t *msg, http_t *http, http_header_t *h);
 SOFIAPUBFUN char const *http_header_name(http_header_t const *h, int compact);
 SOFIAPUBFUN void *http_header_data(http_header_t *h);
-SOFIAPUBFUN http_content_length_t *http_content_length_create(su_home_t *home, 
+SOFIAPUBFUN http_content_length_t *http_content_length_create(su_home_t *home,
 							      uint32_t n);
-SOFIAPUBFUN http_payload_t *http_payload_create(su_home_t *home, 
+SOFIAPUBFUN http_payload_t *http_payload_create(su_home_t *home,
 						void const *data, usize_t len);
 SOFIAPUBFUN http_separator_t *http_separator_create(su_home_t *home);
 #endif
@@ -164,7 +164,7 @@
 					      char const *version);
 
 /** Create an @b Host header object. */
-SOFIAPUBFUN http_host_t *http_host_create(su_home_t *home, 
+SOFIAPUBFUN http_host_t *http_host_create(su_home_t *home,
 					  char const *host,
 					  char const *port);
 
@@ -184,7 +184,7 @@
 				      ...);
 
 /* ----------------------------------------------------------------------
- * 4) Inlined functions 
+ * 4) Inlined functions
  */
 
 #if SU_HAVE_INLINE
@@ -213,13 +213,13 @@
  * @param http HTTP message structure to which header is added
  * @param h   list of header(s) to be added
  */
-su_inline 
+su_inline
 int http_header_insert(msg_t *msg, http_t *http, http_header_t *h)
 {
   return msg_header_insert(msg, (msg_pub_t *)http, (msg_header_t *)h);
 }
 
-/** Remove a header from a HTTP message. */ 
+/** Remove a header from a HTTP message. */
 su_inline
 int http_header_remove(msg_t *msg, http_t *http, http_header_t *h)
 {
@@ -243,19 +243,19 @@
   return h && h != HTTP_NONE ? h->sh_class->hc_size + (char *)h : NULL;
 }
 
-su_inline 
+su_inline
 http_content_length_t *http_content_length_create(su_home_t *home, uint32_t n)
 {
   return msg_content_length_create(home, n);
 }
 
-su_inline 
+su_inline
 http_payload_t *http_payload_create(su_home_t *home, void const *data, isize_t len)
 {
   return msg_payload_create(home, data, len);
 }
 
-su_inline 
+su_inline
 http_separator_t *http_separator_create(su_home_t *home)
 {
   return msg_separator_create(home);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_parser.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_parser.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_parser.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef HTTP_PARSER_H
 /**Defined when <sofia-sip/http_parser.h> has been included.*/
-#define HTTP_PARSER_H 
+#define HTTP_PARSER_H
 /**@file sofia-sip/http_parser.h
  * @brief Typedefs and prototypes used by HTTP parser.
  *
@@ -102,7 +102,7 @@
 					 char const *name);
 
 /** Extract HTTP message body */
-SOFIAPUBFUN issize_t http_extract_body(msg_t *, http_t *, 
+SOFIAPUBFUN issize_t http_extract_body(msg_t *, http_t *,
 				       char b[], isize_t bsiz, int eos);
 
 SOFIA_END_DECLS

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_protos.h.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_protos.h.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_protos.h.in	Tue Dec 23 07:37:03 2008
@@ -32,12 +32,12 @@
 /** Defined when <sofia-sip/http_protos.h> has been included. */
 #define HTTP_PROTOS_H
 
-/**@file sofia-sip/http_protos.h 
+/**@file sofia-sip/http_protos.h
  *
  * Macros for each HTTP header.
  *
  * #AUTO#
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  */
 
@@ -61,18 +61,18 @@
 
 /**@addtogroup http_#xxxxxx#*/ /** @{ */
 
-enum { 
+enum {
   /** Hash of #xxxxxxx_xxxxxxx#. @internal*/
-  http_#xxxxxx#_hash = #hash# 
+  http_#xxxxxx#_hash = #hash#
 };
 
 /**Header class for HTTP #xxxxxxx_xxxxxxx#.
- * 
+ *
  * The header class http_#xxxxxx#_class defines how a HTTP
  * #xxxxxxx_xxxxxxx# is parsed and printed.  It also
  * contains methods used by HTTP parser and other functions
  * to manipulate the http_#xxxxxx#_t header structure.
- * 
+ *
  */
 SOFIAPUBVAR msg_hclass_t http_#xxxxxx#_class[];
 
@@ -85,28 +85,28 @@
 SOFIAPUBFUN msg_print_f http_#xxxxxx#_e;
 
 /**Initializer for structure http_#xxxxxx#_t.
- * 
+ *
  * A static http_#xxxxxx#_t structure must be initialized
  * with the HTTP_#XXXXXX#_INIT() macro. For instance,
- * @code 
- * 
+ * @code
+ *
  *  http_#xxxxxx#_t http_#xxxxxx# = HTTP_#XXXXXX#_INIT;
- * 
+ *
  * @endcode
  * @HI
  */
 #define HTTP_#XXXXXX#_INIT() HTTP_HDR_INIT(#xxxxxx#)
 
 /**Initialize a structure http_#xxxxxx#_t.
- * 
+ *
  * An http_#xxxxxx#_t structure can be initialized with the
  * http_#xxxxxx#_init() function/macro. For instance,
  * @code
- * 
+ *
  *  http_#xxxxxx#_t http_#xxxxxx#;
- * 
+ *
  *  http_#xxxxxx#_init(&http_#xxxxxx#);
- * 
+ *
  * @endcode
  * @HI
  */
@@ -121,20 +121,20 @@
 #endif
 
 /**Test if header object is instance of http_#xxxxxx#_t.
- * 
+ *
  * The function http_is_#xxxxxx#() returns true (nonzero) if
  * the header class is an instance of #xxxxxxx_xxxxxxx#
  * object and false (zero) otherwise.
- * 
+ *
  * @param header pointer to the header structure to be tested
- * 
+ *
  * @return
  * The function http_is_x#xxxxxx#() returns true (nonzero) if
  * the header object is an instance of header #xxxxxx# and
  * false (zero) otherwise.
  */
 #if SU_HAVE_INLINE
-su_inline 
+su_inline
 int http_is_#xxxxxx#(http_header_t const *header)
 {
   return header && header->sh_class->hc_hash == http_#xxxxxx#_hash;
@@ -145,27 +145,27 @@
 #endif
 
 /**Duplicate (deep copy) @c http_#xxxxxx#_t.
- * 
+ *
  * The function http_#xxxxxx#_dup() duplicates a header
  * structure @a hdr.  If the header structure @a hdr
  * contains a reference (@c hdr->x_next) to a list of
  * headers, all the headers in the list are duplicated, too.
- * 
+ *
  * @param home  memory home used to allocate new structure
  * @param hdr   header structure to be duplicated
- * 
+ *
  * When duplicating, all parameter lists and non-constant
  * strings attached to the header are copied, too.  The
  * function uses given memory @a home to allocate all the
  * memory areas used to copy the header.
- * 
+ *
  * @par Example
  * @code
- * 
+ *
  *   #xxxxxx# = http_#xxxxxx#_dup(home, http->http_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
+ *
  * @return
  * The function http_#xxxxxx#_dup() returns a pointer to the
  * newly duplicated http_#xxxxxx#_t header structure, or NULL
@@ -174,34 +174,34 @@
 #if SU_HAVE_INLINE
 su_inline
 #endif
-http_#xxxxxx#_t *http_#xxxxxx#_dup(su_home_t *home, 
+http_#xxxxxx#_t *http_#xxxxxx#_dup(su_home_t *home,
 				   http_#xxxxxx#_t const *hdr)
      __attribute__((__malloc__));
 
 /**Copy a http_#xxxxxx#_t header structure.
- * 
+ *
  * The function http_#xxxxxx#_copy() copies a header structure @a
  * hdr.  If the header structure @a hdr contains a reference (@c
  * hdr->h_next) to a list of headers, all the headers in that
  * list are copied, too. The function uses given memory @a home
  * to allocate all the memory areas used to copy the header
  * structure @a hdr.
- * 
+ *
  * @param home    memory home used to allocate new structure
  * @param hdr     pointer to the header structure to be duplicated
- * 
+ *
  * When copying, only the header structure and parameter lists
  * attached to it are duplicated.  The new header structure
  * retains all the references to the strings within the old @a
  * header, including the encoding of the old header, if present.
- * 
+ *
  * @par Example
  * @code
- * 
+ *
  *   #xxxxxx# = http_#xxxxxx#_copy(home, http->http_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
+ *
  * @return
  * The function http_#xxxxxx#_copy() returns a pointer to
  * newly copied header structure, or NULL upon an error.
@@ -209,23 +209,23 @@
 #if SU_HAVE_INLINE
 su_inline
 #endif
-http_#xxxxxx#_t *http_#xxxxxx#_copy(su_home_t *home, 
+http_#xxxxxx#_t *http_#xxxxxx#_copy(su_home_t *home,
 				    http_#xxxxxx#_t const *hdr)
      __attribute__((__malloc__));
 
 /**Make a header structure http_#xxxxxx#_t.
- * 
+ *
  * The function http_#xxxxxx#_make() makes a new
  * http_#xxxxxx#_t header structure.  It allocates a new
  * header structure, and decodes the string @a s as the
  * value of the structure.
- * 
+ *
  * @param home memory home used to allocate new header structure.
  * @param s    string to be decoded as value of the new header structure
- * 
+ *
  * @note This function is usually implemented as a macro calling
  * http_header_make().
- * 
+ *
  * @return
  * The function http_#xxxxxx#_make() returns a pointer to
  * newly maked http_#xxxxxx#_t header structure, or NULL upon
@@ -238,25 +238,25 @@
      __attribute__((__malloc__));
 
 /**Make a #xxxxxxx_xxxxxxx# from formatting result.
- * 
+ *
  * The function http_#xxxxxx#_format() makes a new
  * #xxxxxxx_xxxxxxx# object using formatting result as its
  * value.  The function first prints the arguments according to
  * the format @a fmt specified.  Then it allocates a new header
  * structure, and uses the formatting result as the header
  * value.
- * 
+ *
  * @param home   memory home used to allocate new header structure.
  * @param fmt    string used as a printf()-style format
  * @param ...    argument list for format
- * 
+ *
  * @note This function is usually implemented as a macro calling
  * msg_header_format().
- * 
+ *
  * @return
  * The function http_#xxxxxx#_format() returns a pointer to newly
  * makes header structure, or NULL upon an error.
- * 
+ *
  * @HIDE
  */
 #if SU_HAVE_INLINE
@@ -273,29 +273,29 @@
 {
   http_header_t *h;
   va_list ap;
-  
+
   va_start(ap, fmt);
   h = http_header_vformat(home, http_#xxxxxx#_class, fmt, ap);
   va_end(ap);
- 
+
   return (http_#xxxxxx#_t *)h;
 }
 
 su_inline
-http_#xxxxxx#_t *http_#xxxxxx#_dup(su_home_t *home, http_#xxxxxx#_t const *o) 
-{ 
+http_#xxxxxx#_t *http_#xxxxxx#_dup(su_home_t *home, http_#xxxxxx#_t const *o)
+{
   return (http_#xxxxxx#_t *)
     msg_header_dup_as(home, http_#xxxxxx#_class, (msg_header_t const *)o);
 }
 
 su_inline
-http_#xxxxxx#_t *http_#xxxxxx#_copy(su_home_t *home, http_#xxxxxx#_t const *o) 
-{ 
+http_#xxxxxx#_t *http_#xxxxxx#_copy(su_home_t *home, http_#xxxxxx#_t const *o)
+{
   return (http_#xxxxxx#_t *)
-    msg_header_copy_as(home, http_#xxxxxx#_class, (msg_header_t const *)o); 
+    msg_header_copy_as(home, http_#xxxxxx#_class, (msg_header_t const *)o);
 }
 
-su_inline 
+su_inline
 http_#xxxxxx#_t *http_#xxxxxx#_make(su_home_t *home, char const *s)
 {
   return (http_#xxxxxx#_t *)http_header_make(home, http_#xxxxxx#_class, s);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_status.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_status.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_status.h	Tue Dec 23 07:37:03 2008
@@ -22,10 +22,10 @@
  *
  */
 
-#ifndef HTTP_STATUS_H 
-#define HTTP_STATUS_H 
+#ifndef HTTP_STATUS_H
+#define HTTP_STATUS_H
 
-/**@file sofia-sip/http_status.h 
+/**@file sofia-sip/http_status.h
  *
  * HTTP status codes.
  *

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag.h.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag.h.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag.h.in	Tue Dec 23 07:37:03 2008
@@ -105,7 +105,7 @@
 #if SU_INLINE_TAG_CAST
 su_inline
 tag_value_t httptag_http_v(http_t const *v) { return (tag_value_t)v; }
-su_inline 
+su_inline
 tag_value_t httptag_http_vr(http_t const **vp) { return (tag_value_t)vp; }
 #else
 #define httptag_http_v(v)   (tag_value_t)(v)
@@ -131,8 +131,8 @@
 /**Tag list item for header string.
  *
  * The HTTPTAG_HEADER() macro is used to include a tag item containing an
- * unknown HTTP header in the tag list, e.g., 
- * @code 
+ * unknown HTTP header in the tag list, e.g.,
+ * @code
  * http_header_t *hdr;
  *
  * HTTPTAG_HEADER(hdr).
@@ -199,7 +199,7 @@
  *
  * Tag list item for string with #xxxxxxx_xxxxxxx# value.
  *
- * The HTTPTAG_#XXXXXX#_STR() macro is used to include a tag item with a 
+ * The HTTPTAG_#XXXXXX#_STR() macro is used to include a tag item with a
  * string containing value of a http_#xxxxxx#_t header in a tag list.
  *
  * @param s pointer to a string containing http_#xxxxxx#_t value, or NULL.

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag_class.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag_class.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag_class.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef HTTP_TAG_CLASS_H
 /**Defined when http_tag_class.h have been included*/
-#define HTTP_TAG_CLASS_H 
+#define HTTP_TAG_CLASS_H
 
 /**@file sofia-sip/http_tag_class.h
  * @brief Tag classes for HTTP headers.
@@ -62,9 +62,9 @@
   {{ TAG_NAMESPACE, #t, httpmsgtag_class, \
      (tag_value_t)HTTP_PROTOCOL_TAG }}
 
-/**@internal Filter HTTP header tag items. */ 
+/**@internal Filter HTTP header tag items. */
 SOFIAPUBFUN tagi_t *httptag_filter(tagi_t *dst, tagi_t const f[],
-				   tagi_t const *src, 
+				   tagi_t const *src,
 				   void **bb);
 
 SOFIA_END_DECLS

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/test_http.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/test_http.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/http/test_http.c	Tue Dec 23 07:37:03 2008
@@ -189,7 +189,7 @@
   for (i = 0; i < n;) {
     /* This prevent msg_recv_iovec() from allocating extra slack */
     int msg_buf_exact(msg_t *, int);
-    msg_buf_exact(msg, 10 + 1);	
+    msg_buf_exact(msg, 10 + 1);
 
     if (msg_recv_iovec(msg, iovec, msg_n_fragments, 10, 0) < 0) {
       perror("msg_recv_iovec");
@@ -1008,7 +1008,7 @@
 			      "CUSTOMER=WILE_E_COYOTE; "
 			      "path=/; "
 			      "expires=Wednesday, 09-Nov-99 23:12:40 GMT");
-    
+
     TEST_1(sc);
     TEST_1(sc->sc_params);
     TEST_S(sc->sc_name, "CUSTOMER=WILE_E_COYOTE");

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/base64.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/base64.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/base64.c	Tue Dec 23 07:37:03 2008
@@ -36,7 +36,7 @@
 #include <string.h>
 #include "sofia-sip/base64.h"
 
-static unsigned char const code[] = 
+static unsigned char const code[] =
   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 
 #define B64NOP 128
@@ -48,22 +48,22 @@
  * stores the result in the buffer @a buf of @a bsiz bytes.
  *
  * If the @a buf is NULL, the function just returns the length of decoded
- * data. In any case, no decoded data is stored in @a buf beyond @a bsiz. 
+ * data. In any case, no decoded data is stored in @a buf beyond @a bsiz.
  * The function always returns the full length of decodable data.
- * 
+ *
  * @param buf  Buffer to store decoded data
  * @param bsiz Size of @a buf
  * @param b64s Base64-encoded string.
  *
- * @return Length of data that can be decoded in bytes. 
+ * @return Length of data that can be decoded in bytes.
  *
- * @sa <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>, 
+ * @sa <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>,
  * <i>"Multipurpose Internet Mail Extensions (MIME) Part One:
  * Format of Internet Message Bodies"</i>,
  * N. Freed, N. Borenstein, November 1996.
  *
  * @par Example
- * The following example code decodes a string of BASE64 data into a 
+ * The following example code decodes a string of BASE64 data into a
  * memory area allocated from heap:
  * @code
  * int decoder(char const *encoded, void **return_decoded)
@@ -76,7 +76,7 @@
  * }
  * @endcode
  */
-isize_t base64_d(char buf[], isize_t bsiz, char const *b64s) 
+isize_t base64_d(char buf[], isize_t bsiz, char const *b64s)
 {
   static unsigned char decode[256] = "";
   unsigned char const *s = (unsigned char const *)b64s;
@@ -90,7 +90,7 @@
   if (decode['\0'] != B64EOF) {
     /* Prepare decoding table */
     for (i = 1; i < 256; i++)
-      decode[i] = B64NOP; 
+      decode[i] = B64NOP;
 
     for (i = 0; i < 64; i++) {
       decode[code[i]] = (unsigned char)i;
@@ -104,17 +104,17 @@
     if (c != B64NOP)
       len++;
   }
-  
+
   total_len = len = len * 3 / 4;
 
   if (buf == NULL || bsiz == 0)
     return total_len;
 
-  if (len > bsiz) 
+  if (len > bsiz)
     len = bsiz;
-  
+
   for (i = 0, s = (unsigned char const *)b64s; i < len; ) {
-      
+
     while ((b1 = decode[*s++]) == B64NOP)
       ;
     if (b1 != B64EOF)
@@ -126,7 +126,7 @@
     if (b3 != B64EOF)
       while ((b4 = decode[*s++]) == B64NOP)
 	;
-      
+
     if (((b1 | b2 | b3 | b4) & (B64NOP|B64EOF)) == 0) {
       /* Normal case, 4 B64 chars to 3 data bytes */
       w = (b1 << 18) | (b2 << 12) | (b3 << 6) | b4;
@@ -163,8 +163,8 @@
 }
 
 /**Encode data with BASE64.
- * 
- * The function base64_e() encodes @a dsiz bytes of @a data into @a buf. 
+ *
+ * The function base64_e() encodes @a dsiz bytes of @a data into @a buf.
  *
  * @note The function base64_e() uses at most @a bsiz bytes from @a buf.
  *
@@ -183,13 +183,13 @@
  * @return The function base64_e() return length of encoded string,
  * excluding the final NUL.
  *
- * @sa <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>, 
+ * @sa <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>,
  * <i>"Multipurpose Internet Mail Extensions (MIME) Part One:
  * Format of Internet Message Bodies"</i>,
  * N. Freed, N. Borenstein, November 1996.
  *
  */
-isize_t base64_e(char buf[], isize_t bsiz, void *data, isize_t dsiz) 
+isize_t base64_e(char buf[], isize_t bsiz, void *data, isize_t dsiz)
 {
   unsigned char *s = (unsigned char *)buf;
   unsigned char *b = (unsigned char *)data;
@@ -200,7 +200,7 @@
 
   if (bsize == 0)
     s = NULL;
-  
+
   for (i = 0, n = 0; i < dsize; i += 3, n += 4) {
     w = (b[i] << 16) | (b[i+1] << 8) | b[i+2];
 
@@ -211,9 +211,9 @@
 	s[n + 2] = code[(w >> 6) & 63];
 	s[n + 3] = code[(w) & 63];
       } else {
-	if (n + 1 < bsize) 
+	if (n + 1 < bsize)
 	  s[n + 0] = code[(w >> 18) & 63];
-	if (n + 2 < bsize) 
+	if (n + 2 < bsize)
 	  s[n + 1] = code[(w >> 12) & 63];
 	if (n + 3 < bsize)
 	  s[n + 2] = code[(w >> 6) & 63];
@@ -221,8 +221,8 @@
 	s = NULL;
       }
     }
-  }			   
-  
+  }
+
   if (slack) {
     if (s) {
       if (slack == 2)
@@ -230,7 +230,7 @@
       else
 	w = (b[i] << 16);
 
-      if (n + 1 < bsize) 
+      if (n + 1 < bsize)
 	s[n + 0] = code[(w >> 18) & 63];
       if (n + 2 < bsize)
 	s[n + 1] = code[(w >> 12) & 63];

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ipt.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ipt.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ipt.docs	Tue Dec 23 07:37:03 2008
@@ -1,7 +1,7 @@
 /* -*- c -*- */
 
 /**@MODULEPAGE "ipt" - Utility Module
- * 
+ *
  * @section ipt_meta Module Meta Information
  *
  * Utility library for IP Telephony applications.
@@ -14,7 +14,7 @@
  *
  * @section ipt_overview Overview
  *
- * This module contain some routines useful for IPT applications, like 
+ * This module contain some routines useful for IPT applications, like
  * - <sofia-sip/base64.h> BASE64 encoding/decoding, and
  * - <sofia-sip/token64.h> encoding/decoding binary as SIP/HTTP token.
  */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/rc4.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/rc4.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/rc4.c	Tue Dec 23 07:37:03 2008
@@ -37,40 +37,40 @@
   const rc4_u8 *seed = (const rc4_u8 *)vseed;
   rc4_u8 *array = state->rc4_array;
 
-  state->rc4_i = 0;     
-  state->rc4_j = 0;     
+  state->rc4_i = 0;
+  state->rc4_j = 0;
 
-  for (i = 0; i < 256; i++)              
-    array[i] = (rc4_u8) i;               
+  for (i = 0; i < 256; i++)
+    array[i] = (rc4_u8) i;
 
-  for (i = 0, j = 0, k = 0; 
-       i < 256; 
+  for (i = 0, j = 0, k = 0;
+       i < 256;
        i++, k++, k >= seed_len ? k = 0 : 0) {
     rc4_u8 a = array[i];
     rc4_u8 b = array[j += a + seed[k]];
 
     array[i] = b;
     array[j] = a;
-  }       
+  }
 }
 
-void rc4(void *buffer, isize_t len, rc4_t *state) { 
+void rc4(void *buffer, isize_t len, rc4_t *state) {
   rc4_u8 *buf = (rc4_u8 *)buffer;
   rc4_u8 *array = state->rc4_array;
-  rc4_u8 i = state->rc4_i;     
+  rc4_u8 i = state->rc4_i;
   rc4_u8 j = state->rc4_j;
-    
-  while (len-- > 0) {               
-    rc4_u8 a = array[++i];	
+
+  while (len-- > 0) {
+    rc4_u8 a = array[++i];
     rc4_u8 b = array[j += a];
 
     array[i] = b;
     array[j] = a;
 
-    *buf++ ^= array[(a + b) & 255];         
-  }               
+    *buf++ ^= array[(a + b) & 255];
+  }
 
-  state->rc4_i = i;     
+  state->rc4_i = i;
   state->rc4_j = j;
 }
 
@@ -90,114 +90,114 @@
 
 rc4_u8 key_3[] = { 0xef, 0x01, 0x23, 0x45, };
 rc4_u8 input_3[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
-rc4_u8 output_3[] = { 0xd6, 0xa1, 0x41, 0xa7, 0xec, 0x3c, 0x38, 0xdf, 0xbd, 0x61, }; 
+rc4_u8 output_3[] = { 0xd6, 0xa1, 0x41, 0xa7, 0xec, 0x3c, 0x38, 0xdf, 0xbd, 0x61, };
 rc4_u8 key_4[] = { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, };
-rc4_u8 input_4[] = { 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+rc4_u8 input_4[] = {
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
   0x01, };
 
-rc4_u8 output_4[] = { 
-  0x75, 0x95, 0xc3, 0xe6, 0x11, 0x4a, 0x09, 0x78, 0x0c, 0x4a, 0xd4, 
-  0x52, 0x33, 0x8e, 0x1f, 0xfd, 0x9a, 0x1b, 0xe9, 0x49, 0x8f, 
-  0x81, 0x3d, 0x76, 0x53, 0x34, 0x49, 0xb6, 0x77, 0x8d, 0xca, 
-  0xd8, 0xc7, 0x8a, 0x8d, 0x2b, 0xa9, 0xac, 0x66, 0x08, 0x5d, 
-  0x0e, 0x53, 0xd5, 0x9c, 0x26, 0xc2, 0xd1, 0xc4, 0x90, 0xc1, 
-  0xeb, 0xbe, 0x0c, 0xe6, 0x6d, 0x1b, 0x6b, 0x1b, 0x13, 0xb6, 
-  0xb9, 0x19, 0xb8, 0x47, 0xc2, 0x5a, 0x91, 0x44, 0x7a, 0x95, 
-  0xe7, 0x5e, 0x4e, 0xf1, 0x67, 0x79, 0xcd, 0xe8, 0xbf, 0x0a, 
-  0x95, 0x85, 0x0e, 0x32, 0xaf, 0x96, 0x89, 0x44, 0x4f, 0xd3, 
-  0x77, 0x10, 0x8f, 0x98, 0xfd, 0xcb, 0xd4, 0xe7, 0x26, 0x56, 
-  0x75, 0x00, 0x99, 0x0b, 0xcc, 0x7e, 0x0c, 0xa3, 0xc4, 0xaa, 
-  0xa3, 0x04, 0xa3, 0x87, 0xd2, 0x0f, 0x3b, 0x8f, 0xbb, 0xcd, 
-  0x42, 0xa1, 0xbd, 0x31, 0x1d, 0x7a, 0x43, 0x03, 0xdd, 0xa5, 
-  0xab, 0x07, 0x88, 0x96, 0xae, 0x80, 0xc1, 0x8b, 0x0a, 0xf6, 
-  0x6d, 0xff, 0x31, 0x96, 0x16, 0xeb, 0x78, 0x4e, 0x49, 0x5a, 
-  0xd2, 0xce, 0x90, 0xd7, 0xf7, 0x72, 0xa8, 0x17, 0x47, 0xb6, 
-  0x5f, 0x62, 0x09, 0x3b, 0x1e, 0x0d, 0xb9, 0xe5, 0xba, 0x53, 
-  0x2f, 0xaf, 0xec, 0x47, 0x50, 0x83, 0x23, 0xe6, 0x71, 0x32, 
-  0x7d, 0xf9, 0x44, 0x44, 0x32, 0xcb, 0x73, 0x67, 0xce, 0xc8, 
-  0x2f, 0x5d, 0x44, 0xc0, 0xd0, 0x0b, 0x67, 0xd6, 0x50, 0xa0, 
-  0x75, 0xcd, 0x4b, 0x70, 0xde, 0xdd, 0x77, 0xeb, 0x9b, 0x10, 
-  0x23, 0x1b, 0x6b, 0x5b, 0x74, 0x13, 0x47, 0x39, 0x6d, 0x62, 
-  0x89, 0x74, 0x21, 0xd4, 0x3d, 0xf9, 0xb4, 0x2e, 0x44, 0x6e, 
-  0x35, 0x8e, 0x9c, 0x11, 0xa9, 0xb2, 0x18, 0x4e, 0xcb, 0xef, 
-  0x0c, 0xd8, 0xe7, 0xa8, 0x77, 0xef, 0x96, 0x8f, 0x13, 0x90, 
-  0xec, 0x9b, 0x3d, 0x35, 0xa5, 0x58, 0x5c, 0xb0, 0x09, 0x29, 
-  0x0e, 0x2f, 0xcd, 0xe7, 0xb5, 0xec, 0x66, 0xd9, 0x08, 0x4b, 
-  0xe4, 0x40, 0x55, 0xa6, 0x19, 0xd9, 0xdd, 0x7f, 0xc3, 0x16, 
-  0x6f, 0x94, 0x87, 0xf7, 0xcb, 0x27, 0x29, 0x12, 0x42, 0x64, 
-  0x45, 0x99, 0x85, 0x14, 0xc1, 0x5d, 0x53, 0xa1, 0x8c, 0x86, 
-  0x4c, 0xe3, 0xa2, 0xb7, 0x55, 0x57, 0x93, 0x98, 0x81, 0x26, 
-  0x52, 0x0e, 0xac, 0xf2, 0xe3, 0x06, 0x6e, 0x23, 0x0c, 0x91, 
-  0xbe, 0xe4, 0xdd, 0x53, 0x04, 0xf5, 0xfd, 0x04, 0x05, 0xb3, 
-  0x5b, 0xd9, 0x9c, 0x73, 0x13, 0x5d, 0x3d, 0x9b, 0xc3, 0x35, 
-  0xee, 0x04, 0x9e, 0xf6, 0x9b, 0x38, 0x67, 0xbf, 0x2d, 0x7b, 
-  0xd1, 0xea, 0xa5, 0x95, 0xd8, 0xbf, 0xc0, 0x06, 0x6f, 0xf8, 
-  0xd3, 0x15, 0x09, 0xeb, 0x0c, 0x6c, 0xaa, 0x00, 0x6c, 0x80, 
-  0x7a, 0x62, 0x3e, 0xf8, 0x4c, 0x3d, 0x33, 0xc1, 0x95, 0xd2, 
-  0x3e, 0xe3, 0x20, 0xc4, 0x0d, 0xe0, 0x55, 0x81, 0x57, 0xc8, 
-  0x22, 0xd4, 0xb8, 0xc5, 0x69, 0xd8, 0x49, 0xae, 0xd5, 0x9d, 
-  0x4e, 0x0f, 0xd7, 0xf3, 0x79, 0x58, 0x6b, 0x4b, 0x7f, 0xf6, 
-  0x84, 0xed, 0x6a, 0x18, 0x9f, 0x74, 0x86, 0xd4, 0x9b, 0x9c, 
-  0x4b, 0xad, 0x9b, 0xa2, 0x4b, 0x96, 0xab, 0xf9, 0x24, 0x37, 
-  0x2c, 0x8a, 0x8f, 0xff, 0xb1, 0x0d, 0x55, 0x35, 0x49, 0x00, 
-  0xa7, 0x7a, 0x3d, 0xb5, 0xf2, 0x05, 0xe1, 0xb9, 0x9f, 0xcd, 
-  0x86, 0x60, 0x86, 0x3a, 0x15, 0x9a, 0xd4, 0xab, 0xe4, 0x0f, 
-  0xa4, 0x89, 0x34, 0x16, 0x3d, 0xdd, 0xe5, 0x42, 0xa6, 0x58, 
-  0x55, 0x40, 0xfd, 0x68, 0x3c, 0xbf, 0xd8, 0xc0, 0x0f, 0x12, 
-  0x12, 0x9a, 0x28, 0x4d, 0xea, 0xcc, 0x4c, 0xde, 0xfe, 0x58, 
-  0xbe, 0x71, 0x37, 0x54, 0x1c, 0x04, 0x71, 0x26, 0xc8, 0xd4, 
-  0x9e, 0x27, 0x55, 0xab, 0x18, 0x1a, 0xb7, 0xe9, 0x40, 0xb0, 
+rc4_u8 output_4[] = {
+  0x75, 0x95, 0xc3, 0xe6, 0x11, 0x4a, 0x09, 0x78, 0x0c, 0x4a, 0xd4,
+  0x52, 0x33, 0x8e, 0x1f, 0xfd, 0x9a, 0x1b, 0xe9, 0x49, 0x8f,
+  0x81, 0x3d, 0x76, 0x53, 0x34, 0x49, 0xb6, 0x77, 0x8d, 0xca,
+  0xd8, 0xc7, 0x8a, 0x8d, 0x2b, 0xa9, 0xac, 0x66, 0x08, 0x5d,
+  0x0e, 0x53, 0xd5, 0x9c, 0x26, 0xc2, 0xd1, 0xc4, 0x90, 0xc1,
+  0xeb, 0xbe, 0x0c, 0xe6, 0x6d, 0x1b, 0x6b, 0x1b, 0x13, 0xb6,
+  0xb9, 0x19, 0xb8, 0x47, 0xc2, 0x5a, 0x91, 0x44, 0x7a, 0x95,
+  0xe7, 0x5e, 0x4e, 0xf1, 0x67, 0x79, 0xcd, 0xe8, 0xbf, 0x0a,
+  0x95, 0x85, 0x0e, 0x32, 0xaf, 0x96, 0x89, 0x44, 0x4f, 0xd3,
+  0x77, 0x10, 0x8f, 0x98, 0xfd, 0xcb, 0xd4, 0xe7, 0x26, 0x56,
+  0x75, 0x00, 0x99, 0x0b, 0xcc, 0x7e, 0x0c, 0xa3, 0xc4, 0xaa,
+  0xa3, 0x04, 0xa3, 0x87, 0xd2, 0x0f, 0x3b, 0x8f, 0xbb, 0xcd,
+  0x42, 0xa1, 0xbd, 0x31, 0x1d, 0x7a, 0x43, 0x03, 0xdd, 0xa5,
+  0xab, 0x07, 0x88, 0x96, 0xae, 0x80, 0xc1, 0x8b, 0x0a, 0xf6,
+  0x6d, 0xff, 0x31, 0x96, 0x16, 0xeb, 0x78, 0x4e, 0x49, 0x5a,
+  0xd2, 0xce, 0x90, 0xd7, 0xf7, 0x72, 0xa8, 0x17, 0x47, 0xb6,
+  0x5f, 0x62, 0x09, 0x3b, 0x1e, 0x0d, 0xb9, 0xe5, 0xba, 0x53,
+  0x2f, 0xaf, 0xec, 0x47, 0x50, 0x83, 0x23, 0xe6, 0x71, 0x32,
+  0x7d, 0xf9, 0x44, 0x44, 0x32, 0xcb, 0x73, 0x67, 0xce, 0xc8,
+  0x2f, 0x5d, 0x44, 0xc0, 0xd0, 0x0b, 0x67, 0xd6, 0x50, 0xa0,
+  0x75, 0xcd, 0x4b, 0x70, 0xde, 0xdd, 0x77, 0xeb, 0x9b, 0x10,
+  0x23, 0x1b, 0x6b, 0x5b, 0x74, 0x13, 0x47, 0x39, 0x6d, 0x62,
+  0x89, 0x74, 0x21, 0xd4, 0x3d, 0xf9, 0xb4, 0x2e, 0x44, 0x6e,
+  0x35, 0x8e, 0x9c, 0x11, 0xa9, 0xb2, 0x18, 0x4e, 0xcb, 0xef,
+  0x0c, 0xd8, 0xe7, 0xa8, 0x77, 0xef, 0x96, 0x8f, 0x13, 0x90,
+  0xec, 0x9b, 0x3d, 0x35, 0xa5, 0x58, 0x5c, 0xb0, 0x09, 0x29,
+  0x0e, 0x2f, 0xcd, 0xe7, 0xb5, 0xec, 0x66, 0xd9, 0x08, 0x4b,
+  0xe4, 0x40, 0x55, 0xa6, 0x19, 0xd9, 0xdd, 0x7f, 0xc3, 0x16,
+  0x6f, 0x94, 0x87, 0xf7, 0xcb, 0x27, 0x29, 0x12, 0x42, 0x64,
+  0x45, 0x99, 0x85, 0x14, 0xc1, 0x5d, 0x53, 0xa1, 0x8c, 0x86,
+  0x4c, 0xe3, 0xa2, 0xb7, 0x55, 0x57, 0x93, 0x98, 0x81, 0x26,
+  0x52, 0x0e, 0xac, 0xf2, 0xe3, 0x06, 0x6e, 0x23, 0x0c, 0x91,
+  0xbe, 0xe4, 0xdd, 0x53, 0x04, 0xf5, 0xfd, 0x04, 0x05, 0xb3,
+  0x5b, 0xd9, 0x9c, 0x73, 0x13, 0x5d, 0x3d, 0x9b, 0xc3, 0x35,
+  0xee, 0x04, 0x9e, 0xf6, 0x9b, 0x38, 0x67, 0xbf, 0x2d, 0x7b,
+  0xd1, 0xea, 0xa5, 0x95, 0xd8, 0xbf, 0xc0, 0x06, 0x6f, 0xf8,
+  0xd3, 0x15, 0x09, 0xeb, 0x0c, 0x6c, 0xaa, 0x00, 0x6c, 0x80,
+  0x7a, 0x62, 0x3e, 0xf8, 0x4c, 0x3d, 0x33, 0xc1, 0x95, 0xd2,
+  0x3e, 0xe3, 0x20, 0xc4, 0x0d, 0xe0, 0x55, 0x81, 0x57, 0xc8,
+  0x22, 0xd4, 0xb8, 0xc5, 0x69, 0xd8, 0x49, 0xae, 0xd5, 0x9d,
+  0x4e, 0x0f, 0xd7, 0xf3, 0x79, 0x58, 0x6b, 0x4b, 0x7f, 0xf6,
+  0x84, 0xed, 0x6a, 0x18, 0x9f, 0x74, 0x86, 0xd4, 0x9b, 0x9c,
+  0x4b, 0xad, 0x9b, 0xa2, 0x4b, 0x96, 0xab, 0xf9, 0x24, 0x37,
+  0x2c, 0x8a, 0x8f, 0xff, 0xb1, 0x0d, 0x55, 0x35, 0x49, 0x00,
+  0xa7, 0x7a, 0x3d, 0xb5, 0xf2, 0x05, 0xe1, 0xb9, 0x9f, 0xcd,
+  0x86, 0x60, 0x86, 0x3a, 0x15, 0x9a, 0xd4, 0xab, 0xe4, 0x0f,
+  0xa4, 0x89, 0x34, 0x16, 0x3d, 0xdd, 0xe5, 0x42, 0xa6, 0x58,
+  0x55, 0x40, 0xfd, 0x68, 0x3c, 0xbf, 0xd8, 0xc0, 0x0f, 0x12,
+  0x12, 0x9a, 0x28, 0x4d, 0xea, 0xcc, 0x4c, 0xde, 0xfe, 0x58,
+  0xbe, 0x71, 0x37, 0x54, 0x1c, 0x04, 0x71, 0x26, 0xc8, 0xd4,
+  0x9e, 0x27, 0x55, 0xab, 0x18, 0x1a, 0xb7, 0xe9, 0x40, 0xb0,
   0xc0, };
 
 #include <stdio.h>
@@ -210,7 +210,7 @@
   for (i = 0; i < len; i++) {
     printf("0x%02x ", data[i]);
   }
-  
+
   putchar('\n');
 }
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/base64.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/base64.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/base64.h	Tue Dec 23 07:37:03 2008
@@ -34,10 +34,10 @@
  * [A-Za-z0-9+/=]. Base64 is defined as part of MIME mail format, but it is
  * used widely by other text-based protocols as well.
  *
- * @sa <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>, 
+ * @sa <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a>,
  * <i>"Multipurpose Internet Mail Extensions (MIME) Part One:
  * Format of Internet Message Bodies"</i>,
- * N. Freed, N. Borenstein, 
+ * N. Freed, N. Borenstein,
  * November 1996.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/rc4.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/rc4.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/rc4.h	Tue Dec 23 07:37:03 2008
@@ -28,9 +28,9 @@
 
 /**@file sofia-sip/rc4.h
  * @brief Arcfour random number generator.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- *  
+ *
  * @date Created: Sun Jun  9 14:32:58 1996 ppessi
  */
 
@@ -45,21 +45,21 @@
 /** Byte. */
 typedef uint8_t rc4_u8;
 
-/** RC4 context. 
- * 
+/** RC4 context.
+ *
  * The RC4 context is accessed and modified through rc4_init() and rc4()
  * functions only.
  */
-typedef struct {      
-  uint8_t rc4_i;        
+typedef struct {
+  uint8_t rc4_i;
   uint8_t rc4_j;
-  uint8_t rc4_array[256];       
+  uint8_t rc4_array[256];
 } rc4_t;
 
 /** Key RC4 context. */
 SOFIAPUBFUN void rc4_init(const void *seed, isize_t seed_len, rc4_t *state);
 
-/** Generate RC4 stream. */ 
+/** Generate RC4 stream. */
 SOFIAPUBFUN void rc4(void *buffer, isize_t len, rc4_t *state);
 
 #if defined(__cplusplus)

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/uniqueid.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/uniqueid.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/uniqueid.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef UNIQUEID_H
 /** Defined when <sofia-sip/uniqueid.h> has been included. */
-#define UNIQUEID_H 
+#define UNIQUEID_H
 
 /**@file sofia-sip/uniqueid.h
  *
@@ -38,7 +38,7 @@
  */
 
 /* Compatibility functionality */
-#define guid_t su_guid_t 
+#define guid_t su_guid_t
 #define guid_generate su_guid_generate
 #define guid_sprintf su_guid_sprintf
 #define guid_strlen su_guid_strlen

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/utf8.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/utf8.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/utf8.h	Tue Dec 23 07:37:03 2008
@@ -32,7 +32,7 @@
  *
  * @date Created: Tue Apr 21 15:32:38 1998 pessi
 
- * @sa <a href="ftp://ftp.ietf.org/rfc/rfc2279.txt">RFC 2279</a>, 
+ * @sa <a href="ftp://ftp.ietf.org/rfc/rfc2279.txt">RFC 2279</a>,
  * <i>"UTF-8, a transformation format of ISO 10646"</i>,
  * F. Yergeau. January 1998.
  *
@@ -83,7 +83,7 @@
 int ucs4ncmp(ucs4 const *s1, ucs4 const *s2, size_t n);
 
 /*
- * IS_UCS4_n tests whether UCS4 character should be represented 
+ * IS_UCS4_n tests whether UCS4 character should be represented
  * with 'n' byte utf8 string
  */
 #define IS_UCS4_1(x) ((ucs4)(x) <= 0x7fu)
@@ -172,7 +172,7 @@
 		      (s)[3]=((c>>12)&63)|128,\
 		      (s)[4]=((c>>6)&63)|128,\
 		      (s)[5]=((c)&63)|128)
-     
+
 SOFIA_END_DECLS
 
 #endif /* UTF8_H */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c	Tue Dec 23 07:37:03 2008
@@ -22,13 +22,13 @@
  *
  */
 
-/**@internal @file token64.c  
+/**@internal @file token64.c
  *
  * Token encoding.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
- * @date Created: Wed Apr  3 10:45:47 2002 ppessi 
+ * @date Created: Wed Apr  3 10:45:47 2002 ppessi
  */
 
 #include "config.h"
@@ -39,10 +39,10 @@
 
 #include "sofia-sip/token64.h"
 
-static const char code[65] = 
+static const char code[65] =
 "0123456789-abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 
-/** Encode data as a SIP/HTTP token. 
+/** Encode data as a SIP/HTTP token.
  *
  * @note
  * A token is case-independent, so this is really not a good idea.
@@ -74,7 +74,7 @@
 
   for (i = 0; i < dlen; i += 3, s += 4) {
     unsigned char h0 = h[i], h1 = h[i + 1], h2 = h[i + 2];
-    
+
     s[0] = code[h0 >> 2];
     s[1] = code[((h0 << 4)|(h1 >> 4)) & 63];
     s[2] = code[((h1 << 4)|(h2 >> 6)) & 63];

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ucs2.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ucs2.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ucs2.c	Tue Dec 23 07:37:03 2008
@@ -36,7 +36,7 @@
 #include "utf8internal.h"
 
 /*
- * Decode utf8 string into ucs2 string, 
+ * Decode utf8 string into ucs2 string,
  * return number of ucs2 characters decoded
  */
 size_t ucs2decode(ucs2 *dst, size_t dst_size, const utf8 *s)
@@ -70,9 +70,9 @@
  * Encode ucs2 string into utf8 string,
  * return number of utf8 bytes encoded including final zero
  *
- * 'quote' may contain an optional quoting table containing 
+ * 'quote' may contain an optional quoting table containing
  * non-zero for all ASCII characters to quote
- * 
+ *
  */
 size_t ucs2encode(utf8 *dst, const ucs2 *s, size_t n, const char quote[128])
 {
@@ -131,7 +131,7 @@
 {
   size_t len = 1;
   ucs2 c;
-  
+
   while (n-- > 0) {
     c = *s++;
     if (c < 0x80u)
@@ -157,7 +157,7 @@
 {
   size_t len = 0;
 
-  if (s) while (*s++) 
+  if (s) while (*s++)
     len++;
 
   return len;
@@ -170,7 +170,7 @@
 {
   int retval = s1 - s2;
 
-  if (s1 && s2) 
+  if (s1 && s2)
     while ((retval = (*s1 - *s2)) && (*s1++) && (*s2++))
       ;
 
@@ -184,7 +184,7 @@
 {
   int retval = 0;
 
-  if (s1 && s2) 
+  if (s1 && s2)
     while (n-- > 0 && (retval = (*s1 - *s2)) && (*s1++) && (*s2++))
       ;
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ucs4.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ucs4.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/ucs4.c	Tue Dec 23 07:37:03 2008
@@ -35,7 +35,7 @@
 #include "utf8internal.h"
 
 /*
- * Decode utf8 string into ucs4 string, 
+ * Decode utf8 string into ucs4 string,
  * return number of ucs4 characters decoded
  */
 size_t ucs4decode(ucs4 *dst, size_t dst_size, const utf8 *s)
@@ -75,9 +75,9 @@
  * Encode ucs4 string into utf8 string,
  * return number of utf8 bytes encoded including final zero
  *
- * 'quote' may contain an optional quoting table containing 
+ * 'quote' may contain an optional quoting table containing
  * non-zero for all ASCII characters to quote
- * 
+ *
  */
 size_t ucs4encode(utf8 *dst, const ucs4 *s, size_t n, const char quote[128])
 {
@@ -151,7 +151,7 @@
 {
   size_t len = 1;
   ucs4 c;
-  
+
   while (n-- > 0) {
     c = *s++;
     if (c < 0x80u)
@@ -183,7 +183,7 @@
 {
   size_t len = 0;
 
-  if (s) while (*s++) 
+  if (s) while (*s++)
     len++;
 
   return len;
@@ -203,7 +203,7 @@
 }
 
 /*
- * Compare UCS4 string prefix 
+ * Compare UCS4 string prefix
  */
 int ucs4ncmp(ucs4 const *s1, ucs4 const *s2, size_t n)
 {

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8.c	Tue Dec 23 07:37:03 2008
@@ -22,7 +22,7 @@
  *
  */
 
-/**@CFILE utf8.c 
+/**@CFILE utf8.c
  *
  * utf8 string handling.
  *

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8internal.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8internal.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8internal.h	Tue Dec 23 07:37:03 2008
@@ -23,9 +23,9 @@
  */
 
 #ifndef UTF8INTERNAL_H
-#define UTF8INTERNAL_H 
+#define UTF8INTERNAL_H
 
-/**@IFILE utf8internal.h 
+/**@IFILE utf8internal.h
  * UTF-8 macros.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8test.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8test.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/ipt/utf8test.c	Tue Dec 23 07:37:03 2008
@@ -38,27 +38,27 @@
 
 int main(int argc, char *argv[])
 {
-  static ucs4 ucs4test0[] = { 
+  static ucs4 ucs4test0[] = {
     0x41u, 0xC1u, 0x841u, 0x10041u, 0x200041u, 0x4000041u, 0
   };
-  static utf8 ucs4test1[] = 
-    "A" 
+  static utf8 ucs4test1[] =
+    "A"
     "\303\201"
     "\340\241\201"
     "\360\220\201\201"
     "\370\210\200\201\201"
     "\374\204\200\200\201\201";
 
-  static ucs2 ucs2test0[] = { 
+  static ucs2 ucs2test0[] = {
     0x41u, 0xC1u, 0x841u, 0
   };
-  static utf8 ucs2test1[] = 
-    "A" 
+  static utf8 ucs2test1[] =
+    "A"
     "\303\201"
     "\340\241\201";
 
   ucs4 ucs4s[1024] = { 0 };
-  ucs2 ucs2s[1024] = { 0 }; 
+  ucs2 ucs2s[1024] = { 0 };
   utf8 utf8s[1024] = { 0 };
 
   size_t len;
@@ -124,7 +124,7 @@
   else puts("OK");
 
   /* UCS2 */
-  
+
   puts("testing ucs2len(ucs2test0)");
 
   len = ucs2len(ucs2test0);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/Doxyfile.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/Doxyfile.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/Doxyfile.in	Tue Dec 23 07:37:03 2008
@@ -1,7 +1,7 @@
 PROJECT_NAME         = "iptsec"
 OUTPUT_DIRECTORY     = ../docs/html/iptsec
 
-INPUT 		     = @srcdir@/iptsec.docs @srcdir@/sofia-sip @srcdir@ . 
+INPUT 		     = @srcdir@/iptsec.docs @srcdir@/sofia-sip @srcdir@ .
 
 @INCLUDE_PATH = . @srcdir@
 @INCLUDE = ../docs/Doxyfile.conf

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c	Tue Dec 23 07:37:03 2008
@@ -57,14 +57,14 @@
 
 #include <assert.h>
 
-static auth_client_t *ca_create(su_home_t *home, 
+static auth_client_t *ca_create(su_home_t *home,
 				char const *scheme,
 				char const *realm);
 
 static void ca_destroy(su_home_t *home, auth_client_t *ca);
 
 static int ca_challenge(auth_client_t *ca,
-			msg_auth_t const *auth, 
+			msg_auth_t const *auth,
 			msg_hclass_t *credential_class,
 			char const *scheme,
 			char const *realm);
@@ -73,9 +73,9 @@
 		   msg_auth_info_t const *ai,
 		   msg_hclass_t *credential_class);
 
-static int ca_credentials(auth_client_t *ca, 
+static int ca_credentials(auth_client_t *ca,
 			  char const *scheme,
-			  char const *realm, 
+			  char const *realm,
 			  char const *user,
 			  char const *pass);
 
@@ -85,19 +85,19 @@
 /** Initialize authenticators.
  *
  * The function auc_challenge() merges the challenge @a ch to the list of
- * authenticators @a auc_list.  
+ * authenticators @a auc_list.
  *
  * @param[in,out] auc_list  list of authenticators to be updated
  * @param[in,out] home      memory home used for allocating authenticators
  * @param[in] ch        challenge to be processed
  * @param[in] crcl      credential class
- * 
+ *
  * @retval 1 when challenge was updated
  * @retval 0 when there was no new challenges
  * @retval -1 upon an error
  */
 int auc_challenge(auth_client_t **auc_list,
-		  su_home_t *home, 
+		  su_home_t *home,
 		  msg_auth_t const *ch,
 		  msg_hclass_t *crcl)
 {
@@ -139,7 +139,7 @@
   return retval;
 }
 
-/** Update authentication client. 
+/** Update authentication client.
  *
  * @retval -1 upon an error
  * @retval 0 when challenge did not match
@@ -147,10 +147,10 @@
  * @retval 2 when challenge did match and updated client
  */
 static
-int ca_challenge(auth_client_t *ca, 
+int ca_challenge(auth_client_t *ca,
 		 msg_auth_t const *ch,
 		 msg_hclass_t *credential_class,
-		 char const *scheme, 
+		 char const *scheme,
 		 char const *realm)
 {
   int stale = 0;
@@ -165,7 +165,7 @@
   if (strcmp(ca->ca_realm, realm))
     return 0;
 
-  if (ca->ca_credential_class && 
+  if (ca->ca_credential_class &&
       ca->ca_credential_class != credential_class)
     return 0;
 
@@ -205,7 +205,7 @@
  * processed.
  *
  * @bug
- * In principle, SIP allows more than one challenge for a single request. 
+ * In principle, SIP allows more than one challenge for a single request.
  * For example, there can be multiple proxies that each challenge the
  * client. The result of storing authentication info can be quite unexpected
  * if there are more than one authenticator with the given type (specified
@@ -238,7 +238,7 @@
   return retval;
 }
 
-/** Update authentication client with authentication info. 
+/** Update authentication client with authentication info.
  *
  * @retval -1 upon an error
  * @retval 0 when challenge did not match
@@ -246,7 +246,7 @@
  * @retval 2 when challenge did match and updated client
  */
 static
-int ca_info(auth_client_t *ca, 
+int ca_info(auth_client_t *ca,
 	    msg_auth_info_t const *info,
 	    msg_hclass_t *credential_class)
 {
@@ -262,7 +262,7 @@
     return 0;
 
   if (!ca->ca_auc
-      || (size_t)ca->ca_auc->auc_plugin_size <= 
+      || (size_t)ca->ca_auc->auc_plugin_size <=
          offsetof(auth_client_plugin_t, auc_info)
       || !ca->ca_auc->auc_info)
     return 0;
@@ -283,14 +283,14 @@
  *
  * @todo The authentication data format sucks.
  *
- * @param[in,out] auc_list  list of authenticators 
+ * @param[in,out] auc_list  list of authenticators
  * @param[in,out] home      memory home used for allocations
  * @param[in] data          colon-separated authentication data
- * 
+ *
  * @retval 0 when successful
  * @retval -1 upon an error
  */
-int auc_credentials(auth_client_t **auc_list, su_home_t *home, 
+int auc_credentials(auth_client_t **auc_list, su_home_t *home,
 		    char const *data)
 {
   int retval = 0, match;
@@ -317,7 +317,7 @@
 	retval = -1;
 	break;
       }
-      if (match) 
+      if (match)
 	retval++;
     }
   }
@@ -330,25 +330,25 @@
 /**Feed authentication data to the authenticator.
  *
  * The function auc_credentials() is used to provide the authenticators in
- * with authentication tuple (scheme, realm, user name, secret).  
+ * with authentication tuple (scheme, realm, user name, secret).
  *
  * scheme:"realm":user:pass
  *
  * @todo The authentication data format sucks.
  *
- * @param[in,out] auc_list  list of authenticators 
+ * @param[in,out] auc_list  list of authenticators
  * @param[in] scheme        scheme to use (NULL, if any)
  * @param[in] realm         realm to use (NULL, if any)
- * @param[in] user          username 
+ * @param[in] user          username
  * @param[in] pass          password
- * 
+ *
  * @retval number of updated clients
  * @retval 0 when no client was updated
  * @retval -1 upon an error
  */
-int auc_all_credentials(auth_client_t **auc_list, 
+int auc_all_credentials(auth_client_t **auc_list,
 			char const *scheme,
-			char const *realm, 
+			char const *realm,
 			char const *user,
 			char const *pass)
 {
@@ -363,7 +363,7 @@
       match = ca_credentials(*auc_list, scheme, realm, user, pass);
       if (match < 0)
 	return -1;
-      if (match) 
+      if (match)
 	retval++;
     }
   }
@@ -371,9 +371,9 @@
   return retval;
 }
 
-int ca_credentials(auth_client_t *ca, 
+int ca_credentials(auth_client_t *ca,
 		   char const *scheme,
-		   char const *realm, 
+		   char const *realm,
 		   char const *user,
 		   char const *pass)
 {
@@ -465,21 +465,21 @@
 
   return retval;
 }
-      	      
+
 
 /**Clear authentication data from the authenticator.
  *
  * The function auc_clear_credentials() is used to remove the credentials
  * from the authenticators.
  *
- * @param[in,out] auc_list  list of authenticators 
- * @param[in] scheme    scheme (if non-null, remove only matching credentials) 
+ * @param[in,out] auc_list  list of authenticators
+ * @param[in] scheme    scheme (if non-null, remove only matching credentials)
  * @param[in] realm     realm (if non-null, remove only matching credentials)
  *
  * @retval 0 when successful
  * @retval -1 upon an error
  */
-int auc_clear_credentials(auth_client_t **auc_list, 
+int auc_clear_credentials(auth_client_t **auc_list,
 			  char const *scheme,
 			  char const *realm)
 {
@@ -502,7 +502,7 @@
       retval = -1;
       break;
     }
-    if (match) 
+    if (match)
       retval++;
   }
 
@@ -523,7 +523,7 @@
 }
 
 /** Check if we have all required credentials.
- * 
+ *
  * @retval 1 when authorization can proceed
  * @retval 0 when there is not enough credentials
  *
@@ -553,20 +553,20 @@
  * headers to a request. The authentication headers will contain the
  * credentials generated by the list of authenticators.
  *
- * @param[in,out] auc_list  list of authenticators 
+ * @param[in,out] auc_list  list of authenticators
  * @param[out] msg          message to be authenticated
  * @param[out] pub          headers of the message
  * @param[in] method        request method
  * @param[in] url           request URI
  * @param[in] body          message body (NULL if empty)
- * 
+ *
  * @retval 1 when successful
  * @retval 0 when there is not enough credentials
  * @retval -1 upon an error
  */
 int auc_authorization(auth_client_t **auc_list, msg_t *msg, msg_pub_t *pub,
-		      char const *method, 
-		      url_t const *url, 
+		      char const *method,
+		      url_t const *url,
 		      msg_payload_t const *body)
 {
   auth_client_t *ca;
@@ -616,21 +616,21 @@
  * authentication headers for a request. The list of authentication headers
  * will contain the credentials generated by the list of authenticators.
  *
- * @param[in] auc_list      list of authenticators 
+ * @param[in] auc_list      list of authenticators
  * @param[in] home          memory home used to allocate headers
  * @param[in] method        request method
  * @param[in] url           request URI
  * @param[in] body          message body (NULL if empty)
  * @param[out] return_headers  authorization headers return value
- * 
+ *
  * @retval 1 when successful
  * @retval 0 when there is not enough credentials
  * @retval -1 upon an error
  */
-int auc_authorization_headers(auth_client_t **auc_list, 
+int auc_authorization_headers(auth_client_t **auc_list,
 			      su_home_t *home,
-			      char const *method, 
-			      url_t const *url, 
+			      char const *method,
+			      url_t const *url,
 			      msg_payload_t const *body,
 			      msg_header_t **return_headers)
 {
@@ -666,13 +666,13 @@
 
 static int auc_basic_authorization(auth_client_t *ca,
 				   su_home_t *h,
-				   char const *method, 
-				   url_t const *url, 
+				   char const *method,
+				   url_t const *url,
 				   msg_payload_t const *body,
 				   msg_header_t **);
 
-static const auth_client_plugin_t ca_basic_plugin = 
-{ 
+static const auth_client_plugin_t ca_basic_plugin =
+{
   /* auc_plugin_size: */ sizeof ca_basic_plugin,
   /* auc_size: */        sizeof (auth_client_t),
   /* auc_name: */       "Basic",
@@ -694,15 +694,15 @@
  * @param hc   header class for the header to be created
  * @param user user name
  * @param pass password
- * 
+ *
  * @return
- * The function auc_basic_authorization() returns a pointer to newly created 
+ * The function auc_basic_authorization() returns a pointer to newly created
  * authorization header, or NULL upon an error.
  */
-int auc_basic_authorization(auth_client_t *ca, 
+int auc_basic_authorization(auth_client_t *ca,
 			    su_home_t *home,
-			    char const *method, 
-			    url_t const *url, 
+			    char const *method,
+			    url_t const *url,
 			    msg_payload_t const *body,
 			    msg_header_t **return_headers)
 {
@@ -742,7 +742,7 @@
   userpass[ulen] = ':';
   memcpy(userpass + ulen + 1, pass, plen);
   userpass[uplen] = '\0';
-  
+
   base64_e(base64, b64len + 1, userpass, uplen);
 
   base64[b64len] = '\0';
@@ -767,22 +767,22 @@
   auth_challenge_t cda_ac[1];
 } auth_digest_client_t;
 
-static int auc_digest_challenge(auth_client_t *ca, 
+static int auc_digest_challenge(auth_client_t *ca,
 				msg_auth_t const *ch);
-static int auc_digest_authorization(auth_client_t *ca, 
+static int auc_digest_authorization(auth_client_t *ca,
 				    su_home_t *h,
-				    char const *method, 
-				    url_t const *url, 
+				    char const *method,
+				    url_t const *url,
 				    msg_payload_t const *body,
 				    msg_header_t **);
-static int auc_digest_info(auth_client_t *ca, 
+static int auc_digest_info(auth_client_t *ca,
 			   msg_auth_info_t const *info);
 
-static const auth_client_plugin_t ca_digest_plugin = 
-{ 
+static const auth_client_plugin_t ca_digest_plugin =
+{
   /* auc_plugin_size: */ sizeof ca_digest_plugin,
   /* auc_size: */        sizeof (auth_digest_client_t),
-  /* auc_name: */       "Digest", 
+  /* auc_name: */       "Digest",
   /* auc_challenge: */   auc_digest_challenge,
   /* auc_authorize: */   auc_digest_authorization,
   /* auc_info: */        auc_digest_info,
@@ -866,15 +866,15 @@
  * sip_authorization_class or sip_proxy_authorization_class, as well as
  * http_authorization_class or http_proxy_authorization_class.
  *
- * @retval 1 when authorization headers has been created  
+ * @retval 1 when authorization headers has been created
  * @retval 0 when there is no credentials
  * @retval -1 upon an error
  */
 static
-int auc_digest_authorization(auth_client_t *ca, 
+int auc_digest_authorization(auth_client_t *ca,
 			     su_home_t *home,
-			     char const *method, 
-			     url_t const *url, 
+			     char const *method,
+			     url_t const *url,
 			     msg_payload_t const *body,
 			     msg_header_t **return_headers)
 {
@@ -923,7 +923,7 @@
   auth_digest_sessionkey(ar, sessionkey, pass);
   auth_digest_response(ar, response, sessionkey, method, data, dlen);
 
-  h = msg_header_format(home, hc, 
+  h = msg_header_format(home, hc,
 			"Digest "
 			"username=\"%s\", "
 			"realm=\"%s\", "
@@ -935,21 +935,21 @@
 			"response=\"%s\""
 			"%s%s"
 			"%s%s",
-			ar->ar_username, 
+			ar->ar_username,
 			ar->ar_realm,
 			ar->ar_nonce,
-			cnonce ? "\",  cnonce=\"" : "", 
+			cnonce ? "\",  cnonce=\"" : "",
 			cnonce ? cnonce : "",
-			ar->ar_opaque ? "\",  opaque=\"" : "", 
+			ar->ar_opaque ? "\",  opaque=\"" : "",
 			ar->ar_opaque ? ar->ar_opaque : "",
 			ar->ar_algorithm ? "\", algorithm=" : "",
 			ar->ar_algorithm ? ar->ar_algorithm : "",
 			ar->ar_uri,
 			response,
-			ar->ar_auth || ar->ar_auth_int ? ", qop=" : "", 
-			ar->ar_auth_int ? "auth-int" : 
+			ar->ar_auth || ar->ar_auth_int ? ", qop=" : "",
+			ar->ar_auth_int ? "auth-int" :
 			(ar->ar_auth ? "auth" : ""),
-			cnonce ? ", nc=" : "", 
+			cnonce ? ", nc=" : "",
 			cnonce ? ncount : "");
 
   su_free(home, uri);
@@ -965,7 +965,7 @@
 
 #define MAX_AUC 20
 
-static auth_client_plugin_t const *ca_plugins[MAX_AUC] = 
+static auth_client_plugin_t const *ca_plugins[MAX_AUC] =
 {
   &ca_digest_plugin, &ca_basic_plugin, NULL
 };
@@ -984,7 +984,7 @@
     return errno = EINVAL, -1;
 
   for (i = 0; i < MAX_AUC; i++) {
-    if (ca_plugins[i] == NULL || 
+    if (ca_plugins[i] == NULL ||
 	strcmp(plugin->auc_name, ca_plugins[i]->auc_name) == 0) {
       ca_plugins[i] = plugin;
       return 0;
@@ -1051,10 +1051,10 @@
  * headers to a SIP request. The authentication headers will contain the
  * credentials generated by the list of authenticators.
  *
- * @param[in,out] auc_list  list of authenticators 
+ * @param[in,out] auc_list  list of authenticators
  * @param[in,out] msg       message to be authenticated
  * @param[in,out] sip       sip headers of the message
- * 
+ *
  * @retval 1 when successful
  * @retval 0 when there is not enough credentials
  * @retval -1 upon an error
@@ -1066,14 +1066,14 @@
   if (!rq)
     return 0;
 
-  return auc_authorization(auc_list, msg, (msg_pub_t *)sip, 
-			   rq->rq_method_name, 
+  return auc_authorization(auc_list, msg, (msg_pub_t *)sip,
+			   rq->rq_method_name,
 			   /*
 			     RFC 3261 defines the protection domain based
 			     only on realm, so we do not bother get a
 			     correct URI to auth module.
 			   */
-			   rq->rq_url, 
+			   rq->rq_url,
 			   sip->sip_payload);
 }
 #endif

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c	Tue Dec 23 07:37:03 2008
@@ -63,20 +63,20 @@
   auth_challenge_t ntlm_ac[1];
 } auth_ntlm_client_t;
 
-static int auc_ntlm_challenge(auth_client_t *ca, 
+static int auc_ntlm_challenge(auth_client_t *ca,
 				msg_auth_t const *ch);
-static int auc_ntlm_authorization(auth_client_t *ca, 
+static int auc_ntlm_authorization(auth_client_t *ca,
 				    su_home_t *h,
-				    char const *method, 
-				    url_t const *url, 
+				    char const *method,
+				    url_t const *url,
 				    msg_payload_t const *body,
 				    msg_header_t **);
 
-auth_client_plugin_t const _ntlm_client_plugin = 
-{ 
+auth_client_plugin_t const _ntlm_client_plugin =
+{
   sizeof ca_ntlm_plugin,
   sizeof (auth_ntlm_client_t),
-  "NTLM", 
+  "NTLM",
   auc_ntlm_challenge,
   auc_ntlm_authorization
 };
@@ -142,7 +142,7 @@
  * @param pass 	  password
  * @param ac      challenge structure
  * @param cnonce  client nonce
- * @param nc      client nonce count 
+ * @param nc      client nonce count
  * @param method  request method
  * @param uri     request uri
  * @param data    message body
@@ -152,10 +152,10 @@
  * Returns a pointer to newly created authorization header, or NULL upon an
  * error.
  */
-int auc_ntlm_authorization(auth_client_t *ca, 
+int auc_ntlm_authorization(auth_client_t *ca,
 			     su_home_t *home,
-			     char const *method, 
-			     url_t const *url, 
+			     char const *method,
+			     url_t const *url,
 			     msg_payload_t const *body,
 			     msg_header_t **return_headers)
 {
@@ -201,7 +201,7 @@
   auth_ntlm_sessionkey(ar, sessionkey, pass);
   auth_ntlm_response(ar, response, sessionkey, method, data, dlen);
 
-  h = msg_header_format(home, hc, 
+  h = msg_header_format(home, hc,
 			"NTLM "
 			"username=\"%s\", "
 			"realm=\"%s\", "
@@ -213,21 +213,21 @@
 			"response=\"%s\""
 			"%s%s"
 			"%s%s",
-			ar->ar_username, 
+			ar->ar_username,
 			ar->ar_realm,
 			ar->ar_nonce,
-			cnonce ? "\",  cnonce=\"" : "", 
+			cnonce ? "\",  cnonce=\"" : "",
 			cnonce ? cnonce : "",
-			ar->ar_opaque ? "\",  opaque=\"" : "", 
+			ar->ar_opaque ? "\",  opaque=\"" : "",
 			ar->ar_opaque ? ar->ar_opaque : "",
 			ar->ar_algorithm ? "\", algorithm=" : "",
 			ar->ar_algorithm ? ar->ar_algorithm : "",
 			ar->ar_uri,
 			response,
-			ar->ar_auth || ar->ar_auth_int ? ", qop=" : "", 
-			ar->ar_auth_int ? "auth-int" : 
+			ar->ar_auth || ar->ar_auth_int ? ", qop=" : "",
+			ar->ar_auth_int ? "auth-int" :
 			(ar->ar_auth ? "auth" : ""),
-			cnonce ? ", nc=" : "", 
+			cnonce ? ", nc=" : "",
 			cnonce ? ncount : "");
 
   su_free(home, uri);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c	Tue Dec 23 07:37:03 2008
@@ -54,7 +54,7 @@
  * The function auth_get_params() searches for the authentication parameters
  * in @a params. The parameter list @a params is seached for each parameter
  * given in in vararg section, and if it is found, its value is assigned to
- * the given address. 
+ * the given address.
  *
  * @note The field name should contain the equal ("=") sign.
  *

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c	Tue Dec 23 07:37:03 2008
@@ -59,7 +59,7 @@
  * found, or -1 upon an error.
  */
 issize_t auth_digest_challenge_get(su_home_t *home,
-				   auth_challenge_t *ac0, 
+				   auth_challenge_t *ac0,
 				   char const * const params[])
 {
   ssize_t n;
@@ -70,7 +70,7 @@
 
   ac->ac_size = sizeof(ac);
 
-  assert(ac0); 
+  assert(ac0);
   assert(ac0->ac_size >= (int) sizeof(*ac));
 
   if (ac0 == NULL || params == NULL)
@@ -103,7 +103,7 @@
   auth_struct_copy(ac0, ac, sizeof(ac));
 
   SU_DEBUG_5(("%s(): got "MOD_ZD"\n", "auth_digest_challenge_get", n));
-  
+
   return n;
 }
 
@@ -136,7 +136,7 @@
  * found, or -1 upon an error.
  */
 issize_t auth_digest_response_get(su_home_t *home,
-				  auth_response_t *ar0, 
+				  auth_response_t *ar0,
 				  char const *const params[])
 {
   ssize_t n;
@@ -189,7 +189,7 @@
   if (!quoted)
     /*xyzzy*/;
   else if (quoted[0] == '"') {
-    char const *q; 
+    char const *q;
     size_t n;
 
     for (q = quoted + 1; *q; q += n + 2) {
@@ -204,9 +204,9 @@
     su_md5_strupdate(md5, quoted);
 }
 
-/** Generate A1 hash for digest authentication. 
+/** Generate A1 hash for digest authentication.
  */
-int auth_digest_a1(auth_response_t *ar, 
+int auth_digest_a1(auth_response_t *ar,
 		   auth_hexmd5_t ha1,
 		   char const *secret)
 {
@@ -222,13 +222,13 @@
 
   su_md5_hexdigest(md5, ha1);
 
-  SU_DEBUG_5(("auth_digest_a1() has A1 = MD5(%s:%s:%s) = %s\n", 
+  SU_DEBUG_5(("auth_digest_a1() has A1 = MD5(%s:%s:%s) = %s\n",
 	      ar->ar_username, ar->ar_realm, secret, ha1));
 
   return 0;
 }
 
-int auth_digest_a1sess(auth_response_t *ar, 
+int auth_digest_a1sess(auth_response_t *ar,
 		       auth_hexmd5_t ha1sess,
 		       char const *ha1)
 {
@@ -243,15 +243,15 @@
 
   su_md5_hexdigest(md5, ha1sess);
 
-  SU_DEBUG_5(("auth_sessionkey has A1' = MD5(%s:%s:%s) = %s\n", 
+  SU_DEBUG_5(("auth_sessionkey has A1' = MD5(%s:%s:%s) = %s\n",
 	      ha1, ar->ar_nonce, ar->ar_cnonce, ha1sess));
 
   return 0;
 }
 
-/** Generate MD5 session key for digest authentication. 
+/** Generate MD5 session key for digest authentication.
  */
-int auth_digest_sessionkey(auth_response_t *ar, 
+int auth_digest_sessionkey(auth_response_t *ar,
 			   auth_hexmd5_t ha1,
 			   char const *secret)
 {
@@ -263,7 +263,7 @@
     return -1;
 
   if (ar->ar_md5sess) {
-    auth_hexmd5_t base_ha1; 
+    auth_hexmd5_t base_ha1;
     auth_digest_a1(ar, base_ha1, secret);
     auth_digest_a1sess(ar, ha1, base_ha1);
   } else {
@@ -273,12 +273,12 @@
   return 0;
 }
 
-/** Generate response for digest authentication. 
+/** Generate response for digest authentication.
  *
  */
-int auth_digest_response(auth_response_t *ar, 
+int auth_digest_response(auth_response_t *ar,
 			 auth_hexmd5_t response,
-			 auth_hexmd5_t const ha1, 
+			 auth_hexmd5_t const ha1,
 			 char const *method_name,
 			 void const *data, isize_t dlen)
 {
@@ -314,7 +314,7 @@
   }
   su_md5_hexdigest(md5, HA2);
 
-  SU_DEBUG_5(("A2 = MD5(%s:%s%s%s)\n", method_name, ar->ar_uri, 
+  SU_DEBUG_5(("A2 = MD5(%s:%s%s%s)\n", method_name, ar->ar_uri,
 	      ar->ar_auth_int ? ":" : "", ar->ar_auth_int ? Hentity : ""));
 
   /* Calculate response */
@@ -333,17 +333,17 @@
   }
 
   su_md5_update(md5, ":", 1);
-  su_md5_update(md5, HA2, 32);      
+  su_md5_update(md5, HA2, 32);
   su_md5_hexdigest(md5, response);
 
-  SU_DEBUG_5(("auth_response: %s = MD5(%s:%s%s%s%s%s%s%s:%s) (qop=%s)\n", 
-	      response, ha1, ar->ar_nonce, 
-	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_nc : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_cnonce : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_qop : "", 
+  SU_DEBUG_5(("auth_response: %s = MD5(%s:%s%s%s%s%s%s%s:%s) (qop=%s)\n",
+	      response, ha1, ar->ar_nonce,
+	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_nc : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_cnonce : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_qop : "",
 	      HA2,
 	      ar->ar_qop ? ar->ar_qop : "NONE"));
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c	Tue Dec 23 07:37:03 2008
@@ -80,7 +80,7 @@
 static void auth_md5_hmac_key(auth_mod_t *am);
 
 HTABLE_PROTOS_WITH(auth_htable, aht, auth_passwd_t, usize_t, unsigned);
-HTABLE_BODIES_WITH(auth_htable, aht, auth_passwd_t, APW_HASH, 
+HTABLE_BODIES_WITH(auth_htable, aht, auth_passwd_t, APW_HASH,
 		   usize_t, unsigned);
 
 /**Allocate an authentication module instance.

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_http.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_http.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_http.c	Tue Dec 23 07:37:03 2008
@@ -25,7 +25,7 @@
 /**@internal
  * @file auth_module_http.c
  * @brief Authenticate HTTP request
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  * @author Jari Urpalainen <Jari.Urpalainen at nokia.com>
  *
@@ -43,10 +43,10 @@
 
 #include <sofia-sip/auth_module.h>
 
-static auth_challenger_t http_server_challenger[] = 
+static auth_challenger_t http_server_challenger[] =
   {{ HTTP_401_UNAUTHORIZED, http_www_authenticate_class }};
 
-static auth_challenger_t http_proxy_challenger[] = 
+static auth_challenger_t http_proxy_challenger[] =
   {{ HTTP_407_PROXY_AUTH, http_proxy_authenticate_class }};
 
 const char *auth_mod_check_http(auth_mod_t *am,
@@ -54,22 +54,22 @@
 	                        http_t const *http,
 		                auth_kind_t proxy)
 {
-  msg_auth_t *credentials = 
+  msg_auth_t *credentials =
     proxy ? http->http_proxy_authorization : http->http_authorization;
-  auth_challenger_t const *challenger = 
+  auth_challenger_t const *challenger =
     proxy ? http_proxy_challenger : http_server_challenger;
 
   if (http->http_request) {
     if (!as->as_method)
       as->as_method = http->http_request->rq_method_name;
 #if 0
-    if (!as->as_uri) 
+    if (!as->as_uri)
       as->as_uri = http->http_request->rq_url;
 #endif
   }
 
   if (http->http_payload && !as->as_body)
-    as->as_body = http->http_payload->pl_data, 
+    as->as_body = http->http_payload->pl_data,
       as->as_bodylen = http->http_payload->pl_len;
 
   /* Call real authentication method */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_sip.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_sip.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_sip.c	Tue Dec 23 07:37:03 2008
@@ -25,7 +25,7 @@
 /**@internal
  * @file auth_module_sip.c
  * @brief Authenticate SIP request
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  * @author Jari Urpalainen <Jari.Urpalainen at nokia.com>
  *
@@ -45,19 +45,19 @@
 
 #include <sofia-sip/auth_module.h>
 
-static auth_challenger_t sip_server_challenger[] = 
+static auth_challenger_t sip_server_challenger[] =
   {{ SIP_401_UNAUTHORIZED, sip_www_authenticate_class,
      sip_authentication_info_class
     }};
 
-static auth_challenger_t sip_proxy_challenger[] = 
+static auth_challenger_t sip_proxy_challenger[] =
   {{ SIP_407_PROXY_AUTH_REQUIRED, sip_proxy_authenticate_class }};
 
-/** Authenticate an incoming SIP request. 
+/** Authenticate an incoming SIP request.
  *
  * The function auth_mod_check() completes the @a as structure and calls the
  * scheme-specific authentication method performing the actual
- * authentication.  
+ * authentication.
  *
  * A successful authentication is indicated by setting @a as->as_status to
  * 0.  The authentication module sets @a as->as_match as the matching
@@ -86,7 +86,7 @@
     as->as_method = sip->sip_request->rq_method_name;
 
   if (sip->sip_payload)
-    as->as_body = sip->sip_payload->pl_data, 
+    as->as_body = sip->sip_payload->pl_data,
       as->as_bodylen = sip->sip_payload->pl_len;
 
   auth_mod_method(am, as, credentials, challenger);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c	Tue Dec 23 07:37:03 2008
@@ -58,7 +58,7 @@
  * found, or -1 upon an error.
  */
 issize_t auth_ntlm_challenge_get(su_home_t *home,
-				auth_challenge_t *ac0, 
+				auth_challenge_t *ac0,
 				char const * const params[])
 {
   ssize_t n;
@@ -68,7 +68,7 @@
 
   ac->ac_size = sizeof(ac);
 
-  assert(ac0); 
+  assert(ac0);
   assert(ac0->ac_size >= sizeof(*ac));
 
   if (ac0 == NULL || params == NULL)
@@ -103,7 +103,7 @@
   auth_struct_copy(ac0, ac, sizeof(ac));
 
   SU_DEBUG_5(("%s(): got %d\n", "auth_ntlm_challenge_get", n));
-  
+
   return n;
 }
 
@@ -119,7 +119,7 @@
  * found, or -1 upon an error.
  */
 issize_t auth_ntlm_response_get(su_home_t *home,
-				auth_response_t *ar0, 
+				auth_response_t *ar0,
 				char const *const params[])
 {
   ssize_t n;
@@ -169,9 +169,9 @@
 
 #if 0
 
-/** Generate A1 hash for digest authentication. 
+/** Generate A1 hash for digest authentication.
  */
-int auth_digest_a1(auth_response_t *ar, 
+int auth_digest_a1(auth_response_t *ar,
 		   auth_hexmd5_t ha1,
 		   char const *secret)
 {
@@ -187,13 +187,13 @@
 
   su_md5_hexdigest(md5, ha1);
 
-  SU_DEBUG_5(("auth_digest_a1() has A1 = MD5(%s:%s:%s) = %s\n", 
+  SU_DEBUG_5(("auth_digest_a1() has A1 = MD5(%s:%s:%s) = %s\n",
 	      ar->ar_username, ar->ar_realm, secret, ha1));
 
   return 0;
 }
 
-int auth_digest_a1sess(auth_response_t *ar, 
+int auth_digest_a1sess(auth_response_t *ar,
 		       auth_hexmd5_t ha1sess,
 		       char const *ha1)
 {
@@ -208,15 +208,15 @@
 
   su_md5_hexdigest(md5, ha1sess);
 
-  SU_DEBUG_5(("auth_sessionkey has A1' = MD5(%s:%s:%s) = %s\n", 
+  SU_DEBUG_5(("auth_sessionkey has A1' = MD5(%s:%s:%s) = %s\n",
 	      ha1, ar->ar_nonce, ar->ar_cnonce, ha1sess));
 
   return 0;
 }
 
-/** Generate MD5 session key for digest authentication. 
+/** Generate MD5 session key for digest authentication.
  */
-int auth_digest_sessionkey(auth_response_t *ar, 
+int auth_digest_sessionkey(auth_response_t *ar,
 			   auth_hexmd5_t ha1,
 			   char const *secret)
 {
@@ -228,7 +228,7 @@
     return -1;
 
   if (ar->ar_md5sess) {
-    auth_hexmd5_t base_ha1; 
+    auth_hexmd5_t base_ha1;
     auth_digest_a1(ar, base_ha1, secret);
     auth_digest_a1sess(ar, ha1, base_ha1);
   } else {
@@ -243,12 +243,12 @@
 
 #if 0
 
-/** Generate response for digest authentication. 
+/** Generate response for digest authentication.
  *
  */
-int auth_digest_response(auth_response_t *ar, 
+int auth_digest_response(auth_response_t *ar,
 			 auth_hexmd5_t response,
-			 auth_hexmd5_t const ha1, 
+			 auth_hexmd5_t const ha1,
 			 char const *method_name,
 			 void const *data, issize_t dlen)
 {
@@ -284,7 +284,7 @@
   }
   su_md5_hexdigest(md5, HA2);
 
-  SU_DEBUG_5(("A2 = MD5(%s:%s%s%s)\n", method_name, ar->ar_uri, 
+  SU_DEBUG_5(("A2 = MD5(%s:%s%s%s)\n", method_name, ar->ar_uri,
 	      ar->ar_auth_int ? ":" : "", ar->ar_auth_int ? Hentity : ""));
 
   /* Calculate response */
@@ -303,17 +303,17 @@
   }
 
   su_md5_update(md5, ":", 1);
-  su_md5_update(md5, HA2, 32);      
+  su_md5_update(md5, HA2, 32);
   su_md5_hexdigest(md5, response);
 
-  SU_DEBUG_5(("auth_response: %s = MD5(%s:%s%s%s%s%s%s%s:%s) (qop=%s)\n", 
-	      response, ha1, ar->ar_nonce, 
-	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_nc : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_cnonce : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "", 
-	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_qop : "", 
+  SU_DEBUG_5(("auth_response: %s = MD5(%s:%s%s%s%s%s%s%s:%s) (qop=%s)\n",
+	      response, ha1, ar->ar_nonce,
+	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_nc : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_cnonce : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ":" : "",
+	      ar->ar_auth ||  ar->ar_auth_int ? ar->ar_qop : "",
 	      HA2,
 	      ar->ar_qop ? ar->ar_qop : "NONE"));
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c	Tue Dec 23 07:37:03 2008
@@ -25,9 +25,9 @@
 /**@internal
  * @file auth_plugin.c
  * @brief Plugin interface for authentication verification modules.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Tue Apr 27 15:23:31 2004 ppessi
  */
 
@@ -69,7 +69,7 @@
   auth_scheme_delayed
 };
 
-/** Register an authentication plugin. 
+/** Register an authentication plugin.
  *
  * @retval 0 when successful
  * @retval -1 upon an error
@@ -82,17 +82,17 @@
     if (i == N)
       return -1;
   }
-  
+
   schemes[i] = asch;
 
   return 0;
 }
 
-/**Create an authentication plugin module. 
+/**Create an authentication plugin module.
  *
  * The function auth_mod_create() creates a module used to authenticate the
  * requests.
- * 
+ *
  * @param root pointer to a su_root_t object
  * @param tag,value,... tagged argument list
  *
@@ -123,7 +123,7 @@
     size_t len;
 
     base = strrchr(method, '+');
-    if (base) 
+    if (base)
       len = base++ - method;
     else
       len = strlen(method);
@@ -132,7 +132,7 @@
       ;
     else if (strcasecmp(base, "Basic") == 0)
       bscheme = auth_scheme_basic;
-    else if (strcasecmp(base, "Digest") == 0) 
+    else if (strcasecmp(base, "Digest") == 0)
       bscheme = auth_scheme_digest;
 
     if (base == NULL || bscheme) {
@@ -152,6 +152,6 @@
   }
 
   ta_end(ta);
-  
+
   return am;
 }

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_delayed.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_delayed.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_delayed.c	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 /**@CFILE auth_plugin_delayed.c
  *
- * @brief Plugin for delayed authentication. 
+ * @brief Plugin for delayed authentication.
  *
  * This authentication plugin provides authentication operation that is
  * intentionally delayed. It serves as an example of server-side
@@ -61,7 +61,7 @@
 #include "sofia-sip/auth_module.h"
 #include "sofia-sip/auth_plugin.h"
 
-struct auth_plugin_t 
+struct auth_plugin_t
 {
   su_root_t      *ap_root;
   auth_scheme_t  *ap_base;
@@ -81,7 +81,7 @@
 				msg_auth_t *auth,
 				auth_challenger_t const *ach);
 
-static void delayed_auth_challenge(auth_mod_t *am, 
+static void delayed_auth_challenge(auth_mod_t *am,
 				   auth_status_t *as,
 				   auth_challenger_t const *ach);
 
@@ -89,12 +89,12 @@
 
 static void delayed_auth_destroy(auth_mod_t *am);
 
-auth_scheme_t auth_scheme_delayed[1] = 
+auth_scheme_t auth_scheme_delayed[1] =
   {{
       "Delayed",
       sizeof (struct { auth_mod_t mod[1]; auth_plugin_t plug[1]; }),
       delayed_auth_init,
-      delayed_auth_method, 
+      delayed_auth_method,
       delayed_auth_challenge,
       delayed_auth_cancel,
       delayed_auth_destroy
@@ -118,13 +118,13 @@
 
     retval = 0;
   }
-    
+
   ta_end(ta);
 
   return retval;
 }
 
-struct auth_splugin_t 
+struct auth_splugin_t
 {
   void const      *asp_cookie;
   auth_splugin_t  *asp_next;
@@ -152,7 +152,7 @@
   su_msg_r mamc = SU_MSG_R_INIT;
   auth_splugin_t *asp;
 
-  if (su_msg_create(mamc, 
+  if (su_msg_create(mamc,
 		    su_root_task(ap->ap_root),
 		    su_root_task(ap->ap_root),
 		    delayed_auth_method_recv,
@@ -202,7 +202,7 @@
     asp->asp_as->as_callback(asp->asp_as->as_magic, asp->asp_as);
 }
 
-static void delayed_auth_challenge(auth_mod_t *am, 
+static void delayed_auth_challenge(auth_mod_t *am,
 				   auth_status_t *as,
 				   auth_challenger_t const *ach)
 {
@@ -217,7 +217,7 @@
   auth_plugin_t *ap = AUTH_PLUGIN(am);
 
   (void)ap;			/* xyzzy */
-  
+
   if (as->as_plugin && as->as_plugin->asp_cookie == delayed_asp_cookie)
     as->as_plugin->asp_canceled = 1;
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 /**@CFILE auth_plugin_ntlm.c
  *
- * @brief Plugin for delayed authentication. 
+ * @brief Plugin for delayed authentication.
  *
  * This authentication plugin provides authentication operation that is
  * intentionally delayed. It serves as an example of server-side
@@ -100,14 +100,14 @@
   if (auth_init_default(am, NULL, root, ta_tags(ta)) != -1) {
     retval = 0;
   }
-    
+
   ta_end(ta);
 
   return retval;
 }
 
 
-/** Authenticate a request with @b NTLM authentication scheme. 
+/** Authenticate a request with @b NTLM authentication scheme.
  *
  * This function reads user database before authentication, if needed.
  */
@@ -123,7 +123,7 @@
   }
 }
 
-/** Authenticate a request with @b Ntlm authentication scheme. 
+/** Authenticate a request with @b Ntlm authentication scheme.
  */
 void auth_method_ntlm(auth_mod_t *am,
 		      auth_status_t *as,
@@ -144,7 +144,7 @@
     as->as_status = 0, as->as_phrase = NULL;
     as->as_match = (msg_header_t *)au;
     return;
-  } 
+  }
 
   if (au) {
     auth_response_t ar[1] = {{ sizeof(ar) }};
@@ -161,7 +161,7 @@
 
 
 /** Find a NTLM credential header with matching realm and opaque. */
-msg_auth_t *auth_ntlm_credentials(msg_auth_t *auth, 
+msg_auth_t *auth_ntlm_credentials(msg_auth_t *auth,
 				  char const *realm,
 				  char const *opaque,
 				  char const *gssapidata,
@@ -216,19 +216,19 @@
 
 #define PA "Authorization missing "
 
-  if ((!ar->ar_username && (phrase = PA "username")) || 
-      (!ar->ar_nonce && (phrase = PA "nonce")) || 
-      (!ar->ar_uri && (phrase = PA "URI")) || 
-      (!ar->ar_response && (phrase = PA "response")) || 
+  if ((!ar->ar_username && (phrase = PA "username")) ||
+      (!ar->ar_nonce && (phrase = PA "nonce")) ||
+      (!ar->ar_uri && (phrase = PA "URI")) ||
+      (!ar->ar_response && (phrase = PA "response")) ||
       /* (!ar->ar_opaque && (phrase = PA "opaque")) || */
       /* Check for qop */
-      (ar->ar_qop && 
-       ((ar->ar_auth && 
+      (ar->ar_qop &&
+       ((ar->ar_auth &&
 	 strcasecmp(ar->ar_qop, "auth") &&
 	 strcasecmp(ar->ar_qop, "\"auth\"")) ||
-	(ar->ar_auth_int && 
+	(ar->ar_auth_int &&
 	 strcasecmp(ar->ar_qop, "auth-int") &&
-	 strcasecmp(ar->ar_qop, "\"auth-int\""))) 
+	 strcasecmp(ar->ar_qop, "\"auth-int\"")))
        && (phrase = PA "has invalid qop"))) {
     assert(phrase);
     SU_DEBUG_5(("auth_method_ntlm: 400 %s\n", phrase));
@@ -239,10 +239,10 @@
 
   /* XXX - replace */
 #if 0
-  if (as->as_nonce_issued == 0 /* Already validated nonce */ && 
+  if (as->as_nonce_issued == 0 /* Already validated nonce */ &&
       auth_validate_ntlm_nonce(am, as, ar, now) < 0) {
 #else
-  if (as->as_nonce_issued == 0 /* Already validated nonce */ && 
+  if (as->as_nonce_issued == 0 /* Already validated nonce */ &&
       auth_validate_digest_nonce(am, as, ar, now) < 0) {
 #endif
     as->as_blacklist = am->am_blacklist;
@@ -262,9 +262,9 @@
     a1 = apw->apw_hash;
   else if (apw && apw->apw_pass)
     auth_ntlm_a1(ar, a1buf, apw->apw_pass), a1 = a1buf;
-  else 
+  else
     auth_ntlm_a1(ar, a1buf, "xyzzy"), a1 = a1buf, apw = NULL;
-  
+
   if (ar->ar_md5sess)
     auth_ntlm_a1sess(ar, a1buf, a1), a1 = a1buf;
 #else
@@ -272,19 +272,19 @@
     a1 = apw->apw_hash;
   else if (apw && apw->apw_pass)
     auth_digest_a1(ar, a1buf, apw->apw_pass), a1 = a1buf;
-  else 
+  else
     auth_digest_a1(ar, a1buf, "xyzzy"), a1 = a1buf, apw = NULL;
-  
+
   if (ar->ar_md5sess)
     auth_digest_a1sess(ar, a1buf, a1), a1 = a1buf;
 #endif
 
-  /* XXX - replace with auth_ntlm_response */      
+  /* XXX - replace with auth_ntlm_response */
 #if 0
-  auth_ntlm_response(ar, response, a1, 
+  auth_ntlm_response(ar, response, a1,
 		     as->as_method, as->as_body, as->as_bodylen);
 #else
-  auth_digest_response(ar, response, a1, 
+  auth_digest_response(ar, response, a1,
 		       as->as_method, as->as_body, as->as_bodylen);
 #endif
 
@@ -321,7 +321,7 @@
 }
 
 /** Construct a challenge header for @b Ntlm authentication scheme. */
-void auth_challenge_ntlm(auth_mod_t *am, 
+void auth_challenge_ntlm(auth_mod_t *am,
 			   auth_status_t *as,
 			   auth_challenger_t const *ach)
 {
@@ -337,8 +337,8 @@
   u = as->as_uri;
   d = as->as_pdomain;
 
-  as->as_response = 
-    msg_header_format(as->as_home, ach->ach_header, 
+  as->as_response =
+    msg_header_format(as->as_home, ach->ach_header,
 		      "Ntlm"
 		      " realm=\"%s\","
 		      "%s%s%s"
@@ -346,12 +346,12 @@
 		      " nonce=\"%s\","
 		      "%s%s%s"
 		      "%s"	/* stale */
-		      " algorithm=%s" 
+		      " algorithm=%s"
 		      "%s%s%s",
-		      as->as_realm, 
-		      u ? " uri=\"" : "", u ? u : "", u ? "\"," : "", 
-		      d ? " domain=\"" : "", d ? d : "", d ? "\"," : "", 
-		      nonce, 
+		      as->as_realm,
+		      u ? " uri=\"" : "", u ? u : "", u ? "\"," : "",
+		      d ? " domain=\"" : "", d ? d : "", d ? "\"," : "",
+		      nonce,
 		      am->am_opaque ? " opaque=\"" : "",
 		      am->am_opaque ? am->am_opaque : "",
 		      am->am_opaque ? "\"," : "",
@@ -368,7 +368,7 @@
 }
 
 /** Construct a info header for @b Ntlm authentication scheme. */
-void auth_info_ntlm(auth_mod_t *am, 
+void auth_info_ntlm(auth_mod_t *am,
 		      auth_status_t *as,
 		      auth_challenger_t const *ach)
 {
@@ -385,7 +385,7 @@
     auth_generate_digest_nonce(am, nonce, sizeof nonce, 1, msg_now());
 #endif
 
-    as->as_info = 
+    as->as_info =
       msg_header_format(as->as_home, ach->ach_info, "nextnonce=\"%s\"", nonce);
   }
 }

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_tag.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_tag.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_tag.c	Tue Dec 23 07:37:03 2008
@@ -40,14 +40,14 @@
 #include <sofia-sip/url_tag_class.h>
 
 /**@def AUTHTAG_ANY()
- * 
+ *
  * Filter tag matching any AUTHTAG_*().
  */
 tag_typedef_t authtag_any = NSTAG_TYPEDEF(*);
 
 /**@def AUTHTAG_MODULE()
- * 
- * Pointer to an authentication server module (auth_mod_t). 
+ *
+ * Pointer to an authentication server module (auth_mod_t).
  *
  * The tag item AUTHTAG_MODULE() contains pointer to an authentication server
  * module. It is used to pass an already initialized authentication module
@@ -58,11 +58,11 @@
 /**@def AUTHTAG_METHOD()
  *
  * Name of the authentication scheme.
- * 
+ *
  * The tag AUTHTAG_METHOD() specifies the authentication module and scheme
  * to be used by the auth_module. The name can specify a basic
  * authentication module, like "Digest" or "Basic", or an plugin module,
- * like "SGMF+Digest". 
+ * like "SGMF+Digest".
  *
  * @sa See <sofia-sip/auth_plugin.h> for plugin interface.
  */
@@ -87,7 +87,7 @@
  *
  * Opaque data used by authentication server.
  *
- * The tag authtag_opaque is used to pass opaque data to the @b auth_module. 
+ * The tag authtag_opaque is used to pass opaque data to the @b auth_module.
  * The opaque data will be included in all the challenges (however, the data
  * is prefixed with a "." and other opaque data used by the algorithms.
  *
@@ -115,7 +115,7 @@
 /**@def AUTHTAG_QOP()
  *
  * Quality-of-protection used by Digest authentication.
- * 
+ *
  * The tag AUTHTAG_QOP() specifies the qop scheme to be used by the
  * digest authentication.
  */
@@ -124,7 +124,7 @@
 /**@def AUTHTAG_ALGORITHM()
  *
  * Authentication algorithm used by Digest authentication.
- * 
+ *
  * The tag AUTHTAG_ALGORITHM() specifies the qop scheme to be used by the
  * digest authentication.
  */
@@ -133,7 +133,7 @@
 /**@def AUTHTAG_EXPIRES()
  *
  * Nonce expiration time for Digest authentication.
- * 
+ *
  * The tag AUTHTAG_EXPIRES() specifies the time in seconds that a nonce is
  * considered valid. If 0, the nonce lifetime unbounded. The default time is
  * 3600 seconds.
@@ -143,7 +143,7 @@
 /**@def AUTHTAG_NEXT_EXPIRES()
  *
  * Next nonce expiration time for Digest authentication.
- * 
+ *
  * The tag AUTHTAG_NEXT_EXPIRES() specifies the time in seconds that a
  * nextnonce sent in Authentication-Info header is considered valid. If 0,
  * the nonce lifetime is unbounded. The default time is 3600 seconds.
@@ -153,9 +153,9 @@
 /**@def AUTHTAG_MAX_NCOUNT()
  *
  * Max nonce count value.
- * 
+ *
  * The tag AUTHTAG_MAX_NCOUNT() specifies the maximum number of times a
- * nonce should be used. 
+ * nonce should be used.
  *
  * @todo Count actual usages and don't trust "nc" parameter only.
  */
@@ -164,7 +164,7 @@
 /**@def AUTHTAG_BLACKLIST()
  *
  * Blacklist time.
- * 
+ *
  * The tag AUTHTAG_BLACKLIST() specifies the time the server delays its
  * response if it is given bad credentials or malformed nonce. The default
  * time is 5 seconds.
@@ -176,7 +176,7 @@
 /**@def AUTHTAG_FORBIDDEN()
  *
  * Respond with 403 Forbidden.
- * 
+ *
  * When given a true argument, the tag AUTHTAG_FORBIDDEN() specifies that the
  * server responds with 403 Forbidden (instead of 401/407) when it receives
  * bad credentials.
@@ -208,8 +208,8 @@
 /**@def AUTHTAG_REMOTE()
  *
  * Remote authenticator URL.
- * 
- * The tag AUTHTAG_REMOTE() is used to specify URL for remote authenticator. 
+ *
+ * The tag AUTHTAG_REMOTE() is used to specify URL for remote authenticator.
  * The meaning of the URL is specific to the authentication module. The
  * authentication module is selected by AUTHTAG_METHOD().
  */
@@ -217,15 +217,15 @@
 
 /**@def AUTHTAG_ALLOW()
  *
- * Comma-separated list of methods that are not challenged. 
- * 
+ * Comma-separated list of methods that are not challenged.
+ *
  * The tag AUTHTAG_ALLOW() takes its argument a string containing a
  * comma-separated list of methods, for example,
  * @code
  * AUTHTAG_ALLOW("ACK, BYE, CANCEL").
  * @endcode
  *
- * The specified methods are not challenged by the authentication module. 
+ * The specified methods are not challenged by the authentication module.
  * For example, this may include SIP ACK method or SIP methods only used
  * within an already established dialog.
  */
@@ -234,7 +234,7 @@
 /**@def AUTHTAG_MASTER_KEY()
  *
  * Private master key for the authentication module.
- * 
+ *
  * The tag AUTHTAG_MASTER_KEY() specifies a private master key that can be
  * used by the authentication module for various purposes (for instance,
  * validating that nonces are really generated by it).
@@ -244,7 +244,7 @@
 /**@def AUTHTAG_CACHE_USERS()
  *
  * Time to cache user data.
- * 
+ *
  * The tag AUTHTAG_CACHE_USERS() specifies how many seconds the user data is
  * cached locally. Default value is typically 30 minutes.
  */
@@ -253,7 +253,7 @@
 /**@def AUTHTAG_CACHE_ERRORS()
  *
  * Time to cache errors.
- * 
+ *
  * The tag AUTHTAG_CACHE_ERRORS() specifies the lifetime in seconds for
  * errors in the local authentication data cache. Note that the errors
  * generated locally (e.g., because of connectivity problem with

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec.docs	Tue Dec 23 07:37:03 2008
@@ -5,10 +5,10 @@
  * @section iptsec_meta Module Meta Information
  *
  * The iptsec module currently provides interfaces to HTTP
- * Basic and Digest authentication, used by HTTP and SIP protocol elements. 
- * There are both 
- * @ref auth_client "client-side" and 
- * @ref auth_module "server-side" 
+ * Basic and Digest authentication, used by HTTP and SIP protocol elements.
+ * There are both
+ * @ref auth_client "client-side" and
+ * @ref auth_module "server-side"
  * (authentication verification) functionality available.
  *
  * @CONTACT Pekka Pessi <Pekka.Pessi at nokia.com>
@@ -25,13 +25,13 @@
  * operation is simple enough:
  * -# server initializes an #auth_status_t structure with information from
  *    the request
- * -# server calls auth_mod_method() 
- * -# server checks the status from auth_status_t structure, sends an error 
+ * -# server calls auth_mod_method()
+ * -# server checks the status from auth_status_t structure, sends an error
  *    response to the client if authentication fails
  * -# server proceeds serving the authenticated request.
  *
  * If the operation is asynchronous, only a preliminary result is stored in
- * the auth_status_t structure when the call to auth_mod_method() returns. 
+ * the auth_status_t structure when the call to auth_mod_method() returns.
  * In that case, the application can assign a callback function to the
  * structure. The callback function is invoked when the authentication
  * operation is completed. An asynchronous authentication operation can be
@@ -62,7 +62,7 @@
  * -# store the challenge to a list with auc_challenge()
  * -# prompt user and feed credentials (username and password) to the list
  *    with auc_credentials() or auc_all_credentials()
- * -# authorize a request (add credential headers to it) with 
+ * -# authorize a request (add credential headers to it) with
  *    auc_authorization() and resend the request
  *
  * If there are several username/password pairs for multiple authentication

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.c	Tue Dec 23 07:37:03 2008
@@ -24,9 +24,9 @@
 
 /**@internal @file iptsec_debug.c
  * @brief Debug log for IPTSEC module.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Thu Dec 19 15:55:30 2002 ppessi
  */
 
@@ -51,7 +51,7 @@
  *
  * The IPTSEC_DEBUG environment variable is used to determine the debug
  * logging level for @iptsec module. The default level is 3.
- * 
+ *
  * @sa <sofia-sip/su_debug.h>, #iptsec_log, #SOFIA_DEBUG
  */
 extern IPTSEC_DEBUG;
@@ -62,7 +62,7 @@
 #endif
 
 /** Common log for client and server components.
- * 
+ *
  * The iptsec_log is the log object used by @iptsec module. The level of
  * #iptsec_log is set using #IPTSEC_DEBUG environment variable.
  */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.h	Tue Dec 23 07:37:03 2008
@@ -29,9 +29,9 @@
 /**@internal
  * @file iptsec_debug.h
  * @brief Debug log for IPTSEC module.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Thu Dec 19 15:56:35 2002 ppessi
  */
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef AUTH_CLIENT_H
 /** Defined when <sofia-sip/auth_client.h> has been included. */
-#define AUTH_CLIENT_H 
+#define AUTH_CLIENT_H
 
 /**@file sofia-sip/auth_client.h
  *
@@ -49,7 +49,7 @@
 typedef struct auth_client_s auth_client_t;
 
 SOFIAPUBFUN
-int auc_challenge(auth_client_t **auc, su_home_t *home, 
+int auc_challenge(auth_client_t **auc, su_home_t *home,
 		  msg_auth_t const *auth,
 		  msg_hclass_t *crcl);
 
@@ -62,14 +62,14 @@
 	     msg_hclass_t *credential_class);
 
 SOFIAPUBFUN
-int auc_all_credentials(auth_client_t **auc_list, 
+int auc_all_credentials(auth_client_t **auc_list,
 			char const *scheme,
-			char const *realm, 
+			char const *realm,
 			char const *user,
 			char const *pass);
 
 SOFIAPUBFUN
-int auc_clear_credentials(auth_client_t **auc_list, 
+int auc_clear_credentials(auth_client_t **auc_list,
 			  char const *scheme,
 			  char const *realm);
 
@@ -81,15 +81,15 @@
 
 SOFIAPUBFUN
 int auc_authorization(auth_client_t **auc_list, msg_t *msg, msg_pub_t *pub,
-		      char const *method, 
-		      url_t const *url, 
+		      char const *method,
+		      url_t const *url,
 		      msg_payload_t const *body);
 
 SOFIAPUBFUN
-int auc_authorization_headers(auth_client_t **auc_list, 
+int auc_authorization_headers(auth_client_t **auc_list,
 			      su_home_t *home,
-			      char const *method, 
-			      url_t const *url, 
+			      char const *method,
+			      url_t const *url,
 			      msg_payload_t const *body,
 			      msg_header_t **return_headers);
 
@@ -105,4 +105,4 @@
 
 SOFIA_END_DECLS
 
-#endif 
+#endif

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h	Tue Dec 23 07:37:03 2008
@@ -24,17 +24,17 @@
 
 #ifndef AUTH_CLIENT_PLUGIN_H
 /** Defined when <sofia-sip/auth_client_plugin.h> has been included. */
-#define AUTH_CLIENT_PLUGIN_H 
+#define AUTH_CLIENT_PLUGIN_H
 
 /**@file sofia-sip/auth_client_plugin.h
  * @brief Client-side plugin interface for authentication
- * 
- * @note For extensions in 1.12.6 or later, 
+ *
+ * @note For extensions in 1.12.6 or later,
  * you have to define SOFIA_EXTEND_AUTH_CLIENT to 1
  * before including this file.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Fri May 19 16:18:21 EEST 2006
  */
 
@@ -74,16 +74,16 @@
   int auc_size;			/* Size of the client structure */
 
   char const *auc_name;		/* Name of the autentication scheme */
-  
+
   /** Store challenge */
-  int (*auc_challenge)(auth_client_t *ca, 
+  int (*auc_challenge)(auth_client_t *ca,
 		       msg_auth_t const *ch);
 
   /** Authorize request. */
-  int (*auc_authorize)(auth_client_t *ca, 
+  int (*auc_authorize)(auth_client_t *ca,
 		       su_home_t *h,
-		       char const *method, 
-		       url_t const *url, 
+		       char const *method,
+		       url_t const *url,
 		       msg_payload_t const *body,
 		       msg_header_t **return_headers);
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_common.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_common.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_common.h	Tue Dec 23 07:37:03 2008
@@ -26,7 +26,7 @@
 /** Defined when <sofia-sip/auth_common.h> has been included. */
 #define AUTH_COMMON_H
 
-/**@file sofia-sip/auth_common.h 
+/**@file sofia-sip/auth_common.h
  *
  * Functions common for client/server.
  *
@@ -43,7 +43,7 @@
 
 SOFIAPUBFUN issize_t auth_get_params(su_home_t *home,
 				     char const * const params[], ...
- 			          /* char const * name, 
+ 			          /* char const * name,
 				     char const **return_value */);
 
 SOFIAPUBFUN int auth_struct_copy(void *dst, void const *src, isize_t s_size);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_digest.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_digest.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_digest.h	Tue Dec 23 07:37:03 2008
@@ -26,14 +26,14 @@
 /** Defined when <sofia-sip/auth_digest.h> has been included. */
 #define AUTH_DIGEST_H
 
-/**@file sofia-sip/auth_digest.h 
+/**@file sofia-sip/auth_digest.h
  * Datatypes and functions for Digest authentication.
  *
  * The structures and functions here follow the RFC 2617.
  *
  * @sa @RFC2617,
  * <i>"HTTP Authentication: Basic and Digest Access Authentication"</i>,
- * J. Franks et al, 
+ * J. Franks et al,
  * June 1999.
  *
  * @sa @RFC3261 section 22
@@ -96,7 +96,7 @@
  *
  * @code
  *   credentials      = "Digest" digest-response
- *   digest-response  = 1#( username | realm | nonce | digest-uri | 
+ *   digest-response  = 1#( username | realm | nonce | digest-uri |
  *                          response | [ algorithm ] | [cnonce] | [opaque] |
  *                          [message-qop] | [nonce-count] | [auth-param] )
  *   username         = "username" "=" username-value

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_module.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_module.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_module.h	Tue Dec 23 07:37:03 2008
@@ -24,9 +24,9 @@
 
 #ifndef AUTH_MODULE_H
 /** Defined when <sofia-sip/auth_module.h> has been included. */
-#define AUTH_MODULE_H 
+#define AUTH_MODULE_H
 
-/**@file sofia-sip/auth_module.h  
+/**@file sofia-sip/auth_module.h
  * @brief Authentication verification interface.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>.
@@ -56,7 +56,7 @@
 /** Authentication operation. */
 typedef struct auth_status_t auth_status_t;
 
-#ifdef  AUTH_MAGIC_T 
+#ifdef  AUTH_MAGIC_T
 typedef AUTH_MAGIC_T auth_magic_t;
 #else
 typedef void auth_magic_t;
@@ -81,10 +81,10 @@
  * authentication operation and all the related data. The application
  * verifying the authentication fills the auth_status_t structure, then
  * calls auth_mod_method() (or auth_mod_challenge()). The operation result
- * is stored in the structure. 
+ * is stored in the structure.
  *
  * If the operation is asynchronous, only a preliminary result is stored in
- * the auth_status_t structure when the call to auth_mod_method() returns. 
+ * the auth_status_t structure when the call to auth_mod_method() returns.
  * In that case, the application @b must assign a callback function to the
  * structure. The callback function is invoked when the authentication
  * operation is completed.
@@ -105,7 +105,7 @@
   url_t const    *as_user_uri;	/* Return user's identity [in/out] */
   char const     *as_ident;	/**< Identities [out] */
   unsigned        as_profile;	/**< User profile (group) [out] */
-  
+
   su_addrinfo_t  *as_source;	/**< Source address [in] */
 
   char const   	 *as_realm;	/**< Authentication realm [in] */
@@ -136,7 +136,7 @@
   /** @} */
 
   /** Pointer to extended state, used exclusively by plugin modules. */
-  auth_splugin_t *as_plugin;	
+  auth_splugin_t *as_plugin;
 };
 
 /** Authentication challenge.
@@ -146,7 +146,7 @@
  * with 401 response code and phrase along with header class for
  * @b WWW-Authenticate header in the @a ach structure.
  */
-typedef struct auth_challenger 
+typedef struct auth_challenger
 {
   int           ach_status;	/**< Response status for challenge response */
   char const   *ach_phrase;	/**< Response phrase for challenge response */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_ntlm.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_ntlm.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_ntlm.h	Tue Dec 23 07:37:03 2008
@@ -24,20 +24,20 @@
 
 #ifndef AUTH_NTLM_H
 /** Defined when <sofia-sip/auth_ntlm.h> has been included. */
-#define AUTH_NTLM_H 
+#define AUTH_NTLM_H
 
-/**@file sofia-sip/auth_ntlm.h 
+/**@file sofia-sip/auth_ntlm.h
  * Datatypes and functions for Ntlm authentication.
  *
  * The structures and functions here follow the RFC 2617.
  *
- * @sa 
- * <a href="ftp://ftp.ietf.org/rfc/rfc2617.txt">RFC 2617</a>, 
+ * @sa
+ * <a href="ftp://ftp.ietf.org/rfc/rfc2617.txt">RFC 2617</a>,
  * <i>"HTTP Authentication: Basic and Ntlm Access Authentication"</i>,
- * J. Franks et al, 
+ * J. Franks et al,
  * June 1999.
  *
- * @sa Section 19 from 
+ * @sa Section 19 from
  * <a href="ftp://ftp.ietf.org/internet-drafts/draft-ietf-sip-rfc2543bis-04.txt>draft-ietf-sip-rfc2543bis-04</a>.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
@@ -55,33 +55,33 @@
 
 SOFIA_BEGIN_DECLS
 
-issize_t auth_ntlm_challenge_get(su_home_t *, auth_challenge_t *, 
+issize_t auth_ntlm_challenge_get(su_home_t *, auth_challenge_t *,
 				 char const * const params[]);
-issize_t auth_ntlm_response_get(su_home_t *, auth_response_t *, 
+issize_t auth_ntlm_response_get(su_home_t *, auth_response_t *,
 				char const * const params[]);
 
-int auth_ntlm_a1(auth_response_t *ar, 
+int auth_ntlm_a1(auth_response_t *ar,
 		   auth_hexmd5_t ha1,
 		   char const *secret);
 
-int auth_ntlm_a1sess(auth_response_t *ar, 
+int auth_ntlm_a1sess(auth_response_t *ar,
 		       auth_hexmd5_t ha1sess,
 		       char const *ha1);
 
 int auth_ntlm_sessionkey(auth_response_t *, auth_hexmd5_t ha1,
 			   char const *secret);
 int auth_ntlm_response(auth_response_t *, auth_hexmd5_t response,
-		       auth_hexmd5_t const ha1, 
+		       auth_hexmd5_t const ha1,
 		       char const *method_name, void const *data, issize_t dlen);
 
 /** NTLM scheme */
-msg_auth_t *auth_ntlm_credentials(msg_auth_t *auth, 
+msg_auth_t *auth_ntlm_credentials(msg_auth_t *auth,
 				  char const *realm,
 				  char const *opaque,
 				  char const *gssapidata,
 				  char const *targetname);
 
-void auth_challenge_ntlm(auth_mod_t *am, 
+void auth_challenge_ntlm(auth_mod_t *am,
 			 auth_status_t *as,
 			 auth_challenger_t const *ach);
 
@@ -97,18 +97,18 @@
 		     auth_response_t *ar,
 		     auth_challenger_t const *ach);
 
-int auth_generate_ntlm_nonce(auth_mod_t *am, 
+int auth_generate_ntlm_nonce(auth_mod_t *am,
 			     char buffer[],
 			     size_t buffer_len,
 			     int nextnonce,
 			     msg_time_t now);
 
-int auth_validate_ntlm_nonce(auth_mod_t *am, 
+int auth_validate_ntlm_nonce(auth_mod_t *am,
 			     auth_status_t *as,
 			     auth_response_t *ar,
 			     msg_time_t now);
 
-void auth_info_ntlm(auth_mod_t *am, 
+void auth_info_ntlm(auth_mod_t *am,
 		    auth_status_t *as,
 		    auth_challenger_t const *ach);
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_plugin.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_plugin.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_plugin.h	Tue Dec 23 07:37:03 2008
@@ -24,13 +24,13 @@
 
 #ifndef AUTH_PLUGIN_H
 /** Defined when <sofia-sip/auth_plugin.h> has been included. */
-#define AUTH_PLUGIN_H 
+#define AUTH_PLUGIN_H
 
 /**@file sofia-sip/auth_plugin.h
  * @brief Plugin interface for authentication verification modules.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Tue Apr 27 15:22:07 2004 ppessi
  */
 
@@ -77,20 +77,20 @@
 		   tag_type_t tag, tag_value_t value, ...);
 
   /** Check authentication. Invoked by auth_mod_method(). */
-  void (*asch_check)(auth_mod_t *am, 
+  void (*asch_check)(auth_mod_t *am,
 		     auth_status_t *as,
 		     msg_auth_t *auth,
 		     auth_challenger_t const *ch);
 
   /** Create a challenge. Invoked by auth_mod_challenge(). */
-  void (*asch_challenge)(auth_mod_t *am, 
+  void (*asch_challenge)(auth_mod_t *am,
 			 auth_status_t *as,
 			 auth_challenger_t const *ch);
 
-  /** Cancel an asynchronous authentication request. 
+  /** Cancel an asynchronous authentication request.
    * Invoked by auth_mod_cancel().
    */
-  void (*asch_cancel)(auth_mod_t *am, 
+  void (*asch_cancel)(auth_mod_t *am,
 		      auth_status_t *as);
 
   /** Reclaim resources an authentication module.
@@ -161,7 +161,7 @@
   unsigned       am_count;	/**< Nonce counter */
 
   uint8_t        am_master_key[16]; /**< Private master key */
-  
+
   su_md5_t       am_hmac_ipad;	/**< MD5 with inner pad */
   su_md5_t       am_hmac_opad;	/**< MD5 with outer pad */
 
@@ -182,11 +182,11 @@
 
 SOFIAPUBFUN int auth_readdb(auth_mod_t *am);
 
-SOFIAPUBFUN msg_auth_t *auth_mod_credentials(msg_auth_t *auth, 
+SOFIAPUBFUN msg_auth_t *auth_mod_credentials(msg_auth_t *auth,
 					     char const *scheme,
 					     char const *realm);
 
-SOFIAPUBFUN auth_mod_t *auth_mod_alloc(auth_scheme_t *scheme, 
+SOFIAPUBFUN auth_mod_t *auth_mod_alloc(auth_scheme_t *scheme,
 				       tag_type_t, tag_value_t, ...);
 
 #define AUTH_PLUGIN(am) (auth_plugin_t *)((am) + 1)
@@ -211,13 +211,13 @@
 		       auth_challenger_t const *ach);
 
 SOFIAPUBFUN
-void auth_challenge_basic(auth_mod_t *am, 
+void auth_challenge_basic(auth_mod_t *am,
 			  auth_status_t *as,
 			  auth_challenger_t const *ach);
 
 /** Digest scheme */
 SOFIAPUBFUN
-msg_auth_t *auth_digest_credentials(msg_auth_t *auth, 
+msg_auth_t *auth_digest_credentials(msg_auth_t *auth,
 				    char const *realm,
 				    char const *opaque);
 
@@ -228,7 +228,7 @@
 			auth_challenger_t const *ach);
 
 SOFIAPUBFUN
-void auth_info_digest(auth_mod_t *am, 
+void auth_info_digest(auth_mod_t *am,
 		      auth_status_t *as,
 		      auth_challenger_t const *ach);
 
@@ -239,19 +239,19 @@
 		       auth_challenger_t const *ach);
 
 SOFIAPUBFUN
-void auth_challenge_digest(auth_mod_t *am, 
+void auth_challenge_digest(auth_mod_t *am,
 			   auth_status_t *as,
 			   auth_challenger_t const *ach);
 
 SOFIAPUBFUN
-isize_t auth_generate_digest_nonce(auth_mod_t *am, 
+isize_t auth_generate_digest_nonce(auth_mod_t *am,
 				   char buffer[],
 				   size_t buffer_len,
 				   int nextnonce,
 				   msg_time_t now);
 
 SOFIAPUBFUN
-int auth_validate_digest_nonce(auth_mod_t *am, 
+int auth_validate_digest_nonce(auth_mod_t *am,
 			       auth_status_t *as,
 			       auth_response_t *ar,
 			       msg_time_t now);
@@ -260,7 +260,7 @@
 
 /** Init md5 for MD5-based HMAC */
 SOFIAPUBFUN void auth_md5_hmac_init(auth_mod_t *am, su_md5_t *md5);
-SOFIAPUBFUN void auth_md5_hmac_digest(auth_mod_t *am, su_md5_t *md5, 
+SOFIAPUBFUN void auth_md5_hmac_digest(auth_mod_t *am, su_md5_t *md5,
 				      void *hmac, size_t size);
 
 SOFIA_END_DECLS

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c	Tue Dec 23 07:37:03 2008
@@ -77,7 +77,7 @@
 int tstflags;
 char *argv0;
 
-#define TSTFLAGS tstflags 
+#define TSTFLAGS tstflags
 
 #include <sofia-sip/tstdef.h>
 
@@ -105,14 +105,14 @@
     "algorithm=MD5, "
     "qop=\"auth\"";
 
-  char response[] = 
+  char response[] =
     "DIGEST USERNAME=\"digest\", "
     "REALM=\"garage.sr.ntc.nokia.com\", "
     "NONCE=\"MjAwMS0wMS0yMSAxNTowODo1OA==\", "
     "RESPONSE=\"d9d7f1ae99a013cb05f319f0f678251d\", "
     "URI=\"sip:garage.sr.ntc.nokia.com\"";
 
-  char rfc2617[] = 
+  char rfc2617[] =
     "Digest username=\"Mufasa\", "
     "realm=\"testrealm at host.com\", "
     "nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\", "
@@ -122,7 +122,7 @@
     "algorithm=\"md5\", "
     "uri=\"/dir/index.html\"";
 
-  char indigo[] = 
+  char indigo[] =
     "Digest username=\"user1\", "
     "realm=\"nokia-proxy\", "
     "nonce=\"0YXwH29PCT4lEz8+YJipQg==\", "
@@ -134,7 +134,7 @@
     "qop=auth, "
     "nc=000000002";
 
-  char proxy_authenticate[] = 
+  char proxy_authenticate[] =
     "Digest realm=\"IndigoSw\", "
     "domain=\"indigosw.com aol.com\", "
     "nonce=\"V2VkIEF1ZyAxNSAxNzoxNzozNyBCU1QgMjAwMVtCQDE3OWU4Yg==\", "
@@ -172,12 +172,12 @@
   TEST_SIZE(auth_digest_response_get(home, ar, au->au_params), 10);
 
   TEST0(auth_digest_sessionkey(ar, sessionkey, "Circle Of Life") == 0);
-  if (tstflags & tst_verbatim) 
+  if (tstflags & tst_verbatim)
     printf("%s: sessionkey=\"%s\"\n", name, sessionkey);
   TEST0(strcmp(sessionkey, "939e7578ed9e3c518a452acee763bce9") == 0);
 
   TEST0(auth_digest_response(ar, hresponse, sessionkey, "GET", NULL, 0) == 0);
-  if (tstflags & tst_verbatim) 
+  if (tstflags & tst_verbatim)
     printf("%s: hresponse=\"%s\"\n", name, hresponse);
   TEST0(strcmp(hresponse, "6629fae49393a05397450978507c4ef1") == 0);
 
@@ -195,11 +195,11 @@
   TEST_1(ac->ac_auth_int);
 
   {
-    char challenge[] = 
+    char challenge[] =
       "Digest realm=\"opera.ntc.nokia.com\", "
       "nonce=\"InyiWI+qIdvDKkO2jFK7mg==\"";
 
-    char credentials[] = 
+    char credentials[] =
       "Digest username=\"samuel.privat.saturday at opera.ntc.nokia.com\", "
       "realm=\"opera.ntc.nokia.com\", nonce=\"InyiWI+qIdvDKkO2jFK7mg==\", "
       "algorithm=MD5, uri=\"sip:opera.ntc.nokia.com\", "
@@ -247,12 +247,12 @@
                             opaque="5ccc069c403ebaf9f0171e9517f40e41"
     */
 
-    char challenge[] = 
+    char challenge[] =
       "Digest realm=\"testrealm at host.com\", "
       "nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\", "
       "opaque=\"5ccc069c403ebaf9f0171e9517f40e41\"";
 
-    char rfc2069_cred[] = 
+    char rfc2069_cred[] =
       "Digest username=\"Mufasa\", "
       "realm=\"testrealm at host.com\", "
       "nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\", "
@@ -278,10 +278,10 @@
   }
 
   {
-    char worldcom_chal[] = 
+    char worldcom_chal[] =
       "Digest realm=\"WCOM\", nonce=\"ce2292f3f748fbe239bda9e852e8b986\"";
 
-    char worldcom_cred[] = 
+    char worldcom_cred[] =
       "Digest realm=\"WCOM\", username=\"jari\", "
       "nonce=\"ce2292f3f748fbe239bda9e852e8b986\", "
       "response=\"ea692d202019d41a75c70df4b2401e2f\", "
@@ -304,12 +304,12 @@
   }
 
   {
-    char etri_chal[] = 
+    char etri_chal[] =
       "Digest realm=\"nokia-proxy\", domain=\"sip:194.2.188.133\", "
       "nonce=\"wB7JBwIb/XhtgfGp1VuPoQ==\", opaque=\"wkJxwA==\", "
       ", algorithm=MD5, qop=\"auth\"";
 
-    char etri_cred[] = 
+    char etri_cred[] =
       "Digest username=\"myhuh\", realm=\"nokia-proxy\", "
       "nonce=\"wB7JBwIb/XhtgfGp1VuPoQ==\", uri=\"sip:194.2.188.133\", "
       "response=\"32960a62bdc202171ca5a294dc229a6d\", "
@@ -317,13 +317,13 @@
 
     memset(ac, 0, sizeof(ac)); ac->ac_size = sizeof(ac);
     memset(ar, 0, sizeof(ar)); ar->ar_size = sizeof(ar);
-    
+
     TEST0(pa = sip_proxy_authenticate_make(home, etri_chal));
     TEST_SIZE(auth_digest_challenge_get(home, ac, pa->au_params), 8);
 
     TEST0(pz = sip_proxy_authorization_make(home, etri_cred));
     TEST_SIZE(auth_digest_response_get(home, ar, pz->au_params), 6 /* 8 */);
-    
+
     ar->ar_md5 = ac->ac_md5 || ac->ac_algorithm == NULL;
 
     TEST(auth_digest_sessionkey(ar, sessionkey, "myhuh"), 0);
@@ -332,7 +332,7 @@
   }
 
   {
-    char chal[] = 
+    char chal[] =
       "Digest realm=\"nokia-proxy\", domain=\"sip:10.21.32.63\", "
       "nonce=\"GjbLsrozHC6Lx95C57vGlw==\", opaque=\"HN22wQ==\", algorithm=MD5";
 
@@ -344,13 +344,13 @@
 
     memset(ac, 0, sizeof(ac)); ac->ac_size = sizeof(ac);
     memset(ar, 0, sizeof(ar)); ar->ar_size = sizeof(ar);
-    
+
     TEST0(pa = sip_proxy_authenticate_make(home, chal));
     TEST_SIZE(auth_digest_challenge_get(home, ac, pa->au_params), 6);
 
     TEST0(pz = sip_proxy_authorization_make(home, cred));
     TEST_SIZE(auth_digest_response_get(home, ar, pz->au_params), 8);
-    
+
     ar->ar_md5 = ac->ac_md5 || ac->ac_algorithm == NULL;
 
     TEST(auth_digest_sessionkey(ar, sessionkey, "test1"), 0);
@@ -359,18 +359,18 @@
   }
 
   {
-    char challenge[] = 
+    char challenge[] =
       "Digest realm=\"nokia-proxy\", domain=\"sip:194.2.188.133\", "
       "nonce=\"3wWGOvaWn3n+hFv8PK2ABQ==\", opaque=\"+GNywA==\", "
       "algorithm=MD5, qop=\"auth-int\"";
-    char credentials[] = 
+    char credentials[] =
       "Digest username=\"test\", realm=\"nokia-proxy\", "
       "nonce=\"3wWGOvaWn3n+hFv8PK2ABQ==\", "
       "cnonce=\"11RkhFg9EdaIRD36w0EMVA==\", opaque=\"+GNywA==\", "
       "uri=\"sip:3000 at 194.2.188.133\", algorithm=MD5, "
       "response=\"26e8b9aaacfca2d68770fab1ec04e2c7\", "
       "qop=auth-int, nc=00000001";
-    char data[] = 
+    char data[] =
       "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"
       "<presence>\n"
       "<presentity uri=\"sip:3000 at 194.2.188.133\"/>\n"
@@ -389,23 +389,23 @@
 
     memset(ac, 0, sizeof(ac)); ac->ac_size = sizeof(ac);
     memset(ar, 0, sizeof(ar)); ar->ar_size = sizeof(ar);
-    
+
     TEST0(pa = sip_proxy_authenticate_make(home, challenge));
     TEST_SIZE(auth_digest_challenge_get(home, ac, pa->au_params), 8);
 
     TEST0(pz = sip_proxy_authorization_make(home, credentials));
     TEST_SIZE(auth_digest_response_get(home, ar, pz->au_params), 12);
-    
+
     ar->ar_md5 = ac->ac_md5 || ac->ac_algorithm == NULL;
 
     TEST0(!auth_digest_sessionkey(ar, sessionkey, "test"));
-    TEST0(!auth_digest_response(ar, hresponse, sessionkey, "REGISTER", 
+    TEST0(!auth_digest_response(ar, hresponse, sessionkey, "REGISTER",
 				data, strlen(data)));
     TEST_S(hresponse, "26e8b9aaacfca2d68770fab1ec04e2c7");
   }
 
   su_home_deinit(home);
-  
+
   END();
 }
 
@@ -418,7 +418,7 @@
   msg_iovec_t iovec[2];
 
   n = strlen(buffer);
-  if (n == 0) 
+  if (n == 0)
     return NULL;
 
   msg = msg_create(sip_default_mclass(), flags);
@@ -447,10 +447,10 @@
   su_root_break(root);
 }
 
-static 
+static
 void init_as(auth_status_t *as)
 {
-  memset(as, 0, sizeof *as); 
+  memset(as, 0, sizeof *as);
   as->as_home->suh_size = (sizeof *as);
   su_home_init(as->as_home);
   as->as_method = "REGISTER";
@@ -458,14 +458,14 @@
   as->as_phrase = "Infernal Error";
 }
 
-static 
+static
 void deinit_as(auth_status_t *as)
 {
   su_home_deinit(as->as_home);
   memset(as, 0, sizeof *as);
 }
 
-static 
+static
 void reinit_as(auth_status_t *as)
 {
   deinit_as(as); init_as(as);
@@ -475,9 +475,9 @@
 int test_digest_client()
 {
   BEGIN();
-  
+
   {
-    char challenge[] = 
+    char challenge[] =
       PROTOCOL " 401 Unauthorized\r\n"
       "Call-ID:0e3dc2b2-dcc6-1226-26ac-258b5ce429ab\r\n"
       "CSeq:32439043 REGISTER\r\n"
@@ -488,8 +488,8 @@
       "Content-Length:0\r\n"
       "Security-Server:digest\r\n"
       "r\n";
-      
-    char request[] = 
+
+    char request[] =
       "REGISTER sip:ims3.so.noklab.net " PROTOCOL "\r\n"
       "Via: SIP/2.0/UDP 10.21.36.70:23800;rport;branch=z9hG4bKRE18GFwa3AS\r\n"
       "Max-Forwards: 80\r\n"
@@ -515,13 +515,13 @@
     auth_mod_t *am;
     auth_status_t as[1];
     sip_www_authenticate_t *au;
-    auth_challenger_t ach[1] = 
-      {{ 401, "Authorization required", 
+    auth_challenger_t ach[1] =
+      {{ 401, "Authorization required",
 	 sip_www_authenticate_class,
 	 sip_authentication_info_class
 	}};
-    auth_challenger_t pach[1] = 
-      {{ 407, "Proxy Authorization required", 
+    auth_challenger_t pach[1] =
+      {{ 407, "Proxy Authorization required",
 	 sip_proxy_authenticate_class,
 	 sip_proxy_authentication_info_class
 	}};
@@ -530,29 +530,29 @@
 
     TEST_1(m1 = read_message(MSG_DO_EXTRACT_COPY, challenge));
     TEST_1(sip = sip_object(m1));
-    
+
     TEST_1(aucs == NULL);
-    TEST(auc_challenge(&aucs, home, sip->sip_www_authenticate, 
+    TEST(auc_challenge(&aucs, home, sip->sip_www_authenticate,
 		       sip_authorization_class), 1);
     TEST_1(aucs != NULL);
     msg_destroy(m1);
 
-    TEST(auc_all_credentials(&aucs, "DIGEST", "\"ims3.so.noklab.net\"", 
+    TEST(auc_all_credentials(&aucs, "DIGEST", "\"ims3.so.noklab.net\"",
 			     "surf3.private at ims3.so.noklab.net", "1234"), 1);
 
     TEST_1(m2 = read_message(MSG_DO_EXTRACT_COPY, request));
     TEST_1(sip = sip_object(m2));
     TEST_P(sip->sip_authorization, NULL);
     TEST_1(rq = sip->sip_request);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
 			   rq->rq_url, sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
     TEST_S(msg_params_find(sip->sip_authorization->au_params,
 			   "response="),
 	   "\"860f5ecc9990772e16937750ced9594d\"");
 
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
     TEST_S(msg_params_find(sip->sip_authorization->au_params,
@@ -571,7 +571,7 @@
 
     TEST_1(root = su_root_create(NULL));
 
-    TEST_1(am = auth_mod_create(NULL, 
+    TEST_1(am = auth_mod_create(NULL,
 				AUTHTAG_METHOD("Digest"),
 				AUTHTAG_REALM("ims3.so.noklab.net"),
 				AUTHTAG_DB(testpasswd),
@@ -582,7 +582,7 @@
     auth_mod_check_client(am, as, sip->sip_authorization, ach);
     TEST(as->as_status, 401);
 
-    TEST_1(au = sip_authorization_make(home, 
+    TEST_1(au = sip_authorization_make(home,
 				       "Digest username=\"user1\", "
 				       "nonce=\"3wWGOvaWn3n+hFv8PK2ABQ==\", "
 				       "opaque=\"+GNywA==\", "
@@ -602,7 +602,7 @@
       char const *uri = au->au_params[3];
       char const *response = au->au_params[4];
       char const *realm = au->au_params[5];
-      
+
       TEST_S(username, "username=\"user1\"");
       TEST_S(nonce, "nonce=\"3wWGOvaWn3n+hFv8PK2ABQ==\"");
       TEST_S(opaque, "opaque=\"+GNywA==\"");
@@ -653,24 +653,24 @@
     as->as_response = (msg_header_t *)
       sip_www_authenticate_make(as->as_home, "Unknown realm=\"huu haa\"");
     TEST_1(as->as_response);
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
     aucs = NULL;
 
     reinit_as(as);
     auth_mod_check_client(am, as, NULL, ach);
     TEST(as->as_status, 401);
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
     reinit_as(as);
-    
-    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+
+    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			     "user1", "secret"), 1);
 
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
 
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
 
@@ -683,7 +683,7 @@
     auth_mod_destroy(am);
     aucs = NULL;
 
-    TEST_1(am = auth_mod_create(NULL, 
+    TEST_1(am = auth_mod_create(NULL,
 				AUTHTAG_METHOD("Digest"),
 				AUTHTAG_REALM("ims3.so.noklab.net"),
 				AUTHTAG_DB(testpasswd),
@@ -713,11 +713,11 @@
       reinit_as(as);
     }
 
-    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			     "user1", "secret"), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
 
@@ -750,12 +750,12 @@
       TEST(msg_params_remove((msg_param_t *)au->au_params, "opaque"), 1);
 
       TEST(auc_challenge(&aucs, home, au, sip_authorization_class), 1);
-      TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+      TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			       "user1", "secret"), 1);
       msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
 
-      TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			     (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+      TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			     (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			     sip->sip_payload), 1);
 
       TEST_1(sip->sip_authorization);
@@ -774,7 +774,7 @@
     {
       msg_auth_t *au;
 
-      TEST_1(am = auth_mod_create(NULL, 
+      TEST_1(am = auth_mod_create(NULL,
 				  AUTHTAG_METHOD("Digest"),
 				  AUTHTAG_DB(testpasswd),
 				  AUTHTAG_ALGORITHM("MD5-sess"),
@@ -790,12 +790,12 @@
       au = (void *)msg_header_dup(home, as->as_response); TEST_1(au);
 
       TEST(auc_challenge(&aucs, home, au, sip_authorization_class), 1);
-      TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+      TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			       "user1", "secret"), 1);
       msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
 
-      TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			     (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+      TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			     (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			     sip->sip_payload), 1);
 
       TEST_1(sip->sip_authorization);
@@ -812,7 +812,7 @@
     {
       char const *nonce1, *nextnonce, *nonce2;
 
-      TEST_1(am = auth_mod_create(NULL, 
+      TEST_1(am = auth_mod_create(NULL,
 				  AUTHTAG_METHOD("Digest"),
 				  AUTHTAG_REALM("ims3.so.noklab.net"),
 				  AUTHTAG_DB(testpasswd),
@@ -823,21 +823,21 @@
 				     if NEXT_EXPIRES in nonzero */
 				  AUTHTAG_NEXT_EXPIRES(900),
 				  TAG_END()));
-      
+
       reinit_as(as);
       auth_mod_check_client(am, as, NULL, ach); TEST(as->as_status, 401);
-      
-      TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+
+      TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 			 sip_authorization_class), 1);
-      TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+      TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			       "user1", "secret"), 1);
       msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-      TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			     (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+      TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			     (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			     sip->sip_payload), 1);
       TEST_1(sip->sip_authorization);
       TEST_1(nonce1 = msg_header_find_param(sip->sip_authorization->au_common, "nonce"));
-      
+
       reinit_as(as);
       auth_mod_check_client(am, as, sip->sip_authorization, ach);
       TEST(as->as_status, 0);
@@ -850,8 +850,8 @@
       TEST(auc_info(&aucs, (msg_auth_info_t const *)as->as_info, sip_authorization_class), 1);
 
       msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-      TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			     (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+      TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			     (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			     sip->sip_payload), 1);
       TEST_1(sip->sip_authorization);
       TEST_1(nonce2 = msg_header_find_param(sip->sip_authorization->au_common, "nonce"));
@@ -867,7 +867,7 @@
       auth_mod_destroy(am); aucs = NULL;
     }
 
-    TEST_1(am = auth_mod_create(NULL, 
+    TEST_1(am = auth_mod_create(NULL,
 				AUTHTAG_METHOD("Digest"),
 				AUTHTAG_REALM("ims3.so.noklab.net"),
 				AUTHTAG_DB(testpasswd),
@@ -878,13 +878,13 @@
     reinit_as(as);
     auth_mod_check_client(am, as, NULL, ach); TEST(as->as_status, 401);
 
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
-    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			     "user1", "secret"), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
 
@@ -893,7 +893,7 @@
     TEST(as->as_status, 0);
     auth_mod_destroy(am); aucs = NULL;
 
-    TEST_1(am = auth_mod_create(NULL, 
+    TEST_1(am = auth_mod_create(NULL,
 				AUTHTAG_METHOD("Digest"),
 				AUTHTAG_REALM("ims3.so.noklab.net"),
 				AUTHTAG_DB(testpasswd),
@@ -907,13 +907,13 @@
     reinit_as(as);
     auth_mod_check_client(am, as, NULL, ach); TEST(as->as_status, 401);
 
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
-    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			     "user1", "secret"), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
 
@@ -924,7 +924,7 @@
     au = (void*)msg_header_copy(msg_home(m2), (void*)sip->sip_authorization);
 
     /* Test with invalid qop (bug #2329) */
-    msg_params_replace(msg_home(m2), (void *)&au->au_params, 
+    msg_params_replace(msg_home(m2), (void *)&au->au_params,
 		       "qop=\"auth,auth-int\"");
     reinit_as(as);
     auth_mod_check_client(am, as, au, ach);
@@ -949,11 +949,11 @@
     TEST_1(au = (void *)as->as_response); TEST_1(au->au_params);
     TEST_S(msg_params_find(au->au_params, "stale="), "true");
 
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
     TEST_S(msg_header_find_param(sip->sip_authorization->au_common, "nc="),
@@ -965,8 +965,8 @@
 
     /* Test nonce count check */
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
     TEST_S(msg_header_find_param(sip->sip_authorization->au_common, "nc="),
@@ -983,15 +983,15 @@
     /* Test anonymous operation */
     reinit_as(as);
     auth_mod_check_client(am, as, NULL, ach); TEST(as->as_status, 401);
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
     reinit_as(as);
 
-    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			     "anonymous", ""), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
 
@@ -1000,20 +1000,20 @@
     auth_mod_destroy(am); aucs = NULL;
 
     /* Test empty realm */
-    TEST_1(am = auth_mod_create(root, 
+    TEST_1(am = auth_mod_create(root,
 				AUTHTAG_METHOD("Digest"),
 				AUTHTAG_REALM(""),
 				AUTHTAG_DB(testpasswd),
 				TAG_END()));
     reinit_as(as);
     auth_mod_check_client(am, as, NULL, ach); TEST(as->as_status, 401);
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
     reinit_as(as);
 
     TEST(auc_all_credentials(&aucs, "Digest", "\"\"", "user1", "secret"), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
 			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
@@ -1021,15 +1021,15 @@
     auth_mod_check_client(am, as, sip->sip_authorization, ach);
     TEST(as->as_status, 0);
     aucs = NULL;
-    reinit_as(as); 
+    reinit_as(as);
     auth_mod_check_client(am, as, NULL, pach); TEST(as->as_status, 407);
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_proxy_authorization_class), 1);
     reinit_as(as);
 
     TEST(auc_credentials(&aucs, as->as_home, "Digest:\"\":user1:secret"), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_proxy_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
 			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_proxy_authorization);
@@ -1040,25 +1040,25 @@
     auth_mod_destroy(am); aucs = NULL;
 
     /* Test Basic authentication scheme */
-    TEST_1(am = auth_mod_create(root, 
+    TEST_1(am = auth_mod_create(root,
 				AUTHTAG_METHOD("Basic"),
 				AUTHTAG_REALM("ims3.so.noklab.net"),
 				AUTHTAG_DB(testpasswd),
 				TAG_END()));
 
-    reinit_as(as);    
-    auth_mod_check_client(am, as, NULL, ach); 
+    reinit_as(as);
+    auth_mod_check_client(am, as, NULL, ach);
     TEST(as->as_status, 401);
-    
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
-    reinit_as(as);    
+    reinit_as(as);
 
-    TEST(auc_all_credentials(&aucs, "Basic", "\"ims3.so.noklab.net\"", 
+    TEST(auc_all_credentials(&aucs, "Basic", "\"ims3.so.noklab.net\"",
 			     "user1", "secret"), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
 
@@ -1067,20 +1067,20 @@
 
     aucs = NULL;
 
-    reinit_as(as);    
-    auth_mod_check_client(am, as, NULL, ach); 
+    reinit_as(as);
+    auth_mod_check_client(am, as, NULL, ach);
     TEST(as->as_status, 401);
-    
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
-    reinit_as(as);    
+    reinit_as(as);
 
-    TEST(auc_all_credentials(&aucs, "Basic", "\"ims3.so.noklab.net\"", 
-         "very-long-user-name-that-surely-exceeds-the-static-buffer", 
+    TEST(auc_all_credentials(&aucs, "Basic", "\"ims3.so.noklab.net\"",
+         "very-long-user-name-that-surely-exceeds-the-static-buffer",
          "at-least-when-used-with-the-even-longer-password"), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
 
@@ -1091,7 +1091,7 @@
 
     /* Test asynchronous operation */
     aucs = NULL;
-    TEST_1(am = auth_mod_create(root, 
+    TEST_1(am = auth_mod_create(root,
 				AUTHTAG_METHOD("Delayed+Digest"),
 				AUTHTAG_REALM("ims3.so.noklab.net"),
 				AUTHTAG_DB(testpasswd),
@@ -1107,19 +1107,19 @@
     TEST(as->as_status, 100);
     su_root_run(root);
     TEST(as->as_status, 401);
-    
-    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response, 
+
+    TEST(auc_challenge(&aucs, home, (msg_auth_t *)as->as_response,
 		       sip_authorization_class), 1);
 
     reinit_as(as);
     as->as_callback = test_callback;
     as->as_magic = root;
 
-    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"", 
+    TEST(auc_all_credentials(&aucs, "Digest", "\"ims3.so.noklab.net\"",
 			     "user1", "secret"), 1);
     msg_header_remove(m2, (void *)sip, (void *)sip->sip_authorization);
-    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name, 
-			   (url_t *)"sip:surf3 at ims3.so.noklab.net", 
+    TEST(auc_authorization(&aucs, m2, (msg_pub_t*)sip, rq->rq_method_name,
+			   (url_t *)"sip:surf3 at ims3.so.noklab.net",
 			   sip->sip_payload), 1);
     TEST_1(sip->sip_authorization);
 
@@ -1188,7 +1188,7 @@
   TEST(close(tmpfd), 0);
 
   /* Test file reading operation */
-  am = auth_mod_create(NULL, 
+  am = auth_mod_create(NULL,
 		       AUTHTAG_METHOD("Digest"),
 		       AUTHTAG_REALM("realm"),
 		       AUTHTAG_DB(tmppasswd),
@@ -1201,7 +1201,7 @@
 
   apw = auth_mod_getpass(am, "user2", NULL); TEST_1(apw);
   TEST_S(apw->apw_hash, "4cbc2aff0b5b2b33675c0731c0db1c14");
-  
+
   apw2 = apw;
 
   *am0 = *am;
@@ -1312,7 +1312,7 @@
 
       if (rest == NULL || *rest)
 	usage(1);
-      
+
       su_log_set_level(iptsec_log, level);
     } else {
       usage(1);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/ChangeLog
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/ChangeLog	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/ChangeLog	Tue Dec 23 07:37:03 2008
@@ -6,7 +6,7 @@
 
 	* Renamed msg_test.c as test_msg.c.
 
-	* Renamed msg_test_class.[hc] as test_class.[hc], 
+	* Renamed msg_test_class.[hc] as test_class.[hc],
 	  msg_test_protos.h(.in) as test_protos.h(.in),
 	  msg_test_table.c(.in) as test_table.c(.in).
 
@@ -40,14 +40,14 @@
 
 	* msg_parser.c: Using header-specific flags to classify parsing
 	errors with msg_extract_errors().
-	
+
 	Added support for apndlist headers.
 
 	* msg_header.h: Added support for apndlist headers.
 
 	* msg_mime.c: Various Accept* headers are now apndlist meaning
 	that they are printed on single line by default.
-	
+
 2005-07-18  Kai Vehmanen  <kai.vehmanen at nokia.com>
 
 	* Initial import of the module to Sofia-SIP tree.

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/Makefile.am
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/Makefile.am	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/Makefile.am	Tue Dec 23 07:37:03 2008
@@ -33,7 +33,7 @@
 INTERNAL_H = msg_internal.h test_class.h
 
 nobase_include_sofia_HEADERS = \
-			$(GENERATED_H) $(PUBLIC_H) 
+			$(GENERATED_H) $(PUBLIC_H)
 
 GENERATED_HC = $(GENERATED_H) msg_mime_table.c test_table.c test_protos.h
 
@@ -55,7 +55,7 @@
 			../bnf/libbnf.la \
 			../url/liburl.la \
 			../ipt/libipt.la \
-			../su/libsu.la 
+			../su/libsu.la
 
 test_msg_LDFLAGS = 	-static
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg.c	Tue Dec 23 07:37:03 2008
@@ -95,7 +95,7 @@
  * destroyed.
  *
  * @param msg   message of which a reference is created
- * 
+ *
  * @return
  * A pointer to a message.
  */
@@ -137,7 +137,7 @@
  * @relatesalso msg_s
  *
  * @param ref pointer to msg object
- * 
+ *
  * @deprecated Use msg_destroy() instead.
  */
 void msg_ref_destroy(msg_t *ref)
@@ -154,7 +154,7 @@
 void msg_destroy(msg_t *msg)
 {
   msg_t *parent;
-  
+
   for (; msg; msg = parent) {
     int refs;
     su_home_mutex_lock(msg->m_home);
@@ -174,9 +174,9 @@
 /**Retrieve public message structure.
  *
  * Get a pointer to the public message structure.
- * 
+ *
  * @param msg pointer to msg object
- * 
+ *
  * @returns
  * A pointer to the public message structure, or NULL if none.
  */
@@ -194,10 +194,10 @@
  *
  * Get a pointer to the public message structure of the
  * given protocol.
- * 
+ *
  * @param msg pointer to msg object
  * @param tag tag of public message structure
- * 
+ *
  * @returns
  * A pointer to the public message structure, or NULL if there is none or
  * the message is not for desired protocol.
@@ -216,9 +216,9 @@
  *
  * Get a pointer to the message class object
  * (factory object for the message).
- * 
+ *
  * @param msg pointer to msg object
- * 
+ *
  * @returns
  * A pointer to the message class, or NULL if none.
  */
@@ -239,7 +239,7 @@
  * Zero the address and addressinfo structures associated with the message.
  *
  * @sa msg_addrinfo(), msg_set_address(), msg_get_address(), msg_addr_copy().
- */ 
+ */
 void msg_addr_zero(msg_t *msg)
 {
   memset(&msg->m_addr, 0, sizeof(&msg->m_addr));
@@ -249,7 +249,7 @@
   msg->m_addrinfo.ai_addr = &msg->m_addr->su_sa;
 }
 
-/** Get pointer to socket address structure. 
+/** Get pointer to socket address structure.
  *
  * @relatesalso msg_s
  *
@@ -269,7 +269,7 @@
  *
  * @param msg pointer to msg object
  * @param su pointer to socket address structure
- * @param return_len return parameter value for length 
+ * @param return_len return parameter value for length
  *                    of socket address structure
  *
  * @sa msg_addrinfo(), msg_set_address(), msg_addr_zero(), msg_addr_copy().
@@ -287,13 +287,13 @@
   return -1;
 }
 
-/** Set message address. 
+/** Set message address.
  *
  * @relatesalso msg_s
  *
  * Copy the supplied socket address to the socket address structure
  * associated with the message.
- * 
+ *
  * @param msg pointer to msg object
  * @param su pointer to socket address structure
  * @param sulen length of socket address structure
@@ -337,7 +337,7 @@
  * Copy the addrinfo and socket address structures from @a src to the @a dst
  * message object.
  *
- * @param dst pointer to destination message object 
+ * @param dst pointer to destination message object
  * @param src pointer to source message object
  *
  * @sa msg_addrinfo(), msg_get_address(), msg_set_address(), msg_addr_zero().
@@ -347,10 +347,10 @@
   dst->m_addrinfo = src->m_addrinfo;
   dst->m_addrinfo.ai_next = NULL;
   dst->m_addrinfo.ai_canonname = NULL;
-  memcpy(dst->m_addrinfo.ai_addr = &dst->m_addr->su_sa, 
+  memcpy(dst->m_addrinfo.ai_addr = &dst->m_addr->su_sa,
 	 src->m_addr, src->m_addrinfo.ai_addrlen);
   if (dst->m_addrinfo.ai_addrlen < sizeof(dst->m_addr))
-    memset((char *)dst->m_addr + dst->m_addrinfo.ai_addrlen, 0, 
+    memset((char *)dst->m_addr + dst->m_addrinfo.ai_addrlen, 0,
 	   sizeof(dst->m_addr) - dst->m_addrinfo.ai_addrlen);
 }
 
@@ -361,9 +361,9 @@
  *
  * If the message parser fails to parse certain headers in the message, it
  * sets the corresponding extract error flags. The flags corresponding to
- * each header are stored in the message parser (msg_mclass_t) structure. 
- * They are set when the header is added to the parser table. 
- * 
+ * each header are stored in the message parser (msg_mclass_t) structure.
+ * They are set when the header is added to the parser table.
+ *
  * The SIP flags are defined in <sofia-sip/sip_headers.h>. For well-known
  * SIP headers, the flags for each header are listed in a separate text file
  * (sip_bad_mask) read by msg_parser.awk.

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg.docs	Tue Dec 23 07:37:03 2008
@@ -38,9 +38,9 @@
 is extended by a new header or a parser is created for a completely new
 protocol. It is possible to add new headers to the parser or extend the
 definition of existing ones. The header files used for constructing these
-parsers are as follows: 
-- <sofia-sip/msg_parser.h> parsing functions, macros 
-- <sofia-sip/msg_mclass.h> message factory object definition 
+parsers are as follows:
+- <sofia-sip/msg_parser.h> parsing functions, macros
+- <sofia-sip/msg_mclass.h> message factory object definition
 - <sofia-sip/msg_mclass_hash.h> hashing of header names
 
 @section msg_overview Parsers, Messages and Headers
@@ -54,7 +54,7 @@
 protocol-specific header files include <sofia-sip/sip.h>, <sofia-sip/http.h>, and
 <sofia-sip/msg_mime.h>. For each header, there is defined a @em header @em class
 structure, some standard functions, and tags for including them in tag
-lists. 
+lists.
 
 As a convention, all the identifiers for SIP headers start with prefix @c
 sip and all the macros with @c SIP. Same thing holds for HTTP, too: it
@@ -73,18 +73,18 @@
 header class as follows:
 
  - @c ns_X_t is the structure used to store parsed header,
- - @c ns_hclass_t @c ns_X_class[] contains the @em header @em class 
+ - @c ns_hclass_t @c ns_X_class[] contains the @em header @em class
    for header X,
  - @c NS_X_INIT() initializes a static instance of @c ns_X_t,
  - @c ns_X_init() initializes a dynamic instance of @c ns_X_t,
  - @c ns_is_X() tests if header object is instance of header X,
  - @c ns_X_make() creates a header X object by decoding given string,
- - @c ns_X_format() creates a header X object by decoding given 
+ - @c ns_X_format() creates a header X object by decoding given
    @c printf() list,
- - @c ns_X_dup() duplicates (deeply copies) the header X, 
- - @c ns_X_copy() copies the header X, 
+ - @c ns_X_dup() duplicates (deeply copies) the header X,
+ - @c ns_X_copy() copies the header X,
  - @c NSTAG_X() is used include instance of @c ns_X_t in a tag list, and
- - @c NSTAG_X_STR() is used to include string containing value header 
+ - @c NSTAG_X_STR() is used to include string containing value header
       in a tag list.
 
 The declarations of header tags and the prototypes for these functions can
@@ -111,7 +111,7 @@
 the parser considers any received data, be it a UDP datagram or a TCP
 stream, as a @em byte @em stream. The protocol-specific parsers controls how
 a byte stream is split into separate messages or if it consists of a single
-message only. 
+message only.
 
 The parser engine works by separating stream into fragments, then passing
 the fragment to a suitable parser. A fragment is a piece of message that is
@@ -120,7 +120,7 @@
 message body can consists of multiple fragments known as chunks.)
 
 The parser starts by separating the first line (e.g., request or status
-line) from the byte stream, then passing the line to the suitable parser. 
+line) from the byte stream, then passing the line to the suitable parser.
 After first line comes the message headers. The parser continues parsing
 process by extracting headers, each on their own line, from the stream and
 passing contents of each header to its parser. The message structure is
@@ -195,7 +195,7 @@
   char const         *ac_subtype;   //< Points after first slash in type
   msg_param_t const  *ac_params;    //< List of parameters
   msg_param_t         ac_q;	    //< Value of q parameter
-} 
+}
 msg_accept_t;
 @endcode
 
@@ -205,8 +205,8 @@
 the @c ac_params array. If there is a @e q parameter present, a pointer to
 the @c qvalue is assigned to @c ac_q field.
 
-In the beginning of the header structure there are two boilerplate members. 
-The @c ac_common[1] contains information common to all message fragments. 
+In the beginning of the header structure there are two boilerplate members.
+The @c ac_common[1] contains information common to all message fragments.
 The @c ac_next is a pointer to next header field with the same name, in case
 a message contains multiple @b Accept headers or multiple comma-separated
 header fields are located in a single line.
@@ -217,7 +217,7 @@
 other. The programmer also needs a convenient way to access certain headers
 at the message level, for example, accessing directly the @b Accept header
 instead of going through all headers and examining their name. The
-structured view to the message is provided via a message-specific C struct. 
+structured view to the message is provided via a message-specific C struct.
 In general, its type is msg_pub_t (it provides public view to message). The
 protocol-specific type is #sip_t, #http_t or #msg_multipart_t for
 SIP, HTTP and MIME, respectively.
@@ -283,7 +283,7 @@
 
 The figure below shows the layout of the BYE message above after parsing:
 
- at image html sip-parser2.gif BYE message and its representation in C 
+ at image html sip-parser2.gif BYE message and its representation in C
 @image latex sip-parser2.eps BYE message and its representation in C
 
 The leftmost box represents the message of type #msg_t.  Next box from
@@ -446,7 +446,7 @@
 
 /**@typedef typedef struct msg_s msg_t;
  *
- * Message object. 
+ * Message object.
  *
  * The @a msg_t is the type of a message object used by Sofia signaling
  * protocols and parsers. Its contents are not directly accessible.
@@ -454,7 +454,7 @@
 
 /**@typedef typedef struct msg_common_s msg_common_t;
  *
- * Common part of header. 
+ * Common part of header.
  *
  * The @a msg_common_t is the base type of a message headers used by
  * protocol parsers. Instead of #msg_common_t, most interfaces use

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c	Tue Dec 23 07:37:03 2008
@@ -76,9 +76,9 @@
 
 /* ====================================================================== */
 /*
- * auth           = ("Authorization" | "Encryption" | 
+ * auth           = ("Authorization" | "Encryption" |
  *                   "Proxy-Authenticate" | "Proxy-Authorization" |
- *                   "Response-Key" | "WWW-Authenticate") ":" 
+ *                   "Response-Key" | "WWW-Authenticate") ":"
  *                    scheme 1*SP #auth-param
  * scheme         = token
  * auth-param     = token | token "=" token | token "=" quoted-string
@@ -93,12 +93,12 @@
   msg_auth_t *au = (msg_auth_t *)h;
 
   au->au_scheme = s;
-  
+
   skip_token(&s);
   if (!IS_LWS(*s)) return -1;
   *s++ = '\0';			/* NUL-terminate scheme */
 
-  return msg_commalist_d(home, &s, (msg_param_t **)&au->au_params, 
+  return msg_commalist_d(home, &s, (msg_param_t **)&au->au_params,
 			 NULL /* msg_auth_item_scan */);
 }
 
@@ -114,11 +114,11 @@
     MSG_COMMALIST_E(b, end, au->au_params, compact);
   }
   MSG_TERM_E(b, end);
-  
+
   return b - b0;
 }
 
-/**@internal 
+/**@internal
  * Extra size of a msg_auth_t object.
  *
  * This function calculates extra size required by a msg_auth_t object.
@@ -134,7 +134,7 @@
 
   MSG_PARAMS_SIZE(offset, au->au_params);
   offset += MSG_STRING_SIZE(au->au_scheme);
-    
+
   return offset;
 }
 
@@ -150,7 +150,7 @@
 
   b = msg_params_dup(&au->au_params, o->au_params, b, xtra);
   MSG_STRING_DUP(b, au->au_scheme, o->au_scheme);
-    
+
   assert(b <= end); (void)end;
 
   return b;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_basic.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_basic.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_basic.c	Tue Dec 23 07:37:03 2008
@@ -61,7 +61,7 @@
  * @defgroup msg_error Erroneous Headers
  *
  * The erroneous headers are stored in #msg_error_t structure.
- * 
+ *
  * @note Parser may put other headers (like duplicate Content-Length
  * headers) into the list of erroneous headers. If the list of erroneous
  * headers is processed, the header type must be validated first by calling
@@ -111,7 +111,7 @@
  * The unknown headers are handled with #msg_unknown_t structure. The whole
  * unknown header including its name is included in the header value string
  * @a g_value.
- * 
+ *
  * @note It is possible to speed up parsing process by creating a parser
  * which does understand only a minimum number of headers. If such a parser
  * is used, some well-known headers are not regocnized or parser, but they
@@ -139,7 +139,7 @@
   *s++ = '\0';
   skip_lws(&s);
   un->un_value = s;
-					   
+
   return 0;
 }
 
@@ -153,7 +153,7 @@
   MSG_CHAR_E(b, end, ':');
   if (!compact) MSG_CHAR_E(b, end, ' ');
   MSG_STRING_E(b, end, un->un_value);
-  
+
   return b - b0;
 }
 
@@ -184,7 +184,7 @@
  * @defgroup msg_payload Message Body
  *
  * The payload object contains the message body. The message body has no
- * structure, but it is stored in the @a pl_data buffer as a byte array. 
+ * structure, but it is stored in the @a pl_data buffer as a byte array.
  * Multiple payload objects may be linked to a list.
  */
 
@@ -197,7 +197,7 @@
  * @code
  * typedef struct msg_payload_s {
  *   msg_common_t    pl_common[1];      // Common fragment info
- *   msg_header_t   *pl_next;           // Next payload object 
+ *   msg_header_t   *pl_next;           // Next payload object
  *   char           *pl_data;           // Data - may contain zero bytes
  *   usize_t         pl_len;            // Length of message payload
  * } msg_payload_t;
@@ -263,7 +263,7 @@
 
 char *msg_payload_dup_one(msg_header_t *dst,
 			  msg_header_t const *src,
-			  char *b, 
+			  char *b,
 			  isize_t xtra)
 {
   msg_payload_t *pl = dst->sh_payload;
@@ -288,7 +288,7 @@
 /* ====================================================================== */
 
 /**@ingroup msg_headers
- * @defgroup msg_separator Message Separator 
+ * @defgroup msg_separator Message Separator
  *
  * An empty line separates headers from the message body. In order to avoid
  * modifying messages with integrity protection, the separator line has its
@@ -325,7 +325,7 @@
 
   if (len == 0 && slen > 0)
     return -1;
-  
+
   memcpy(h->sh_separator->sep_data, s, len);
   h->sh_separator->sep_data[len] = '\0';
 
@@ -345,7 +345,7 @@
 
 msg_separator_t *msg_separator_create(su_home_t *home)
 {
-  msg_separator_t *sep = 
+  msg_separator_t *sep =
     msg_header_alloc(home, msg_separator_class, 0)->sh_separator;
 
   if (sep)

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c	Tue Dec 23 07:37:03 2008
@@ -59,7 +59,7 @@
  *
  * First day of the epoch year should be Monday.
  */
-#define EPOCH 1900		
+#define EPOCH 1900
 /** Is this year a leap year? @internal */
 #define LEAP_YEAR(y) ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
 /** Day number of New Year Day of given year. @internal */
@@ -69,25 +69,25 @@
 
 /* ====================================================================== */
 
-static unsigned char const days_per_months[12] = 
+static unsigned char const days_per_months[12] =
   {
     31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
   };
 
 /** Offset of first day of the month with formula day = 30 * month + offset. */
-static signed char const first_day_offset[12] = 
+static signed char const first_day_offset[12] =
   {
     0, 1, -1, 0, 0, 1, 1, 2, 3, 3, 4, 4
   };
 
-static char const wkdays[7 * 4] = 
+static char const wkdays[7 * 4] =
   "Mon\0" "Tue\0" "Wed\0" "Thu\0" "Fri\0" "Sat\0" "Sun";
 
-static char const months[12 * 4] = 
-  "Jan\0" "Feb\0" "Mar\0" "Apr\0" "May\0" "Jun\0" 
+static char const months[12 * 4] =
+  "Jan\0" "Feb\0" "Mar\0" "Apr\0" "May\0" "Jun\0"
   "Jul\0" "Aug\0" "Sep\0" "Oct\0" "Nov\0" "Dec";
 
-/** Parse a month name. 
+/** Parse a month name.
  *
  * @return The function month_d() returns 0..11 if given first three letters
  * of month name, or -1 if no month name matches.
@@ -126,19 +126,19 @@
 
 /* Parse SP 2DIGIT ":" 2DIGIT ":" 2DIGIT SP */
 su_inline
-int time_d(char const **ss, 
+int time_d(char const **ss,
 	   unsigned long *hour, unsigned long *min, unsigned long *sec)
 {
   char const *s = *ss;
-  if (!IS_LWS(*s)) 
-    return -1; 
+  if (!IS_LWS(*s))
+    return -1;
   skip_lws(&s);
   if (!is_digit(*s)) return -1;
   *hour = *s++ - '0'; if (is_digit(*s)) *hour = 10 * (*hour) + *s++ - '0';
-  if (*s++ != ':' || !is_digit(s[0]) || !is_digit(s[1])) 
+  if (*s++ != ':' || !is_digit(s[0]) || !is_digit(s[1]))
     return -1;
   *min = 10 * s[0] + s[1] - 11 * '0'; s += 2;
-  if (*s++ != ':' || !is_digit(s[0]) || !is_digit(s[1])) 
+  if (*s++ != ':' || !is_digit(s[0]) || !is_digit(s[1]))
     return -1;
   *sec = 10 * s[0] + s[1] - 11 * '0'; s += 2;
   if (*s) {
@@ -149,10 +149,10 @@
 }
 
 /**Decode RFC1123-date, RFC822-date or asctime-date.
- * 
- * The function msg_date_d() decodes <HTTP-date>, which may have 
+ *
+ * The function msg_date_d() decodes <HTTP-date>, which may have
  * different formats.
- * 
+ *
  * @code
  * HTTP-date    = rfc1123-date / rfc850-date / asctime-date
  *
@@ -174,7 +174,7 @@
  * wkday        = "Mon" / "Tue" / "Wed" / "Thu" / "Fri" / "Sat" / "Sun"
  * weekday      = "Monday" / "Tuesday" / "Wednesday"
  *              / "Thursday" / "Friday" / "Saturday" / "Sunday"
- * month        = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" 
+ * month        = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun"
  *              / "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec"
  * @endcode
  */
@@ -189,26 +189,26 @@
   if (!IS_TOKEN(*s) || !date)
     return -1;
 
-  wkday = s; skip_token(&s); if (*s == ',') s++; 
+  wkday = s; skip_token(&s); if (*s == ',') s++;
   while (IS_LWS(*s)) s++;
 
   if (is_digit(*s)) {
     day = *s++ - '0'; if (is_digit(*s)) day = 10 * day + *s++ - '0';
-    
+
     if (*s == ' ') {
-      /* rfc1123-date = 
+      /* rfc1123-date =
 	 wkday "," SP 2DIGIT SP month SP 4DIGIT SP time SP "GMT"
        */
       mon = month_d(++s); skip_token(&s);
       if (mon < 0 || !IS_LWS(*s)) return -1;
       s++;
-      if (!is_digit(s[0]) || !is_digit(s[1]) || 
+      if (!is_digit(s[0]) || !is_digit(s[1]) ||
 	  !is_digit(s[2]) || !is_digit(s[3]))
 	return -1;
       year = 1000 * s[0] + 100 * s[1] + 10 * s[2] + s[3] - 1111 * '0'; s += 4;
     }
     else if (*s == '-') {
-      /* rfc822-date = 
+      /* rfc822-date =
 	 weekday "," SP 2DIGIT "-" month "-" 2DIGIT SP time SP "GMT"
        */
 
@@ -216,9 +216,9 @@
       if (mon < 0 || s[3] != '-' ||
 	  !is_digit(s[4]) || !is_digit(s[5]))
 	return -1;
-      year = 10 * s[4] + s[5] - 11 * '0'; 
+      year = 10 * s[4] + s[5] - 11 * '0';
       if (is_digit(s[6]) && is_digit(s[7])) {
-	/* rfc2822-date = 
+	/* rfc2822-date =
 	   weekday "," SP 2DIGIT "-" month "-" 4DIGIT SP time SP "GMT"
 	*/
 	year = year * 100 + 10 * s[6] + s[7] - 11 * '0';
@@ -243,26 +243,26 @@
     }
   }
   else {
-    /* actime-date = 
+    /* actime-date =
        wkday SP month SP ( 2DIGIT | ( SP 1DIGIT )) SP time SP 4DIGIT */
     mon = month_d(s); skip_token(&s);
     if (mon < 0 || !IS_LWS(*s)) return -1; s++;
-    while (IS_LWS(*s)) s++; 
+    while (IS_LWS(*s)) s++;
     if (!is_digit(*s)) return -1;
     day = *s++ - '0'; if (is_digit(*s)) day = 10 * day + *s++ - '0';
     if (time_d(&s, &hour, &min, &sec) < 0) return -1;
-    /* Accept also unix date (if it is GMT) */ 
+    /* Accept also unix date (if it is GMT) */
     if ((s[0] == 'G' && s[1] == 'M' && s[2] == 'T' && s[3] == ' ') ||
 	(s[0] == 'U' && s[1] == 'T' && s[2] == 'C' && s[3] == ' '))
       s += 4;
     else if (s[0] == 'U' && s[1] == 'T' && s[2] == ' ')
       s += 3;
-    if (!is_digit(s[0]) || !is_digit(s[1]) || 
+    if (!is_digit(s[0]) || !is_digit(s[1]) ||
 	!is_digit(s[2]) || !is_digit(s[3]))
       return -1;
     year = 1000 * s[0] + 100 * s[1] + 10 * s[2] + s[3] - 1111 * '0'; s += 4;
   }
-  
+
   if (hour > 24 || min >= 60 || sec >= 60 ||
       (hour == 24 && min > 0 && sec > 0))
     return -1;
@@ -271,7 +271,7 @@
     if (day != 29 || mon != 1 || !LEAP_YEAR(year))
       return -1;
   }
-  
+
   if (year < EPOCH) {
     *date = 0;
   }
@@ -281,17 +281,17 @@
   else {
     int leap_year = LEAP_YEAR(year);
     msg_time_t ydays = YEAR_DAYS(year) - YEAR_DAYS(EPOCH);
-    
+
 #if 0
-    printf("Year %d%s starts %ld = %d - %d days since epoch (%d)\n", 
-	       year, leap_year ? " (leap year)" : "", 
+    printf("Year %d%s starts %ld = %d - %d days since epoch (%d)\n",
+	       year, leap_year ? " (leap year)" : "",
 	   ydays, YEAR_DAYS(year), YEAR_DAYS(EPOCH), EPOCH);
 #endif
-    
-    *date = sec + 60 * 
-      (min + 60 * 
-	   (hour + 24 * 
-	    (day - 1 + mon * 30 + first_day_offset[mon] + 
+
+    *date = sec + 60 *
+      (min + 60 *
+	   (hour + 24 *
+	    (day - 1 + mon * 30 + first_day_offset[mon] +
 	     (leap_year && mon > 2) + ydays)));
   }
   *ss = s;
@@ -301,10 +301,10 @@
 
 
 /**Encode RFC1123-date.
- * 
+ *
  * The function msg_date_e() prints @e http-date in the <rfc1123-date>
  * format. The format is as follows:
- * 
+ *
  * @code
  * rfc1123-date = wkday "," SP date SP time SP "GMT"
  * wkday        = "Mon" | "Tue" | "Wed"
@@ -317,11 +317,11 @@
  * time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
  *                ; 00:00:00 - 23:59:59
  * @endcode
- * 
+ *
  * @param b         buffer to print the date
  * @param bsiz      size of the buffer
  * @param http_date seconds since 01 Jan 1900.
- * 
+ *
  * @return The function msg_date_e() returns the size of the formatted date.
  */
 issize_t msg_date_e(char b[], isize_t bsiz, msg_time_t http_date)
@@ -349,7 +349,7 @@
   day -= YEAR_DAYS(year);
   leap_year = LEAP_YEAR(year);
 
-  month = 0, days_per_month = 31; 
+  month = 0, days_per_month = 31;
   while (day >= days_per_month) {
     day -= days_per_month;
     month++;
@@ -357,13 +357,13 @@
   }
 
   return snprintf(b, bsiz, "%s, %02ld %s %04ld %02ld:%02ld:%02ld GMT",
-		  wkdays + wkday * 4, day + 1, months + month * 4, 
+		  wkdays + wkday * 4, day + 1, months + month * 4,
 		  year, hour, min, sec);
 }
 
 
 /**Decode a delta-seconds.
- * 
+ *
  * The function msg_delta_d() decodes a <delta-seconds> field.
  *
  * The <delta-seconds> is defined as follows:
@@ -393,9 +393,9 @@
   return snprintf(b, bsiz, "%lu", (unsigned long)delta);
 }
 
-/** Decode a HTTP date or delta 
- * 
- * Decode a @ref msg_date_d() "<http-date>" or 
+/** Decode a HTTP date or delta
+ *
+ * Decode a @ref msg_date_d() "<http-date>" or
  * @ref msg_delta_d() "<delta-seconds>" field.
  */
 issize_t msg_date_delta_d(char const **ss,

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_generic.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_generic.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_generic.c	Tue Dec 23 07:37:03 2008
@@ -22,15 +22,15 @@
  *
  */
 
-/**@internal 
+/**@internal
  * @ingroup msg_parser
  * @file msg_generic.c
  * @brief Functions for generic headers
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
  * @date Created: Thu Jan 23 20:08:00 2003 ppessi
- * 
+ *
  */
 
 #include "config.h"
@@ -55,17 +55,17 @@
  *
  * The function msg_generic_d() parses a generic header structure.
  *
- * @param[in]     home memory home 
- * @param[in,out] h    header structure 
- * @param[in]     s    string to be parsed 
- * @param[in]     slen length of the string 
+ * @param[in]     home memory home
+ * @param[in,out] h    header structure
+ * @param[in]     s    string to be parsed
+ * @param[in]     slen length of the string
  *
- * @retval 0 when successful, 
+ * @retval 0 when successful,
  * @retval -1 upon an error.
  */
 issize_t msg_generic_d(su_home_t *home,
 		       msg_header_t *h,
-		       char *s, 
+		       char *s,
 		       isize_t slen)
 {
   h->sh_generic->g_string = s;
@@ -80,9 +80,9 @@
  */
 issize_t msg_generic_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
 {
-  msg_generic_t const *g = h->sh_generic;  
+  msg_generic_t const *g = h->sh_generic;
   size_t n = strlen(g->g_string);
-  
+
   if (bsiz > n)
     strcpy(b, g->g_string);
 
@@ -142,7 +142,7 @@
 /* ====================================================================== */
 /* Comma-separated list */
 
-/** @typedef struct msg_list_s msg_list_t; 
+/** @typedef struct msg_list_s msg_list_t;
  *
  * Type for token list headers.
  *
@@ -157,14 +157,14 @@
 {
   int compact = MSG_IS_COMPACT(flags);
   char *b0 = b, *end = b + bsiz;
-  
+
   MSG_COMMALIST_E(b, end, h->sh_list->k_items, compact);
   MSG_TERM_E(b, end);
 
   return b - b0;
 }
 
-/**@internal 
+/**@internal
  * Extra size of a msg_auth_t object.
  *
  * This function calculates extra size required by a msg_auth_t object.
@@ -182,14 +182,14 @@
 
 char *msg_list_dup_one(msg_header_t *dst,
 		       msg_header_t const *src,
-		       char *b, 
+		       char *b,
 		       isize_t xtra)
 {
   char *end = b + xtra;
   msg_param_t const ** items = (msg_param_t const **)&dst->sh_list->k_items;
 
   b = msg_params_dup(items, src->sh_list->k_items, b, xtra);
-    
+
   assert(b <= end); (void)end;
 
   return b;
@@ -200,8 +200,8 @@
  * @retval 0 when successful
  * @retval -1 upon an error
  */
-int msg_list_append_items(su_home_t *home, 
-			  msg_list_t *k, 
+int msg_list_append_items(su_home_t *home,
+			  msg_list_t *k,
 			  msg_param_t const items[])
 {
   size_t i;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_copy.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_copy.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_copy.c	Tue Dec 23 07:37:03 2008
@@ -23,8 +23,8 @@
  */
 
 /**@ingroup msg_headers
- * @CFILE msg_header_copy.c 
- * 
+ * @CFILE msg_header_copy.c
+ *
  * Copying and duplicating headers structures.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
@@ -65,7 +65,7 @@
 /** Copy a vector of parameters */
 su_inline
 char *msg_params_copy(char *b, size_t size,
-		      msg_param_t **dst, 
+		      msg_param_t **dst,
 		      msg_param_t const src[])
 {
   size_t n = msg_params_count(src);
@@ -90,11 +90,11 @@
  * @param hc   header class for the copied header
  * @param src  pointer to a header object
  *
- * @return 
+ * @return
  * The function @c msg_header_copy_as() returns a pointer to the the shallow copy
  * of the header object, or @c NULL upon an error.
  */
-static msg_header_t *msg_header_copy_one_as(su_home_t *home, 
+static msg_header_t *msg_header_copy_one_as(su_home_t *home,
 					    msg_hclass_t *hc,
 					    msg_header_t const *src)
 {
@@ -145,7 +145,7 @@
  * @return The function @c msg_header_copy_as() returns a pointer to the
  * first of the copied msg header object(s), or @c NULL upon an error.
  */
-msg_header_t *msg_header_copy_as(su_home_t *home, 
+msg_header_t *msg_header_copy_as(su_home_t *home,
 				 msg_hclass_t *hc,
 				 msg_header_t const *src)
 {
@@ -161,7 +161,7 @@
     if (!(h = msg_header_copy_one_as(home, hc, src)))
       break;
 
-    if (!rv) 
+    if (!rv)
       rv = h;
     else
       prev->sh_next = h;
@@ -210,7 +210,7 @@
  * @return Return a pointer to the
  * the duplicated msg header object(s), or @c NULL upon an error.
  */
-msg_header_t *msg_header_dup_one(su_home_t *home, 
+msg_header_t *msg_header_dup_one(su_home_t *home,
 				 msg_header_t const *src)
 {
   msg_hclass_t *hc;
@@ -277,7 +277,7 @@
     if (!(h = msg_header_alloc(home, hc, (isize_t)xtra)))
       break;			/* error */
 
-    if (!rv) 
+    if (!rv)
       rv = h;
 
     if (!(end = hc->hc_dup_one(h, src, (char *)h + size, xtra)))
@@ -343,7 +343,7 @@
  */
 char *msg_default_dup_one(msg_header_t *h,
 			  msg_header_t const *src,
-			  char *b, 
+			  char *b,
 			  isize_t xtra)
 {
   memcpy(&h->sh_header_next[1],
@@ -357,9 +357,9 @@
 /* Copying or duplicating all headers in a message */
 
 static int msg_copy_chain(msg_t *msg, msg_t const *copied);
-static int msg_dup_or_copy_all(msg_t *msg, 
+static int msg_dup_or_copy_all(msg_t *msg,
 			       msg_t const *original,
-			       msg_header_t *(*copy_one)(su_home_t *h, 
+			       msg_header_t *(*copy_one)(su_home_t *h,
 							 msg_header_t const *));
 
 
@@ -383,8 +383,8 @@
     msg_t *copy = msg_create(original->m_class, original->m_object->msg_flags);
 
     if (copy) {
-      if (original->m_chain 
-	  ? msg_copy_chain(copy, original) < 0 
+      if (original->m_chain
+	  ? msg_copy_chain(copy, original) < 0
 	  : msg_dup_or_copy_all(copy, original, msg_header_copy_one) < 0) {
 	msg_destroy(copy), copy = NULL;
       }
@@ -412,18 +412,18 @@
   msg_header_t *dh;
   msg_header_t const *sh;
   msg_header_t **hh;
-  
+
   tail = msg->m_tail;
-  
+
   for (sh = original->m_chain; sh; sh = (msg_header_t const *)sh->sh_succ) {
     hh = msg_hclass_offset(msg->m_class, dst, sh->sh_class);
     if (!hh)
       break;
     while (*hh)
       hh = &(*hh)->sh_next;
-      
+
     dh = msg_header_copy_one(home, sh);
-    if (!dh) 
+    if (!dh)
       break;
 
     dh->sh_prev = tail, *tail = dh, tail = &dh->sh_succ;
@@ -468,15 +468,15 @@
   return NULL;
 }
 
-/** Copy a complete message, not keeping the header chain structure. 
+/** Copy a complete message, not keeping the header chain structure.
  *
  * @retval 0 when successful
  * @retval -1 upon an error
  */
 static
-int msg_dup_or_copy_all(msg_t *msg, 
+int msg_dup_or_copy_all(msg_t *msg,
 			msg_t const *original,
-			msg_header_t *(*copy_one)(su_home_t *h, 
+			msg_header_t *(*copy_one)(su_home_t *h,
 						  msg_header_t const *))
 {
   su_home_t *home = msg_home(msg);
@@ -493,7 +493,7 @@
   assert(copy_one);
 
   end = (msg_header_t**)((char *)src + src->msg_size);
-  
+
   for (ssh = &src->msg_request; ssh < end; ssh++) {
     sh = *ssh;
     if (!sh)

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_make.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_make.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_make.c	Tue Dec 23 07:37:03 2008
@@ -61,14 +61,14 @@
 #include <assert.h>
 
 /** Make a header from a value string. */
-msg_header_t *msg_header_make(su_home_t *home, 
+msg_header_t *msg_header_make(su_home_t *home,
 			      msg_hclass_t *hc,
 			      char const *s)
 {
   size_t xtra;
   msg_header_t *h;
   int normal = hc->hc_name ||
-    (hc->hc_hash != msg_payload_hash && 
+    (hc->hc_hash != msg_payload_hash &&
      hc->hc_hash != msg_separator_hash &&
      hc->hc_hash != msg_error_hash);
 
@@ -76,7 +76,7 @@
     return NULL;
 
   /* For normal headers, strip LWS from both ends */
-  if (normal) 
+  if (normal)
     skip_lws(&s);
   xtra = strlen(s);
   if (normal)
@@ -91,7 +91,7 @@
     strncpy(b, s, xtra)[xtra] = 0;
 
     if (hc->hc_parse(home, h, b, xtra) == -1) {
-      /* Note: parsing function is responsible to free 
+      /* Note: parsing function is responsible to free
 	 everything it has allocated (like parameter lists) */
       /* XXX - except header structures */
       su_free(home, h), h = NULL;
@@ -102,13 +102,13 @@
 }
 
 /** Make a MSG header with formatting provided. */
-msg_header_t *msg_header_vformat(su_home_t *home, 
+msg_header_t *msg_header_vformat(su_home_t *home,
 				msg_hclass_t *hc,
 				char const *fmt,
 				va_list ap)
 {
   msg_header_t *h;
-  
+
   int n;
   size_t xtra = 64;		/* reasonable default */
 
@@ -121,7 +121,7 @@
     fmt = va_arg(ap, char const *);
     return msg_header_make(home, hc, fmt);
   }
-  
+
   if (!(h = msg_header_alloc(home, hc, xtra)))
     return NULL;
 
@@ -131,7 +131,7 @@
     va_copy(aq, ap);
     n = vsnprintf(MSG_HEADER_DATA(h), xtra, fmt, aq);
     va_end(aq);
-    
+
     if (n >= 0 && (size_t)n < xtra)
       break;
 
@@ -148,13 +148,13 @@
 
     if (xtra > INT_MAX)
       xtra = INT_MAX;
-    
+
     if (!(h = msg_header_alloc(home, hc, xtra)))
       return NULL;
   }
-  
+
   if (hc->hc_parse(home, h, MSG_HEADER_DATA(h), (size_t)n) == -1) {
-    /* Note: parsing function is responsible to free 
+    /* Note: parsing function is responsible to free
        everything it has allocated (like parameter lists) */
     su_free(home, h), h = NULL;
   }
@@ -162,7 +162,7 @@
   return h;
 }
 
-msg_header_t *msg_header_format(su_home_t *home, 
+msg_header_t *msg_header_format(su_home_t *home,
 				msg_hclass_t *hc,
 				char const *fmt,
 				...)

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_internal.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_internal.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_internal.h	Tue Dec 23 07:37:03 2008
@@ -24,10 +24,10 @@
 
 #ifndef MSG_INTERNAL_H
 /** Defined when <msg_internal.h> has been included. */
-#define MSG_INTERNAL_H 
+#define MSG_INTERNAL_H
 
-/**@IFILE msg_internal.h 
- * @brief Abstract messages - internal interface 
+/**@IFILE msg_internal.h
+ * @brief Abstract messages - internal interface
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
@@ -131,7 +131,7 @@
 
 su_inline int msg_is_append(msg_header_t const *h)
 {
-  return 
+  return
     h->sh_class->hc_kind == msg_kind_append ||
     h->sh_class->hc_kind == msg_kind_apndlist;
 }

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c	Tue Dec 23 07:37:03 2008
@@ -22,7 +22,7 @@
  *
  */
 
-/**@ingroup msg_parser 
+/**@ingroup msg_parser
  * @CFILE msg_mclass.c
  *
  * Message factory object.
@@ -63,12 +63,12 @@
  * empty is true, the copied message class object will not recognize any
  * headers. This is useful if more fine-grained control of parsing process
  * is required, for instance.
- * 
- * @param[in] old      pointer to the message class object to be copied 
- * @param[in] newsize  size of hash table in the copied object 
- * @param[in] empty    if true, resulting copy does not contain any headers 
- * 
- * @return 
+ *
+ * @param[in] old      pointer to the message class object to be copied
+ * @param[in] newsize  size of hash table in the copied object
+ * @param[in] empty    if true, resulting copy does not contain any headers
+ *
+ * @return
  * The function msg_mclass_clone() returns a pointer to a newly
  * copied message class object, or NULL upon an error.
  * The returned message class object can be freed with free().
@@ -78,7 +78,7 @@
  * A memory allocation failed.
  * @ERROR EINVAL
  * The function was given invalid arguments.
- * 
+ *
  * @note The empty parser can handle request/status line. All headers are
  * put into list of unknown headers (unless they are malformed, and they are
  * put into list of erronous headers). However, SIP, RTSP, and HTTP
@@ -90,7 +90,7 @@
 msg_mclass_t *msg_mclass_clone(msg_mclass_t const *old, int newsize, int empty)
 {
   size_t size, shortsize;
-  msg_mclass_t *mc; 
+  msg_mclass_t *mc;
   int identical;
   unsigned short i;
 
@@ -126,7 +126,7 @@
       memcpy(mc, old, size);
       mc->mc_short = NULL;
     }
-    
+
     if (shortsize) {
       if (empty)
 	mc->mc_short = memset((char *)mc + size, 0, shortsize);
@@ -147,8 +147,8 @@
  * structure" is zero, the function extends the public message structure in
  * order to store newly inserted header there.
  *
- * @param[in,out] mc       pointer to a message class object 
- * @param[in]     hc       pointer to a header class object 
+ * @param[in,out] mc       pointer to a message class object
+ * @param[in]     hc       pointer to a header class object
  * @param[in]     offset   offset of the header in
  *                         @ref msg_pub_t "public message structure"
  *
@@ -156,10 +156,10 @@
  * the public message structure and places the header at the end of message.
  *
  * @return Number of collisions in hash table, or -1 upon an error.
- * 
+ *
  * @deprecated Use msg_mclass_insert_with_mask() instead.
  */
-int msg_mclass_insert_header(msg_mclass_t *mc, 
+int msg_mclass_insert_header(msg_mclass_t *mc,
 			     msg_hclass_t *hc,
 			     unsigned short offset)
 {
@@ -195,13 +195,13 @@
  *
  * @param[in,out] mc       pointer to a message class
  * @param[in]     hc       pointer to a header class
- * @param[in]     offset   offset of the header in 
- *                         @ref msg_pub_t "public message structure" 
- * @param[in]     flags    classification flags for the header 
+ * @param[in]     offset   offset of the header in
+ *                         @ref msg_pub_t "public message structure"
+ * @param[in]     flags    classification flags for the header
  *
  * @return Number of collisions in hash table, or -1 upon an error.
  */
-int msg_mclass_insert_with_mask(msg_mclass_t *mc, 
+int msg_mclass_insert_with_mask(msg_mclass_t *mc,
 				msg_hclass_t *hc,
 				unsigned short offset,
 				unsigned short flags)
@@ -232,8 +232,8 @@
  *
  * @relatesalso msg_mclass_s
  *
- * @param[in,out] mc       pointer to a message class object 
- * @param[in]     hr       header reference object 
+ * @param[in,out] mc       pointer to a message class object
+ * @param[in]     hr       header reference object
  *
  * @return Number of collisions in hash table, or -1 upon an error.
  */
@@ -249,7 +249,7 @@
     return -1;
   }
 
-  if (hr == NULL || (hc = hr->hr_class) == NULL) 
+  if (hr == NULL || (hc = hr->hr_class) == NULL)
     return 0;
 
   /* Add short form */
@@ -260,10 +260,10 @@
     if (compact < 'a' || compact > 'z')
       return -1;
 
-    if (shorts[compact - 'a'].hr_class && 
+    if (shorts[compact - 'a'].hr_class &&
 	shorts[compact - 'a'].hr_class != hc)
       return -1;
-      
+
     shorts[compact - 'a'] = *hr;
   }
 
@@ -281,7 +281,7 @@
 
   mc->mc_hash[j] = hr[0];
   mc->mc_hash_used++;
-  
+
   return collisions;
 }
 
@@ -296,8 +296,8 @@
  * class based on the contents of the header to be parsed. The buffer @a s
  * should point to the first character in the header name.
  *
- * @param[in]  mc   message class object 
- * @param[in]  s    header contents 
+ * @param[in]  mc   message class object
+ * @param[in]  s    header contents
  * @param[out] return_start_of_content start of header content (may be NULL)
  *
  * @return The function msg_find_hclass() returns a pointer to a header
@@ -309,11 +309,11 @@
  * start of the header contents within @a s, or 0 upon an error parsing the
  * header name and following colon.
  *
- * @par 
+ * @par
  * Upon a fatal error, a NULL pointer is returned.
  */
-msg_href_t const *msg_find_hclass(msg_mclass_t const *mc, 
-				  char const *s, 
+msg_href_t const *msg_find_hclass(msg_mclass_t const *mc,
+				  char const *s,
 				  isize_t *return_start_of_content)
 {
   msg_href_t const *hr;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c	Tue Dec 23 07:37:03 2008
@@ -132,7 +132,7 @@
  *                 part. Note that the semantics of a part differ from the
  *                 semantics of a message, as described in the text.>
  *
- *   encapsulation := delimiter transport-padding CRLF 
+ *   encapsulation := delimiter transport-padding CRLF
  *                    body-part
  *
  *   close-delimiter := delimiter "--"
@@ -144,26 +144,26 @@
  * @endcode
  *
  * @par Parsing a Multipart Message
- * 
+ *
  * When a message body contains a multipart entity (in other words, it has a
  * MIME media type of "multipart"), the application can split the multipart
  * entity into body parts
  *
  * The parsing is relatively simple, the application just gives a memory
- * home object, a Content-Type header object and message body object as an 
+ * home object, a Content-Type header object and message body object as an
  * argument to msg_multipart_parse() function:
  * @code
- *    if (sip->sip_content_type && 
+ *    if (sip->sip_content_type &&
  *        strncasecmp(sip->sip_content_type, "multipart/", 10) == 0) {
  *      msg_multipart_t *mp;
  *
  *      if (sip->sip_multipart)
  *        mp = sip->sip_multipart;
  *      else
- *        mp = msg_multipart_parse(msg_home(msg), 
+ *        mp = msg_multipart_parse(msg_home(msg),
  *                                 sip->sip_content_type,
  *                                 (sip_payload_t *)sip->sip_payload);
- * 
+ *
  *      if (mp)
  *        ... processing multipart ...
  *      else
@@ -194,12 +194,12 @@
  *   msg_header_t *h = NULL;
  *   char *b;
  *   size_t len, offset;
- * 
+ *
  *   mp = msg_multipart_create(home, "text/html;level=3", html, strlen(html));
  *   mp->mp_next = msg_multipart_create(home, "image/gif", gif, giflen);
  *
  *   c = sip_content_type_make(home, "multipart/mixed");
- * 
+ *
  *   // Add delimiters to multipart, and boundary parameter to content-type
  *   if (msg_multipart_complete(home, c, mp) < 0)
  *     return -1;		// Error
@@ -209,14 +209,14 @@
  *   if (msg_multipart_serialize(&h, mp) < 0)
  *     return -1;		// Error
  *
- *   // Encode all multipart components 
+ *   // Encode all multipart components
  *   len = msg_multipart_prepare(msg, mp, 0);
  *   if (len < 0)
  *     return -1;		// Error
  *
  *   pl = sip_payload_create(home, NULL, len);
  *
- *   // Copy each element from multipart to pl_data 
+ *   // Copy each element from multipart to pl_data
  *   b = pl->pl_data;
  *   for (offset = 0, h = mp; offset < len; h = h->sh_succ) {
  *     memcpy(b + offset, h->sh_data, h->sh_len);
@@ -292,7 +292,7 @@
 
 
 /** Boundary chars. */
-static char const bchars[] = 
+static char const bchars[] =
 "'()+_,-./:=?"
 "0123456789"
 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
@@ -331,7 +331,7 @@
       }
       return boundary;
     }
-  } 
+  }
 
   /* Look for LF -- */
   for (;(p = memmem(p, end - p, LF "--", 3)); p += 3) {
@@ -362,9 +362,9 @@
  * The function msg_multipart_parse() parses a MIME multipart message. The
  * common syntax of multiparts is described in @RFC2046 (section 7).
  *
- * @param[in,out] home home for allocating structures 
- * @param[in]     c    content-type header for multipart 
- * @param[in]     pl   payload structure for multipart 
+ * @param[in,out] home home for allocating structures
+ * @param[in]     c    content-type header for multipart
+ * @param[in]     pl   payload structure for multipart
  *
  * After parsing, the @a pl will contain the plain-text preamble (if any).
  *
@@ -418,7 +418,7 @@
 
   /* Split multipart into parts */
   for (;;) {
-    while (p[0] == ' ') 
+    while (p[0] == ' ')
       p++;
 
     p += p[0] == '\r' ? 1 + (p[1] == '\n') : (p[0] == '\n');
@@ -464,7 +464,7 @@
       break;
     }
 
-    b = next; p = next + m; 
+    b = next; p = next + m;
   }
 
   if (!mp || !mp->mp_close_delim) {
@@ -516,7 +516,7 @@
   blen = strlen(boundary);
 
   for (mp = all; mp; mp = mp->mp_next) {
-    mp->mp_data = boundary; 
+    mp->mp_data = boundary;
     mp->mp_len = blen;
 
     assert(mp->mp_payload || mp->mp_separator);
@@ -546,19 +546,19 @@
 }
 
 /**Add all missing parts to the multipart.
- * 
+ *
  * Add missing components such as boundaries between body parts, separators
  * between body-part headers and data, and close-delimiter after last
  * body-part to the multipart message.
- * 
- * @param[in,out] home home for allocating structures 
- * @param[in,out] c    content-type header for multipart 
- * @param[in,out] mp   pointer to first multipart structure 
+ *
+ * @param[in,out] home home for allocating structures
+ * @param[in,out] c    content-type header for multipart
+ * @param[in,out] mp   pointer to first multipart structure
  *
  * @retval 0 when successful
  * @retval -1 upon an error
  *
- * @ERRORS 
+ * @ERRORS
  * @ERROR EBADMSG
  * The @b Content-Type header @a c is malformed, or multipart message
  * contains a malformed @b Content-Type header.
@@ -635,7 +635,7 @@
 
     if (mp->mp_next == NULL) {
       if (!mp->mp_close_delim)
-	mp->mp_close_delim = msg_payload_format(home, "%.*s--" CR LF, 
+	mp->mp_close_delim = msg_payload_format(home, "%.*s--" CR LF,
 						(int)m, boundary);
       if (!mp->mp_close_delim)
 	return -1;
@@ -813,7 +813,7 @@
   if (!mp || !mp->mp_data)
     return -1;
 
-  if (!mp->mp_common->h_data || 
+  if (!mp->mp_common->h_data ||
       mp->mp_common->h_len != mp->mp_len - 2 ||
       memcmp(mp->mp_common->h_data, mp->mp_data + 2, mp->mp_len - 2)) {
     mp->mp_common->h_data = mp->mp_data + 2;
@@ -833,10 +833,10 @@
   assert(h && msg_is_multipart(h));
 
   msg_payload_init(pl);
-  
+
   result = (msg_multipart_t *)h;
 
-  pl->pl_data = s; 
+  pl->pl_data = s;
   pl->pl_len = slen;
 
   mp = msg_multipart_parse(tmphome, NULL, pl);
@@ -845,14 +845,14 @@
     *result = *mp;
 
     if (result->mp_common->h_succ->sh_prev)
-      result->mp_common->h_succ->sh_prev = 
+      result->mp_common->h_succ->sh_prev =
 	&result->mp_common->h_succ;
 
     su_free(tmphome, mp);
-    
+
     su_home_move(home, tmphome);
   }
-   
+
   su_home_deinit(tmphome);
 
   return mp ? 0 : -1;
@@ -877,7 +877,7 @@
   offset = msg_payload_dup_xtra(h, offset);
 
   for (hh = (msg_header_t const **)&((msg_pub_t *)mp)->msg_request;
-       (char *)hh <= (char *)&mp->mp_close_delim; 
+       (char *)hh <= (char *)&mp->mp_close_delim;
        hh++) {
     for (h = *hh; h; h = h->sh_next) {
       MSG_STRUCT_SIZE_ALIGN(offset);
@@ -899,7 +899,7 @@
   b = msg_payload_dup_one(dst, src, b, xtra);
 
   for (hh = &((msg_pub_t*)mp)->msg_request;
-       (char *)hh <= (char *)&mp->mp_close_delim; 
+       (char *)hh <= (char *)&mp->mp_close_delim;
        hh++) {
     for (h = *hh; h; h = h->sh_next) {
       MSG_STRUCT_ALIGN(b);
@@ -972,8 +972,8 @@
  *
  * The function msg_mediatype_d() parses a mediatype string.
  *
- * @param[in,out] ss    string to be parsed 
- * @param[out]    type  value result for media type 
+ * @param[in,out] ss    string to be parsed
+ * @param[out]    type  value result for media type
  *
  * @retval 0 when successful,
  * @retval -1 upon an error.
@@ -1059,7 +1059,7 @@
  */
 
 msg_hclass_t msg_accept_class[] =
-MSG_HEADER_CLASS(msg_, accept, "Accept", "", ac_params, apndlist, 
+MSG_HEADER_CLASS(msg_, accept, "Accept", "", ac_params, apndlist,
 		 msg_accept, msg_accept);
 
 issize_t msg_accept_d(su_home_t *home, msg_header_t *h, char *s, isize_t slen)
@@ -1136,8 +1136,8 @@
   return b;
 }
 
-/** Update parameter(s) for Accept header. */ 
-int msg_accept_update(msg_common_t *h, 
+/** Update parameter(s) for Accept header. */
+int msg_accept_update(msg_common_t *h,
 		      char const *name, isize_t namelen,
 		      char const *value)
 {
@@ -1223,8 +1223,8 @@
   return b;
 }
 
-/** Update parameter(s) for Accept-* header. */ 
-int msg_accept_any_update(msg_common_t *h, 
+/** Update parameter(s) for Accept-* header. */
+int msg_accept_any_update(msg_common_t *h,
 			  char const *name, isize_t namelen,
 			  char const *value)
 {
@@ -1431,7 +1431,7 @@
  */
 
 /**@ingroup msg_content_disposition
- * @typedef struct msg_content_disposition_s msg_content_disposition_t; 
+ * @typedef struct msg_content_disposition_s msg_content_disposition_t;
  *
  * The structure msg_content_disposition_t contains representation of an @b
  * Content-Disposition header.
@@ -1548,7 +1548,7 @@
  */
 
 /**@ingroup msg_content_encoding
- * @typedef struct msg_list_s msg_content_encoding_t; 
+ * @typedef struct msg_list_s msg_content_encoding_t;
  *
  * The structure msg_content_encoding_t contains representation of an @b
  * Content-Encoding header.
@@ -1715,7 +1715,7 @@
  */
 
 /**@ingroup msg_content_md5
- * @typedef struct msg_generic_s msg_content_md5_t; 
+ * @typedef struct msg_generic_s msg_content_md5_t;
  *
  * The structure msg_content_md5_t contains representation of an @b
  * Content-MD5 header.
@@ -1896,7 +1896,7 @@
  */
 
 /**@ingroup msg_mime_version
- * @typedef struct msg_generic_s msg_mime_version_t; 
+ * @typedef struct msg_generic_s msg_mime_version_t;
  *
  * The structure msg_mime_version_t contains representation of an @b
  * MIME-Version header.
@@ -1935,7 +1935,7 @@
  */
 
 /**@ingroup msg_content_location
- * @typedef struct msg_generic_s msg_content_location_t; 
+ * @typedef struct msg_generic_s msg_content_location_t;
  *
  * The structure msg_content_location_t contains representation of an @b
  * Content-Location header.
@@ -2000,7 +2000,7 @@
  */
 
 /**@ingroup msg_content_transfer_encoding
- * @typedef struct msg_generic_s msg_content_transfer_encoding_t; 
+ * @typedef struct msg_generic_s msg_content_transfer_encoding_t;
  *
  * The structure msg_content_transfer_encoding_t contains representation of
  * an @b Content-Transfer-Encoding header.
@@ -2027,11 +2027,11 @@
 
 /**@ingroup msg_mime
  * @defgroup msg_warning Warning Header
- * 
+ *
  * The Warning response-header field is used to carry additional information
  * about the status of a response. Its syntax is defined in [S20.43]
  * as follows:
- * 
+ *
  * @code
  *    Warning        =  "Warning" HCOLON warning-value *(COMMA warning-value)
  *    warning-value  =  warn-code SP warn-agent SP warn-text
@@ -2045,7 +2045,7 @@
  */
 
 /**@ingroup msg_warning
- * @typedef struct msg_warning_s msg_warning_t; 
+ * @typedef struct msg_warning_s msg_warning_t;
  *
  * The structure msg_warning_t contains representation of an @b
  * Warning header.
@@ -2073,7 +2073,7 @@
     *s = '\0', s += span_lws(s + 1) + 1;
 
   /* Parse protocol */
-  if (!IS_DIGIT(*s))	
+  if (!IS_DIGIT(*s))
     return -1;
   w->w_code = strtoul(s, &s, 10);
   skip_lws(&s);
@@ -2098,7 +2098,7 @@
   int n;
   size_t m;
 
-  n = snprintf(b, bsiz, "%03u %s%s%s ", 
+  n = snprintf(b, bsiz, "%03u %s%s%s ",
 	       w->w_code, w->w_host, port ? ":" : "", port ? port : "");
   if (n < 0)
     return n;
@@ -2122,9 +2122,9 @@
   return offset;
 }
 
-char *msg_warning_dup_one(msg_header_t *dst, 
-			  msg_header_t const *src, 
-			  char *b, 
+char *msg_warning_dup_one(msg_header_t *dst,
+			  msg_header_t const *src,
+			  char *b,
 			  isize_t xtra)
 {
   msg_warning_t *w = (msg_warning_t *)dst;
@@ -2143,6 +2143,6 @@
 
 #define msg_warning_update NULL
 
-msg_hclass_t msg_warning_class[] = 
-  MSG_HEADER_CLASS(msg_, warning, "Warning", "", w_common, append, 
+msg_hclass_t msg_warning_class[] =
+  MSG_HEADER_CLASS(msg_, warning, "Warning", "", w_common, append,
 		   msg_warning, msg_warning);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime_table.c.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime_table.c.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime_table.c.in	Tue Dec 23 07:37:03 2008
@@ -31,8 +31,8 @@
  */
 
 /**@ingroup msg_mime
- * 
- * @CFILE msg_mime_table.c 
+ *
+ * @CFILE msg_mime_table.c
  * @brief Parser table used for testing.
  *
  * #AUTO#

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_name_hash.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_name_hash.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_name_hash.c	Tue Dec 23 07:37:03 2008
@@ -24,9 +24,9 @@
 
 /**@ingroup test_msg
  * @CFILE msg_name_hash.c
- * 
- * Calculate hash for given header name. 
- * 
+ *
+ * Calculate hash for given header name.
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
  * @date Tue Aug 20 16:27:01 EEST 2002 ppessi

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.awk
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.awk	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.awk	Tue Dec 23 07:37:03 2008
@@ -49,7 +49,7 @@
   # Initialize these as arrays
   split("", symbols);
   split("", names);
-  split("", comments); 
+  split("", comments);
   split("", hashes);
   split("", NAMES);
   split("", Comments);
@@ -81,7 +81,7 @@
 {
   hash = 0;
 
-  len = length(name); 
+  len = length(name);
 
   for (i = 1; i <= len; i++) {
     c = tolower(substr(name, i, 1));
@@ -112,7 +112,7 @@
 function protos (name, comment, hash, since)
 {
   NAME=toupper(name);
-  sub(/.*[\/][*][*][<][ 	]*/, "", comment); 
+  sub(/.*[\/][*][*][<][ 	]*/, "", comment);
   sub(/[ 	]*[*][\/].*/, "", comment);
   sub(/[ 	]+/, " ", comment);
 
@@ -132,12 +132,12 @@
     if (name2 != name && name2 != tprefix "_" name) {
       print name " mismatch with " comment " (" real ")" > "/dev/stderr";
     }
-    
+
     hash = name_hash(parts[1]);
 
     hashed[name] = hash;
 
-    if (comment !~ /header/) { 
+    if (comment !~ /header/) {
       comment = comment " header";
     }
   }
@@ -149,13 +149,13 @@
   COMMENT = toupper(comment);
 
   # Store the various forms into an array for the footer processing
-  N++; 
-  hashes[N] = hash; 
+  N++;
+  hashes[N] = hash;
   names[N] = name;
-  NAMES[N] = NAME; 
-  comments[N] = comment; 
-  Comments[N] = comment; 
-  COMMENTS[N] = COMMENT; 
+  NAMES[N] = NAME;
+  comments[N] = comment;
+  Comments[N] = comment;
+  COMMENTS[N] = COMMENT;
 
   symbols[name] = comment;
   if (since) {
@@ -165,8 +165,8 @@
   expr = (without_experimental > 0 && do_hash);
   if (expr) {
     printf "%s is experimental\n", Comment;
-  }    
-  
+  }
+
   experimental[N] = expr;
 
   if (PR) {
@@ -190,7 +190,7 @@
   #
   if (p) {
     gsub(/#hash#/, hash, p);
-    gsub(/#xxxxxx#/, name, p); 
+    gsub(/#xxxxxx#/, name, p);
     gsub(/#XXXXXX#/, NAME, p);
     gsub(/#xxxxxxx_xxxxxxx#/, comment, p);
     gsub(/#Xxxxxxx_Xxxxxxx#/, Comment, p);
@@ -203,17 +203,17 @@
       # Remove line with #version#
       gsub(/\n[^#\n]*#version#[^\n]*/, "", p);
     }
-    	    
+
     print p > PR;
   }
 }
 
-# 
+#
 # Repeat each line in the footer containing the magic replacement
 # pattern with an instance of all headers
 #
 function process_footer (text)
-{ 
+{
   if (!match(tolower(text), /#(xxxxxx(x_xxxxxxx)?|hash)#/)) {
     n = length(text);
     while (substr(text, n) == "\n") {
@@ -224,7 +224,7 @@
       print text > PR;
     return;
   }
-  
+
   n = split(text, lines, RS);
 
   for (i = 1; i <= n; i++) {
@@ -247,7 +247,7 @@
 	gsub(/#xxxxxxx_xxxxxxx#/, comments[j], l);
 	gsub(/#Xxxxxxx_Xxxxxxx#/, Comments[j], l);
 	gsub(/#XXXXXXX_XXXXXXX#/, COMMENTS[j], l);
-	gsub(/#xxxxxx#/, names[j], l); 
+	gsub(/#xxxxxx#/, names[j], l);
 	gsub(/#XXXXXX#/, NAMES[j], l);
 	print l > PR;
       }
@@ -272,7 +272,7 @@
     if (line ~ /^#/ || line ~ /^$/)
       continue;
 
-    split(line, tokens,  /[ \t]*=[ \t]*/); 
+    split(line, tokens,  /[ \t]*=[ \t]*/);
     name = tolower(tokens[1]);
     gsub(/-/, "_", name);
     gsub(/,/, " ", name);
@@ -297,7 +297,7 @@
 function templates ()
 {
   if (!auto) {
-    auto = FILENAME; 
+    auto = FILENAME;
 
     if (!prefix) { prefix = module; }
     if (!tprefix) { tprefix = prefix; }
@@ -369,11 +369,11 @@
 
 /^#### EXTRA HEADER LIST STARTS HERE ####$/ { HLIST=1; templates(); }
 HLIST && /^#### DEFAULT HEADER LIST ENDS HERE ####$/ { basic=total; }
-HLIST && /^#### EXPERIMENTAL HEADER LIST STARTS HERE ####$/ { 
+HLIST && /^#### EXPERIMENTAL HEADER LIST STARTS HERE ####$/ {
   without_experimental = total; }
 
-HLIST && /^[a-z]/ { protos($1, $0, 0, $2); 
-  headers[total++] = $1; 
+HLIST && /^[a-z]/ { protos($1, $0, 0, $2);
+  headers[total++] = $1;
   Extra[$1] = extra++;
 }
 /^#### EXTRA HEADER LIST ENDS HERE ####$/ { HLIST=0;  }
@@ -383,14 +383,14 @@
 
 PT && /^ *\/\* === Hash headers end here \*\// { in_header_list=0;}
 
-in_header_list && /^  (sip|rtsp|http|msg|mp)_[a-z_0-9]+_t/ { 
+in_header_list && /^  (sip|rtsp|http|msg|mp)_[a-z_0-9]+_t/ {
   n=$0
-  sub(/;.*$/, "", n);   
+  sub(/;.*$/, "", n);
   sub(/^ *(sip|rtsp|http|msg|mp)_[a-z0-9_]*_t[ 	]*/, "", n);
   sub(/^[*](sip|rtsp|http|msg|mp)_/, "", n);
 
   if ($0 !~ /[\/][*][*][<]/) {
-    getline; 
+    getline;
   }
   if ($0 !~ /[\/][*][*][<]/) {
     printf "msg_protos.awk: header %s is malformed\n", n;
@@ -446,7 +446,7 @@
     len = split("request status separator payload unknown error", unnamed, " ");
 
     for (i = 1; i <= len; i++) {
-      printf("  {{ %s_%s_class, msg_offsetof(%s_t, %s_%s) }},\n", 
+      printf("  {{ %s_%s_class, msg_offsetof(%s_t, %s_%s) }},\n",
 	     tprefix, unnamed[i], module, prefix, unnamed[i]) > PT;
     }
     if (multipart) {
@@ -456,7 +456,7 @@
       printf("  {{ NULL, 0 }},\n") > PT;
     }
     if (MC_SHORT_SIZE) {
-      printf("  %s_short_forms, \n", module) > PT;      
+      printf("  %s_short_forms, \n", module) > PT;
     }
     else {
       printf("  NULL, \n") > PT;
@@ -488,11 +488,11 @@
 
 	if (i >= ordinary) {
 	  printf("    { %s_%s_class,\n" \
-		 "      msg_offsetof(struct %s, extra[%u])%s }%s\n", 
+		 "      msg_offsetof(struct %s, extra[%u])%s }%s\n",
 		 tprefix, n, struct, Extra[n], flags, c) > PT;
 	}
 	else {
-	  printf("    { %s_%s_class, msg_offsetof(%s_t, %s_%s)%s }%s\n", 
+	  printf("    { %s_%s_class, msg_offsetof(%s_t, %s_%s)%s }%s\n",
 		 tprefix, n, module, prefix, n, flags, c) > PT;
 	}
 
@@ -520,7 +520,7 @@
     if (multipart)
       protos("multipart", "/**< Multipart payload */", -7);
   }
-    
+
   if (PR) {
     process_footer(footer);
   }
@@ -547,17 +547,17 @@
 
     if (MC_SHORT_SIZE) {
       printf("static msg_href_t const " \
-	     "%s_short_forms[MC_SHORT_SIZE] = \n{\n", 
-	     module) > PT;      
+	     "%s_short_forms[MC_SHORT_SIZE] = \n{\n",
+	     module) > PT;
 
       for (i = 1; i <= MC_SHORT_SIZE; i = i + 1) {
 	c = (i == MC_SHORT_SIZE) ? "" : ",";
 	if (i in shorts) {
 	  n = shorts[i];
         flags = header_flags[n]; if (flags) flags = ",\n      " flags;
-	  
-	printf("  { /* %s */ %s_%s_class, msg_offsetof(%s_t, %s_%s)%s }%s\n", 
-	       substr(lower_case, i, 1), 
+
+	printf("  { /* %s */ %s_%s_class, msg_offsetof(%s_t, %s_%s)%s }%s\n",
+	       substr(lower_case, i, 1),
 	       tprefix, n, module, prefix, n, flags, c)	\
 	    > PT;
 	}
@@ -566,7 +566,7 @@
 	    > PT;
 	}
       }
-      printf("};\n\n") > PT;      
+      printf("};\n\n") > PT;
     }
 
     # printf("extern msg_hclass_t msg_multipart_class[];\n\n") > PT;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c	Tue Dec 23 07:37:03 2008
@@ -209,7 +209,7 @@
 	/* realloc and cut down buffer */
 	size_t new_size;
 	void *new_data;
-	
+
 	if (eos)
 	  new_size = mb->mb_commit + 1;
 	else
@@ -324,11 +324,11 @@
  * blocks, so the caller should allocate at least two elements for the I/O
  * vector @a vec.
  *
- * @param[in]  msg     message object 
- * @param[out] vec     I/O vector 
- * @param[in]  veclen  available length of @a vec 
+ * @param[in]  msg     message object
+ * @param[out] vec     I/O vector
+ * @param[in]  veclen  available length of @a vec
  * @param[in]  n       number of possibly available bytes 
- * @param[in]  exact   true if data ends at message boundary 
+ * @param[in]  exact   true if data ends at message boundary
  *
  * @return
  * The length of I/O vector to
@@ -815,7 +815,7 @@
 su_inline int extract_incomplete_chunks(msg_t *, int eos);
 static issize_t extract_first(msg_t *, msg_pub_t *,
 			    char b[], isize_t bsiz, int eos);
-su_inline issize_t extract_next(msg_t *, msg_pub_t *, char *, isize_t bsiz, 
+su_inline issize_t extract_next(msg_t *, msg_pub_t *, char *, isize_t bsiz,
 				  int eos, int copy);
 static issize_t extract_header(msg_t *, msg_pub_t*,
 			     char b[], isize_t bsiz, int eos, int copy);
@@ -992,7 +992,7 @@
 
 /* Extract header or message body */
 su_inline issize_t
-extract_next(msg_t *msg, msg_pub_t *mo, char *b, isize_t bsiz, 
+extract_next(msg_t *msg, msg_pub_t *mo, char *b, isize_t bsiz,
 	     int eos, int copy)
 {
   if (IS_CRLF(b[0]))
@@ -1002,7 +1002,7 @@
 }
 
 /** Extract a header. */
-issize_t msg_extract_header(msg_t *msg, msg_pub_t *mo, 
+issize_t msg_extract_header(msg_t *msg, msg_pub_t *mo,
 			   char b[], isize_t bsiz, int eos)
 {
   return extract_header(msg, mo, b, bsiz, eos, 0);
@@ -1187,16 +1187,16 @@
   return h;
 }
 
-/** Complete this header field and parse next header field. 
+/** Complete this header field and parse next header field.
  *
  * This function completes parsing a multi-field header like @Accept,
- * @Contact, @Via or @Warning. It scans for the next header field and 
+ * @Contact, @Via or @Warning. It scans for the next header field and
  * if one is found, it calls the parsing function recursively.
  *
- * @param home 	 memory home used ot allocate 
+ * @param home 	 memory home used ot allocate
  *             	 new header structures and parameter lists
  * @param prev 	 pointer to header structure already parsed
- * @param s    	 header content to parse; should point to the area after 
+ * @param s    	 header content to parse; should point to the area after
  *             	 current header field (either end of line or to a comma
  *             	 separating header fields)
  * @param slen 	 ignored
@@ -1206,7 +1206,7 @@
  * @retval >= 0 when successful
  * @retval -1 upon an error
  */
-issize_t msg_parse_next_field(su_home_t *home, msg_header_t *prev, 
+issize_t msg_parse_next_field(su_home_t *home, msg_header_t *prev,
 			      char *s, isize_t slen)
 {
   msg_hclass_t *hc = prev->sh_class;
@@ -1224,7 +1224,7 @@
 
   if (*s == 0)
     return 0;
-  
+
   h = msg_header_alloc(home, hc, 0);
   if (!h)
     return -1;
@@ -1764,19 +1764,19 @@
 
 /** Convert a message to a string.
  *
- * A message is encoded and the encoding result is returned as a string. 
+ * A message is encoded and the encoding result is returned as a string.
  * Because the message may contain binary payload (or NUL in headers), the
  * message length is returned separately in @a *return_len, too.
  *
- * Note that the message is serialized as a side effect. 
+ * Note that the message is serialized as a side effect.
  *
  * @param home memory home used to allocate the string
  * @param msg  message to encode
  * @param pub  message object to encode (may be NULL)
  * @param flags flags used when encoding
  * @param return_len return-value parameter for encoded message length
- * 
- * @return Encoding result as a C string. 
+ *
+ * @return Encoding result as a C string.
  *
  * @since New in @VERSION_1_12_4
  *
@@ -1843,7 +1843,7 @@
       b2 = su_realloc(home, b, bsiz);
 
       if (b2 == NULL) {
-	errno = ENOMEM; 
+	errno = ENOMEM;
 	su_free(home, b);
 	return NULL;
       }
@@ -2110,8 +2110,8 @@
  * Headers are either inserted just before the payload, or after the first
  * line, depending on their type.
  *
- * @param[in]     msg  message object 
- * @param[in,out] pub  public message structure 
+ * @param[in]     msg  message object
+ * @param[in,out] pub  public message structure
  * @param prepend if true, add before same type of headers (instead after them)
  * @param head head of chain
  * @param h    header to insert
@@ -2128,7 +2128,7 @@
   msg_header_t **hh;
   msg_header_t **separator;
   msg_header_t **payload;
-  
+
   assert(msg && pub && head && h);
 
   mc = msg->m_class;
@@ -2523,7 +2523,7 @@
   *hh = h;
 }
 
-static int _msg_header_add_list_items(msg_t *msg, 
+static int _msg_header_add_list_items(msg_t *msg,
 				      msg_header_t **hh,
 				      msg_header_t const *src);
 
@@ -2658,7 +2658,7 @@
 }
 
 /* Add list items */
-static int _msg_header_add_list_items(msg_t *msg, 
+static int _msg_header_add_list_items(msg_t *msg,
 				      msg_header_t **hh,
 				      msg_header_t const *src)
 {
@@ -2667,17 +2667,17 @@
 
   if (!s || !*s)
     return 0;
-  
+
   msg_fragment_clear(h->sh_common);
-  
+
   /* Remove empty headers */
   for (hh = &h->sh_next; *hh; *hh = (*hh)->sh_next)
     msg_chain_remove(msg, *hh);
-  
+
   if (msg_header_join_items(msg_home(msg), h->sh_common, src->sh_common, 1)
       < 0)
     return -1;
-  
+
   return 0;
 }
 
@@ -2801,12 +2801,12 @@
 
   return msg_header_parse_str(msg, pub, s);
 }
-  
+
 /**Add string to message.
  *
  * Parse a string containing headers (or a message body, if the string
  * starts with linefeed) and add resulting header objects to the message
- * object. 
+ * object.
  *
  * @param msg  message object
  * @param pub  message header structure where heades are added (may be NULL)
@@ -2816,7 +2816,7 @@
  * @retval -1 upon an error
  *
  * @sa msg_header_add_str(), url_headers_as_string()
- * 
+ *
  * @since New in @VERSION_1_12_4.
  */
 int msg_header_parse_str(msg_t *msg,
@@ -2880,7 +2880,7 @@
 
   assert(msg);
 
-  if (msg == NULL || h == NULL || h == MSG_HEADER_NONE || 
+  if (msg == NULL || h == NULL || h == MSG_HEADER_NONE ||
       h->sh_class == NULL)
     return -1;
   if (pub == NULL)
@@ -2906,7 +2906,7 @@
 {
   msg_header_t **hh, **hh0;
 
-  if (msg == NULL || h == NULL || h == MSG_HEADER_NONE || 
+  if (msg == NULL || h == NULL || h == MSG_HEADER_NONE ||
       h->sh_class == NULL)
     return -1;
   if (pub == NULL)
@@ -2955,7 +2955,7 @@
   msg_header_t **hh, **hh0;
   void const *data;
 
-  if (msg == NULL || h == NULL || h == MSG_HEADER_NONE || 
+  if (msg == NULL || h == NULL || h == MSG_HEADER_NONE ||
       h->sh_class == NULL)
     return -1;
   if (pub == NULL)

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c	Tue Dec 23 07:37:03 2008
@@ -102,7 +102,7 @@
  * in @a return_token, and updates the @a ss to the end of token and
  * possible whitespace.
  */
-issize_t msg_token_d(char **ss, char const **return_token) 
+issize_t msg_token_d(char **ss, char const **return_token)
 {
   char *s = *ss;
   size_t n = span_token(s);
@@ -131,7 +131,7 @@
   uint32_t value;
   unsigned digit;
 
-  if (!IS_DIGIT(*s))	
+  if (!IS_DIGIT(*s))
     return -1;
 
   for (value = 0; IS_DIGIT(*s); s++) {
@@ -169,26 +169,26 @@
  * list.
  *
  * The function @b must be passed a scanning function @a scanner. The
- * scanning function scans for a legitimate list item, for example, a token. 
+ * scanning function scans for a legitimate list item, for example, a token.
  * It should also compact the list item, for instance, if the item consists
  * of @c name=value parameter definitions it should remove whitespace around
  * "=" sign. The scanning function returns the length of the scanned item,
  * including any linear whitespace after it.
  *
- * @param[in]     home    memory home for allocating list pointers 
- * @param[in,out] ss      pointer to pointer to string to be parsed 
+ * @param[in]     home    memory home for allocating list pointers
+ * @param[in,out] ss      pointer to pointer to string to be parsed
  * @param[in,out] append_list  pointer to list
  *                             where parsed list items are appended
- * @param[in]     sep     separator character 
+ * @param[in]     sep     separator character
  * @param[in]     scanner pointer to function for scanning a single item
- * 
+ *
  * @retval 0  if successful.
  * @retval -1 upon an error.
  */
-issize_t msg_any_list_d(su_home_t *home, 
-			char **ss, 
+issize_t msg_any_list_d(su_home_t *home,
+			char **ss,
 			msg_param_t **append_list,
-			issize_t (*scanner)(char *s), 
+			issize_t (*scanner)(char *s),
 			int sep)
 {
   char const *stack[MSG_N_PARAMS];
@@ -232,7 +232,7 @@
 	  goto error;
 	list = re_list;
       }
-      
+
       list[n++] = s;
       s += tlen;
     }
@@ -240,7 +240,7 @@
     if (*s == sep) {
       *s++ = '\0';
       skip_lws(&s);
-    } 
+    }
     else if (*s)
       break;
   }
@@ -278,11 +278,11 @@
  * This function compacts the scanned value. It removes the
  * whitespace around equal sign "=" by moving the equal sign character and
  * value towards name.
- * 
- * If there is whitespace within the scanned value or after it, 
+ *
+ * If there is whitespace within the scanned value or after it,
  * NUL-terminates the scanned attribute.
  *
- * @retval > 0 number of characters scanned, 
+ * @retval > 0 number of characters scanned,
  *             including the whitespace within the value
  * @retval -1 upon an error
  */
@@ -313,9 +313,9 @@
       v = s; s += qlen;
     }
     else {
-      v = s; 
+      v = s;
       skip_param(&s);
-      if (s == v) 
+      if (s == v)
 	return -1;
     }
 
@@ -339,16 +339,16 @@
  *  av-pair = token ["=" ( value / quoted-string) ]        ; optional value
  * @endcode
  *
- * @param[in]     home      pointer to a memory home 
- * @param[in,out] ss        pointer to string at the start of parameter list 
+ * @param[in]     home      pointer to a memory home
+ * @param[in,out] ss        pointer to string at the start of parameter list
  * @param[in,out] append_list  pointer to list
  *                             where parsed list items are appended
  *
  * @retval >= 0 if successful
  * @retval -1 upon an error
  */
-issize_t msg_avlist_d(su_home_t *home, 
-		      char **ss, 
+issize_t msg_avlist_d(su_home_t *home,
+		      char **ss,
 		      msg_param_t const **append_list)
 {
   char const *stack[MSG_N_PARAMS];
@@ -369,7 +369,7 @@
     params = stack;
     N = MSG_PARAMS_NUM(1);
   }
-  
+
   for (;;) {
     char *p;
     size_t tlen;
@@ -398,9 +398,9 @@
 	v = s; s += qlen;
       }
       else {
-	v = s; 
+	v = s;
 	skip_param(&s);
-	if (s == v) 
+	if (s == v)
 	  goto error;
       }
       if (p + tlen + 1 != v) {
@@ -440,7 +440,7 @@
   }
   else if (n == N) {
     /* Reallocate params */
-    char **nparams = su_alloc(home, 
+    char **nparams = su_alloc(home,
 			      (N = MSG_PARAMS_NUM(N + 1)) * sizeof(*params));
     if (!nparams) {
       goto error;
@@ -467,8 +467,8 @@
  *  *(";" token [ "=" (token | quoted-string)]).
  * @endcode
  *
- * @param[in]     home      pointer to a memory home 
- * @param[in,out] ss        pointer to string at the start of parameter list 
+ * @param[in]     home      pointer to a memory home
+ * @param[in,out] ss        pointer to string at the start of parameter list
  * @param[in,out] append_list  pointer to list
  *                             where parsed list items are appended
  *
@@ -477,8 +477,8 @@
  *
  * @sa msg_avlist_d()
  */
-issize_t msg_params_d(su_home_t *home, 
-		      char **ss, 
+issize_t msg_params_d(su_home_t *home,
+		      char **ss,
 		      msg_param_t const **append_list)
 {
   if (**ss == ';') {
@@ -487,7 +487,7 @@
     return msg_avlist_d(home, ss, append_list);
   }
 
-  if (IS_LWS(**ss)) { 
+  if (IS_LWS(**ss)) {
     *(*ss)++ = '\0'; skip_lws(ss);
   }
 
@@ -501,7 +501,7 @@
   char *end = b + bsiz, *b0 = b;
   msg_param_t p;
 
-  if (pparams) 
+  if (pparams)
     for (i = 0; (p = pparams[i]); i++) {
       if (p[0]) {
 	MSG_CHAR_E(b, end, ';');
@@ -537,13 +537,13 @@
     MSG_STRING_DUP(b, pp[i], s[i]);
   }
   pp[i] = NULL;
- 
+
   assert(b <= end); (void)end;
- 
+
   *d = (msg_param_t const *)pp;
 
   return b;
-} 
+}
 
 
 /** Parse a comma-separated list.
@@ -565,18 +565,18 @@
  * By default, the scanning function accepts tokens, quoted strings or
  * separators (except comma, of course).
  *
- * @param[in]     home    memory home for allocating list pointers 
- * @param[in,out] ss      pointer to pointer to string to be parsed 
+ * @param[in]     home    memory home for allocating list pointers
+ * @param[in,out] ss      pointer to pointer to string to be parsed
  * @param[in,out] append_list  pointer to list
  *                             where parsed list items are appended
- * @param[in]     scanner pointer to function scanning a single item 
+ * @param[in]     scanner pointer to function scanning a single item
  *                        (optional)
- * 
+ *
  * @retval 0  if successful.
  * @retval -1 upon an error.
  */
-issize_t msg_commalist_d(su_home_t *home, 
-			 char **ss, 
+issize_t msg_commalist_d(su_home_t *home,
+			 char **ss,
 			 msg_param_t **append_list,
 			 issize_t (*scanner)(char *s))
 {
@@ -603,7 +603,7 @@
 {
   size_t tlen;
   char *s, *p;
-  
+
   s = p = start;
 
   if (s[0] == ',')
@@ -613,22 +613,22 @@
     /* Grab next section - token, quoted string, or separator character */
     char c = *s;
 
-    if (IS_TOKEN(c)) 
+    if (IS_TOKEN(c))
       tlen = span_token(s);
     else if (c == '"')
       tlen = span_quoted(s);
     else /* if (IS_SEPARATOR(c)) */
       tlen = 1;
-    
+
     if (tlen == 0)
       return -1;
 
     if (p != s)
       memmove(p, s, tlen);	/* Move section to end of paramexter */
     p += tlen; s += tlen;
-    
+
     skip_lws(&s);		/* Skip possible LWS */
-    
+
     if (*s == '\0' || *s == ',') {		/* Test for possible end */
       if (p != s) *p = '\0';
       return s - start;
@@ -661,15 +661,15 @@
 
   if (return_comment)
     *return_comment = s;
-      
+
   while (level) switch (*s++) {
   case '(': level++; break;
   case ')': level--; break;
   case '\0': /* ERROR */ return -1;
   }
-      
+
   assert(s[-1] == ')');
-      
+
   s[-1] = '\0';
   skip_lws(&s);
   *ss = s;
@@ -730,12 +730,12 @@
  * string via @a ss, and pointers to which parsed host and port are assigned
  * via @a hhost and @a pport, respectively. The value-result parameter @a
  * *pport must be initialized to default value (e.g., NULL).
- * 
+ *
  * @param ss    pointer to pointer to string to be parsed
  * @param return_host value-result parameter for @e host
  * @param return_port value-result parameter for @e port
 
- * @return 
+ * @return
  * Returns zero when successful, and a negative value upon an error. The
  * parsed values for host and port are assigned via @a return_host and @a
  * return_port, respectively. The function also updates the pointer @a *ss,
@@ -747,15 +747,15 @@
  * NUL-terminated.  The calling function @b must NUL terminate the value by
  * setting the @a **ss to NUL after first examining its value.
  */
-int msg_hostport_d(char **ss, 
-		   char const **return_host, 
+int msg_hostport_d(char **ss,
+		   char const **return_host,
 		   char const **return_port)
 {
   char *host, *s = *ss;
   char *port = NULL;
 
   /* Host name */
-  host = s; 
+  host = s;
   if (s[0] != '[') {
     skip_token(&s); if (host == s) return -1;
   }
@@ -785,7 +785,7 @@
 
   *return_host = host;
   *return_port = port;
-  
+
   *ss = s;
 
   return 0;
@@ -816,7 +816,7 @@
 }
 
 /**Modify a parameter value or list item in a header.
- * 
+ *
  * A header parameter @a param can be just a C-string (@a is_item > 0), or
  * it can have internal format <i>name [ "=" value]</i>. In the latter case,
  * the value part following = is ignored when replacing or removing the
@@ -834,11 +834,11 @@
  *                  - 1 add
  *
  * @retval 1 if parameter was replaced or removed successfully
- * @retval 0 if parameter was added successfully, 
+ * @retval 0 if parameter was added successfully,
  *           or there was nothing to remove
  * @retval -1 upon an error
  */
-static 
+static
 int msg_header_param_modify(su_home_t *home, msg_common_t *h,
 			    char const *param,
 			    int is_item,
@@ -855,12 +855,12 @@
 
   plen = is_item > 0 ? strlen(param) : strcspn(param, "=");
   n = 0;
-  
+
   if (params) {
     /* Existing list, try to replace or remove  */
     for (; params[n]; n++) {
       char const *maybe = params[n];
-      
+
       if (remove_replace_add > 0)
 	continue;
 
@@ -877,7 +877,7 @@
       }
     }
   }
-  
+
   /* Not found? */
   if (!params || !params[n]) {
     if (remove_replace_add < 0)
@@ -885,22 +885,22 @@
     else
       remove_replace_add = 1;	/* Add instead of replace */
   }
-  
+
   if (remove_replace_add < 0) { /* Remove */
-    for (; params[n]; n++) 
+    for (; params[n]; n++)
       params[n] = params[n + 1];
   }
   else {
     if (remove_replace_add > 0) { /* Add */
       size_t m_before = MSG_PARAMS_NUM(n + 1);
       size_t m_after =  MSG_PARAMS_NUM(n + 2);
-      
+
       assert(!params || !params[n]);
-      
+
       if (m_before != m_after || !params) {
 	msg_param_t *p;
 	/* XXX - we should know when to do realloc */
-	p = su_alloc(home, m_after * sizeof(*p)); 
+	p = su_alloc(home, m_after * sizeof(*p));
 	if (!p) return -1;
 	if (n > 0)
 	  memcpy(p, params, n * sizeof(p[0]));
@@ -908,25 +908,25 @@
       }
       params[n + 1] = NULL;
     }
-    
+
     params[n] = param;	/* Add .. or replace */
   }
-  
+
   msg_fragment_clear(h);
 
   if (h->h_class->hc_update) {
     /* Update shortcuts */
     size_t namelen;
     char const *name, *value;
-    
+
     name = param;
     namelen = strcspn(name, "=");
-    
+
     if (remove_replace_add < 0)
       value = NULL;
     else
       value = param + namelen + (name[namelen] == '=');
-    
+
     h->h_class->hc_update(h, name, namelen, value);
   }
 
@@ -958,21 +958,21 @@
  * @retval 0 if parameter was added
  * @retval -1 upon an error
  *
- * @sa msg_header_replace_param(), msg_header_remove_param(), 
+ * @sa msg_header_replace_param(), msg_header_remove_param(),
  * msg_header_update_params(),
- * #msg_common_t, #msg_header_t, 
+ * #msg_common_t, #msg_header_t,
  * #msg_hclass_t, msg_hclass_t::hc_params, msg_hclass_t::hc_update
  */
 int msg_header_add_param(su_home_t *home, msg_common_t *h, char const *param)
 {
-  return msg_header_param_modify(home, h, param, 
-				 0 /* case-insensitive name=value */, 
+  return msg_header_param_modify(home, h, param,
+				 0 /* case-insensitive name=value */,
 				 1 /* add */);
 }
 
 
 
-/** Replace or add a parameter to a header. 
+/** Replace or add a parameter to a header.
  *
  * A header parameter @a param is a string of format <i>name "=" value</i>
  * or just name. The value part following "=" is ignored when selecting a
@@ -994,17 +994,17 @@
  * @retval 1 if parameter was replaced
  * @retval -1 upon an error
  *
- * @sa msg_header_add_param(), msg_header_remove_param(), 
+ * @sa msg_header_add_param(), msg_header_remove_param(),
  * msg_header_update_params(),
- * #msg_common_t, #msg_header_t, 
+ * #msg_common_t, #msg_header_t,
  * #msg_hclass_t, msg_hclass_t::hc_params, msg_hclass_t::hc_update
  */
-int msg_header_replace_param(su_home_t *home, 
-			     msg_common_t *h, 
+int msg_header_replace_param(su_home_t *home,
+			     msg_common_t *h,
 			     char const *param)
 {
-  return msg_header_param_modify(home, h, param, 
-				 0 /* case-insensitive name=value */, 
+  return msg_header_param_modify(home, h, param,
+				 0 /* case-insensitive name=value */,
 				 0 /* replace */);
 }
 
@@ -1028,13 +1028,13 @@
  *
  * @sa msg_header_add_param(), msg_header_replace_param(),
  * msg_header_update_params(),
- * #msg_common_t, #msg_header_t, 
+ * #msg_common_t, #msg_header_t,
  * #msg_hclass_t, msg_hclass_t::hc_params, msg_hclass_t::hc_update
  */
 int msg_header_remove_param(msg_common_t *h, char const *name)
 {
-  return msg_header_param_modify(NULL, h, name, 
-				 0 /* case-insensitive name=value */, 
+  return msg_header_param_modify(NULL, h, name,
+				 0 /* case-insensitive name=value */,
 				 -1 /* remove */);
 }
 
@@ -1053,7 +1053,7 @@
  *
  * @sa msg_header_add_param(), msg_header_replace_param(),
  * msg_header_update_params(),
- * #msg_common_t, #msg_header_t, 
+ * #msg_common_t, #msg_header_t,
  * #msg_hclass_t, msg_hclass_t::hc_params, msg_hclass_t::hc_update
  */
 int msg_header_update_params(msg_common_t *h, int clear)
@@ -1065,7 +1065,7 @@
   msg_param_t const *params;
   size_t n;
   char const *p, *v;
-  
+
   if (h == NULL)
     return errno = EFAULT, -1;
 
@@ -1107,13 +1107,13 @@
  *
  * @since New in @VERSION_1_12_4
  *
- * @sa msg_header_replace_item(), msg_header_remove_item(), 
+ * @sa msg_header_replace_item(), msg_header_remove_item(),
  * @Allow, @AllowEvents
  */
 char const *msg_header_find_item(msg_common_t const *h, char const *item)
 {
   if (h && h->h_class->hc_params) {
-    char const * const * items = 
+    char const * const * items =
       *(char const * const * const *)
       ((char *)h + h->h_class->hc_params);
 
@@ -1148,22 +1148,22 @@
  * @since New in @VERSION_1_12_4.
  *
  * @sa msg_header_remove_item(), @Allow, @AllowEvents,
- * msg_header_replace_param(), msg_header_remove_param(), 
+ * msg_header_replace_param(), msg_header_remove_param(),
  * #msg_common_t, #msg_header_t, #msg_list_t
  * #msg_hclass_t, msg_hclass_t::hc_params
  */
-int msg_header_replace_item(su_home_t *home, 
-			    msg_common_t *h, 
+int msg_header_replace_item(su_home_t *home,
+			    msg_common_t *h,
 			    char const *item)
 {
-  return msg_header_param_modify(home, h, item, 
-				 1 /* string item */, 
+  return msg_header_param_modify(home, h, item,
+				 1 /* string item */,
 				 0 /* replace */);
 }
 
 /**Remove an item from a header.
  *
- * This function treats a #msg_header_t as set of C strings. The @a item is a 
+ * This function treats a #msg_header_t as set of C strings. The @a item is a
  * C string. If identical string is found from the list, it is removed.
  *
  * The shortcuts, if any, to item values are updated accordingly.
@@ -1178,14 +1178,14 @@
  * @since New in @VERSION_1_12_4.
  *
  * @sa msg_header_replace_item(), @Allow, @AllowEvents,
- * msg_header_replace_param(), msg_header_remove_param(), 
+ * msg_header_replace_param(), msg_header_remove_param(),
  * #msg_common_t, #msg_header_t, #msg_list_t
  * #msg_hclass_t, msg_hclass_t::hc_params
  */
 int msg_header_remove_item(msg_common_t *h, char const *name)
 {
-  return msg_header_param_modify(NULL, h, name, 
-				 1 /* item */, 
+  return msg_header_param_modify(NULL, h, name,
+				 1 /* item */,
 				 -1 /* remove */);
 }
 
@@ -1193,11 +1193,11 @@
 /** Find a parameter from a parameter list.
  *
  * Searches for given parameter @a token from the parameter list. If
- * parameter is found, it returns a non-NULL pointer to the parameter value. 
+ * parameter is found, it returns a non-NULL pointer to the parameter value.
  * If there is no value for the parameter (the parameter is of form "name"
  * or "name="), the returned pointer points to a NUL character.
  *
- * @param params list (or vector) of parameters 
+ * @param params list (or vector) of parameters
  * @param token  parameter name (with or without "=" sign)
  *
  * @return
@@ -1230,7 +1230,7 @@
  * parameter is found, it returns a non-NULL pointer to the item containing
  * the parameter.
  *
- * @param params list (or vector) of parameters 
+ * @param params list (or vector) of parameters
  * @param token  parameter name (with or without "=" sign)
  *
  * @return
@@ -1259,7 +1259,7 @@
   return NULL;
 }
 
-/** Replace or add a parameter from a list. 
+/** Replace or add a parameter from a list.
  *
  * A non-NULL parameter list must have been created by msg_params_d()
  * or by msg_params_dup().
@@ -1275,7 +1275,7 @@
  * @retval -1 upon an error
  */
 int msg_params_replace(su_home_t *home,
-		       msg_param_t **inout_params, 
+		       msg_param_t **inout_params,
 		       msg_param_t param)
 {
   msg_param_t *params;
@@ -1297,7 +1297,7 @@
 
       if (!(strncasecmp(maybe, param, n))) {
 	if (maybe[n] == '=' || maybe[n] == 0) {
-	  params[i] = param;	
+	  params[i] = param;
 	  return 1;
 	}
       }
@@ -1308,7 +1308,7 @@
   return msg_params_add(home, inout_params, param);
 }
 
-/** Remove a parameter from a list. 
+/** Remove a parameter from a list.
  *
  * @retval 1 if parameter was removed
  * @retval 0 if parameter was not found
@@ -1369,7 +1369,7 @@
  * @param inout_params   pointer to pointer to parameter list
  * @param param     parameter to be added
  *
- * @retval 0 if parameter was added 
+ * @retval 0 if parameter was added
  * @retval -1 upon an error
  */
 int msg_params_add(su_home_t *home,
@@ -1377,7 +1377,7 @@
 		   msg_param_t param)
 {
   size_t n, m_before, m_after;
-  msg_param_t *p = *inout_params;  
+  msg_param_t *p = *inout_params;
 
   if (param == NULL)
     return -1;
@@ -1388,9 +1388,9 @@
 
   m_before = MSG_PARAMS_NUM(n + 1);
   m_after =  MSG_PARAMS_NUM(n + 2);
-  
+
   if (m_before != m_after || !p) {
-    p = su_alloc(home, m_after * sizeof(*p)); 
+    p = su_alloc(home, m_after * sizeof(*p));
     assert(p); if (!p) return -1;
     if (n)
       memcpy(p, *inout_params, n * sizeof(*p));
@@ -1403,7 +1403,7 @@
   return 0;
 }
 
-static 
+static
 int msg_param_prune(msg_param_t const d[], msg_param_t p, unsigned prune)
 {
   size_t i, nlen;
@@ -1414,10 +1414,10 @@
     nlen = 0;
 
   for (i = 0; d[i]; i++) {
-    if ((prune == 1 && 
-	 strncasecmp(p, d[i], nlen) == 0 
+    if ((prune == 1 &&
+	 strncasecmp(p, d[i], nlen) == 0
 	 && (d[i][nlen] == '=' || d[i][nlen] == '\0'))
-	|| 
+	||
 	(prune == 2 && strcasecmp(p, d[i]) == 0)
 	||
 	(prune == 3 && strcmp(p, d[i]) == 0))
@@ -1436,10 +1436,10 @@
  * @param home    memory home
  * @param dst     pointer to pointer to destination parameter list
  * @param src     source list
- * @param prune   prune duplicates 
+ * @param prune   prune duplicates
  * @param dup     duplicate parameters in src list
  *
- * @par Pruning 
+ * @par Pruning
  * <table>
  * <tr><td>0<td>do not prune</tr>
  * <tr><td>1<td>prune parameters with identical names</tr>
@@ -1458,7 +1458,7 @@
 			 int dup)
 {
   size_t n, m, n_before, n_after, pruned, total = 0;
-  msg_param_t *d = *dst;  
+  msg_param_t *d = *dst;
 
   if (prune > 3)
     return -1;
@@ -1483,9 +1483,9 @@
   }
 
   n_after = MSG_PARAMS_NUM(n + m - pruned + 1);
-  
+
   if (n_before != n_after || !d) {
-    d = su_alloc(home, n_after * sizeof(*d)); 
+    d = su_alloc(home, n_after * sizeof(*d));
     assert(d); if (!d) return -1;
     if (n)
       memcpy(d, *dst, n * sizeof(*d));
@@ -1503,7 +1503,7 @@
       d[n++] = su_strdup(home, src[m]);	/* XXX */
     else
       d[n++] = src[m];
-  }  
+  }
 
   d[n] = NULL;
 
@@ -1605,12 +1605,12 @@
 
   for (m = 0; m < M; m++) {
     d[N++] = memcpy(dup, temp[m], len[m] + 1);
-    
+
     if (update)
       update(dst, dup, len[m], dup + len[m]);
 
     dup += len[m] + 1;
-  }  
+  }
 
   d[N] = NULL;
 
@@ -1627,7 +1627,7 @@
 }
 
 /**Compare parameter lists.
- * 
+ *
  * Compares parameter lists.
  *
  * @param a pointer to a parameter list
@@ -1658,7 +1658,7 @@
 }
 
 
-/** Unquote string 
+/** Unquote string
  *
  * Duplicates the string @a q in unquoted form.
  */
@@ -1681,7 +1681,7 @@
       break;
     m = strcspn(q + n + 2, "\"\\");
     total += m + 1;
-    n += m + 2; 
+    n += m + 2;
   }
 
   if (!(d = su_alloc(home, total + 1)))
@@ -1689,16 +1689,16 @@
 
   for (n = 0;;) {
     m = strcspn(q, "\"\\");
-    memcpy(d + n, q, m); 
+    memcpy(d + n, q, m);
     n += m, q += m;
     if (q[0] == '\0' || q[0] == '"' || q[1] == '\0')
       break;
-    d[n++] = q[1]; 
+    d[n++] = q[1];
     q += 2;
   }
   assert(total == n);
   d[n] = '\0';
-  
+
   return d;
 }
 
@@ -1742,7 +1742,7 @@
   if (b && b + 1 < end)
     *b = '"';
   b++;
-  
+
   for (;*s;) {
     size_t n = strcspn(s, "\"\\");
 
@@ -1783,7 +1783,7 @@
 
   if (hash == 0)
     hash = (unsigned long)-1;
-  
+
   return hash;
 }
 
@@ -1798,14 +1798,14 @@
 }
 
 
-/** Encode a message to the buffer. 
+/** Encode a message to the buffer.
  *
  * The function msg_encode_e encodes a message to a given buffer.
  * It returns the length of the message to be encoded, even if the
  * buffer is too small (just like snprintf() is supposed to do).
  *
  * @param b        buffer (may be NULL)
- * @param size     size of buffer 
+ * @param size     size of buffer
  * @param mo       public message structure (#sip_t, #http_t)
  * @param flags    see #
  */
@@ -1837,7 +1837,7 @@
 /** Encode header contents. */
 issize_t msg_header_field_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
 {
-  assert(h); assert(h->sh_class); 
+  assert(h); assert(h->sh_class);
 
   return h->sh_class->hc_print(b, bsiz, h, flags);
 }
@@ -1846,7 +1846,7 @@
 msg_header_t **
 msg_header_offset(msg_t const *msg, msg_pub_t const *mo, msg_header_t const *h)
 {
-  if (h == NULL || h->sh_class == NULL) 
+  if (h == NULL || h->sh_class == NULL)
     return NULL;
 
   return msg_hclass_offset(msg->m_class, mo, h->sh_class);
@@ -1871,7 +1871,7 @@
 
   if (hh)
     return *hh;
-  else 
+  else
     return NULL;
 }
 
@@ -1880,7 +1880,7 @@
 /** Generates a random token.
  *
  */
-issize_t msg_random_token(char token[], isize_t tlen, 
+issize_t msg_random_token(char token[], isize_t tlen,
 			  void const *rmemp, isize_t rsize)
 {
   uint32_t random = 0, rword;
@@ -1889,7 +1889,7 @@
   size_t i;
   ssize_t n;
 
-  static char const token_chars[33] = 
+  static char const token_chars[33] =
     /* Create aesthetically pleasing raNDom capS LooK */
     "aBcDeFgHjKmNpQrStUvXyZ0123456789";
 
@@ -1908,7 +1908,7 @@
     else
       return rsize / 5 * 8;
   }
-    
+
   for (i = 0, n = 0; i < tlen;) {
     if (n < 5) {
       if (rsize == 0)
@@ -1931,7 +1931,7 @@
     if (n < 0 || (n == 0 && rsize == 0))
       break;
   }
-  
+
   token[i] = 0;
 
   return i;
@@ -1955,7 +1955,7 @@
  * @param flags message flags (see #msg_flg_user)
  * @param data message text
  * @param len size of message text (if -1, use strlen(data))
- * 
+ *
  * @retval A pointer to a freshly allocated and parsed message.
  *
  * Upon parsing error, the header structure may be left incomplete. The
@@ -1973,7 +1973,7 @@
 
   if (len == -1)
     len = strlen(data);
-  if (len == 0) 
+  if (len == 0)
     return NULL;
 
   msg = msg_create(mc, flags);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_tag.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_tag.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/msg_tag.c	Tue Dec 23 07:37:03 2008
@@ -58,9 +58,9 @@
 
   assert(t);
 
-  if (!t) { 
-    if (size) b[0] = 0; 
-    return 0; 
+  if (!t) {
+    if (size) b[0] = 0;
+    return 0;
   }
 
   h = (msg_header_t const *)t->t_value;
@@ -103,7 +103,7 @@
   char *b;
   size_t size;
 
-  assert(src); assert(*bb); 
+  assert(src); assert(*bb);
 
   dst->t_tag = src->t_tag;
   dst->t_value = 0L;
@@ -149,8 +149,8 @@
 
 
 /** Convert a string to a header structure based on to the tag. */
-int msghdrtag_scan(tag_type_t tt, su_home_t *home, 
-		   char const *s, 
+int msghdrtag_scan(tag_type_t tt, su_home_t *home,
+		   char const *s,
 		   tag_value_t *return_value)
 {
   msg_hclass_t *hc = (msg_hclass_t *)tt->tt_magic;
@@ -158,19 +158,19 @@
   int retval;
 
   h = msg_header_make(home, hc, s);
-  
+
   if (h)
     *return_value = (tag_value_t)h, retval = 1;
   else
     *return_value = (tag_value_t)NULL, retval = -1;
-  
+
   return retval;
 }
 
 
 tagi_t *msgstrtag_filter(tagi_t *dst,
 			 tagi_t const f[],
-			 tagi_t const *src, 
+			 tagi_t const *src,
 			 void **bb);
 
 int msgobjtag_snprintf(tagi_t const *t, char b[], size_t size)
@@ -179,9 +179,9 @@
 
   assert(t);
 
-  if (!t || !t->t_value) { 
-    if (size) b[0] = 0; 
-    return 0; 
+  if (!t || !t->t_value) {
+    if (size) b[0] = 0;
+    return 0;
   }
 
   mo = (msg_pub_t *)t->t_value;
@@ -230,7 +230,7 @@
   msg_header_t const *o;
   char *b;
 
-  assert(src); assert(*bb); 
+  assert(src); assert(*bb);
 
   omo = (msg_pub_t const *)src->t_value;
 
@@ -320,7 +320,7 @@
   msg_header_t const *o;
   char *b;
 
-  assert(src); assert(*bb); 
+  assert(src); assert(*bb);
 
   omo = (msg_pub_t const *)src->t_value;
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg.h	Tue Dec 23 07:37:03 2008
@@ -55,7 +55,7 @@
 
 SOFIAPUBFUN msg_t *msg_ref_create(msg_t *);
 SOFIAPUBFUN void msg_ref_destroy(msg_t *);
-     
+
 SOFIAPUBFUN msg_pub_t *msg_public(msg_t const *msg, void *tag);
 SOFIAPUBFUN msg_pub_t *msg_object(msg_t const *msg);
 SOFIAPUBFUN msg_mclass_t const *msg_mclass(msg_t const *msg);
@@ -103,9 +103,9 @@
   /** Cache a copy of headers when parsing. */
   MSG_FLG_EXTRACT_COPY = (1<<2),
   /** Print comma-separated lists instead of separate headers */
-  MSG_FLG_COMMA_LISTS = (1<<3),	
+  MSG_FLG_COMMA_LISTS = (1<<3),
 
-  /**Use mailbox format when parsing - in mailbox format 
+  /**Use mailbox format when parsing - in mailbox format
    * message has no body unless Content-Length header is present.
    */
   MSG_FLG_MAILBOX = (1<<4),

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_addr.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_addr.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_addr.h	Tue Dec 23 07:37:03 2008
@@ -24,10 +24,10 @@
 
 #ifndef MSG_ADDR_H
 /** Defined when <sofia-sip/msg_addr.h> has been included. */
-#define MSG_ADDR_H 
+#define MSG_ADDR_H
 
 
-/**@file sofia-sip/msg_addr.h 
+/**@file sofia-sip/msg_addr.h
  * @brief Addressing and I/O interface for messages.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
@@ -66,8 +66,8 @@
   msg_n_fragments = 8
 };
 
-/** I/O vector type. 
- * @sa msg_recv_iovec(), msg_iovec(), #su_iovec_s, su_vsend(), su_vrecv(). 
+/** I/O vector type.
+ * @sa msg_recv_iovec(), msg_iovec(), #su_iovec_s, su_vsend(), su_vrecv().
  */
 typedef struct su_iovec_s msg_iovec_t;
 #define mv_base siv_base
@@ -88,8 +88,8 @@
 
 SOFIAPUBFUN void msg_clear_committed(msg_t *msg);
 
-SOFIAPUBFUN issize_t msg_buf_external(msg_t *msg, 
-				      usize_t N, 
+SOFIAPUBFUN issize_t msg_buf_external(msg_t *msg,
+				      usize_t N,
 				      usize_t blocksize);
 
 SOFIA_END_DECLS

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_buffer.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_buffer.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_buffer.h	Tue Dec 23 07:37:03 2008
@@ -27,10 +27,10 @@
 #define MSG_BUFFER_H
 
 /**@file sofia-sip/msg_buffer.h
- * @brief Internal buffer management functions. 
- * 
+ * @brief Internal buffer management functions.
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Fri Nov  8 12:23:00 2002 ppessi
  *
  */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_date.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_date.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_date.h	Tue Dec 23 07:37:03 2008
@@ -24,16 +24,16 @@
 
 #ifndef MSG_DATE_H
 /** Defined when <sofia-sip/msg_date.h> has been included. */
-#define MSG_DATE_H 
+#define MSG_DATE_H
 
 /**@ingroup msg_parser
- * @file sofia-sip/msg_date.h 
+ * @file sofia-sip/msg_date.h
  * @brief Types and functions for handling dates and times.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
  * @date Created: Thu Jun  8 19:28:55 2000 ppessi
- * 
+ *
  */
 
 #ifndef SU_TYPES_H

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_header.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_header.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_header.h	Tue Dec 23 07:37:03 2008
@@ -33,7 +33,7 @@
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
  * @date Created: Mon Aug 27 15:44:27 2001 ppessi
- * 
+ *
  */
 
 #include <stdarg.h>
@@ -203,13 +203,13 @@
 
 #ifdef SU_HAVE_INLINE
 /** Clear encoded data from header structure. */
-su_inline void msg_fragment_clear(msg_common_t *h) 
+su_inline void msg_fragment_clear(msg_common_t *h)
 {
   h->h_data = NULL, h->h_len = 0;
 }
 
 /** Pointer to header parameters. */
-su_inline 
+su_inline
 msg_param_t **msg_header_params(msg_common_t const *h)
 {
   if (h && h->h_class->hc_params) {

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass.h	Tue Dec 23 07:37:03 2008
@@ -41,20 +41,20 @@
 
 SOFIA_BEGIN_DECLS
 
-enum { 
+enum {
   /** Default size of hash table */
-  MC_HASH_SIZE = 127, 
+  MC_HASH_SIZE = 127,
   /** Size of short form table */
-  MC_SHORT_SIZE = 'Z' - 'A' + 1 
+  MC_SHORT_SIZE = 'Z' - 'A' + 1
 };
 
 /**Header reference.
  *
- * A header reference object contains a pointer to a 
- * @ref msg_hclass_s "header class" 
+ * A header reference object contains a pointer to a
+ * @ref msg_hclass_s "header class"
  * and a offset to the header objects within the @ref msg_pub_t "public
  * message structure".
- * 
+ *
  * The @a hr_flags field is used to provide classification of headers. For
  * instance, the msg_extract_errors() returns bitwise or of all hr_flags
  * belonging to headers with parsing errors.
@@ -102,7 +102,7 @@
   unsigned      mc_flags;	/**< Default flags */
   unsigned      mc_msize;	/**< Size of public message structure */
   /** Function extracting the message contents. */
-  issize_t    (*mc_extract_body)(msg_t *msg, msg_pub_t *pub, 
+  issize_t    (*mc_extract_body)(msg_t *msg, msg_pub_t *pub,
 				 char b[], isize_t bsiz, int eos);
 
   msg_href_t    mc_request[1];	/**< Request line reference */
@@ -117,7 +117,7 @@
   short         mc_hash_size;	/**< Size of parsing table  */
   short         mc_hash_used;	/**< Number of headers in parsing table */
   /** Hash table for parsing containing reference for each header. */
-  msg_href_t    mc_hash[MC_HASH_SIZE]; 
+  msg_href_t    mc_hash[MC_HASH_SIZE];
 };
 
 enum { msg_mclass_copy = 0, msg_mclass_empty = 1 };
@@ -128,12 +128,12 @@
 SOFIAPUBFUN int msg_mclass_insert(msg_mclass_t *mc, msg_href_t const *hr);
 
 SOFIAPUBFUN
-int msg_mclass_insert_header(msg_mclass_t *mc, 
+int msg_mclass_insert_header(msg_mclass_t *mc,
 			     msg_hclass_t *hc,
 			     unsigned short offset);
 
 SOFIAPUBFUN
-int msg_mclass_insert_with_mask(msg_mclass_t *mc, 
+int msg_mclass_insert_with_mask(msg_mclass_t *mc,
 				msg_hclass_t *hc,
 				unsigned short offset,
 				unsigned short mask);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass_hash.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass_hash.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass_hash.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef MSG_MCLASS_HASH_H
 /** Defined when <sofia-sip/msg_mclass_hash.h> has been included. */
-#define MSG_MCLASS_HASH_H 
+#define MSG_MCLASS_HASH_H
 
 /**@ingroup msg_parser
  * @file sofia-sip/msg_mclass_hash.h
@@ -34,7 +34,7 @@
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
  * @date Created: Tue Aug 21 16:03:45 2001 ppessi
- * 
+ *
  */
 
 #include <sofia-sip/su_config.h>
@@ -49,7 +49,7 @@
 #define MC_HASH(s, n)     (msg_header_name_hash(s, NULL) % (unsigned)(n))
 
 /** Hash header name */
-su_inline 
+su_inline
 unsigned short msg_header_name_hash(char const *s, isize_t *llen)
 {
   unsigned short hash = 0;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef MSG_MIME_H
 /** Defined when <sofia-sip/msg_mime.h> has been included. */
-#define MSG_MIME_H 
+#define MSG_MIME_H
 
 /**@ingroup msg_mime
  * @file sofia-sip/msg_mime.h
@@ -34,7 +34,7 @@
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
  * @date Created: Fri Aug 16 19:18:26 EEST 2002 ppessi
- * 
+ *
  */
 
 #ifndef URL_H
@@ -58,7 +58,7 @@
 typedef msg_accept_any_t      	    msg_accept_encoding_t;
 typedef msg_accept_any_t     	    msg_accept_language_t;
 
-typedef struct msg_content_disposition_s 
+typedef struct msg_content_disposition_s
                                     msg_content_disposition_t;
 typedef msg_list_t	      	    msg_content_encoding_t;
 typedef msg_generic_t               msg_content_id_t;
@@ -100,7 +100,7 @@
   char const         *aa_q;	    /**< Value of q parameter */
 };
 
-/**@ingroup msg_content_disposition 
+/**@ingroup msg_content_disposition
  * @brief Structure for @b Content-Disposition header.
  */
 struct msg_content_disposition_s
@@ -208,12 +208,12 @@
 				      char const *content_type,
 				      void const *data,
 				      isize_t dlen);
-SOFIAPUBFUN 
-msg_multipart_t *msg_multipart_parse(su_home_t *home, 
+SOFIAPUBFUN
+msg_multipart_t *msg_multipart_parse(su_home_t *home,
 				     msg_content_type_t const *c,
 				     msg_payload_t *pl);
 SOFIAPUBFUN
-int msg_multipart_complete(su_home_t *home, 
+int msg_multipart_complete(su_home_t *home,
 			   msg_content_type_t *c,
 			   msg_multipart_t *mp);
 SOFIAPUBFUN msg_header_t *msg_multipart_serialize(msg_header_t **head0,

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime_protos.h.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime_protos.h.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime_protos.h.in	Tue Dec 23 07:37:03 2008
@@ -30,7 +30,7 @@
 
 #ifndef MSG_MIME_PROTOS_H
 /** Defined when <sofia-sip/msg_mime_protos.h> has been included. */
-#define MSG_MIME_PROTOS_H 
+#define MSG_MIME_PROTOS_H
 
 /**@ingroup msg_mime
  * @file sofia-sip/msg_mime_protos.h
@@ -64,13 +64,13 @@
 
 /* Declare internal prototypes for #xxxxxxx_xxxxxxx# */
 
-/**@addtogroup msg_#xxxxxx# 
- * @{ 
+/**@addtogroup msg_#xxxxxx#
+ * @{
  */
 
-enum { 
+enum {
   /** Hash of #xxxxxxx_xxxxxxx#. @internal */
-  msg_#xxxxxx#_hash = #hash# 
+  msg_#xxxxxx#_hash = #hash#
 };
 
 /** Parse a #xxxxxxx_xxxxxxx#. @internal */
@@ -83,43 +83,43 @@
 MSG_DLL msg_dup_f msg_#xxxxxx#_dup_one;
 
 /**Header class for #xxxxxxx_xxxxxxx#.
- * 
- * The header class msg_#xxxxxx#_class defines how a 
+ *
+ * The header class msg_#xxxxxx#_class defines how a
  * #xxxxxxx_xxxxxxx# header is parsed and printed.  It also
  * contains methods used by message parser and other functions
  * to manipulate the #msg_#xxxxxx#_t header structure.
- * 
+ *
  */
 #ifndef msg_#xxxxxx#_class
 MSG_DLL extern msg_hclass_t msg_#xxxxxx#_class[];
 #endif
 
 /**Initializer for an #msg_#xxxxxx#_t structure.
- * 
+ *
  * A static msg_#xxxxxx#_t structure must be initialized
  * with the MSG_#XXXXXX#_INIT() macro. For instance,
- * @code 
- * 
+ * @code
+ *
  *  msg_#xxxxxx#_t msg_#xxxxxx# = MSG_#XXXXXX#_INIT;
- * 
+ *
  * @endcode
  * @HI
  */
 #define MSG_#XXXXXX#_INIT() MSG_HDR_INIT(#xxxxxx#)
 
 /**Initialize an #msg_#xxxxxx#_t structure.
- * 
+ *
  * An #msg_#xxxxxx#_t structure can be initialized with the
  * msg_#xxxxxx#_init() function/macro. For instance,
  * @code
- * 
+ *
  *  msg_#xxxxxx#_t msg_#xxxxxx#;
- * 
+ *
  *  msg_#xxxxxx#_init(&msg_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
- * @param x pointer to #msg_#xxxxxx#_t structure 
+ *
+ * @param x pointer to #msg_#xxxxxx#_t structure
  */
 #if SU_HAVE_INLINE
 su_inline msg_#xxxxxx#_t *msg_#xxxxxx#_init(msg_#xxxxxx#_t x[1])
@@ -132,13 +132,13 @@
 #endif
 
 /**Test if header object is an instance of #msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_is_#xxxxxx#() returns true (nonzero) if
  * the header class is an instance of #xxxxxxx_xxxxxxx#
  * object and false (zero) otherwise.
- * 
+ *
  * @param header pointer to the header structure to be tested
- * 
+ *
  * @return The function msg_is_#xxxxxx#() returns true (nonzero) if the
  * header object is an instance of header #xxxxxxx_xxxxxxx# and false (zero)
  * otherwise.
@@ -155,27 +155,27 @@
 #define msg_#xxxxxx#_p(h) msg_is_#xxxxxx#((h))
 
 /**Duplicate (deep copy) #msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_#xxxxxx#_dup() duplicates a header structure @a
  * header. If the header structure @a header contains a reference
  * (@c header->x_next) to a list of headers, all the headers in the
  * list are duplicated, too.
- * 
+ *
  * @param home   memory home used to allocate new structure
  * @param header header structure to be duplicated
- * 
+ *
  * When duplicating, all parameter lists and non-constant strings
  * attached to the header are copied, too. The function uses given
  * memory @a home to allocate all the memory areas used to copy the
  * header.
- * 
+ *
  * @par Example
  * @code
- * 
+ *
  *   #xxxxxx# = msg_#xxxxxx#_dup(home, msg->msg_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_dup() returns a pointer to the
  * newly duplicated #msg_#xxxxxx#_t header structure, or NULL
@@ -184,44 +184,44 @@
 #if SU_HAVE_INLINE
 su_inline
 #endif
-msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home,
 				 msg_#xxxxxx#_t const *header);
 
 #if SU_HAVE_INLINE
 su_inline
-msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home,
 				 msg_#xxxxxx#_t const *header)
 {
   return (msg_#xxxxxx#_t *)
-    msg_header_dup_as(home, msg_#xxxxxx#_class, (msg_header_t const *)header); 
+    msg_header_dup_as(home, msg_#xxxxxx#_class, (msg_header_t const *)header);
 }
 #endif
 
 
 /**Copy an #msg_#xxxxxx#_t header structure.
- * 
+ *
  * The function msg_#xxxxxx#_copy() copies a header structure @a
  * header. If the header structure @a header contains a reference
  * (@c header->h_next) to a list of headers, all the headers in that
  * list are copied, too. The function uses given memory @a home to
  * allocate all the memory areas used to copy the header structure
  * @a header.
- * 
+ *
  * @param home    memory home used to allocate new structure
  * @param header  pointer to the header structure to be duplicated
- * 
+ *
  * When copying, only the header structure and parameter lists
  * attached to it are duplicated. The new header structure retains
  * all the references to the strings within the old @a header,
  * including the encoding of the old header, if present.
- * 
+ *
  * @par Example
  * @code
- * 
+ *
  *   #xxxxxx# = msg_#xxxxxx#_copy(home, msg->msg_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_copy() returns a pointer to
  * newly copied header structure, or NULL upon an error.
@@ -229,32 +229,32 @@
 #if SU_HAVE_INLINE
 su_inline
 #endif
-msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home,
 				  msg_#xxxxxx#_t const *header);
 
 #if SU_HAVE_INLINE
 su_inline
-msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home,
 				  msg_#xxxxxx#_t const *header)
 {
   return (msg_#xxxxxx#_t *)
-    msg_header_copy_as(home, msg_#xxxxxx#_class, (msg_header_t const *)header); 
+    msg_header_copy_as(home, msg_#xxxxxx#_class, (msg_header_t const *)header);
 }
 #endif
 
 
 /**Make a header structure #msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_#xxxxxx#_make() makes a new #msg_#xxxxxx#_t header
  * structure. It allocates a new header structure, and decodes the string @a
  * s as the value of the structure.
- * 
+ *
  * @param home memory home used to allocate new header structure.
  * @param s    string to be decoded as value of the new header structure
- * 
+ *
  * @note This function may be implemented as a macro calling
  * msg_header_make().
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_make() returns a pointer to newly maked
  * #msg_#xxxxxx#_t header structure, or NULL upon an error.
@@ -270,24 +270,24 @@
 
 
 /**Make a #xxxxxxx_xxxxxxx# from formatting result.
- * 
+ *
  * The function msg_#xxxxxx#_format() makes a new #xxxxxxx_xxxxxxx# object
  * using snprintf-formatted result as its value. The function first
  * prints the arguments according to the format @a fmt specified. Then it
  * allocates a new header structure, and uses the formatting result as the
  * header value.
- * 
+ *
  * @param home   memory home used to allocate new header structure.
  * @param fmt    string used as a printf()-style format
  * @param ...    argument list for format
- * 
+ *
  * @note This function may be implemented as a macro calling
  * msg_header_format().
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_format() returns a pointer to newly
  * makes header structure, or NULL upon an error.
- * 
+ *
  * @HIDE
  */
 #if SU_HAVE_INLINE
@@ -301,11 +301,11 @@
 {
   msg_header_t *h;
   va_list ap;
-  
+
   va_start(ap, fmt);
   h = msg_header_vformat(home, msg_#xxxxxx#_class, fmt, ap);
   va_end(ap);
- 
+
   return (msg_#xxxxxx#_t*)h;
 }
 #endif

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_parser.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_parser.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_parser.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef MSG_PARSER_H
 /** Defined when <sofia-sip/msg_parser.h> has been included. */
-#define MSG_PARSER_H 
+#define MSG_PARSER_H
 
 /**@ingroup msg_parser
  * @file sofia-sip/msg_parser.h
@@ -101,8 +101,8 @@
 				   char b[], isize_t bsiz, int eos);
 SOFIAPUBFUN issize_t msg_extract_separator(msg_t *msg, msg_pub_t *mo,
 					   char b[], isize_t bsiz, int eos);
-SOFIAPUBFUN issize_t msg_extract_payload(msg_t *msg, msg_pub_t *mo, 
-					 msg_header_t **return_payload, 
+SOFIAPUBFUN issize_t msg_extract_payload(msg_t *msg, msg_pub_t *mo,
+					 msg_header_t **return_payload,
 					 usize_t body_len,
 					 char b[], isize_t bsiz, int eos);
 
@@ -113,9 +113,9 @@
 SOFIAPUBFUN int msg_firstline_d(char *s, char **ss2, char **ss3);
 
 SOFIAPUBFUN isize_t msg_default_dup_xtra(msg_header_t const *header, isize_t offset);
-SOFIAPUBFUN char *msg_default_dup_one(msg_header_t *dst, 
+SOFIAPUBFUN char *msg_default_dup_one(msg_header_t *dst,
 				      msg_header_t const *src,
-				      char *b, 
+				      char *b,
 				      isize_t xtra);
 
 SOFIAPUBFUN issize_t msg_numeric_d(su_home_t *, msg_header_t *h, char *s, isize_t slen);
@@ -133,7 +133,7 @@
 SOFIAPUBFUN isize_t msg_generic_dup_xtra(msg_header_t const *h, isize_t offset);
 SOFIAPUBFUN char *msg_generic_dup_one(msg_header_t *dst,
 				      msg_header_t const *src,
-				      char *b, 
+				      char *b,
 				      isize_t xtra);
 
 SOFIAPUBFUN isize_t msg_unknown_dup_xtra(msg_header_t const *h, isize_t offset);
@@ -159,7 +159,7 @@
 SOFIAPUBFUN issize_t msg_auth_d(su_home_t *, msg_header_t *h, char *s, isize_t slen);
 SOFIAPUBFUN issize_t msg_auth_e(char b[], isize_t bsiz, msg_header_t const *h, int f);
 SOFIAPUBFUN isize_t msg_auth_dup_xtra(msg_header_t const *h, isize_t offset);
-SOFIAPUBFUN char *msg_auth_dup_one(msg_header_t *dst, msg_header_t const *src, 
+SOFIAPUBFUN char *msg_auth_dup_one(msg_header_t *dst, msg_header_t const *src,
 				   char *b, isize_t xtra);
 
 /* ---------------------------------------------------------------------------
@@ -189,7 +189,7 @@
 #define MSG_TERM_E(p, e) ((p) < (e) ? (p)[0] = '\0' : '\0')
 
 /** Encode a character. @HI */
-#define MSG_CHAR_E(p, e, c) (++(p) < (e) ? ((p)[-1]=(c)) : (c)) 
+#define MSG_CHAR_E(p, e, c) (++(p) < (e) ? ((p)[-1]=(c)) : (c))
 
 /** Calculate separator and string length. @HI */
 #define MSG_STRING_LEN(s, sep_size) ((s) ? (strlen(s) + sep_size) : 0)
@@ -214,7 +214,7 @@
 SOFIAPUBFUN issize_t msg_token_scan(char *start);
 SOFIAPUBFUN issize_t msg_attribute_value_scanner(char *s);
 
-SOFIAPUBFUN issize_t msg_any_list_d(su_home_t *, char **ss, 
+SOFIAPUBFUN issize_t msg_any_list_d(su_home_t *, char **ss,
 				    msg_param_t **append_list,
 				    issize_t (*scanner)(char *s),
 				    int sep);
@@ -269,7 +269,7 @@
 #define MSG_PARAMS_SIZE(rv, params) (rv = msg_params_dup_xtra(params, rv))
 
 /** Duplicate a parameter list */
-SOFIAPUBFUN char *msg_params_dup(msg_param_t const **d, msg_param_t const *s, 
+SOFIAPUBFUN char *msg_params_dup(msg_param_t const **d, msg_param_t const *s,
 				 char *b, isize_t xtra);
 
 /** Count number of parameters in the list */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_protos.h.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_protos.h.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_protos.h.in	Tue Dec 23 07:37:03 2008
@@ -30,7 +30,7 @@
 
 #ifndef MSG_PROTOS_H
 /** Defined when <sofia-sip/msg_protos.h> has been included. */
-#define MSG_PROTOS_H 
+#define MSG_PROTOS_H
 
 /**@ingroup msg_headers
  * @file sofia-sip/msg_protos.h
@@ -58,13 +58,13 @@
 
 /* Declare internal prototypes for #xxxxxxx_xxxxxxx# */
 
-/**@addtogroup msg_#xxxxxx# 
- * @{ 
+/**@addtogroup msg_#xxxxxx#
+ * @{
  */
 
-enum { 
+enum {
   /** Hash of #xxxxxxx_xxxxxxx#. @internal */
-  msg_#xxxxxx#_hash = #hash# 
+  msg_#xxxxxx#_hash = #hash#
 };
 
 /** Parse a #xxxxxxx_xxxxxxx#. @internal */
@@ -74,41 +74,41 @@
 MSG_DLL msg_print_f msg_#xxxxxx#_e;
 
 /**Header class for #xxxxxxx_xxxxxxx#.
- * 
- * The header class msg_#xxxxxx#_class defines how a 
+ *
+ * The header class msg_#xxxxxx#_class defines how a
  * #xxxxxxx_xxxxxxx# header is parsed and printed.  It also
  * contains methods used by message parser and other functions
  * to manipulate the msg_#xxxxxx#_t header structure.
- * 
+ *
  */
 MSG_DLL extern msg_hclass_t msg_#xxxxxx#_class[];
 
 /**Initializer for structure msg_#xxxxxx#_t.
- * 
+ *
  * A static msg_#xxxxxx#_t structure must be initialized
  * with the MSG_#XXXXXX#_INIT() macro. For instance,
- * @code 
- * 
+ * @code
+ *
  *  msg_#xxxxxx#_t msg_#xxxxxx# = MSG_#XXXXXX#_INIT;
- * 
+ *
  * @endcode
  * @HI
  */
 #define MSG_#XXXXXX#_INIT() MSG_HDR_INIT(#xxxxxx#)
 
 /**Initialize a structure msg_#xxxxxx#_t.
- * 
+ *
  * An msg_#xxxxxx#_t structure can be initialized with the
  * msg_#xxxxxx#_init() function/macro. For instance,
  * @code
- * 
+ *
  *  msg_#xxxxxx#_t msg_#xxxxxx#;
- * 
+ *
  *  msg_#xxxxxx#_init(&msg_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
- * @param x pointer to msg_#xxxxxx#_t structure 
+ *
+ * @param x pointer to msg_#xxxxxx#_t structure
  */
 #if SU_HAVE_INLINE
 su_inline msg_#xxxxxx#_t *msg_#xxxxxx#_init(msg_#xxxxxx#_t x[1])
@@ -121,13 +121,13 @@
 #endif
 
 /**Test if header object is instance of msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_is_#xxxxxx#() returns true (nonzero) if
  * the header class is an instance of #xxxxxxx_xxxxxxx#
  * object and false (zero) otherwise.
- * 
+ *
  * @param header pointer to the header structure to be tested
- * 
+ *
  * @return
  * The function msg_is_#xxxxxx#() returns true (nonzero) if
  * the header object is an instance of header #xxxxxx# and
@@ -144,27 +144,27 @@
 #endif
 
 /**Duplicate (deep copy) @c msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_#xxxxxx#_dup() duplicates a header structure @a
  * header. If the header structure @a header contains a reference
  * (@c header->x_next) to a list of headers, all the headers in the
  * list are duplicated, too.
- * 
+ *
  * @param home   memory home used to allocate new structure
  * @param header header structure to be duplicated
- * 
+ *
  * When duplicating, all parameter lists and non-constant strings
  * attached to the header are copied, too. The function uses given
  * memory @a home to allocate all the memory areas used to copy the
  * header.
- * 
+ *
  * @par Example
  * @code
- * 
+ *
  *   #xxxxxx# = msg_#xxxxxx#_dup(home, msg->msg_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_dup() returns a pointer to the
  * newly duplicated msg_#xxxxxx#_t header structure, or NULL
@@ -173,45 +173,45 @@
 #if SU_HAVE_INLINE
 su_inline
 #endif
-msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home,
 				 msg_#xxxxxx#_t const *header)
      __attribute__((__malloc__));
 
 #if SU_HAVE_INLINE
 su_inline
-msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home,
 				 msg_#xxxxxx#_t const *header)
 {
   return (msg_#xxxxxx#_t *)
-    msg_header_dup_as(home, msg_#xxxxxx#_class, (msg_header_t const *)header); 
+    msg_header_dup_as(home, msg_#xxxxxx#_class, (msg_header_t const *)header);
 }
 #endif
 
 
 /**Copy a msg_#xxxxxx#_t header structure.
- * 
+ *
  * The function msg_#xxxxxx#_copy() copies a header structure @a
  * header. If the header structure @a header contains a reference
  * (@c header->h_next) to a list of headers, all the headers in that
  * list are copied, too. The function uses given memory @a home to
  * allocate all the memory areas used to copy the header structure
  * @a header.
- * 
+ *
  * @param home    memory home used to allocate new structure
  * @param header  pointer to the header structure to be duplicated
- * 
+ *
  * When copying, only the header structure and parameter lists
  * attached to it are duplicated. The new header structure retains
  * all the references to the strings within the old @a header,
  * including the encoding of the old header, if present.
- * 
+ *
  * @par Example
  * @code
- * 
+ *
  *   #xxxxxx# = msg_#xxxxxx#_copy(home, msg->msg_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_copy() returns a pointer to
  * newly copied header structure, or NULL upon an error.
@@ -219,33 +219,33 @@
 #if SU_HAVE_INLINE
 su_inline
 #endif
-msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home,
 				  msg_#xxxxxx#_t const *header)
      __attribute__((__malloc__));
 
 #if SU_HAVE_INLINE
 su_inline
-msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home,
 				  msg_#xxxxxx#_t const *header)
 {
   return (msg_#xxxxxx#_t *)
-    msg_header_copy_as(home, msg_#xxxxxx#_class, (msg_header_t const *)header); 
+    msg_header_copy_as(home, msg_#xxxxxx#_class, (msg_header_t const *)header);
 }
 #endif
 
 /**Make a header structure msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_#xxxxxx#_make() makes a new
  * msg_#xxxxxx#_t header structure.  It allocates a new
  * header structure, and decodes the string @a s as the
  * value of the structure.
- * 
+ *
  * @param home memory home used to allocate new header structure.
  * @param s    string to be decoded as value of the new header structure
- * 
+ *
  * @note This function is usually implemented as a macro calling
  * msg_header_make().
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_make() returns a pointer to
  * newly maked msg_#xxxxxx#_t header structure, or NULL upon
@@ -262,25 +262,25 @@
 #endif
 
 /**Make a #xxxxxxx_xxxxxxx# from formatting result.
- * 
+ *
  * The function msg_#xxxxxx#_format() makes a new
  * #xxxxxxx_xxxxxxx# object using formatting result as its
  * value.  The function first prints the arguments according to
  * the format @a fmt specified.  Then it allocates a new header
  * structure, and uses the formatting result as the header
  * value.
- * 
+ *
  * @param home   memory home used to allocate new header structure.
  * @param fmt    string used as a printf()-style format
  * @param ...    argument list for format
- * 
+ *
  * @note This function is usually implemented as a macro calling
  * msg_header_format().
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_format() returns a pointer to newly
  * makes header structure, or NULL upon an error.
- * 
+ *
  * @HIDE
  */
 #if SU_HAVE_INLINE
@@ -294,11 +294,11 @@
 {
   msg_header_t *h;
   va_list ap;
-  
+
   va_start(ap, fmt);
   h = msg_header_vformat(home, msg_#xxxxxx#_class, fmt, ap);
   va_end(ap);
- 
+
   return (msg_#xxxxxx#_t*)h;
 }
 #endif

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_tag_class.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_tag_class.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_tag_class.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef MSG_TAG_CLASS_H
 /** Defined when <sofia-sip/msg_tag_class.h> has been included */
-#define MSG_TAG_CLASS_H 
+#define MSG_TAG_CLASS_H
 
 /**@file sofia-sip/msg_tag_class.h
  * @brief Functions for constructing per-protocol tag classes.
@@ -44,15 +44,15 @@
 SOFIAPUBFUN size_t msghdrtag_xtra(tagi_t const *t, size_t offset);
 SOFIAPUBFUN tagi_t *msghdrtag_dup(tagi_t *dst, tagi_t const *src,
 				  void **inout_buffer);
-SOFIAPUBFUN int msghdrtag_scan(tag_type_t tt, su_home_t *home, 
-			       char const *s, 
+SOFIAPUBFUN int msghdrtag_scan(tag_type_t tt, su_home_t *home,
+			       char const *s,
 			       tag_value_t *return_value);
-SOFIAPUBFUN tagi_t *msghdrtag_filter(tagi_t *dst, tagi_t const f[], 
-				     tagi_t const *src, 
+SOFIAPUBFUN tagi_t *msghdrtag_filter(tagi_t *dst, tagi_t const f[],
+				     tagi_t const *src,
 				     void **inout_buffer);
 
 SOFIAPUBFUN tagi_t *msgstrtag_filter(tagi_t *dst, tagi_t const f[],
-				     tagi_t const *src, 
+				     tagi_t const *src,
 				     void **inout_buffer);
 
 SOFIAPUBFUN int msgobjtag_snprintf(tagi_t const *t, char b[], size_t size);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_types.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_types.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_types.h	Tue Dec 23 07:37:03 2008
@@ -28,9 +28,9 @@
 
 /**@file sofia-sip/msg_types.h
  * @brief Types for messages and common headers
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Thu Jan 23 15:43:17 2003 ppessi
  *
  */
@@ -65,15 +65,15 @@
 #endif
 
 #ifndef MSG_PUB_T
-#ifdef MSG_OBJ_T 
+#ifdef MSG_OBJ_T
 #define MSG_PUB_T MSG_OBJ_T
 #else
 #define MSG_PUB_T struct msg_pub_s
 #endif
 #endif
 
-/**Public protocol-specific message structure for accessing the message. 
- * 
+/**Public protocol-specific message structure for accessing the message.
+ *
  * This type can be either #sip_t, #http_t, or #msg_multipart_t, depending
  * on the message. The base structure used by msg module is defined in
  * struct #msg_pub_s.
@@ -104,7 +104,7 @@
 
 #define MSG_HEADER_N 16377
 
-/** Common part of the header objects (or message fragments). 
+/** Common part of the header objects (or message fragments).
  *
  * This structure is also known as #msg_common_t or #sip_common_t.
  */
@@ -132,7 +132,7 @@
 
 #define msg_ident msg_common->h_class
 
-/** Numeric header. 
+/** Numeric header.
  *
  * A numeric header has value range of a 32-bit, 0..4294967295. The @a
  * x_value field is unsigned long, however.
@@ -143,7 +143,7 @@
   unsigned long  x_value;	    /**< Numeric header value */
 };
 
-/** Generic header. 
+/** Generic header.
  *
  * A generic header does not have any internal structure. Its value is
  * represented as a string.
@@ -154,8 +154,8 @@
   char const    *g_string;	    /**< Header value */
 };
 
-/** List header. 
- * 
+/** List header.
+ *
  * A list header consists of comma-separated list of tokens.
  */
 struct msg_list_s {
@@ -164,7 +164,7 @@
   msg_param_t       *k_items;	    /**< List of items */
 };
 
-/** Authentication header. 
+/** Authentication header.
  *
  * An authentication header has authentication scheme name and
  * comma-separated list of parameters as its value.
@@ -244,13 +244,13 @@
 
 /* ====================================================================== */
 
-/**Define how to handle existing headers 
- * when a new header is added to a message. 
+/**Define how to handle existing headers
+ * when a new header is added to a message.
  */
 typedef enum {
   msg_kind_single,		/**< Only one header is allowed */
   msg_kind_append,		/**< New header is appended */
-  msg_kind_list,		/**< A token list header, 
+  msg_kind_list,		/**< A token list header,
 				 * new header is combined with old one. */
   msg_kind_apndlist,		/**< A complex list header. */
   msg_kind_prepend		/**< New header is prepended */
@@ -259,17 +259,17 @@
 struct su_home_s;
 
 typedef issize_t msg_parse_f(struct su_home_s *, msg_header_t *, char *, isize_t);
-typedef issize_t msg_print_f(char buf[], isize_t bufsiz, 
+typedef issize_t msg_print_f(char buf[], isize_t bufsiz,
 			     msg_header_t const *, int flags);
-typedef char *msg_dup_f(msg_header_t *dst, msg_header_t const *src, 
+typedef char *msg_dup_f(msg_header_t *dst, msg_header_t const *src,
 			char *buf, isize_t bufsiz);
 typedef isize_t msg_xtra_f(msg_header_t const *h, isize_t offset);
 
 typedef int msg_update_f(msg_common_t *, char const *name, isize_t namelen,
 			 char const *value);
 
-/** Factory object for a header. 
- * 
+/** Factory object for a header.
+ *
  * The #msg_hclass_t object, "header class", defines how a header is
  * handled. It has parsing and printing functions, functions used to copy
  * header objects, header name and other information used when parsing,

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_class.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_class.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_class.c	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 /**@ingroup test_msg
  * @file test_class.c
- * 
+ *
  * Message class for testing parser and transports.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
@@ -65,7 +65,7 @@
 static msg_dup_f msg_request_dup_one;
 
 msg_hclass_t msg_request_class[] =
-MSG_HEADER_CLASS(msg_, request, NULL, "", rq_common, 
+MSG_HEADER_CLASS(msg_, request, NULL, "", rq_common,
 		 single_critical, msg_request, msg_generic);
 
 /** Decode a request line */
@@ -133,7 +133,7 @@
 static msg_dup_f msg_status_dup_one;
 
 msg_hclass_t msg_status_class[1] =
-MSG_HEADER_CLASS(msg_, status, NULL, "", st_common, 
+MSG_HEADER_CLASS(msg_, status, NULL, "", st_common,
 		 single_critical, msg_status, msg_generic);
 
 /** Parse status line */
@@ -162,7 +162,7 @@
   if (status > 999 || status < 100)
     status = 0;
 
-  return snprintf(b, bsiz, "%s %03u %s" CRLF, 
+  return snprintf(b, bsiz, "%s %03u %s" CRLF,
 		  st->st_version, status, st->st_phrase);
 }
 
@@ -201,19 +201,19 @@
   MSG_HEADER_CLASS(msg_, auth, "Auth", "", au_params,
 		   append, msg_auth, msg_generic);
 
-/** Extract the message body, including separator line. 
+/** Extract the message body, including separator line.
  *
- * @param[in,out] msg  message object 
- * @param[in,out] pub  public message structure 
- * @param[in]     b    buffer containing unparsed data 
- * @param[in]     bsiz buffer size 
+ * @param[in,out] msg  message object
+ * @param[in,out] pub  public message structure
+ * @param[in]     b    buffer containing unparsed data
+ * @param[in]     bsiz buffer size
  * @param[in]     eos  true if buffer contains whole message
  *
  * @retval -1     error
  * @retval 0      message is incomplete
  * @retval other  number of bytes extracted
  */
-issize_t msg_test_extract_body(msg_t *msg, msg_pub_t *pub, 
+issize_t msg_test_extract_body(msg_t *msg, msg_pub_t *pub,
 			       char b[], isize_t bsiz, int eos)
 {
   msg_test_t *tst = (msg_test_t *)pub;
@@ -249,14 +249,14 @@
 
   if ((m = msg_extract_payload(msg, (msg_pub_t *)tst, NULL, body_len, b, bsiz, eos) ) == -1)
     return -1;
-  
+
   tst->msg_flags |= MSG_FLG_FRAGS;
   if (bsiz >= body_len)
     tst->msg_flags |= MSG_FLG_COMPLETE;
   return m;
 }
 
-msg_href_t const msg_content_length_href[1] = 
+msg_href_t const msg_content_length_href[1] =
   {{
     msg_content_length_class,
     offsetof(msg_test_t, msg_content_length)
@@ -269,11 +269,11 @@
 
 tagi_t *tsttag_filter(tagi_t *dst,
 		      tagi_t const f[],
-		      tagi_t const *src, 
+		      tagi_t const *src,
 		      void **bb);
 
 /** Tag class for test header tags. @HIDE */
-tag_class_t tsthdrtag_class[1] = 
+tag_class_t tsthdrtag_class[1] =
   {{
     sizeof(tsthdrtag_class),
     /* tc_next */     NULL,
@@ -290,7 +290,7 @@
   }};
 
 /** Tag class for TST header string tags. @HIDE */
-tag_class_t tststrtag_class[1] = 
+tag_class_t tststrtag_class[1] =
   {{
     sizeof(tststrtag_class),
     /* tc_next */     NULL,
@@ -307,7 +307,7 @@
   }};
 
 /** Tag class for TST message tags. @HIDE */
-tag_class_t tstmsgtag_class[1] = 
+tag_class_t tstmsgtag_class[1] =
   {{
     sizeof(tstmsgtag_class),
     /* tc_next */     NULL,
@@ -322,7 +322,7 @@
     /* tc_ref_set */  t_ptr_ref_set,
   }};
 
-tag_typedef_t tsttag_header = 
+tag_typedef_t tsttag_header =
 	{{ TAG_NAMESPACE, "header", tsthdrtag_class, 0 }};
 
 tag_typedef_t tsttag_header_str = STRTAG_TYPEDEF(header_str);
@@ -330,7 +330,7 @@
 /** Filter a TST header structure. */
 tagi_t *tsttag_filter(tagi_t *dst,
 		      tagi_t const f[],
-		      tagi_t const *src, 
+		      tagi_t const *src,
 		      void **bb)
 {
   tagi_t stub[2] = {{ NULL }};
@@ -348,7 +348,7 @@
       msg_hclass_offset(mc, (msg_pub_t *)tst, hc);
     msg_header_t const *h;
 
-    if (tst == NULL || 
+    if (tst == NULL ||
 	(char *)hh >= ((char *)tst + tst->msg_size) ||
 	(char *)hh < (char const *)&tst->msg_request)
       return dst;

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_class.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_class.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_class.h	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 #ifndef TEST_CLASS_H
 /** Defined when <test_class.h> has been included. */
-#define TEST_CLASS_H 
+#define TEST_CLASS_H
 
 /**@ingroup test_msg
  * @file test_class.h
@@ -65,16 +65,16 @@
 typedef struct msg_status_s  msg_status_t;
 
 /** Request line. */
-struct msg_request_s { 
+struct msg_request_s {
   msg_common_t     rq_common[1];   /**< Common fragment info */
   msg_header_t    *rq_next;	   /**< Link to next header */
   char const      *rq_method_name; /**< Method name */
   url_t            rq_url[1];	   /**< RequestURI */
   char const      *rq_version;     /**< Protocol version */
-}; 
+};
 
 /** Status line. */
-struct msg_status_s { 
+struct msg_status_s {
   msg_common_t   st_common[1];	/**< Common fragment info */
   msg_header_t *st_next;	/**< Link to next (dummy) */
   char const    *st_version;	/**< Protocol version */
@@ -107,7 +107,7 @@
   msg_accept_language_t  *msg_accept_language;	/**< Accept-Language */
   msg_mime_version_t     *msg_mime_version;	/**< MIME-Version */
   msg_content_md5_t      *msg_content_md5;	/**< Content-MD5 */
-  msg_content_encoding_t *msg_content_encoding; 
+  msg_content_encoding_t *msg_content_encoding;
 						/**< Content-Encoding */
   msg_content_length_t   *msg_content_length;	/**< Content-Length */
 
@@ -140,7 +140,7 @@
   msg_content_id_t          sh_content_id[1];
   msg_content_md5_t         sh_content_md5[1];
   msg_content_language_t    sh_content_language[1];
-  msg_content_length_t      sh_content_length[1]; 
+  msg_content_length_t      sh_content_length[1];
   msg_content_location_t    sh_content_location[1];
   msg_content_type_t        sh_content_type[1];
   msg_mime_version_t        sh_mime_version[1];

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_msg.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_msg.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_msg.c	Tue Dec 23 07:37:03 2008
@@ -138,7 +138,7 @@
 static int addr_test(void)
 {
   BEGIN();
-  
+
   /* It *will* fail. */
   /* TEST(sizeof(socklen_t), sizeof(msg_addrlen(NULL))); */
 
@@ -268,7 +268,7 @@
 
     msg_param_t const *p = NULL;
     char *master = ";0", *list, *end;
-    
+
     for (i = 1; i < 256; i++) {
       master = su_sprintf(home, "%s; %u", master, i); TEST_1(master);
       list = end = su_strdup(home, master);
@@ -294,7 +294,7 @@
 
     msg_list_t k1[1] = {{{{ 0 }}}};
     char list1[] = "foo, bar, baz  zi  \"baz\"";
-    
+
     TEST_1(msg_list_d(home, (msg_header_t *)k1, list1, strlen(list1)) >= 0);
     TEST_1(k1->k_items);
     TEST_S(k1->k_items[0], "foo");
@@ -310,7 +310,7 @@
     su_home_t home[1] = { SU_HOME_INIT(home) };
     msg_list_t k2[1] = {{{{ 0 }}}};
     char list2[] = "one, two, three, four, five, six, seven, eight";
-    
+
     TEST_1(
 	  msg_list_d(home, (msg_header_t *)k2, list2, strlen(list2)) >= 0);
     TEST_1(k2->k_items);
@@ -319,33 +319,33 @@
 
     su_home_deinit(home);
   }
-    
+
   {
     /* Test that list longer than MSG_PARAMS_N is handled correctly */
     su_home_t home[1] = { SU_HOME_INIT(home) };
     msg_list_t k3[1] = {{{{ 0 }}}};
     char list3[] = "one, two, three, four, five, six, seven, eight, nine";
-    
+
     TEST_1(
 	  msg_list_d(home, (msg_header_t *)k3, list3, strlen(list3)) >= 0);
     TEST_1(k3->k_items);
     TEST_1(k3->k_items[7]);
     TEST_1(k3->k_items[8]);
     TEST_1(k3->k_items[9] == NULL);
-  
+
     su_home_deinit(home);
   }
 
   {
     /* Test that long lists are handled correctly */
     su_home_t home[1] = { SU_HOME_INIT(home) };
-    
+
     msg_param_t *k = NULL;
     char *s;
     char list1[] = "one, two, three, four, five, six, seven, eight";
     char list2[] = "one, two, three, four, five, six, seven, eight";
     char list3[] = "one, two, three, four, five, six, seven, eight";
-    char list4[] = "one, two, three, four, five, six, seven, eight, nine";    
+    char list4[] = "one, two, three, four, five, six, seven, eight, nine";
 
     s = list1; TEST_1(msg_commalist_d(home, &s, &k, msg_token_scan) >= 0);
     TEST_1(k);
@@ -366,7 +366,7 @@
 
     msg_param_t *p = NULL;
     char *master = "0", *list, *end;
-    
+
     for (i = 1; i < 256; i++) {
       master = su_sprintf(home, "%s, %u", master, i); TEST_1(master);
       list = end = su_strdup(home, master);
@@ -389,7 +389,7 @@
   {
     /* Test that errors in lists are handled correctly */
     su_home_t home[1] = { SU_HOME_INIT(home) };
-    
+
     msg_param_t *k = NULL;
     char *s;
     char list1[] = "one, two, three, four, five, six, seven, foo=\"eight";
@@ -409,7 +409,7 @@
 
     msg_list_t k4[1] = {{{{ 0 }}}};
     char list4[] = ", ,\t,\r\n\t,  ,   ";
-    
+
     TEST_1(
 	  msg_list_d(home, (msg_header_t *)k4, list4, strlen(list4)) >= 0);
     TEST_1(k4->k_items == NULL);
@@ -423,7 +423,7 @@
     msg_auth_t au[1] = {{{{ 0 }}}};
     char s[] = "Basic foo = \"bar==\" ,, bar=baari,"
       "baz=\"bof,\\\\ \\\" baff\", base\t64/ - is== ,,";
-    
+
     TEST_1(msg_auth_d(home, (msg_header_t *)au, s, strlen(s)) >= 0);
     TEST_S(au->au_scheme, "Basic");
     TEST_1(au->au_params);
@@ -441,7 +441,7 @@
     su_home_t home[1] = { SU_HOME_INIT(home) };
 
     msg_content_type_t *c;
-    
+
     c = msg_content_type_format(home, "%s/%s;%s;%s;%s;%s;%s;%s",
 				"text", "plain",
 				"charset=iso-8859-15",
@@ -487,7 +487,7 @@
   int i, j, hash = 0;
   msg_mclass_t const *mc = msg_test_mclass;
   msg_hclass_t *hc;
-  
+
   BEGIN();
 
   for (i = 0; i < mc->mc_hash_size; i++) {
@@ -517,12 +517,12 @@
   return msg_make(msg_test_mclass, MSG_DO_EXTRACT_COPY, buffer, -1);
 }
 
-/**Check if header chain contains any loops. 
+/**Check if header chain contains any loops.
  *
  * @return
  * Return 0 if no loop, -1 otherwise.
  */
-static 
+static
 int msg_chain_loop(msg_header_t const *h)
 {
   msg_header_t const *h2;
@@ -542,7 +542,7 @@
   return 0;
 }
 
-/** Check header chain consistency. 
+/** Check header chain consistency.
  *
  * @return
  * Return 0 if consistent, number of errors otherwise.
@@ -552,7 +552,7 @@
 {
   if (msg_chain_loop(h))
     return -1;
-  
+
   for (; h; h = h->sh_succ) {
     if (h->sh_succ && h->sh_succ->sh_prev != &h->sh_succ)
       return -1;
@@ -606,14 +606,14 @@
 
   TEST_1(separator = msg_separator_make(home, "\r\n"));
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (msg_header_t *)separator), 0);
-  TEST_P(tst->msg_separator, separator); 
+  TEST_P(tst->msg_separator, separator);
   TEST_P(separator->sep_common->h_succ, tst->msg_payload);
 
   /* Try to add a new payload */
   TEST_1(payload = msg_payload_make(home, "foofaa\r\n"));
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (msg_header_t *)payload), 0);
   /* It is appended */
-  TEST_P(tst->msg_payload->pl_next, payload); 
+  TEST_P(tst->msg_payload->pl_next, payload);
   TEST_P(tst->msg_payload->pl_common->h_succ, payload);
 
   {
@@ -622,10 +622,10 @@
     msg_param_t foo = "foo=bar";
 
     vs = NULL;
-    MSG_PARAM_MATCH(vs, foo, "foo"); 
+    MSG_PARAM_MATCH(vs, foo, "foo");
     TEST_S(vs, "bar");
     vs = NULL;
-    MSG_PARAM_MATCH(vs, foo, "fo"); 
+    MSG_PARAM_MATCH(vs, foo, "fo");
     TEST_P(vs, NULL);
     vi = 0;
     MSG_PARAM_MATCH_P(vi, foo, "foo");
@@ -670,14 +670,14 @@
     TEST_1(se = fi->aa_next);
 
     TEST_S(en->aa_value, "en");
-    TEST_M(en->aa_common->h_data, 
+    TEST_M(en->aa_common->h_data,
 	   "Accept-Language: en;q=0.8, fi, se ; q = 0.6" CRLF,
 	   en->aa_common->h_len);
 
-    TEST_P((char *)en->aa_common->h_data + en->aa_common->h_len, 
+    TEST_P((char *)en->aa_common->h_data + en->aa_common->h_len,
 	   fi->aa_common->h_data);
     TEST(fi->aa_common->h_len, 0);
-    TEST_P((char *)en->aa_common->h_data + en->aa_common->h_len, 
+    TEST_P((char *)en->aa_common->h_data + en->aa_common->h_len,
 	   se->aa_common->h_data);
     TEST(se->aa_common->h_len, 0);
 
@@ -689,9 +689,9 @@
     TEST_P(fi->aa_next, de);
     TEST_P(de->aa_next, NULL);
 
-    TEST_P(en->aa_common->h_succ, fi); 
+    TEST_P(en->aa_common->h_succ, fi);
     TEST_P(en->aa_common->h_prev, &deflate->aa_common->h_succ);
-    TEST_P(fi->aa_common->h_succ, de); 
+    TEST_P(fi->aa_common->h_succ, de);
     TEST_P(fi->aa_common->h_prev, &en->aa_common->h_succ);
     TEST_P(de->aa_common->h_succ, NULL);
     TEST_P(de->aa_common->h_prev, &fi->aa_common->h_succ);
@@ -700,21 +700,21 @@
     TEST_P(se->aa_common->h_succ, NULL);
     TEST_P(se->aa_common->h_prev, NULL);
 
-    TEST_1(sv = msg_accept_language_make(msg_home(msg), 
+    TEST_1(sv = msg_accept_language_make(msg_home(msg),
 					 "sv;q=0.6,sv_FI;q=0.7"));
     TEST_1(sv_fi = sv->aa_next);
 
     TEST(msg_header_replace(msg, (msg_pub_t *)tst, (void *)fi, (void *)sv), 0);
 
     TEST_P(en->aa_next, sv);
-    TEST_P(sv->aa_next->aa_next, de); 
+    TEST_P(sv->aa_next->aa_next, de);
     TEST_P(de->aa_next, NULL);
 
-    TEST_P(en->aa_common->h_succ, sv); 
+    TEST_P(en->aa_common->h_succ, sv);
     TEST_P(en->aa_common->h_prev, &deflate->aa_common->h_succ);
-    TEST_P(sv->aa_common->h_succ, sv_fi); 
+    TEST_P(sv->aa_common->h_succ, sv_fi);
     TEST_P(sv->aa_common->h_prev, &en->aa_common->h_succ);
-    TEST_P(sv_fi->aa_common->h_succ, de); 
+    TEST_P(sv_fi->aa_common->h_succ, de);
     TEST_P(sv_fi->aa_common->h_prev, &sv->aa_common->h_succ);
     TEST_P(de->aa_common->h_succ, NULL);
     TEST_P(de->aa_common->h_prev, &sv_fi->aa_common->h_succ);
@@ -727,7 +727,7 @@
 		 "Foo: bar" CRLF
 		 "Content-Length: 6" CRLF
 		 CRLF
-		 "test" CRLF 
+		 "test" CRLF
 		 "extra stuff" CRLF);
   TEST_1(orig);
   otst = msg_test_public(orig);
@@ -743,7 +743,7 @@
 
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (void *)request), 0);
 
-  TEST_1(location = 
+  TEST_1(location =
 	 msg_content_location_make(home, "http://localhost:8080/wife"));
 
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (void *)location), 0);
@@ -751,14 +751,14 @@
   TEST(msg_serialize(msg, (msg_pub_t *)tst), 0);
   TEST_1(msg_prepare(msg) > 0);
 
-  TEST_1(language = 
+  TEST_1(language =
 	 msg_content_language_make(home, "se-FI, fi-FI, sv-FI"));
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (void *)language), 0);
 
   TEST_1(se = msg_accept_language_make(home, "se, fi, sv"));
   TEST_1(se->aa_next);  TEST_1(se->aa_next->aa_next);
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (void *)se), 0);
-  
+
   TEST(msg_serialize(msg, (msg_pub_t *)tst), 0);
   TEST_1(msg_prepare(msg) > 0);
 
@@ -789,9 +789,9 @@
     char const encoded[] = "Accept-Language: se, fi, sv\r\n";
     TEST_SIZE(se->aa_common->h_len, strlen(encoded));
     TEST_M(se->aa_common->h_data, encoded, se->aa_common->h_len);
-    TEST_P((char *)se->aa_common->h_data + se->aa_common->h_len, 
+    TEST_P((char *)se->aa_common->h_data + se->aa_common->h_len,
 	   se->aa_next->aa_common->h_data);
-    TEST_P((char *)se->aa_common->h_data + se->aa_common->h_len, 
+    TEST_P((char *)se->aa_common->h_data + se->aa_common->h_len,
 	   se->aa_next->aa_next->aa_common->h_data);
   }
 
@@ -804,7 +804,7 @@
 
     /* Bug #1726034 */
     for (i = 0; i < 15; i++)
-      strcpy(body + i * 66, 
+      strcpy(body + i * 66,
 	     "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
 	     "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r\n");
     pl = msg_payload_make(msg_home(msg), body);
@@ -812,7 +812,7 @@
     TEST(msg_header_insert(msg, (msg_pub_t *)tst, (void *)pl), 0);
 
     s = msg_as_string(msg_home(msg), msg, NULL, 0, &size);
-    TEST_S(s, 
+    TEST_S(s,
 "GET a-wife HTTP/1.1" CRLF
 "Foo: bar" CRLF
 "Content-Length: 6" CRLF
@@ -854,7 +854,7 @@
 
   TEST_1(home = su_home_new(sizeof *home));
 
-  TEST_1((w = msg_warning_make(home, 
+  TEST_1((w = msg_warning_make(home,
 			       "399 host:5060 \"Ok\", "
 			       "399 [::1]:39999 \"foo\\\" bar\"")));
   TEST(w->w_code, 399);
@@ -980,8 +980,8 @@
   TEST_1(la->k_next->k_common->h_data);
   TEST_1(la->k_next->k_items == NULL);
 
-  TEST(msg_header_add_make(msg, (msg_pub_t *)tst, 
-			   msg_content_language_class, 
+  TEST(msg_header_add_make(msg, (msg_pub_t *)tst,
+			   msg_content_language_class,
 			   "en-gb"), 0);
   TEST_P(la, tst->msg_content_language);
   TEST_P(la->k_common->h_data, NULL);
@@ -998,19 +998,19 @@
 
   TEST_1(separator = msg_separator_make(home, "\r\n"));
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (msg_header_t *)separator), 0);
-  TEST_P(tst->msg_separator, separator); 
+  TEST_P(tst->msg_separator, separator);
   TEST_P(separator->sep_common->h_succ, tst->msg_payload);
 
   /* Try to add a new payload */
   TEST_1(payload = msg_payload_make(home, "foofaa\r\n"));
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (msg_header_t *)payload), 0);
   /* The new payload should be appended */
-  TEST_P(tst->msg_payload->pl_next, payload); 
+  TEST_P(tst->msg_payload->pl_next, payload);
   TEST_P(tst->msg_payload->pl_common->h_succ, payload);
 
   /* Try to add a new header */
-  TEST_1(l = msg_content_length_create(home, 
-				       tst->msg_payload->pl_len + 
+  TEST_1(l = msg_content_length_create(home,
+				       tst->msg_payload->pl_len +
 				       payload->pl_len));
   TEST(msg_header_insert(msg, (msg_pub_t *)tst, (msg_header_t *)l), 0);
   /* The new header should be last before separator */
@@ -1056,7 +1056,7 @@
   msg_common_t *h, *h_succ;
   msg_iovec_t iovec[8];
 
-  char const s[] = 
+  char const s[] =
     "GET /a-life HTTP/1.1" CRLF
     "Content-Length: 6" CRLF
     "Content-Type: *" CRLF
@@ -1078,10 +1078,10 @@
   TEST_1(copy = msg_test_public(msg));
   TEST_1(copy->msg_request);
   TEST_1(tst0->msg_request);
-  TEST_S(copy->msg_request->rq_url->url_path, 
+  TEST_S(copy->msg_request->rq_url->url_path,
 	 tst0->msg_request->rq_url->url_path);
   TEST_S(copy->msg_request->rq_url->url_path, "a-life");
-  TEST_P(copy->msg_request->rq_url->url_path, 
+  TEST_P(copy->msg_request->rq_url->url_path,
 	 tst0->msg_request->rq_url->url_path);
 
   msg_destroy(msg);
@@ -1090,10 +1090,10 @@
   TEST_1(dup = msg_test_public(msg));
   TEST_1(dup->msg_request);
   TEST_1(tst0->msg_request);
-  TEST_S(dup->msg_request->rq_url->url_path, 
+  TEST_S(dup->msg_request->rq_url->url_path,
 	 tst0->msg_request->rq_url->url_path);
   TEST_S(dup->msg_request->rq_url->url_path, "a-life");
-  TEST_1(dup->msg_request->rq_url->url_path != 
+  TEST_1(dup->msg_request->rq_url->url_path !=
 	 tst0->msg_request->rq_url->url_path);
 
   msg_destroy(msg);
@@ -1156,7 +1156,7 @@
   msg_content_id_t *cid;
   msg_content_transfer_encoding_t *cte;
 
-  char const s[] = 
+  char const s[] =
     "GET /a-life HTTP/1.1" CRLF
     "Accept: text/html;level=4;q=1" CRLF
     "Accept: text / plain;q=0.9" CRLF
@@ -1175,13 +1175,13 @@
     /* "Content-Length: 305" CRLF */
     "Content-MD5: LLO7gLaGqGt4BI6HouiWng==" CRLF
     CRLF
-    "test" CRLF			
+    "test" CRLF
     CRLF			/* 1 */
-    "--LaGqGt4BI6Ho" "  " CRLF	
+    "--LaGqGt4BI6Ho" "  " CRLF
     CRLF			/* 2 */
     "part 1" CRLF		/* 3 */
     CRLF			/* 4 */
-    "--LaGqGt4BI6Ho" CRLF	
+    "--LaGqGt4BI6Ho" CRLF
     "Content-Type: text/plain ; charset = iso-8859-1" CRLF /* 5 */
     "Content-ID: <m7ZvEEm49xdTT0WCDUgnww at localhost>" CRLF /* 6 */
     "Content-Transfer-Encoding: quoted-unreadable" CRLF	/* 7 */
@@ -1191,10 +1191,10 @@
     "Content-Type: text/html" CRLF /* 11 */
     "Content-ID: <4SP77aQZ9z6Top2dvLqKPQ at localhost>" CRLF /* 12 */
     CRLF			/* 13 */
-#define BODY3 "<html><body>part 3</body></html>" CRLF 
+#define BODY3 "<html><body>part 3</body></html>" CRLF
     BODY3			/* 14 */
     CRLF			/* 15 */
-    "--LaGqGt4BI6Ho--" CRLF;	
+    "--LaGqGt4BI6Ho--" CRLF;
 
   BEGIN();
 
@@ -1240,7 +1240,7 @@
   TEST_1(mp->mp_data);
   TEST(memcmp(mp->mp_data, CRLF "--" "LaGqGt4BI6Ho" CRLF, mp->mp_len), 0);
   TEST_1(mp->mp_common->h_data);
-  TEST_M(mp->mp_common->h_data, CRLF "--" "LaGqGt4BI6Ho" "  " CRLF, 
+  TEST_M(mp->mp_common->h_data, CRLF "--" "LaGqGt4BI6Ho" "  " CRLF,
 	 mp->mp_common->h_len);
 
   TEST_1(pl = mp->mp_payload); TEST_1(pl->pl_data);
@@ -1254,7 +1254,7 @@
 
   TEST_1(c = mp->mp_content_type);
   TEST_S(c->c_type, "text/plain"); TEST_S(c->c_subtype, "plain");
-  TEST_1(c->c_params);   TEST_1(c->c_params[0]); 
+  TEST_1(c->c_params);   TEST_1(c->c_params[0]);
   TEST_S(c->c_params[0], "charset=iso-8859-1");
 
   TEST_1(cid = mp->mp_content_id);
@@ -1265,7 +1265,7 @@
   TEST_1(pl = mp->mp_payload); TEST_1(pl->pl_data);
   TEST_SIZE(strlen("part 2"), pl->pl_len);
   TEST(memcmp(pl->pl_data, "part 2", pl->pl_len), 0);
-  
+
   TEST_1(mp = mp->mp_next);
 
   TEST_1(mp->mp_data);
@@ -1295,7 +1295,7 @@
 
   TEST(n, 15);
 
-  head = NULL; 
+  head = NULL;
   TEST_1(h = msg_multipart_serialize(&head, mp0));
   TEST_P(h, mpX->mp_close_delim);
   TEST_1(!msg_chain_errors((msg_header_t *)mp0));
@@ -1306,15 +1306,15 @@
 
   TEST(n, 15);
 
-  /* Add a new part to multipart */   
-  mpnew = su_zalloc(home, sizeof(*mpnew)); TEST_1(mpnew); 
+  /* Add a new part to multipart */
+  mpnew = su_zalloc(home, sizeof(*mpnew)); TEST_1(mpnew);
   removed = mpX->mp_close_delim;
   mpX->mp_next = mpnew; mpX = mpnew;
   mpnew->mp_content_type = msg_content_type_make(home, "multipart/mixed");
   TEST_1(mpnew->mp_content_type);
   TEST(msg_multipart_complete(msg_home(msg), tst->msg_content_type, mp0), 0);
 
-  head = NULL; 
+  head = NULL;
   TEST_1(h = msg_multipart_serialize(&head, mp0));
   TEST_P((void *)h, mpX->mp_close_delim);
   TEST_1(!msg_chain_errors((msg_header_t *)mp0));
@@ -1355,14 +1355,14 @@
   TEST(n, 19);
 
   /* Add an recursive multipart */
-  mpnew = su_zalloc(home, sizeof(*mpnew)); TEST_1(mpnew); 
+  mpnew = su_zalloc(home, sizeof(*mpnew)); TEST_1(mpnew);
   mpX->mp_multipart = mpnew;
   mpnew->mp_content_type = msg_content_type_make(home, "text/plain");
   TEST_1(mpnew->mp_content_type);
   TEST(msg_multipart_complete(msg_home(msg), tst->msg_content_type, mp0), 0);
   TEST_1(mpnew->mp_close_delim);
 
-  head = NULL; 
+  head = NULL;
   TEST_1(h = msg_multipart_serialize(&head, mp0));
   TEST_P(h, mpX->mp_close_delim);
 
@@ -1393,7 +1393,7 @@
   msg_payload_t *pl;
   char const *end;
 
-  char const s[] = 
+  char const s[] =
     "GET /a-life HTTP/1.1" CRLF
     "Accept: text/html;level=4;q=1" CRLF
     "Accept: text / plain;q=0.9" CRLF
@@ -1411,13 +1411,13 @@
     "Content-Type: multipart/alternative ; boundary=\"LaGqGt4BI6Ho\"" CRLF
     "Content-MD5: LLO7gLaGqGt4BI6HouiWng==" CRLF
     CRLF
-    "test" CRLF			
+    "test" CRLF
     CRLF			/* 1 */
-    "--LaGqGt4BI6Ho" "  " CRLF	
+    "--LaGqGt4BI6Ho" "  " CRLF
     CRLF			/* 2 */
     "part 1" CRLF		/* 3 */
     CRLF			/* 4 */
-    "--LaGqGt4BI6Ho" CRLF	
+    "--LaGqGt4BI6Ho" CRLF
     "Content-Type: text/plain;charset=iso-8859-1" CRLF /* 5 */
     "Content-ID: <m7ZvEEm49xdTT0WCDUgnww at localhost>" CRLF /* 6 */
     "Content-Transfer-Encoding: quoted-unreadable" CRLF	/* 7 */
@@ -1427,10 +1427,10 @@
     "Content-Type: text/html" CRLF /* 11 */
     "Content-ID: <4SP77aQZ9z6Top2dvLqKPQ at localhost>" CRLF /* 12 */
     CRLF			/* 13 */
-#define BODY3 "<html><body>part 3</body></html>" CRLF 
+#define BODY3 "<html><body>part 3</body></html>" CRLF
     BODY3			/* 14 */
     CRLF			/* 15 */
-    "--LaGqGt4BI6Ho--" CRLF;	
+    "--LaGqGt4BI6Ho--" CRLF;
 
   char const part1[] = "This is text\n";
   char const part2[] = "<html><body>This is html</body></html>";
@@ -1465,19 +1465,19 @@
     su_home_t h0[1] = { SU_HOME_INIT(h0) };
 
     pl = msg_payload_dup(h0, tst->msg_payload); TEST_1(pl);
-  
+
     mp = msg_multipart_parse(home, c, pl); TEST_1(mp);
 
-    for (n = 0, h = (msg_header_t *)mp; h; h = h->sh_succ, n++) 
+    for (n = 0, h = (msg_header_t *)mp; h; h = h->sh_succ, n++)
       h->sh_data = NULL, h->sh_len = 0;
     TEST(n, 15);
-    
+
     n = msg_multipart_prepare(msg, mp, 0);
-    
+
     TEST_1(end = strstr(s, "--LaGqGt4BI6Ho  "));
     len = strlen(end);
     TEST(len, n);
-    
+
     TEST_1(mp = msg_multipart_dup(h0, mp));
 
     su_home_check(h0);
@@ -1489,20 +1489,20 @@
     su_home_t h0[1] = { SU_HOME_INIT(h0) };
 
     pl = msg_payload_dup(h0, tst->msg_payload); TEST_1(pl);
-  
+
     mp = msg_multipart_parse(h0, NULL, pl);
     TEST_1(mp);
 
-    for (n = 0, h = (msg_header_t *)mp; h; h = h->sh_succ, n++) 
+    for (n = 0, h = (msg_header_t *)mp; h; h = h->sh_succ, n++)
       h->sh_data = NULL, h->sh_len = 0;
     TEST(n, 15);
-    
+
     n = msg_multipart_prepare(msg, mp, 0);
-    
+
     TEST_1(end = strstr(s, "--LaGqGt4BI6Ho  "));
     len = strlen(end);
     TEST(len, n);
-    
+
     TEST_1(mp = msg_multipart_dup(h0, mp));
 
     su_home_check(h0);
@@ -1514,7 +1514,7 @@
     su_home_t h0[1] = { SU_HOME_INIT(h0) };
 
     pl = msg_payload_dup(h0, tst->msg_payload); TEST_1(pl);
-  
+
     n = strstr(pl->pl_data, "--LaGqGt4BI6Ho") - (char *)pl->pl_data;
     pl->pl_data = n + (char *)pl->pl_data; pl->pl_len -= n;
 
@@ -1522,14 +1522,14 @@
 
     mp = msg_multipart_parse(h0, NULL, pl); TEST_1(mp);
 
-    for (n = 0, h = (msg_header_t *)mp; h; h = h->sh_succ, n++) 
+    for (n = 0, h = (msg_header_t *)mp; h; h = h->sh_succ, n++)
       h->sh_data = NULL, h->sh_len = 0;
     TEST(n, 15);
-    
+
     n = msg_multipart_prepare(msg, mp, 0);
 
     TEST(len, n);
-    
+
     TEST_1(mp = msg_multipart_dup(h0, mp));
 
     su_home_check(h0);
@@ -1542,7 +1542,7 @@
     char *b;
 
     pl = msg_payload_dup(h0, tst->msg_payload); TEST_1(pl);
-  
+
     /* Remove CRs */
     b = pl->pl_data, len = pl->pl_len;
     for (n = m = 0; n < len; n++) {
@@ -1550,14 +1550,14 @@
 	m++;
     }
     pl->pl_len = m;
-    
+
     mp = msg_multipart_parse(h0, NULL, pl);
     TEST_1(mp);
-    
-    for (n = 0, h = (msg_header_t *)mp; h; h = h->sh_succ, n++) 
+
+    for (n = 0, h = (msg_header_t *)mp; h; h = h->sh_succ, n++)
       h->sh_data = NULL, h->sh_len = 0;
     TEST(n, 15);
-    
+
     n = msg_multipart_prepare(msg, mp, 0);
     TEST_1(n > 0);
 
@@ -1571,10 +1571,10 @@
   TEST_1(c = msg_content_type_make(home, "multipart/related"));
 
   TEST_1(mp = msg_multipart_create(home, "text/plain", part1, strlen(part1)));
-  TEST_1(mp->mp_next = 
+  TEST_1(mp->mp_next =
 	 msg_multipart_create(home, "text/html", part2, strlen(part2)));
-  TEST_1(mp->mp_next->mp_next = 
-	 msg_multipart_create(home, "application/octet-stream", 
+  TEST_1(mp->mp_next->mp_next =
+	 msg_multipart_create(home, "application/octet-stream",
 			      part3, sizeof part3));
 
   TEST(msg_multipart_complete(home, c, mp), 0);
@@ -1605,7 +1605,7 @@
   msg_accept_encoding_t *aen;
   msg_accept_language_t *ala;
 
-  char const s[] = 
+  char const s[] =
     "GET /a-life HTTP/1.1" CRLF
     "Accept-Language: fi" CRLF
     "Accept-Encoding: z0" CRLF
@@ -1629,7 +1629,7 @@
   TEST(msg_header_remove(msg, (msg_pub_t *)tst, (msg_header_t *)ala), 0);
   TEST_S(ala->aa_value, "de");
 
-  TEST_1(ala = tst->msg_accept_language); 
+  TEST_1(ala = tst->msg_accept_language);
   TEST_1(ala = ala->aa_next); TEST_S(ala->aa_value, "se");
   /* Make sure that cached encoding of se is reset */
   TEST_1(ala->aa_common->h_data == NULL);
@@ -1642,12 +1642,12 @@
   TEST_1(aen = tst->msg_accept_encoding->aa_next->aa_next);
   TEST(msg_header_remove_all(msg, (msg_pub_t *)tst, (msg_header_t *)aen), 0);
 
-  TEST_1(aen = tst->msg_accept_encoding); 
+  TEST_1(aen = tst->msg_accept_encoding);
   TEST_1(aen = aen->aa_next); TEST_S(aen->aa_value, "z1");
   /* Make sure that cached encoding of z1 is reset */
   TEST_1(aen->aa_common->h_data == NULL);
   TEST_1(aen->aa_common->h_len == 0);
-  TEST_1(aen->aa_next == NULL); 
+  TEST_1(aen->aa_next == NULL);
 
   TEST_1(aen->aa_common->h_succ == (void *)ala);
   TEST_1(ala->aa_next->aa_common);
@@ -1708,7 +1708,7 @@
   TEST_S(token, "aaaaaaaaaaaaa");
   TEST_SIZE(msg_random_token(token, 32, zeros, 12), 20);
   TEST_S(token, "aaaaaaaaaaaaaaaaaaaa");
-  
+
   END();
 }
 

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_protos.h.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_protos.h.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_protos.h.in	Tue Dec 23 07:37:03 2008
@@ -1,4 +1,4 @@
-/**-*- c -*- 
+/**-*- c -*-
  * @ingroup msg
  * @internal @file test_protos.h.in
  *
@@ -31,15 +31,15 @@
 
 #ifndef TEST_PROTOS_H
 /** Defined when <test_protos.h> has been included. */
-#define TEST_PROTOS_H 
+#define TEST_PROTOS_H
 
 /**@ingroup test_msg
  * @file test_protos.h
  *
  * Prototypes and macros for dummy testing protocol headers.
- * 
+ *
  * #AUTO#
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  */
 
@@ -85,8 +85,8 @@
 /**Tag list item for header string.
  *
  * The TSTTAG_HEADER_STR() macro is used to include a tag item containing a
- * header string in the tag list, e.g., 
- * @code 
+ * header string in the tag list, e.g.,
+ * @code
  * TSTTAG_HEADER_STR("Priority: urgent").
  * @endcode
  *
@@ -134,7 +134,7 @@
 #if HAVE_INLINE
 su_inline
 tag_value_t tsttag_tst_v(msg_test_t const *v) { return (tag_value_t)v; }
-su_inline 
+su_inline
 tag_value_t tsttag_tst_vr(msg_test_t const **vp) { return (tag_value_t)vp; }
 #else
 #define tsttag_tst_v(v)   (tag_value_t)(v)
@@ -153,8 +153,8 @@
 
 
 /**Header class for #xxxxxxx_xxxxxxx#.
- * 
- * The header class msg_#xxxxxx#_class defines how a 
+ *
+ * The header class msg_#xxxxxx#_class defines how a
  * #xxxxxxx_xxxxxxx# is parsed and printed.  It also
  * contains methods used by message parser and other functions
  * to manipulate the msg_#xxxxxx#_t header structure.
@@ -162,28 +162,28 @@
 extern msg_hclass_t msg_#xxxxxx#_class[];
 
 /**Initializer for structure msg_#xxxxxx#_t.
- * 
+ *
  * A static msg_#xxxxxx#_t structure must be initialized
  * with the MSG_#XXXXXX#_INIT() macro. For instance,
- * @code 
- * 
+ * @code
+ *
  *  msg_#xxxxxx#_t msg_#xxxxxx# = MSG_#XXXXXX#_INIT;
- * 
+ *
  * @endcode
  * @HI
  */
 #define MSG_#XXXXXX#_INIT() MSG_HDR_INIT(#xxxxxx#)
 
 /**Initialize a structure msg_#xxxxxx#_t.
- * 
+ *
  * An msg_#xxxxxx#_t structure can be initialized with the
  * msg_#xxxxxx#_init() function/macro. For instance,
  * @code
- * 
+ *
  *  msg_#xxxxxx#_t msg_#xxxxxx#;
- * 
+ *
  *  msg_#xxxxxx#_init(&msg_#xxxxxx#);
- * 
+ *
  * @endcode
  * @HI
  */
@@ -198,13 +198,13 @@
 #endif
 
 /**Test if header object is instance of msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_is_#xxxxxx#() returns true (nonzero) if
  * the header class is an instance of #xxxxxxx_xxxxxxx#
  * object and false (zero) otherwise.
- * 
+ *
  * @param header pointer to the header structure to be tested
- * 
+ *
  * @return
  * The function msg_is_x#xxxxxx#() returns true (nonzero) if
  * the header object is an instance of header #xxxxxx# and
@@ -222,27 +222,27 @@
 #define msg_#xxxxxx#_p(h) msg_is_#xxxxxx#((h))
 
 /**Duplicate (deep copy) @c msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_#xxxxxx#_dup() duplicates a header
  * structure @a hdr.  If the header structure @a hdr
  * contains a reference (@c hdr->x_next) to a list of
  * headers, all the headers in the list are duplicated, too.
- * 
+ *
  * @param home  memory home used to allocate new structure
  * @param hdr   header structure to be duplicated
- * 
+ *
  * When duplicating, all parameter lists and non-constant
  * strings attached to the header are copied, too.  The
  * function uses given memory @a home to allocate all the
  * memory areas used to copy the header.
- * 
+ *
  * @par Example
  * @code
- * 
+ *
  *   #xxxxxx# = msg_#xxxxxx#_dup(home, tst->msg_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_dup() returns a pointer to the
  * newly duplicated msg_#xxxxxx#_t header structure, or NULL
@@ -251,49 +251,49 @@
 msg_#xxxxxx#_t *msg_#xxxxxx#_dup(su_home_t *home, msg_#xxxxxx#_t const *hdr);
 
 /**Copy a msg_#xxxxxx#_t header structure.
- * 
+ *
  * The function msg_#xxxxxx#_copy() copies a header structure @a
  * hdr.  If the header structure @a hdr contains a reference (@c
  * hdr->h_next) to a list of headers, all the headers in that
  * list are copied, too. The function uses given memory @a home
  * to allocate all the memory areas used to copy the header
  * structure @a hdr.
- * 
+ *
  * @param home    memory home used to allocate new structure
  * @param hdr     pointer to the header structure to be duplicated
- * 
+ *
  * When copying, only the header structure and parameter lists
  * attached to it are duplicated.  The new header structure
  * retains all the references to the strings within the old @a
  * header, including the encoding of the old header, if present.
- * 
+ *
  * @par Example
  * @code
- * 
+ *
  *   #xxxxxx# = msg_#xxxxxx#_copy(home, tst->msg_#xxxxxx#);
- * 
+ *
  * @endcode
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_copy() returns a pointer to
  * newly copied header structure, or NULL upon an error.
  */
-msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home, 
+msg_#xxxxxx#_t *msg_#xxxxxx#_copy(su_home_t *home,
 				  msg_#xxxxxx#_t const *hdr);
 
 /**Make a header structure msg_#xxxxxx#_t.
- * 
+ *
  * The function msg_#xxxxxx#_make() makes a new
  * msg_#xxxxxx#_t header structure.  It allocates a new
  * header structure, and decodes the string @a s as the
  * value of the structure.
- * 
+ *
  * @param home memory home used to allocate new header structure.
  * @param s    string to be decoded as value of the new header structure
- * 
+ *
  * @note This function is usually implemented as a macro calling
  * msg_header_make().
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_make() returns a pointer to
  * newly maked msg_#xxxxxx#_t header structure, or NULL upon
@@ -309,25 +309,25 @@
 #endif
 
 /**Make a #xxxxxxx_xxxxxxx# from formatting result.
- * 
+ *
  * The function msg_#xxxxxx#_format() makes a new
  * #xxxxxxx_xxxxxxx# object using formatting result as its
  * value.  The function first prints the arguments according to
  * the format @a fmt specified.  Then it allocates a new header
  * structure, and uses the formatting result as the header
  * value.
- * 
+ *
  * @param home   memory home used to allocate new header structure.
  * @param fmt    string used as a printf()-style format
  * @param ...    argument list for format
- * 
+ *
  * @note This function is usually implemented as a macro calling
  * msg_header_format().
- * 
+ *
  * @return
  * The function msg_#xxxxxx#_format() returns a pointer to newly
  * makes header structure, or NULL upon an error.
- * 
+ *
  * @HIDE
  */
 #if SU_HAVE_INLINE
@@ -341,11 +341,11 @@
 {
   msg_header_t *h;
   va_list ap;
-  
+
   va_start(ap, fmt);
   h = msg_header_vformat(home, msg_#xxxxxx#_class, fmt, ap);
   va_end(ap);
- 
+
   return (msg_#xxxxxx#_t *)h;
 }
 #endif

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_table.c.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_table.c.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/msg/test_table.c.in	Tue Dec 23 07:37:03 2008
@@ -31,8 +31,8 @@
  */
 
 /**@ingroup test_msg
- * 
- * @CFILE test_table.c 
+ *
+ * @CFILE test_table.c
  * @brief Parser table used for testing.
  *
  * #AUTO#

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/Doxyfile.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/Doxyfile.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/Doxyfile.in	Tue Dec 23 07:37:03 2008
@@ -1,7 +1,7 @@
 PROJECT_NAME         = "nea"
 OUTPUT_DIRECTORY     = ../docs/html/nea
 
-INPUT 		     = @srcdir@/nea.docs @srcdir@/sofia-sip @srcdir@ . 
+INPUT 		     = @srcdir@/nea.docs @srcdir@/sofia-sip @srcdir@ .
 
 @INCLUDE_PATH = . @srcdir@
 @INCLUDE = ../docs/Doxyfile.conf

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/Makefile.am
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/Makefile.am	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/Makefile.am	Tue Dec 23 07:37:03 2008
@@ -22,7 +22,7 @@
 
 noinst_LTLIBRARIES = 	libnea.la
 
-TESTS = 
+TESTS =
 
 # ----------------------------------------------------------------------
 # Rules for building the targets
@@ -49,7 +49,7 @@
 			../msg/libmsg.la \
 			../url/liburl.la \
 			../bnf/libbnf.la \
-			../su/libsu.la 
+			../su/libsu.la
 
 # ----------------------------------------------------------------------
 # Install and distribution rules

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea.c	Tue Dec 23 07:37:03 2008
@@ -66,7 +66,7 @@
   sip_to_t         *nea_to;		/**< The other end of subscription :) */
   nea_notify_f      nea_callback;	/**< Notify callback  */
   nea_magic_t      *nea_context;	/**< Application context */
-   
+
   sip_contact_t    *nea_contact;	/**< */
   sip_expires_t    *nea_expires;	/**< Proposed expiration time */
 
@@ -84,12 +84,12 @@
 
 static int process_nea_request(nea_t *nea,
 			       nta_leg_t *leg,
-			       nta_incoming_t *ireq, 
+			       nta_incoming_t *ireq,
 			       sip_t const *sip);
 
-static int handle_notify(nta_leg_magic_t *lmagic, 
+static int handle_notify(nta_leg_magic_t *lmagic,
 			 nta_leg_t *leg,
-			 nta_incoming_t *ireq, 
+			 nta_incoming_t *ireq,
 			 sip_t const *sip);
 
 static int response_to_subscribe(nea_t *nea,
@@ -126,13 +126,13 @@
 
   ta_start(ta, tag, value);
 
-  have_to = 
+  have_to =
     tl_find(ta_args(ta), siptag_to) || tl_find(ta_args(ta), siptag_to_str);
-  have_from = 
+  have_from =
     tl_find(ta_args(ta), siptag_from) || tl_find(ta_args(ta), siptag_from_str);
   have_contact =
-    tl_find(ta_args(ta), siptag_contact) || 
-    tl_find(ta_args(ta), siptag_contact_str);    
+    tl_find(ta_args(ta), siptag_contact) ||
+    tl_find(ta_args(ta), siptag_contact_str);
 
   if (have_to && (nea = su_home_new(sizeof(nea_t)))) {
     su_home_t      *home = nea->nea_home;
@@ -145,7 +145,7 @@
     nea->nea_callback = no_callback;
     nea->nea_context = context;
 
-    if (!have_from) 
+    if (!have_from)
       from = sip_from_create(home, (url_string_t*)m->m_url);
     else
       from = NULL;
@@ -155,7 +155,7 @@
 			     ta_tags(ta));
 
     /* Get and remove Expires header from tag list */
-    tl_gets(nea->nea_args, 
+    tl_gets(nea->nea_args,
 	    SIPTAG_EXPIRES_REF(expires),
 	    SIPTAG_EXPIRES_STR_REF(expires_str),
 	    SIPTAG_TO_REF(to),
@@ -175,8 +175,8 @@
     else
       nea->nea_expires = sip_expires_create(home, EXPIRES_DEFAULT);
 
-    tl_tremove(nea->nea_args, 
-	       SIPTAG_EXPIRES(0), 
+    tl_tremove(nea->nea_args,
+	       SIPTAG_EXPIRES(0),
 	       SIPTAG_EXPIRES_STR(0),
 	       TAG_END());
 
@@ -189,7 +189,7 @@
 
     if (nea->nea_timer) {
       /* Create leg for NOTIFY requests */
-      nea->nea_leg = nta_leg_tcreate(nea->nea_agent, 
+      nea->nea_leg = nta_leg_tcreate(nea->nea_agent,
 				     process_nea_request, nea,
 				     TAG_IF(!have_from, SIPTAG_FROM(from)),
 				     TAG_NEXT(nea->nea_args));
@@ -208,7 +208,7 @@
 
     if (!nea->nea_leg ||
 	!nea->nea_oreq ||
-	!nea->nea_timer) 
+	!nea->nea_timer)
       nea_destroy(nea), nea = NULL;
   }
 
@@ -217,7 +217,7 @@
 }
 
 
-int nea_update(nea_t *nea, 
+int nea_update(nea_t *nea,
 	       tag_type_t tag,
 	       tag_value_t value,
 	       ...)
@@ -234,22 +234,22 @@
   /* XXX - hack, previous request still waiting for response */
   if (!nea->nea_leg || nea->nea_oreq)
     return -1;
-    
+
   ta_start(ta, tag, value);
-  
+
   tl_gets(ta_args(ta),
 	  SIPTAG_CONTENT_TYPE_REF(ct),
 	  SIPTAG_CONTENT_TYPE_STR_REF(cts),
 	  SIPTAG_PAYLOAD_REF(pl),
 	  SIPTAG_EXPIRES_REF(expires),
 	  TAG_NULL());
-  
+
   if (!pl || (!ct && !cts)) {
     ta_end(ta);
     return -1;
   }
 
-  tl_tremove(nea->nea_args, 
+  tl_tremove(nea->nea_args,
 	     SIPTAG_CONTENT_TYPE(0),
 	     SIPTAG_CONTENT_TYPE_STR(0),
 	     SIPTAG_PAYLOAD(0),
@@ -268,17 +268,17 @@
 				       response_to_subscribe, nea,
 				       NULL,
 				       SIP_METHOD_SUBSCRIBE,
-				       NULL, 
+				       NULL,
 				       SIPTAG_TO(nea->nea_to),
 				       SIPTAG_PAYLOAD(pl),
-				       TAG_IF(ct, SIPTAG_CONTENT_TYPE(ct)), 
+				       TAG_IF(ct, SIPTAG_CONTENT_TYPE(ct)),
 				       TAG_IF(cts, SIPTAG_CONTENT_TYPE_STR(cts)),
 				       SIPTAG_EXPIRES(nea->nea_expires),
 				       TAG_NEXT(nea->nea_args));
 
   ta_end(ta);
 
-  if (!nea->nea_oreq) 
+  if (!nea->nea_oreq)
     return -1;
 
   return 0;
@@ -329,16 +329,16 @@
 
 
 /* Function called by NTA to handle incoming requests belonging to the leg */
-int process_nea_request(nea_t *nea, 
+int process_nea_request(nea_t *nea,
 			nta_leg_t *leg,
-			nta_incoming_t *ireq, 
+			nta_incoming_t *ireq,
 			sip_t const *sip)
 {
 
   switch (sip->sip_request->rq_method) {
   case sip_method_notify:
     return handle_notify(nea, leg, ireq, sip);
-  case sip_method_ack:  
+  case sip_method_ack:
     return 400;
   default:
     nta_incoming_treply(ireq, SIP_405_METHOD_NOT_ALLOWED,
@@ -370,12 +370,12 @@
     sip_time_t now = sip_now();
     if (!nea->nea_notify_received) {
       nea->nea_deadline = now +
-	sip_contact_expires(NULL, sip->sip_expires, sip->sip_date, 
+	sip_contact_expires(NULL, sip->sip_expires, sip->sip_date,
 			    EXPIRES_DEFAULT, now);
       if (sip->sip_to->a_tag && !nea->nea_dialog) {
 	nea->nea_dialog = 1;
 	nta_leg_rtag(nea->nea_leg, sip->sip_to->a_tag);
-	nta_leg_client_route(nea->nea_leg, 
+	nta_leg_client_route(nea->nea_leg,
 			     sip->sip_record_route, sip->sip_contact);
       }
     }
@@ -432,14 +432,14 @@
   if (nea->nea_oreq || !error) {
     su_time_t now = su_now();
     now.tv_sec = nea->nea_deadline;
-    su_timer_set_at(nea->nea_timer, 
-		    nea_expires_renew, 
+    su_timer_set_at(nea->nea_timer,
+		    nea_expires_renew,
 		    nea,
 		    now);
   }
   else
     nea->nea_callback(nea, nea->nea_context, NULL);
-    
+
   return 0;
 }
 
@@ -454,16 +454,16 @@
 
   if (status >= 200)
     nta_outgoing_destroy(orq), nea->nea_oreq = NULL;
-  if (status >= 300) 
+  if (status >= 300)
     nea->nea_callback(nea, nea->nea_context, NULL);
 
   return 0;
 }
 
 /** handle notifications */
-int handle_notify(nea_t *nea, 
+int handle_notify(nea_t *nea,
 		  nta_leg_t *leg,
-		  nta_incoming_t *irq, 
+		  nta_incoming_t *irq,
 		  sip_t const *sip)
 {
   sip_subscription_state_t *ss = sip->sip_subscription_state;
@@ -475,9 +475,9 @@
 
     if (ss == NULL)
       phrase = "NOTIFY Has No Subscription-State Header";
-    else if (sip->sip_event == NULL) 
+    else if (sip->sip_event == NULL)
       phrase = "Event Header Missing";
-      
+
     if (phrase) {
       nta_incoming_treply(irq, 400, phrase, TAG_END());
       nta_incoming_destroy(irq);
@@ -511,7 +511,7 @@
   if (!nea->nea_dialog) {
     nea->nea_dialog = 1;
     nta_leg_rtag(nea->nea_leg, sip->sip_from->a_tag);
-    nta_leg_server_route(nea->nea_leg, 
+    nta_leg_server_route(nea->nea_leg,
 			 sip->sip_record_route, sip->sip_contact);
   }
 
@@ -541,9 +541,9 @@
       return 200;
     }
   }
-  else if (strcasecmp(ss->ss_substate, "pending") == 0) 
+  else if (strcasecmp(ss->ss_substate, "pending") == 0)
     nea->nea_state = nea_pending;
-  else if (strcasecmp(ss->ss_substate, "active") == 0) 
+  else if (strcasecmp(ss->ss_substate, "active") == 0)
     nea->nea_state = nea_active;
   else
     nea->nea_state = nea_extended;
@@ -557,8 +557,8 @@
   {
     su_time_t now = su_now();
     now.tv_sec = nea->nea_deadline;
-    su_timer_set_at(nea->nea_timer, 
-		    nea_expires_renew, 
+    su_timer_set_at(nea->nea_timer,
+		    nea_expires_renew,
 		    nea,
 		    now);
   }
@@ -574,7 +574,7 @@
 
   /* re-subscribe if expires soon */
   if (nea->nea_state == nea_terminated ||
-      nea->nea_deadline == 0 || 
+      nea->nea_deadline == 0 ||
       nea->nea_deadline > now + NEA_TIMER_DELTA)
     return;
 
@@ -592,6 +592,6 @@
 			 NULL,
 			 SIPTAG_EXPIRES(nea->nea_expires),
 			 TAG_NEXT(nea->nea_args));
-    
+
   return;
 }

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea.docs	Tue Dec 23 07:37:03 2008
@@ -1,7 +1,7 @@
 /* -*- c -*- */
 
 /**@MODULEPAGE "nea" - SIP Events Module
- * 
+ *
  * @section nea_meta Module Meta Information
  *
  * Sofia Event API provides an interface to different events used in SIP
@@ -40,9 +40,9 @@
  * {
  *   presentity_t *pr = su_home_clone(p->p_home, sizeof (*pr));
  *   ...
- *   pr->pr_nes = 
+ *   pr->pr_nes =
  *     nea_server_create(agent, root,
- * 		       m->m_url, 
+ * 		       m->m_url,
  * 		       MAX_SUBSCRIBERS,
  * 		       event_callback, pr,
  * 		       SIPTAG_CONTACT(m),
@@ -51,7 +51,7 @@
  * ...
  * }
  * @endcode
- * 
+ *
  * @section nea_event_create Creating Events
  *
  * Next, events are created. The function nea_event_create () defines
@@ -65,7 +65,7 @@
  * #define XPIDF_MIME_TYPE "application/xpidf+xml"
  * #define PIDF_MIME_TYPE "application/cpim-pidf+xml"
 
- * ne = nea_event_create(pr->pr_nes, presence_callback, ep, 
+ * ne = nea_event_create(pr->pr_nes, presence_callback, ep,
  * 		       PRESENCE_PACKAGE, NULL,
  * 		       PIDF_MIME_TYPE,
  * 		       PIDF_MIME_TYPE "," XPIDF_MIME_TYPE);
@@ -83,16 +83,16 @@
  *
  * After the update, subscribers of the event are notified (with SIP
  * NOTIFY) of the changed payload with nea_server_update ().
- * 
+ *
  * @code
  * nea_server_update(pr->pr_nes, home, event, 1,
  *		   SIPTAG_CONTENT_TYPE(ct),
  * 		   SIPTAG_PAYLOAD(pl),
  * 		   TAG_END());
- 
+
  * nea_server_notify(pr->pr_nes, event);
  * @endcode
- * 
+ *
  * Obtaining the event's payload and removing it is presented in the
  * example below. The event is defined as a part of the @a package_t
  * structure. Function nea_payloads_get() is used to return a payload

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_debug.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_debug.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_debug.c	Tue Dec 23 07:37:03 2008
@@ -66,7 +66,7 @@
  *
  * The NEA_DEBUG environment variable is used to determine the debug
  * logging level for @b nea module. The default level is 3.
- * 
+ *
  * @sa <sofia-sip/su_debug.h>, nea_log, SOFIA_DEBUG
  */
 extern char const NEA_DEBUG[];
@@ -75,8 +75,8 @@
 #define SU_DEBUG 3
 #endif
 
-/**Debug log for @b nea module. 
- * 
+/**Debug log for @b nea module.
+ *
  * The nea_log is the log object used by @b nea module. The level of
  * #nea_log is set using #NEA_DEBUG environment variable.
  */

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_event.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_event.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_event.c	Tue Dec 23 07:37:03 2008
@@ -25,7 +25,7 @@
 /**@internal
  * @file nea_event.c
  * @brief Default MIME type for certain events.
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
  * @date Created: Thu Dec 11 20:28:46 2003 ppessi

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c	Tue Dec 23 07:37:03 2008
@@ -71,7 +71,7 @@
   su_home_t                 nes_home[1];
   su_root_t                *nes_root;
   su_timer_t               *nes_timer;
-  
+
   nta_agent_t              *nes_agent;
   nta_leg_t                *nes_leg;
 
@@ -106,8 +106,8 @@
   nea_new_event_f          *nes_callback;
   nea_smagic_t             *nes_context;
 
-  /** Events.  
-   * Each subscriber will be added to one of these. */ 
+  /** Events.
+   * Each subscriber will be added to one of these. */
   nea_event_t              *nes_events;
 };
 
@@ -178,11 +178,11 @@
 struct nea_sub_s {
   nea_sub_t        *s_next;
   nea_sub_t       **s_prev;
-  
+
   nta_leg_t        *s_leg;
   nta_incoming_t   *s_irq;
   nta_outgoing_t   *s_oreq;
-  
+
   nea_server_t     *s_nes;
 
   sip_contact_t    *s_local;	/**< Local contact */
@@ -204,7 +204,7 @@
   unsigned          s_reported :1 ; /**< Made watcher report upon un-SUBSCRIBE */
 
   unsigned          s_processing : 1;
-  unsigned          s_rejected : 1; 
+  unsigned          s_rejected : 1;
   unsigned          s_pending_flush : 1;
   unsigned          s_garbage : 1;
   unsigned          s_fake : 1; /**< Do not send real information to user */
@@ -242,7 +242,7 @@
 static
 int nea_server_callback(nea_sub_t *nes_as_sub,
 			nta_leg_t *leg,
-			nta_incoming_t *irq, 
+			nta_incoming_t *irq,
 			sip_t const *sip);
 
 static int nea_sub_process_incoming(nea_sub_t *s,
@@ -255,9 +255,9 @@
 				     nta_incoming_t *irq,
 				     sip_t const *sip);
 
-static int nea_sub_notify(nea_server_t *nes, 
-			  nea_sub_t *s, 
-			  sip_time_t now, 
+static int nea_sub_notify(nea_server_t *nes,
+			  nea_sub_t *s,
+			  sip_time_t now,
 			  tag_type_t tag, tag_value_t value, ...);
 
 static int response_to_notify(nea_sub_t *s,
@@ -268,8 +268,8 @@
 			    su_timer_t *timer,
 			    su_timer_arg_t *arg);
 
-static int nea_view_queue(nea_server_t *nes, 
-			  nea_event_view_t *evv, 
+static int nea_view_queue(nea_server_t *nes,
+			  nea_event_view_t *evv,
 			  nea_event_queue_t *evq);
 
 /** Assign an event view to subscriber. */
@@ -283,7 +283,7 @@
   s->s_throttle = evv->evv_throttle;
 }
 
-su_inline 
+su_inline
 void nea_subnode_init(nea_subnode_t *sn, nea_sub_t *s, sip_time_t now)
 {
   sn->sn_state = s->s_state;
@@ -312,18 +312,18 @@
  * The function nea_server_create() initializes an event server object and
  * registers it with @b nta. An event server object takes care of all events
  * for a particular URI (@em eventity).
- * 
+ *
  * @param agent       pointer to an @b nta agent object
  * @param root        pointer to an @b root object
  * @param url         url of the server to be created
  * @param max_subs    maximum number of subscriptions
- * @param callback    authorization function, 
+ * @param callback    authorization function,
  *                    or @c NULL if no authorization is required
  * @param context     server context (pointer to application data)
  * @param tag, value, ... optional list of tag parameters
  *
  * @TAGS
- * The function nea_server_create() takes the following tag values as its 
+ * The function nea_server_create() takes the following tag values as its
  * arguments:
  * <dl>
  *
@@ -339,26 +339,26 @@
  *
  * <dt>NEATAG_MINSUB()
  * <dd>Minimum duration of a subscription.
- * 
+ *
  * <dt>NEATAG_THROTTLE()
  * <dd>Default value for event throttle (by default, 5 seconds).
  * Throttle determines the minimum interval betweeen notifications. Note
  * that the notification indicating that the subscription has terminated
  * will be sent regardless of throttle.
- * 
+ *
  * The default throttle value is used if the subscriber does not include
  * a throttle parameter in @ref sip_event "Event" header of SUBSCRIBE request.
- * 
+ *
  * <dt>NEATAG_MINTHROTTLE()
  * <dd>Minimum allowed throttle value (by default, 5 seconds).
- * 
+ *
  * <dt>NEATAG_EVENTLIST()
  * <dd>If true, the subscribers must support eventlists. If SIPTAG_REQUIRE()
  * is given, it must contain the "eventlist" feature.
  *
  * <dt>NEATAG_DIALOG()
  * <dd>Give an optional NTA destination leg to event server.
- * 
+ *
  * <dt>SIPTAG_REQUIRE()/SIPTAG_REQUIRE_STR()
  * <dd>The @b Require header for the event server. The subscribers must
  * indicate support the specified features.
@@ -384,8 +384,8 @@
   char const *contact_str = NULL;
   char const *server_str = NULL;
   char const *rq_str = NULL;
-  unsigned 
-    min_expires = 15 * 60, 
+  unsigned
+    min_expires = 15 * 60,
     expires = NEA_DEFAULT_EXPIRES,
     max_expires = 24 * 60 * 60;
   nta_leg_t *leg = NONE;
@@ -397,7 +397,7 @@
 
     ta_start(ta, tag, value);
 
-    tl_gets(ta_args(ta), 
+    tl_gets(ta_args(ta),
 	    SIPTAG_CONTACT_REF(contact),
 	    SIPTAG_CONTACT_STR_REF(contact_str),
 	    SIPTAG_ALLOW_EVENTS_REF(allow_events),
@@ -428,7 +428,7 @@
     SU_DEBUG_5(("nea_server_create(): invalid expiration range\n"));
     return NULL;
   }
-  
+
   nes = su_home_new(sizeof(nea_server_t));
 
   if (nes) {
@@ -453,10 +453,10 @@
 
     nes->nes_allow_methods = sip_allow_make(home, "SUBSCRIBE");
 
-    nes->nes_server = 
-      su_sprintf(home, "%s%snea/" NEA_VERSION_STR " %s", 
+    nes->nes_server =
+      su_sprintf(home, "%s%snea/" NEA_VERSION_STR " %s",
 		 server_str ? server_str : "",
-		 server_str ? " " : "", 
+		 server_str ? " " : "",
 		 nta_agent_version(agent));
 
     if (contact)
@@ -471,15 +471,15 @@
       if (leg != NULL)
 	nta_leg_bind(leg, nea_server_callback, (nea_sub_t*)nes);
     } else {
-      nes->nes_leg = nta_leg_tcreate(agent, 
-				     nea_server_callback, 
-				     (nea_sub_t*)nes, 
+      nes->nes_leg = nta_leg_tcreate(agent,
+				     nea_server_callback,
+				     (nea_sub_t*)nes,
 				     NTATAG_NO_DIALOG(1),
 				     NTATAG_METHOD("SUBSCRIBE"),
 				     URLTAG_URL(url),
 				     TAG_END());
     }
-				     
+
     nes->nes_eventlist = eventlist; /* Every event is a list */
     if (eventlist && rq == NULL && rq_str == NULL)
       rq_str = "eventlist";
@@ -489,9 +489,9 @@
     else if (rq_str)
       nes->nes_require = sip_require_make(nes->nes_home, rq_str);
 
-    nes->nes_timer = su_timer_create(su_root_task(nes->nes_root), 
+    nes->nes_timer = su_timer_create(su_root_task(nes->nes_root),
 				     nes->nes_min_throttle
-				     ? 500L * nes->nes_min_throttle 
+				     ? 500L * nes->nes_min_throttle
 				     : 500L);
 
     if (nes->nes_allow_events &&
@@ -515,8 +515,8 @@
 
 /** Invoke the new event callback.
  *
- * The function nes_event_callback() calls the callback provided by the 
- * application using the notifier object. 
+ * The function nes_event_callback() calls the callback provided by the
+ * application using the notifier object.
  *
  * @param nes pointer to notifier object
  * @param ev  pointer to event view
@@ -528,9 +528,9 @@
  * has been destroyed by the callback function, 0 otherwise.
  */
 static
-int nes_new_event_callback(nea_server_t *nes, 
-			   nea_event_t **ev_p, 
-			   nea_event_view_t **view_p, 
+int nes_new_event_callback(nea_server_t *nes,
+			   nea_event_t **ev_p,
+			   nea_event_view_t **view_p,
 			   nta_incoming_t *irq,
 			   sip_t const *sip)
 {
@@ -556,7 +556,7 @@
     SU_DEBUG_5(("nea_server_shutdown(%p) while in callback\n", (void *)nes));
     return 100;
   }
-  
+
   SU_DEBUG_5(("nea_server_shutdown(%p)\n", (void *)nes));
 
   in_callback = nes->nes_in_callback; nes->nes_in_callback = 1;
@@ -567,16 +567,16 @@
     if (s->s_pending_flush)
       continue;
     if (s->s_oreq == NULL)
-      nea_sub_auth(s, nea_terminated, 
+      nea_sub_auth(s, nea_terminated,
 		   TAG_IF(retry_after, NEATAG_REASON("probation")),
 		   TAG_IF(!retry_after, NEATAG_REASON("deactivated")),
 		   TAG_IF(retry_after, NEATAG_RETRY_AFTER(retry_after)),
 		   TAG_END());
     else
       status = 180;
-  }    
+  }
 
-  nes->nes_in_callback = in_callback;   
+  nes->nes_in_callback = in_callback;
 
   return 200;
 }
@@ -591,16 +591,16 @@
     nes->nes_pending_destroy = 1;
     return;
   }
-  
+
   SU_DEBUG_5(("nea_server_destroy(%p)\n", (void *)nes));
-  
+
   nta_leg_destroy(nes->nes_leg), nes->nes_leg = NULL;
-  
+
   while (nes->nes_subscribers)
     nea_sub_destroy(nes->nes_subscribers);
-  
+
   su_timer_destroy(nes->nes_timer), nes->nes_timer = NULL;
-  
+
   su_home_unref(nes->nes_home);
 }
 
@@ -611,10 +611,10 @@
  * A nea event server has typed content that is delivered to the
  * subscribers. Different content types are each assigned a separate primary
  * view. There can be also primary views with "fake" content, content
- * delivered to politely blocked subscribers. 
+ * delivered to politely blocked subscribers.
  *
  * In addition to primary views, there can be secondary views, views
- * assigned to a single subscriber only. 
+ * assigned to a single subscriber only.
  *
  * @TAGS
  * The following tagged arguments are accepted:
@@ -629,7 +629,7 @@
  * <dt>NEATAG_FAKE(fak)
  * <dd>If @a fake is true, 'fake' view is updated.
  *
- * <dt>NEATAG_VIEW(view) 
+ * <dt>NEATAG_VIEW(view)
  * <dd>If included in tagged arguments, @a view is * updated. Used when
  * updating secondary view.
  *
@@ -642,8 +642,8 @@
  * <dd>Application-provided @a context pointer.
  * The @a context pointer is returned by nea_view_magic() function.
  *
- * <dt>NEATAG_RELIABLE(reliable) 
- * <dd>The @a reliable flag determines how overlapping updates are handled. 
+ * <dt>NEATAG_RELIABLE(reliable)
+ * <dd>The @a reliable flag determines how overlapping updates are handled.
  * If @a reliable is true, all updates are delivered to the subscribers.
  *
  * <dt>NEATAG_THROTTLE(throttl)
@@ -651,10 +651,10 @@
  * determines the minimum interval in seconds betweeen notifications. Note
  * that the notification indicating that the subscription has terminated
  * will be sent regardless of throttle.
- * 
+ *
  * The default throttle value is used if the subscriber does not include
  * a throttle parameter in @ref sip_event "Event" header of SUBSCRIBE request.
- * 
+ *
  * <dt>NEATAG_MINTHROTTLE()
  * <dd>Minimum allowed throttle value for updated event view.
  *
@@ -684,7 +684,7 @@
 	  NEATAG_FAKE_REF(fake),
 	  NEATAG_VIEW_REF(evv),
 	  TAG_NULL());
-  
+
   updated = nea_view_update(nes, ev, &evv, 0, fake, ta_tags(ta));
 
   ta_end(ta);
@@ -733,7 +733,7 @@
 	  NEATAG_THROTTLE_REF(throttle),
 	  NEATAG_MINTHROTTLE_REF(min_throttle),
 	  TAG_NULL());
-  
+
   ta_end(ta);
 
   if (min_throttle < throttle)
@@ -754,7 +754,7 @@
     for (i = 0; (evv = ev->ev_views[i]); i++)
       if (str0casecmp(cts, evv->evv_content_type->c_type) == 0)
 	break;
-    
+
     if (private && evv == NULL) /* No private view without primary view. */
       return -1;
 
@@ -762,7 +762,7 @@
       return -1;
 
     primary_p = eevv = ev->ev_views + i;
-    
+
     /* Search for fakeness/eventlist/private view */
     if (evv && (private || evv->evv_private || evv->evv_fake != (unsigned)fake)) {
       for (eevv = &evv->evv_next; (evv = *eevv); eevv = &evv->evv_next) {
@@ -773,7 +773,7 @@
       }
     }
   }
-   
+
   /* New event view, allocate and link to chain */
   if (!evv) {
     sip_content_type_t *new_ct;
@@ -781,20 +781,20 @@
     evv = su_zalloc(home, sizeof (*evv));
     if (!evv)
       return -1;
-    
+
     new_pl = pl ? sip_payload_dup(home, pl)
       : sip_payload_make(home, pls);
-    
-    new_ct = ct ? sip_content_type_dup(home, ct) 
+
+    new_ct = ct ? sip_content_type_dup(home, ct)
       : sip_content_type_make(home, cts);
-    
+
     if ((!new_pl && pl) || !new_ct) {
       su_free(home, evv); su_free(home, new_pl);
       return -1;
     }
 
     *evvp = *eevv = evv;
-      
+
     evv->evv_primary = *primary_p;
     evv->evv_private = private != 0;
     evv->evv_fake = fake != 0;
@@ -808,13 +808,13 @@
     assert(evv->evv_content_type);
   }
   else {
-    if (pl && 
-	evv->evv_payload && 
+    if (pl &&
+	evv->evv_payload &&
 	evv->evv_payload->pl_len == pl->pl_len &&
 	memcmp(evv->evv_payload->pl_data, pl->pl_data, pl->pl_len) == 0)
       return 0;
-    if (!pl && pls && evv->evv_payload && 
-	evv->evv_payload->pl_len == strlen(pls) && 
+    if (!pl && pls && evv->evv_payload &&
+	evv->evv_payload->pl_len == strlen(pls) &&
 	memcmp(evv->evv_payload->pl_data, pls, evv->evv_payload->pl_len) == 0)
       return 0;
     if (!pl && !pls && !evv->evv_payload)
@@ -826,7 +826,7 @@
 
     if (!new_pl && (pl || pls))
       return -1;
-    
+
     evv->evv_payload = new_pl;
   }
 
@@ -861,7 +861,7 @@
   ta_start(ta, tag, value);
 
   nea_view_update(nes, ev, &evv, 1, 0, ta_tags(ta));
-			 
+
   ta_end(ta);
 
   return evv;
@@ -935,8 +935,8 @@
 
 /** Queue an old notification if needed. */
 static
-int nea_view_queue(nea_server_t *nes, 
-		   nea_event_view_t *evv, 
+int nea_view_queue(nea_server_t *nes,
+		   nea_event_view_t *evv,
 		   nea_event_queue_t *evq)
 {
   nea_sub_t *s = NULL;
@@ -953,7 +953,7 @@
 	continue;
       break;			/* This  */
     }
-  
+
   if (s) {
     nea_event_queue_t *evq0 = su_alloc(nes->nes_home, sizeof *evq);
 
@@ -963,7 +963,7 @@
     *evq0 = *evq, evq = evq0;
 
     /* evq should be copy of old head but with changed payload  */
-    assert(evq->evq_next == evv->evv_head->evq_next); 
+    assert(evq->evq_next == evv->evv_head->evq_next);
 
     evv->evv_head->evq_next = evq;     /* insert to the queue */
 
@@ -977,7 +977,7 @@
 
 /** Remove old unneeded notifications. */
 static
-int nea_view_dequeue(nea_server_t *nes, 
+int nea_view_dequeue(nea_server_t *nes,
 		     nea_event_t *ev)
 {
   int i;
@@ -1011,7 +1011,7 @@
 
 /** Notify watchers.
  *
- * @return 
+ * @return
  * The function nea_server_notify() returns number of subscribers that the
  * notification could be sent, or -1 upon an error.
  */
@@ -1045,11 +1045,11 @@
     if (ev == NULL)
       for (ev = nes->nes_events; ev; ev = ev->ev_next) {
 	nea_view_dequeue(nes, ev);
-	SU_DEBUG_3(("nea_server(): notified %u, throttling at %u\n", 
+	SU_DEBUG_3(("nea_server(): notified %u, throttling at %u\n",
 		    notified, ev->ev_throttling));
       }
     else {
-      SU_DEBUG_3(("nea_server(): notified %u, throttling at %u\n", 
+      SU_DEBUG_3(("nea_server(): notified %u, throttling at %u\n",
 		  notified, ev->ev_throttling));
       nea_view_dequeue(nes, ev);
     }
@@ -1087,7 +1087,7 @@
 	nea_sub_destroy(*ss);
 	continue;
       }
-    } 
+    }
     ss = &((*ss)->s_next);
   }
 }
@@ -1127,7 +1127,7 @@
     nes->nes_subscribers = s;
 
     /* Copy default values */
-    s->s_throttle = nes->nes_throttle;	
+    s->s_throttle = nes->nes_throttle;
   }
 
   return s;
@@ -1180,9 +1180,9 @@
     su_free(home, del->s_local), del->s_local = NULL;
     su_free(home, del->s_remote), del->s_remote = NULL;
 
-    if (del->s_oreq) 
+    if (del->s_oreq)
       nta_outgoing_destroy(del->s_oreq), del->s_oreq = NULL;
-    if (del->s_leg) 
+    if (del->s_leg)
       nta_leg_destroy(del->s_leg), del->s_leg = NULL;
     if (del->s_from)
       su_free(home, del->s_from), del->s_from = NULL;
@@ -1198,14 +1198,14 @@
 nea_event_t *nea_event_create(nea_server_t *nes,
 			      nea_watcher_f *callback,
 			      nea_emagic_t *context,
-			      char const *name, 
+			      char const *name,
 			      char const *subname,
 			      char const *default_content_type,
 			      char const *accept)
 {
-  return nea_event_tcreate(nes, callback, context, 
-			   name, subname, 
-			   SIPTAG_CONTENT_TYPE_STR(default_content_type), 
+  return nea_event_tcreate(nes, callback, context,
+			   name, subname,
+			   SIPTAG_CONTENT_TYPE_STR(default_content_type),
 			   SIPTAG_ACCEPT_STR(accept),
 			   TAG_END());
 }
@@ -1214,7 +1214,7 @@
 nea_event_t *nea_event_tcreate(nea_server_t *nes,
 			       nea_watcher_f *callback,
 			       nea_emagic_t *context,
-			       char const *name, 
+			       char const *name,
 			       char const *subname,
 			       tag_type_t tag, tag_value_t value, ...)
 {
@@ -1253,7 +1253,7 @@
     sip_supported_t const *k = NULL;
     sip_require_t const *rq = NULL;
     char const *ct_str = NULL, *ac_str = NULL, *k_str = NULL, *rq_str = NULL;
-    
+
     unsigned throttle = nes->nes_throttle, min_throttle = nes->nes_min_throttle;
     int eventlist = nes->nes_eventlist;
 
@@ -1274,11 +1274,11 @@
 
     ev->ev_callback = callback;
     ev->ev_magic = context;
-    ev->ev_event = sip_event_format(nes->nes_home, "%s%s%s", 
-				    name, 
-				    subname ? "." : "", 
+    ev->ev_event = sip_event_format(nes->nes_home, "%s%s%s",
+				    name,
+				    subname ? "." : "",
 				    subname ? subname : "");
- 
+
     ev->ev_reliable = reliable != 0;
     ev->ev_throttle = throttle;
     ev->ev_min_throttle = min_throttle;
@@ -1294,15 +1294,15 @@
 
     if (ev->ev_event) {
 #define sip_allow_events_find(k, i) sip_params_find(k->k_items, i)
-      if (!sip_allow_events_find(nes->nes_allow_events, 
+      if (!sip_allow_events_find(nes->nes_allow_events,
 				 ev->ev_event->o_type))
-	sip_allow_events_add(nes->nes_home, nes->nes_allow_events, 
+	sip_allow_events_add(nes->nes_home, nes->nes_allow_events,
 			     ev->ev_event->o_type);
     }
 
     if (ct)
       ev->ev_default = sip_accept_make(nes->nes_home, ct->c_type);
-    else 
+    else
       ev->ev_default = sip_accept_make(nes->nes_home, ct_str);
 
     if (ac == NULL && ac_str == NULL)
@@ -1319,7 +1319,7 @@
       ev->ev_supported = sip_supported_make(nes->nes_home, k_str);
 
     ev->ev_prev = pev;
-    *pev = ev; 
+    *pev = ev;
   }
 
   ta_end(ta);
@@ -1370,8 +1370,8 @@
 
 /** Invoke the event callback.
  *
- * The function nes_watcher_callback() calls the callback provided by the 
- * application using the notifier object. 
+ * The function nes_watcher_callback() calls the callback provided by the
+ * application using the notifier object.
  *
  * @param nes pointer to notifier object
  * @param ev  pointer to event view
@@ -1383,9 +1383,9 @@
  * has been destroyed by the callback function, 0 otherwise.
  */
 static
-int nes_watcher_callback(nea_server_t *nes, 
-			 nea_event_t *ev, 
-			 nea_sub_t *s, 
+int nes_watcher_callback(nea_server_t *nes,
+			 nea_event_t *ev,
+			 nea_sub_t *s,
 			 sip_t const *sip,
 			 sip_time_t now)
 {
@@ -1395,7 +1395,7 @@
       nea_subnode_t sn[1];
 
       nea_subnode_init(sn, s, now);
-      
+
       if (sn->sn_expires == 0  || sn->sn_state == nea_terminated)
 	s->s_reported = 1;
 
@@ -1405,12 +1405,12 @@
 
     if (nes->nes_in_list)
       return 0;
-    
+
     if (nes->nes_pending_destroy) {
       nea_server_destroy(nes);
       return -2;
     }
-    
+
     if (sip == NULL && nes->nes_pending_flush) {
       int flushed = s->s_pending_flush;
       nea_server_pending_flush(nes);
@@ -1429,18 +1429,18 @@
  *
  * The function nea_server_add() is called when the notifier receives a
  * SUBSCRIBE request without existing event dialog.
- * 
+ *
  * @param nes pointer to notifier
- * @param local_target optional contact header 
+ * @param local_target optional contact header
  * @param msg pointer to request message
  * @param sip pointer to SIP view to request message
  *
- * @return 
+ * @return
  * The function nea_server_add() returns 0 if successful, -1 upon an
  * error.
- *  
+ *
  */
-int nea_server_add(nea_server_t *nes, 
+int nea_server_add(nea_server_t *nes,
 		   sip_contact_t const *local_target,
 		   msg_t *msg, sip_t *sip)
 {
@@ -1480,7 +1480,7 @@
 static
 int nea_server_callback(nea_sub_t *nes_as_sub,
 			nta_leg_t *leg,
-			nta_incoming_t *irq, 
+			nta_incoming_t *irq,
 			sip_t const *sip)
 {
   return nea_server_add_irq((nea_server_t *)nes_as_sub, leg, NULL, irq, sip);
@@ -1490,7 +1490,7 @@
 int nea_server_add_irq(nea_server_t *nes,
 		       nta_leg_t *leg,
 		       sip_contact_t const *local_target,
-		       nta_incoming_t *irq, 
+		       nta_incoming_t *irq,
 		       sip_t const *sip)
 {
   nea_sub_t *s = nea_sub_create(nes);
@@ -1506,10 +1506,10 @@
 
   if (leg == NULL || leg == nes->nes_leg) {
     url_t target[1];
-    
+
     *target = *local_target->m_url;
 
-    s->s_leg = nta_leg_tcreate(nes->nes_agent, nea_sub_process_incoming, s, 
+    s->s_leg = nta_leg_tcreate(nes->nes_agent, nea_sub_process_incoming, s,
 			       SIPTAG_FROM(sip->sip_to),
 			       SIPTAG_TO(sip->sip_from),
 			       SIPTAG_CALL_ID(sip->sip_call_id),
@@ -1519,7 +1519,7 @@
   else {
     nta_leg_bind(s->s_leg = leg, nea_sub_process_incoming, s);
   }
-  
+
   if (s->s_leg) {
     if (sip->sip_to->a_tag == NULL) {
       nta_leg_tag(s->s_leg, NULL);
@@ -1568,7 +1568,7 @@
     break;
 
   default:
-    nta_incoming_treply(irq, 
+    nta_incoming_treply(irq,
 			retval = SIP_405_METHOD_NOT_ALLOWED,
 			SIPTAG_ALLOW_STR("SUBSCRIBE"),
 			TAG_END());
@@ -1579,7 +1579,7 @@
 
   if (s->s_irq)
     nta_incoming_destroy(irq), s->s_irq = NULL;
-  
+
   if (s->s_pending_flush || s->s_state == nea_embryonic)
     nea_sub_destroy(s);
 
@@ -1624,7 +1624,7 @@
   int once, what, supported_eventlist, require_eventlist;
 
   if (sip->sip_payload && !sip->sip_content_type) {
-    nta_incoming_treply(irq, 400, "Missing Content-Type", 
+    nta_incoming_treply(irq, 400, "Missing Content-Type",
 			SIPTAG_SERVER_STR(nes->nes_server),
 			SIPTAG_ALLOW_EVENTS(nes->nes_allow_events),
 			SIPTAG_ALLOW(nes->nes_allow_methods),
@@ -1632,16 +1632,16 @@
     return 0;
   }
 
-  if (sip->sip_expires && 
-      sip->sip_expires->ex_delta > 0 && 
+  if (sip->sip_expires &&
+      sip->sip_expires->ex_delta > 0 &&
       sip->sip_expires->ex_delta < nes->nes_min_expires) {
-    sip_min_expires_t me[1]; 
+    sip_min_expires_t me[1];
 
     sip_min_expires_init(me);
 
     me->me_delta = nes->nes_min_expires;
 
-    nta_incoming_treply(irq, 423, "Subscription Interval Too Small", 
+    nta_incoming_treply(irq, 423, "Subscription Interval Too Small",
 			SIPTAG_ACCEPT(accept),
 			SIPTAG_MIN_EXPIRES(me),
 			SIPTAG_SERVER_STR(nes->nes_server),
@@ -1653,13 +1653,13 @@
 
   /* Check features */
   if (nes->nes_require) {
-    unsupported = sip_has_unsupported2(nes->nes_home, 
+    unsupported = sip_has_unsupported2(nes->nes_home,
 				       sip->sip_supported,
 				       sip->sip_require,
 				       nes->nes_require);
 
     if (unsupported) {
-      nta_incoming_treply(irq, SIP_421_EXTENSION_REQUIRED, 
+      nta_incoming_treply(irq, SIP_421_EXTENSION_REQUIRED,
 			  SIPTAG_REQUIRE(nes->nes_require),
 			  SIPTAG_UNSUPPORTED(unsupported),
 			  SIPTAG_SERVER_STR(nes->nes_server),
@@ -1676,12 +1676,12 @@
   require_eventlist = sip_has_feature(sip->sip_require, "eventlist");
   supported_eventlist = supported_eventlist || require_eventlist;
 
-  if (s->s_id && (!sip->sip_event || 
+  if (s->s_id && (!sip->sip_event ||
 		  str0cmp(s->s_id->o_type, sip->sip_event->o_type) != 0 ||
 		  str0cmp(s->s_id->o_id, sip->sip_event->o_id))) {
     /* Multiple subscriptions per dialog are not supported. */
-    return nta_incoming_treply(irq, 501, 
-			       "Multiple subscriptions not implemented", 
+    return nta_incoming_treply(irq, 501,
+			       "Multiple subscriptions not implemented",
 			       SIPTAG_SERVER_STR(nes->nes_server),
 			       TAG_NULL());
   }
@@ -1709,13 +1709,13 @@
 
     if (!ev && !require_eventlist)
       ev = ev_maybe;
-          
+
     if (ev || once)
       break;
 
     /* Ask the application either to
-       1) add a new event or assing us an event/payload (0), 
-       2) take care of transaction (positive), or 
+       1) add a new event or assing us an event/payload (0),
+       2) take care of transaction (positive), or
        3) drop request (negative).
     */
     if ((what = nes_new_event_callback(nes, &ev, &evv, irq, sip)) < 0)
@@ -1727,7 +1727,7 @@
   }
 
   if (ev_maybe == NULL && ev == NULL) {
-    nta_incoming_treply(irq, SIP_489_BAD_EVENT, 
+    nta_incoming_treply(irq, SIP_489_BAD_EVENT,
 			SIPTAG_SERVER_STR(nes->nes_server),
 			SIPTAG_ALLOW_EVENTS(nes->nes_allow_events),
 			SIPTAG_ALLOW(nes->nes_allow_methods),
@@ -1739,7 +1739,7 @@
     unsupported = sip_has_unsupported(nes->nes_home, ev->ev_supported,
 				      sip->sip_require);
 
-    nta_incoming_treply(irq, SIP_420_BAD_EXTENSION, 
+    nta_incoming_treply(irq, SIP_420_BAD_EXTENSION,
 			SIPTAG_UNSUPPORTED(unsupported),
 			SIPTAG_REQUIRE(ev->ev_require),
 			SIPTAG_SUPPORTED(ev->ev_supported),
@@ -1775,12 +1775,12 @@
 	  /* Sort the accept list by Q values */
 	  for (a = a0, accept = NULL; a; a = a_next) {
 	    a_next = a->ac_next;
-	    
-	    for (aa = (sip_accept_t **)&accept; 
-		 *aa && sip_q_value((*aa)->ac_q) >= sip_q_value(a->ac_q); 
+
+	    for (aa = (sip_accept_t **)&accept;
+		 *aa && sip_q_value((*aa)->ac_q) >= sip_q_value(a->ac_q);
 		 aa = &(*aa)->ac_next)
 	      ;
-	    
+
 	    a->ac_next = *aa; *aa = a; 	/* Insert */
 	  }
 	}
@@ -1795,11 +1795,11 @@
 
       if (ac->ac_type == NULL || ac->ac_subtype == NULL)
 	continue;
-      
+
       /* Check all supported content types v. accept */
       for (i = 0; (evv = ev->ev_views[i]); i++) {
 	assert(evv->evv_content_type && evv->evv_content_type->c_type);
-	
+
 	if (strcmp(ac->ac_type, "*/*") == 0)
 	  break;
 
@@ -1807,7 +1807,7 @@
 
 	if ((strcasecmp(ac->ac_type, type) == 0) ||
 	    (strcasecmp(ac->ac_subtype, "*") == 0 &&
-	     strncasecmp(ac->ac_type, type, 
+	     strncasecmp(ac->ac_type, type,
 			 ac->ac_subtype - ac->ac_type) == 0)) {
 	  if (evv_maybe == NULL)
 	    evv_maybe = evv;
@@ -1820,17 +1820,17 @@
 
     /* Free the sorted Accept list */
     for (a = a0; a; a = a_next)
-      a_next = a->ac_next, su_free(home, a); 
+      a_next = a->ac_next, su_free(home, a);
 
     if (!evv)
       evv = evv_maybe;
-  
+
     if (evv || once)
       break;
 
     /* Ask the application either to
-       1) add a new event view or assign us an event view (0), 
-       2) take care of transaction (positive), or 
+       1) add a new event view or assign us an event view (0),
+       2) take care of transaction (positive), or
        3) drop request (negative).
     */
     if ((what = nes_new_event_callback(nes, &ev, &evv, irq, sip)) < 0)
@@ -1846,7 +1846,7 @@
 		ev->ev_event->o_type, SIP_406_NOT_ACCEPTABLE));
 
     /* There is no media acceptable to watcher */
-    return nta_incoming_treply(irq, SIP_406_NOT_ACCEPTABLE, 
+    return nta_incoming_treply(irq, SIP_406_NOT_ACCEPTABLE,
 			       SIPTAG_ACCEPT(ev->ev_accept),
 			       SIPTAG_SERVER_STR(nes->nes_server),
 			       SIPTAG_ALLOW_EVENTS(nes->nes_allow_events),
@@ -1859,7 +1859,7 @@
     evv = s->s_view;
 
   /* Set throttle */
-  if (sip->sip_event && 
+  if (sip->sip_event &&
       (throttle = sip_params_find(sip->sip_event->o_params, "throttle="))) {
     proposed_throttle = strtoul(throttle, NULL, 10);
 
@@ -1902,7 +1902,7 @@
   s->s_updated = evv->evv_updated - 1;  /* Force notify */
 
   if (nes->nes_202_before_notify) {
-    nta_incoming_treply(irq, SIP_202_ACCEPTED, 
+    nta_incoming_treply(irq, SIP_202_ACCEPTED,
 			SIPTAG_SERVER_STR(nes->nes_server),
 			SIPTAG_ALLOW_EVENTS(nes->nes_allow_events),
 			SIPTAG_ALLOW(nes->nes_allow_methods),
@@ -1923,8 +1923,8 @@
     return -1;
   }
 
-  
-  
+
+
   evv = s->s_view;  /* Callback can change event view */
 
   if (s->s_state == nea_embryonic)
@@ -1935,11 +1935,11 @@
 
   if (irq) {
     if (s->s_rejected)
-      nta_incoming_treply(irq, SIP_403_FORBIDDEN, 
+      nta_incoming_treply(irq, SIP_403_FORBIDDEN,
 			  SIPTAG_SERVER_STR(nes->nes_server),
 			  TAG_END());
     else if (s->s_state == nea_active)
-      nta_incoming_treply(irq, SIP_200_OK, 
+      nta_incoming_treply(irq, SIP_200_OK,
 			  SIPTAG_REQUIRE(ev->ev_require),
 			  SIPTAG_SUPPORTED(ev->ev_supported),
 			  SIPTAG_EXPIRES(expires),
@@ -1949,7 +1949,7 @@
 			  SIPTAG_ALLOW(nes->nes_allow_methods),
 			  TAG_END());
     else
-      nta_incoming_treply(irq, SIP_202_ACCEPTED, 
+      nta_incoming_treply(irq, SIP_202_ACCEPTED,
 			  SIPTAG_REQUIRE(ev->ev_require),
 			  SIPTAG_SUPPORTED(ev->ev_supported),
 			  SIPTAG_EXPIRES(expires),
@@ -1964,7 +1964,7 @@
 }
 
 /* ----------------------------------------------------------------- */
-/**Notify subscriber 
+/**Notify subscriber
  *
  * The function nea_sub_notify() sends a notification to the subscriber. The
  * event type is specified by subscriber event, payload type and payload in
@@ -1973,12 +1973,12 @@
  *
  * @param nes pointer to the notifier object
  * @param s   pointer to the subscription object
- * @param now current SIP time (if 0, no body is sent, 
+ * @param now current SIP time (if 0, no body is sent,
  *            but updated Subscription-State header only
  * @param tag,value,... tag list
  *
  */
-int nea_sub_notify(nea_server_t *nes, nea_sub_t *s, 
+int nea_sub_notify(nea_server_t *nes, nea_sub_t *s,
 		   sip_time_t now,
 		   tag_type_t tag, tag_value_t value, ...)
 {
@@ -1999,7 +1999,7 @@
 
   assert(s->s_view); assert(ev);
 
-  if (suppress && s->s_view->evv_updated == s->s_updated) 
+  if (suppress && s->s_view->evv_updated == s->s_updated)
     return 0;
 
   if (now == 0)
@@ -2007,7 +2007,7 @@
 
   if (s->s_notified + s->s_throttle > now &&
       /* Do not throttle state termination notification */
-      substate != nea_terminated && 
+      substate != nea_terminated &&
       (long)(s->s_expires - now) > 0) {
     if (ev->ev_throttling > s->s_updated && !s->s_fake)
       ev->ev_throttling = s->s_updated;
@@ -2034,7 +2034,7 @@
 
     sip_subscription_state_init(ss);
 
-    tl_gets(ta_args(ta), 
+    tl_gets(ta_args(ta),
 	    NEATAG_REASON_REF(reason),
 	    NEATAG_FAKE_REF(fake), /* XXX - semantics??? */
 	    NEATAG_RETRY_AFTER_REF(retry_after),
@@ -2042,10 +2042,10 @@
 
     if (substate == nea_terminated) {
       if (reason)
-	snprintf(reason_buf, sizeof(reason_buf), 
+	snprintf(reason_buf, sizeof(reason_buf),
 		 "reason=%s", reason), params[i++] = reason_buf;
       if (retry_after != (unsigned)-1)
-	snprintf(retry_after_buf, sizeof(retry_after_buf), 
+	snprintf(retry_after_buf, sizeof(retry_after_buf),
 		 "retry-after=%u", retry_after), params[i++] = retry_after_buf;
     }
     else if ((long)(s->s_expires - now) <= 0) {
@@ -2065,10 +2065,10 @@
     case nea_pending:  ss->ss_substate = "pending"; break;
     case nea_active:   ss->ss_substate = "active"; break;
     case nea_terminated: ss->ss_substate = "terminated"; break;
-      /* Do not send notifys for embryonic subscriptions */      
+      /* Do not send notifys for embryonic subscriptions */
     case nea_embryonic:
       ta_end(ta);
-      return 0; 
+      return 0;
     }
 
     callback = substate != nea_terminated ? response_to_notify : NULL;
@@ -2082,9 +2082,9 @@
 
     n_evq = evq->evq_payload ? evq : evv->evv_primary->evv_head;
 
-    s->s_oreq = 
-      nta_outgoing_tcreate(s->s_leg, 
-			   callback, s, NULL, 
+    s->s_oreq =
+      nta_outgoing_tcreate(s->s_leg,
+			   callback, s, NULL,
 			   SIP_METHOD_NOTIFY, NULL,
 			   SIPTAG_SUBSCRIPTION_STATE(ss),
 			   SIPTAG_REQUIRE(ev->ev_require),
@@ -2092,11 +2092,11 @@
 			   SIPTAG_USER_AGENT_STR(nes->nes_server),
 			   SIPTAG_CONTACT(s->s_local),
 			   SIPTAG_EVENT(s->s_id),
-			   TAG_IF(!suppress, 
+			   TAG_IF(!suppress,
 				  SIPTAG_CONTENT_TYPE(n_evq->evq_content_type)),
 			   TAG_IF(!suppress,
 				  SIPTAG_PAYLOAD(n_evq->evq_payload)),
-			   ta_tags(ta)); 
+			   ta_tags(ta));
 
 
     notified = s->s_oreq != 0;
@@ -2123,8 +2123,8 @@
 
 /* ----------------------------------------------------------------- */
 /**Process responses to the NOTIFY.
- * 
- * The response_to_notify() processes the responses to the NOTIFY request. 
+ *
+ * The response_to_notify() processes the responses to the NOTIFY request.
  * If there was an error with delivering the NOTIFY, the subscription is
  * considered terminated.
  *
@@ -2172,7 +2172,7 @@
  *
  * @param nes notifier
  * @param ev  event
- * 
+ *
  * The function nea_server_active() returns number of active subscribers.
  */
 int nea_server_active(nea_server_t *nes, nea_event_t const *ev)
@@ -2182,7 +2182,7 @@
 
   /* Count the number of subscribers watching this event */
   for (s = nes->nes_subscribers; s ; s = s->s_next)
-    if (!s->s_pending_flush && s->s_state == nea_active 
+    if (!s->s_pending_flush && s->s_state == nea_active
 	&& (ev == NULL || ev == s->s_event))
       n++;
 
@@ -2198,7 +2198,7 @@
  *
  * @param nes notifier
  * @param ev  event view
- * 
+ *
  * The function nea_server_active() returns number of active subscribers.
  */
 int nea_server_non_embryonic(nea_server_t *nes, nea_event_t const *ev)
@@ -2208,7 +2208,7 @@
 
   /* Count the number of subscribers watching this event */
   for (s = nes->nes_subscribers; s ; s = s->s_next)
-    if (!s->s_pending_flush && s->s_state != nea_embryonic 
+    if (!s->s_pending_flush && s->s_state != nea_embryonic
 	&& (ev == NULL || ev == s->s_event))
       n++;
 
@@ -2248,7 +2248,7 @@
  * @retval 0 if successful
  * @retval -1 upon an error
  */
-int nea_sub_auth(nea_sub_t *s, 
+int nea_sub_auth(nea_sub_t *s,
 		 nea_state_t state,
 		 tag_type_t tag, tag_value_t value, ...)
 {
@@ -2289,9 +2289,9 @@
   }
 
   tl_gets(ta_args(ta), NEATAG_REASON_REF(reason), TAG_END());
-  
+
   rejected = reason && strcasecmp(reason, "rejected") == 0;
-  
+
   if (state == nea_terminated && embryonic && rejected && s->s_irq)
     retval = 0, s->s_rejected = 1;
   else
@@ -2303,7 +2303,7 @@
 }
 
 /** Obtain a list of subscribers */
-nea_subnode_t const **nea_server_get_subscribers(nea_server_t *nes, 
+nea_subnode_t const **nea_server_get_subscribers(nea_server_t *nes,
 						 nea_event_t const *ev)
 {
   nea_sub_t *s;
@@ -2315,13 +2315,13 @@
   if (n == 0)
     return NULL;
 
-  sn_list = su_zalloc(nes->nes_home, 
+  sn_list = su_zalloc(nes->nes_home,
 		      (n + 1) * sizeof(sn) + n * sizeof(*sn));
   if (sn_list) {
     sn = (nea_subnode_t *)(sn_list + n + 1);
 
     for (i = 0, s = nes->nes_subscribers; s; s = s->s_next) {
-      if (!s->s_pending_flush && s->s_state != nea_embryonic 
+      if (!s->s_pending_flush && s->s_state != nea_embryonic
 	  && (ev == NULL || ev == s->s_event)) {
 	assert(i < n);
 	nea_subnode_init(sn, s, now);
@@ -2338,7 +2338,7 @@
 }
 
 /** Free a list of subscriptions. */
-void nea_server_free_subscribers(nea_server_t *nes, 
+void nea_server_free_subscribers(nea_server_t *nes,
 				 nea_subnode_t const **sn_list)
 {
   if (sn_list) {

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/nea.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/nea.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/nea.h	Tue Dec 23 07:37:03 2008
@@ -67,19 +67,19 @@
 /** Event view. */
 typedef struct nea_event_view_s nea_event_view_t;
 
-#ifndef NEA_SMAGIC_T 
+#ifndef NEA_SMAGIC_T
 #define NEA_SMAGIC_T            struct nea_smagic_t
 #endif
 /** NEA server context */
 typedef NEA_SMAGIC_T nea_smagic_t;
 
-#ifndef NEA_EMAGIC_T 
+#ifndef NEA_EMAGIC_T
 #define NEA_EMAGIC_T            struct nea_emagic_t
 #endif
 /** NEA server event context */
 typedef NEA_EMAGIC_T nea_emagic_t;
 
-#ifndef NEA_EVMAGIC_T 
+#ifndef NEA_EVMAGIC_T
 #define NEA_EVMAGIC_T           struct nea_evmagic_t
 #endif
 /** Event view context */
@@ -88,7 +88,7 @@
 /** Description of subscription */
 typedef struct nea_subnode_t {
   nea_state_t          sn_state;       	/**< Subscription state */
-  unsigned             sn_fake;	       	/**< True if subscriber is given 
+  unsigned             sn_fake;	       	/**< True if subscriber is given
 				       	 *   fake contents.
 				       	 */
   unsigned             sn_eventlist;    /**< Subscriber supports eventlist */
@@ -98,7 +98,7 @@
   sip_contact_t const *sn_contact;     	/**< Contact of subscriber */
 
   /** Content-Type of SUBSCRIBE body (filter). */
-  sip_content_type_t const *sn_content_type; 
+  sip_content_type_t const *sn_content_type;
   sip_payload_t const *sn_payload;      /**< Body of subscribe*/
 
   unsigned             sn_expires;     	/**< When subscription expires */
@@ -123,7 +123,7 @@
  *
  * @retval 1 application takes care of responding to request
  * @retval 0 application has added new event or payload format
- * @retval -1 nea server rejects request 
+ * @retval -1 nea server rejects request
  */
 typedef int (nea_new_event_f)(nea_smagic_t *context,
 			      nea_server_t *nes,
@@ -166,7 +166,7 @@
 int nea_server_add_irq(nea_server_t *nes,
 		       nta_leg_t *leg,
 		       sip_contact_t const *local_target,
-		       nta_incoming_t *irq, 
+		       nta_incoming_t *irq,
 		       sip_t const *sip);
 
 /** QAUTH callback function type.
@@ -189,7 +189,7 @@
 nea_event_t *nea_event_create(nea_server_t *nes,
 			      nea_watcher_f *callback,
 			      nea_emagic_t *context,
-			      char const *name, 
+			      char const *name,
 			      char const *subname,
 			      char const *default_content_type,
 			      char const *accept);
@@ -199,7 +199,7 @@
 nea_event_t *nea_event_tcreate(nea_server_t *nes,
 			       nea_watcher_f *callback,
 			       nea_emagic_t *context,
-			       char const *name, 
+			       char const *name,
 			       char const *subname,
 			       tag_type_t, tag_value_t, ...);
 
@@ -215,10 +215,10 @@
 /** Get number of (non-embryonic) subscribers. */
 int nea_server_non_embryonic(nea_server_t *nes, nea_event_t const *ev);
 
-/** Obtain a list of subscriptions. 
+/** Obtain a list of subscriptions.
  */
 SOFIAPUBFUN
-nea_subnode_t const **nea_server_get_subscribers(nea_server_t *nes, 
+nea_subnode_t const **nea_server_get_subscribers(nea_server_t *nes,
 						 nea_event_t const *ev);
 
 /** Free a list of subscriptions. */
@@ -227,12 +227,12 @@
 
 /** Notify subscribers */
 SOFIAPUBFUN
-int nea_server_notify(nea_server_t *nes, 
+int nea_server_notify(nea_server_t *nes,
 		      nea_event_t *ev);
 
 /** Notify a subscriber */
 SOFIAPUBFUN
-int nea_server_notify_one(nea_server_t *nes, 
+int nea_server_notify_one(nea_server_t *nes,
 			  nea_event_t *ev,
 			  nea_sub_t *ns);
 
@@ -257,12 +257,12 @@
 #if 0
 /** Do a remote qauth.
  *
- * The function nea_server_qauth() is given as q_callback pointer 
+ * The function nea_server_qauth() is given as q_callback pointer
  * to nea_server_create() if remote authentication from url is desired.
  */
-void nea_server_qauth(nea_server_t *nes, 
+void nea_server_qauth(nea_server_t *nes,
 		      nea_emagic_t *context,
-		      nea_sub_t *subscriber, 
+		      nea_sub_t *subscriber,
 		      sip_t const *sip);
 #endif
 
@@ -329,7 +329,7 @@
 /** NEA Event Watcher */
 typedef struct nea_s     nea_t;
 
-#ifndef NEA_MAGIC_T 
+#ifndef NEA_MAGIC_T
 #define NEA_MAGIC_T struct nea_magic_t
 #endif
 
@@ -337,7 +337,7 @@
 typedef NEA_MAGIC_T          nea_magic_t;
 
 /** Event notification callback type.
- * 
+ *
  * This callback is called also when initial or refresh subscribe transaction
  * completes with the transaction result in @a sip.
  */
@@ -360,7 +360,7 @@
 
 /** Update SUBSCRIBE payload (filter rules) */
 SOFIAPUBFUN
-int nea_update(nea_t *nea, 
+int nea_update(nea_t *nea,
 	       tag_type_t tag,
 	       tag_value_t value,
 	       ...);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/Doxyfile.in
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/Doxyfile.in	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/Doxyfile.in	Tue Dec 23 07:37:03 2008
@@ -1,7 +1,7 @@
 PROJECT_NAME         = "nta"
 OUTPUT_DIRECTORY     = ../docs/html/nta
 
-INPUT 		     = @srcdir@/nta.docs @srcdir@/sofia-sip @srcdir@ . 
+INPUT 		     = @srcdir@/nta.docs @srcdir@/sofia-sip @srcdir@ .
 
 @INCLUDE_PATH = . @srcdir@
 @INCLUDE = ../docs/Doxyfile.conf

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/Makefile.am
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/Makefile.am	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/Makefile.am	Tue Dec 23 07:37:03 2008
@@ -27,7 +27,7 @@
 dist_noinst_SCRIPTS =	run_test_nta_api run_test_nta
 
 TESTS =			run_test_nta_api run_test_nta
-TESTS_ENVIRONMENT =	$(SHELL) 
+TESTS_ENVIRONMENT =	$(SHELL)
 
 # ----------------------------------------------------------------------
 # Rules for building the targets
@@ -37,7 +37,7 @@
 nobase_include_sofia_HEADERS = \
 			sofia-sip/nta.h sofia-sip/nta_stateless.h \
 			sofia-sip/nta_tport.h sofia-sip/nta_tag.h \
-			sofia-sip/sl_utils.h 
+			sofia-sip/sl_utils.h
 
 libnta_la_SOURCES = 	nta.c nta_check.c nta_tag.c nta_tag_ref.c \
 			nta_internal.h \
@@ -68,7 +68,7 @@
 
 EXTRA_DIST =		nta.docs sl_utils.docs \
 			agent.pem cafile.pem \
-			invite.msc $(BUILT_SOURCES) 
+			invite.msc $(BUILT_SOURCES)
 
 # ----------------------------------------------------------------------
 # Sofia specific rules

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/invite.msc
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/invite.msc	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/invite.msc	Tue Dec 23 07:37:03 2008
@@ -86,14 +86,14 @@
  |        |nta_leg_destroy            |          |
  |        |---------------------------|--------->|
  |        |             ¦             |          X
- |        X             ¦             |          
+ |        X             ¦             |
 
 
 User Agent Server Accepting a Call
 ----------------------------------
 
                     APP ¦ NTA
-User                  	¦	     NTA 
+User                  	¦	     NTA
 Agent                 	¦	    agent
  |                      ¦             |                INVITE
  |			¦             |<----------------------

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta.c
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta.c	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta.c	Tue Dec 23 07:37:03 2008
@@ -24,7 +24,7 @@
 
 /**@CFILE nta.c
  * @brief Sofia SIP Transaction API implementation
- * 
+ *
  * This source file has been divided into sections as follows:
  * 1) agent
  * 2) tport handling
@@ -37,9 +37,9 @@
  * 9) resolving URLs for client transactions
  * 10) 100rel reliable responses (reliable)
  * 11) SigComp handling and public transport interface
- * 
+ *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
- * 
+ *
  * @date Created: Tue Jun 13 02:57:51 2000 ppessi
  */
 
@@ -67,13 +67,20 @@
 #include <sofia-sip/sip_status.h>
 
 #include <sofia-sip/hostdomain.h>
+#include <sofia-sip/url_tag.h>
 
 #include <sofia-sip/msg_addr.h>
 #include <sofia-sip/msg_parser.h>
 
+/* Resolver context type */
+#define SRES_CONTEXT_T    nta_outgoing_t
+
+/* We are customer of tport_t */
+#define TP_AGENT_T        nta_agent_t
+#define TP_MAGIC_T        sip_via_t
+#define TP_CLIENT_T       nta_outgoing_t
+
 #include "nta_internal.h"
-#include "sofia-sip/nta_stateless.h"
-#include "sofia-sip/url_tag.h"
 
 #include <stddef.h>
 #include <stdlib.h>
@@ -95,6 +102,461 @@
 
 #define NONE ((void *)-1)
 
+/* ------------------------------------------------------------------------- */
+
+/** Resolving order */
+enum nta_res_order_e
+{
+  nta_res_ip6_ip4,
+  nta_res_ip4_ip6,
+  nta_res_ip6_only,
+  nta_res_ip4_only
+};
+
+HTABLE_DECLARE_WITH(leg_htable, lht, nta_leg_t, size_t, hash_value_t);
+HTABLE_DECLARE_WITH(outgoing_htable, oht, nta_outgoing_t, size_t, hash_value_t);
+HTABLE_DECLARE_WITH(incoming_htable, iht, nta_incoming_t, size_t, hash_value_t);
+
+typedef struct outgoing_queue_t {
+  nta_outgoing_t **q_tail;
+  nta_outgoing_t  *q_head;
+  size_t           q_length;
+  unsigned         q_timeout;
+} outgoing_queue_t;
+
+typedef struct incoming_queue_t {
+  nta_incoming_t **q_tail;
+  nta_incoming_t  *q_head;
+  size_t           q_length;
+  unsigned         q_timeout;
+} incoming_queue_t;
+
+struct nta_agent_s
+{
+  su_home_t             sa_home[1];
+  su_root_t            *sa_root;
+  su_timer_t           *sa_timer;
+  nta_agent_magic_t    *sa_magic;
+  nta_message_f        *sa_callback;
+
+  nta_update_magic_t   *sa_update_magic;
+  nta_update_tport_f   *sa_update_tport;
+
+  su_time_t             sa_now;	 /**< Timestamp in microsecond resolution. */
+  uint32_t              sa_next; /**< Timestamp for next agent_timer. */
+  uint32_t              sa_millisec; /**< Timestamp in milliseconds. */
+
+  msg_mclass_t const   *sa_mclass;
+  uint32_t sa_flags;		/**< SIP message flags */
+  unsigned sa_preload;		/**< Memory preload for SIP messages. */
+
+  tport_t              *sa_tports;
+  sip_contact_t        *sa_contact;
+  sip_via_t            *sa_vias;   /**< @Via headers for all transports */
+  sip_via_t            *sa_public_vias;   /**< @Vias for public transports */
+  sip_contact_t        *sa_aliases;/**< List of aliases for agent */
+
+  uint64_t              sa_branch; /**< Generator for branch parameters */
+  uint64_t              sa_tags;   /**< Generator for tag parameters */
+
+#if HAVE_SOFIA_SRESOLV
+  sres_resolver_t      *sa_resolver; /**< DNS resolver */
+  enum nta_res_order_e  sa_res_order;  /** Resolving order (AAAA/A) */
+#endif
+
+  url_t   *sa_default_proxy;	/**< Default outbound proxy */
+  unsigned sa_bad_req_mask;     /**< Request error mask */
+  unsigned sa_bad_resp_mask;	/**< Response error mask */
+  size_t   sa_maxsize;		/**< Maximum size of incoming messages */
+  size_t   sa_max_proceeding;	/**< Maximum size of proceeding queue */
+
+  unsigned sa_udp_mtu;		/**< Maximum size of outgoing UDP requests */
+
+  unsigned sa_t1;  /**< SIP T1 - initial retransmit interval (500 ms) */
+  unsigned sa_t2;  /**< SIP T2 - maximum retransmit interval (4000 ms) */
+  unsigned sa_t4;  /**< SIP T4 - clear message time (5000 ms) */
+
+
+  unsigned sa_t1x64; /**< SIP T1X64 - transaction lifetime (32 s) */
+
+  unsigned sa_progress;		/**< Progress timer.
+				   Interval between retransmitting
+				   provisional responses. */
+
+  unsigned sa_timer_c;		/**< SIP timer C.
+				   Maximum interval between receiving
+				   provisional responses. */
+
+  unsigned sa_graylist;		/**< Graylisting period */
+  unsigned sa_blacklist;	/**< Blacklisting period */
+
+  unsigned sa_drop_prob : 10;	/**< NTA is used to test packet drop */
+  unsigned sa_is_a_uas : 1;	/**< NTA is acting as an User Agent server */
+  unsigned sa_is_stateless : 1;	/**< Process requests statelessly
+				 *   unless they match existing dialog.
+				 */
+  unsigned sa_user_via:1;	/**< Let application provide @Via headers */
+  unsigned sa_extra_100:1;	/**< Allow NTA to return "100 Trying" response
+				 * even if application has not responded.
+				 */
+  unsigned sa_pass_100:1;	/**< Pass the "100 Trying"
+				 * provisional responses to the application
+				 */
+  unsigned sa_timeout_408:1;	/**< A "408 Request Timeout" message
+				 * is generated when outgoing request expires.
+				 */
+  unsigned sa_pass_408:1;	/**< A "408 Request Timeout" responses
+				 * are passed to client.
+				 */
+  unsigned sa_merge_482 : 1;	/**< A "482 Request Merged" response is returned
+				 * to merged requests.
+				 */
+  unsigned sa_cancel_2543 : 1;  /**< Send a CANCEL to an INVITE without
+				 * waiting for an provisional response.
+				 */
+  unsigned sa_cancel_487 : 1;	/**< Return 487 response automatically when
+				 * a CANCEL is received.
+				 */
+
+  unsigned sa_invite_100rel:1;	/**< Include 100rel in INVITE requests. */
+  unsigned sa_timestamp : 1;	/**< Insert @Timestamp in requests. */
+
+  unsigned sa_tport_ip4 : 1;	/**< Transports support IPv4. */
+  unsigned sa_tport_ip6 : 1;	/**< Transports support IPv6. */
+  unsigned sa_tport_udp : 1;	/**< Transports support UDP. */
+  unsigned sa_tport_tcp : 1;	/**< Transports support TCP. */
+  unsigned sa_tport_sctp : 1;	/**< Transports support SCTP. */
+  unsigned sa_tport_tls : 1;	/**< Transports support TLS. */
+
+  unsigned sa_use_naptr : 1;	/**< Use NAPTR lookup */
+  unsigned sa_use_srv : 1;	/**< Use SRV lookup */
+
+  unsigned sa_tport_threadpool:1; /**< Transports use threadpool */
+
+  unsigned sa_rport:1;		/**< Use rport at client */
+  unsigned sa_server_rport:2;	/**< Use rport at server */
+  unsigned sa_tcp_rport:1;	/**< Use rport with tcp, too */
+  unsigned sa_tls_rport:1;	/**< Use rport with tls, too */
+
+  unsigned sa_auto_comp:1;	/**< Automatically create compartments */
+  unsigned sa_in_timer:1;	/**< Set when executing timers */
+  unsigned sa_use_timer_c:1;	/**< Application has set value for timer C */
+
+  unsigned :0;
+
+#if HAVE_SMIME
+  sm_object_t          *sa_smime;
+#else
+  void                 *sa_smime;
+#endif
+
+  /** @MaxForwards */
+  sip_max_forwards_t    sa_max_forwards[1];
+
+  /** Name of SigComp algorithm */
+  char const           *sa_algorithm;
+  /** Options for SigComp. */
+  char const           *sa_sigcomp_options;
+  char const* const    *sa_sigcomp_option_list;
+  char const           *sa_sigcomp_option_free;
+
+  nta_compressor_t     *sa_compressor;
+
+  /* Statistics */
+  struct {
+    usize_t as_recv_msg;
+    usize_t as_recv_request;
+    usize_t as_recv_response;
+    usize_t as_bad_message;
+    usize_t as_bad_request;
+    usize_t as_bad_response;
+    usize_t as_drop_request;
+    usize_t as_drop_response;
+    usize_t as_client_tr;
+    usize_t as_server_tr;
+    usize_t as_dialog_tr;
+    usize_t as_acked_tr;
+    usize_t as_canceled_tr;
+    usize_t as_trless_request;
+    usize_t as_trless_to_tr;
+    usize_t as_trless_response;
+    usize_t as_trless_200;
+    usize_t as_merged_request;
+    usize_t as_sent_msg;
+    usize_t as_sent_request;
+    usize_t as_sent_response;
+    usize_t as_retry_request;
+    usize_t as_retry_response;
+    usize_t as_recv_retry;
+    usize_t as_tout_request;
+    usize_t as_tout_response;
+  }                  sa_stats[1];
+
+  /** Hash of dialogs. */
+  leg_htable_t          sa_dialogs[1];
+  /** Default leg */
+  nta_leg_t            *sa_default_leg;
+  /** Hash of legs without dialogs. */
+  leg_htable_t          sa_defaults[1];
+  /** Hash table for outgoing transactions */
+  outgoing_htable_t     sa_outgoing[1];
+  nta_outgoing_t       *sa_default_outgoing;
+  /** Hash table for incoming transactions */
+  incoming_htable_t     sa_incoming[1];
+  nta_incoming_t       *sa_default_incoming;
+
+  /* Queues (states) for outgoing client transactions */
+  struct {
+    /** Queue for retrying client transactions */
+    nta_outgoing_t   *re_list;
+    nta_outgoing_t  **re_t1;	        /**< Special place for T1 timer */
+    size_t            re_length;	/**< Length of sa_out.re_list */
+
+    outgoing_queue_t  delayed[1];
+    outgoing_queue_t  resolving[1];
+
+    outgoing_queue_t  trying[1];	/* Timer F/E */
+    outgoing_queue_t  completed[1];	/* Timer K */
+    outgoing_queue_t  terminated[1];
+
+    /* Special queues (states) for outgoing INVITE transactions */
+    outgoing_queue_t  inv_calling[1];	/* Timer B/A */
+    outgoing_queue_t  inv_proceeding[1]; /* Timer C */
+    outgoing_queue_t  inv_completed[1];	/* Timer D */
+
+    /* Temporary queue for transactions waiting to be freed */
+    outgoing_queue_t *free;
+  } sa_out;
+
+  /* Queues (states) for incoming server transactions */
+  struct {
+    /** Queue for retransmitting response of server transactions */
+    nta_incoming_t   *re_list;
+    nta_incoming_t  **re_t1;	        /**< Special place for T1 timer */
+    size_t            re_length;        /**< Length of sa_in.re_list */
+
+    incoming_queue_t  proceeding[1];	/**< Request received */
+    incoming_queue_t  preliminary[1];   /**< 100rel sent  */
+    incoming_queue_t  completed[1];	/**< Final answer sent (non-invite). */
+    incoming_queue_t  inv_completed[1];	/**< Final answer sent (INVITE). */
+    incoming_queue_t  inv_confirmed[1];	/**< Final answer sent, ACK recvd. */
+    incoming_queue_t  terminated[1];	/**< Terminated, ready to free. */
+    incoming_queue_t  final_failed[1];
+  } sa_in;
+
+  /* Special task for freeing memory */
+  su_clone_r          sa_terminator;
+};
+
+struct nta_leg_s
+{
+  su_home_t         leg_home[1];
+  hash_value_t      leg_hash;
+
+  unsigned leg_dialog : 1;
+  unsigned leg_stateless : 1;   /**< Process requests statelessly */
+#ifdef NTA_STRICT_ROUTING
+  unsigned leg_contact_set : 1;
+#else
+  unsigned leg_loose_route : 1; /**< Topmost route in set is LR */
+#endif
+  unsigned leg_local_is_to : 1; /**< Backwards-compatibility. */
+  unsigned leg_tagged : 1;	/**< Tagged after creation.
+				 *
+				 * Request missing @To tag matches
+				 * a tagged leg even after tagging.
+				 */
+  unsigned:0;
+  nta_request_f    *leg_callback;
+  nta_leg_magic_t  *leg_magic;
+  nta_agent_t      *leg_agent;
+
+  url_t const      *leg_url;	/**< Match incoming requests. */
+  char const       *leg_method;	/**< Match incoming requests. */
+
+  uint32_t	    leg_seq;    /**< Sequence number for next transaction */
+  uint32_t	    leg_rseq;   /**< Remote sequence number */
+  sip_call_id_t	   *leg_id;	/**< Call ID */
+  sip_from_t   	   *leg_remote;	/**< Remote address (@To/@From) */
+  sip_to_t     	   *leg_local;	/**< Local address (@From/@To) */
+
+  sip_route_t      *leg_route;  /**< @Route for outgoing requests. */
+  sip_contact_t    *leg_target; /**< Remote destination (from @Contact). */
+};
+
+struct nta_incoming_s
+{
+  su_home_t            *irq_home;
+  hash_value_t          irq_hash;
+  nta_agent_t          *irq_agent;
+  nta_ack_cancel_f     *irq_callback;
+  nta_incoming_magic_t *irq_magic;
+
+  /* Timeout/state queue */
+  nta_incoming_t      **irq_prev;
+  nta_incoming_t       *irq_next;
+  incoming_queue_t     *irq_queue;
+
+  /* Retry queue */
+  nta_incoming_t      **irq_rprev;
+  nta_incoming_t       *irq_rnext;
+
+  sip_method_t        	irq_method;
+  sip_request_t        *irq_rq;
+  sip_from_t           *irq_from;
+  sip_to_t             *irq_to;
+  char const           *irq_tag;
+  sip_cseq_t           *irq_cseq;
+  sip_call_id_t        *irq_call_id;
+  sip_via_t            *irq_via;
+  sip_record_route_t   *irq_record_route;
+  char const           *irq_branch;
+
+  uint32_t              irq_rseq;
+
+  sip_timestamp_t      *irq_timestamp;
+  su_time_t             irq_received;
+
+  uint32_t       	irq_timeout;    /**< Timer H, I, J */
+  uint32_t       	irq_retry;      /**< Timer G */
+  unsigned short      	irq_interval;	/**< Next timer  */
+
+  short               	irq_status;
+
+  unsigned irq_retries:8;
+  unsigned irq_default:1;	/**< Default transaction */
+  unsigned irq_canceled:1;	/**< Transaction is canceled */
+  unsigned irq_completed:1;	/**< Transaction is completed */
+  unsigned irq_confirmed:1;	/**< Response has been acked */
+  unsigned irq_terminated:1;	/**< Transaction is terminated */
+  unsigned irq_final_failed:1;	/**< Sending final response failed */
+  unsigned irq_destroyed :1;	/**< Transaction is destroyed */
+  unsigned irq_in_callback:1;	/**< Callback is being invoked */
+  unsigned irq_reliable_tp:1;	/**< Transport is reliable */
+  unsigned irq_sigcomp_zap:1;	/**< Reset SigComp */
+  unsigned irq_must_100rel:1;	/**< 100rel is required */
+  unsigned irq_tag_set:1;	/**< Tag is not from request */
+  unsigned :0;
+
+  tp_name_t             irq_tpn[1];
+  tport_t              *irq_tport;
+  struct sigcomp_compartment *irq_cc;
+  msg_t		       *irq_request;
+  msg_t		       *irq_request2;       /**< ACK/CANCEL */
+  msg_t		       *irq_response;
+
+  nta_reliable_t       *irq_reliable;       /**< List of reliable responses */
+};
+
+struct nta_reliable_s
+{
+  nta_reliable_t       *rel_next;
+  nta_incoming_t       *rel_irq;
+  nta_prack_f          *rel_callback;
+  nta_reliable_magic_t *rel_magic;
+  uint32_t              rel_rseq;
+  unsigned short        rel_status;
+  unsigned              rel_pracked:1;
+  unsigned              rel_precious:1;
+  msg_t                *rel_response;
+  msg_t                *rel_unsent;
+};
+
+typedef struct sipdns_resolver sipdns_resolver_t;
+
+struct nta_outgoing_s
+{
+  hash_value_t          orq_hash;    /**< Hash value */
+  nta_agent_t          *orq_agent;
+  nta_response_f       *orq_callback;
+  nta_outgoing_magic_t *orq_magic;
+
+  /* Timeout/state queue */
+  nta_outgoing_t      **orq_prev;
+  nta_outgoing_t       *orq_next;
+  outgoing_queue_t     *orq_queue;
+
+  /* Retry queue */
+  nta_outgoing_t      **orq_rprev;
+  nta_outgoing_t       *orq_rnext;
+
+  sip_method_t        	orq_method;
+  char const           *orq_method_name;
+  url_t const          *orq_url;        /**< Original RequestURI */
+
+  sip_from_t const     *orq_from;
+  sip_to_t const       *orq_to;
+  char const           *orq_tag;        /**< Tag from final response. */
+
+  sip_cseq_t const     *orq_cseq;
+  sip_call_id_t const  *orq_call_id;
+
+  msg_t		       *orq_request;
+  msg_t                *orq_response;
+
+  su_time_t             orq_sent;       /**< When request was sent? */
+  unsigned              orq_delay;      /**< RTT estimate */
+
+  uint32_t		orq_retry;	/**< Timer A, E */
+  uint32_t		orq_timeout;	/**< Timer B, D, F, K */
+
+  unsigned short      	orq_interval;	/**< Next timer A/E */
+
+  unsigned short      	orq_status;
+  unsigned char         orq_retries;    /**< Number of tries this far */
+  unsigned orq_default:1;	        /**< This is default transaction */
+  unsigned orq_inserted:1;
+  unsigned orq_resolved:1;
+  unsigned orq_prepared:1; /**< outgoing_prepare() called */
+  unsigned orq_canceled:1;
+  unsigned orq_terminated:1;
+  unsigned orq_destroyed:1;
+  unsigned orq_completed:1;
+  unsigned orq_delayed:1;
+  unsigned orq_stripped_uri:1;
+  unsigned orq_user_tport:1;	/**< Application provided tport - don't retry */
+  unsigned orq_try_tcp_instead:1;
+  unsigned orq_try_udp_instead:1;
+  unsigned orq_reliable:1; /**< Transport is reliable */
+  unsigned orq_ack_error:1; /**< ACK is sent by NTA */
+
+  /* Attributes */
+  unsigned orq_user_via:1;
+  unsigned orq_stateless:1;
+  unsigned orq_pass_100:1;
+  unsigned orq_sigcomp_new:1;	/**< Create compartment if needed */
+  unsigned orq_sigcomp_zap:1;	/**< Reset SigComp after completing */
+  unsigned orq_must_100rel:1;
+  unsigned orq_timestamp:1;	/**< Insert @Timestamp header. */
+  unsigned orq_100rel:1;	/**< Support 100rel */
+  unsigned:0;	/* pad */
+
+#if HAVE_SOFIA_SRESOLV
+  sipdns_resolver_t    *orq_resolver;
+#endif
+  enum nta_res_order_e  orq_res_order;  /**< AAAA/A first? */
+
+  url_t                *orq_route;      /**< Route URL */
+  tp_name_t             orq_tpn[1];     /**< Where to send request */
+  char const           *orq_scheme;     /**< Transport URL type */
+
+  tport_t              *orq_tport;
+  struct sigcomp_compartment *orq_cc;
+  tagi_t               *orq_tags;       /**< Tport tag items */
+  int                   orq_pending;    /**< Request is pending in tport */
+
+  char const           *orq_branch;	/**< Transaction branch */
+  char const           *orq_via_branch;	/**< @Via branch */
+
+  int                  *orq_status2b;   /**< Delayed response */
+
+  nta_outgoing_t       *orq_cancel;     /**< CANCEL transaction */
+
+  uint32_t              orq_rseq;       /**< Latest incoming rseq */
+};
+
+/* ------------------------------------------------------------------------- */
+
 /* Internal tags */
 
 /* Delay sending of request */
@@ -135,8 +597,8 @@
 					   tport_t const *tport,
 					   tp_client_t *via);
 
-static int complete_response(msg_t *response, 
-			     int status, char const *phrase, 
+static int complete_response(msg_t *response,
+			     int status, char const *phrase,
 			     msg_t *request);
 
 static int mreply(nta_agent_t *agent,
@@ -208,10 +670,10 @@
 static void incoming_free(nta_incoming_t *irq);
 su_inline void incoming_cut_off(nta_incoming_t *irq);
 su_inline void incoming_reclaim(nta_incoming_t *irq);
-static void incoming_queue_init(incoming_queue_t *, 
+static void incoming_queue_init(incoming_queue_t *,
 				unsigned timeout);
-static void incoming_queue_adjust(nta_agent_t *sa, 
-				  incoming_queue_t *queue, 
+static void incoming_queue_adjust(nta_agent_t *sa,
+				  incoming_queue_t *queue,
 				  unsigned timeout);
 
 static nta_incoming_t *incoming_find(nta_agent_t const *agent,
@@ -252,10 +714,10 @@
 				       tp_name_t const *tpn,
 				       msg_t *msg,
 				       tag_type_t tag, tag_value_t value, ...);
-static void outgoing_queue_init(outgoing_queue_t *, 
+static void outgoing_queue_init(outgoing_queue_t *,
 				unsigned timeout);
-static void outgoing_queue_adjust(nta_agent_t *sa, 
-				  outgoing_queue_t *queue, 
+static void outgoing_queue_adjust(nta_agent_t *sa,
+				  outgoing_queue_t *queue,
 				  unsigned timeout);
 static void outgoing_free(nta_outgoing_t *orq);
 su_inline void outgoing_cut_off(nta_outgoing_t *orq);
@@ -290,7 +752,7 @@
  *
  * The NTA_DEBUG environment variable is used to determine the default
  * debug logging level. The normal level is 3.
- * 
+ *
  * @sa <sofia-sip/su_debug.h>, #su_log_global, #SOFIA_DEBUG
  */
 #ifdef DOXYGEN
@@ -301,8 +763,8 @@
 #define SU_DEBUG 3
 #endif
 
-/**Debug log for @b nta module. 
- * 
+/**Debug log for @b nta module.
+ *
  * The nta_log is the log object used by @b nta module. The level of
  * nta_log is set using #NTA_DEBUG environment variable.
  */
@@ -354,13 +816,14 @@
  * NTATAG_DEBUG_DROP_PROB(), NTATAG_DEFAULT_PROXY(),
  * NTATAG_EXTRA_100(), NTATAG_GRAYLIST(),
  * NTATAG_MAXSIZE(), NTATAG_MAX_FORWARDS(), NTATAG_MERGE_482(), NTATAG_MCLASS()
- * NTATAG_PASS_100(), NTATAG_PASS_408(), NTATAG_PRELOAD(), NTATAG_PROGRESS(), 
- * NTATAG_REL100(), 
+ * NTATAG_PASS_100(), NTATAG_PASS_408(), NTATAG_PRELOAD(), NTATAG_PROGRESS(),
+ * NTATAG_REL100(),
  * NTATAG_SERVER_RPORT(),
  * NTATAG_SIPFLAGS(),
  * NTATAG_SIP_T1X64(), NTATAG_SIP_T1(), NTATAG_SIP_T2(), NTATAG_SIP_T4(),
  * NTATAG_STATELESS(),
  * NTATAG_TAG_3261(), NTATAG_TCP_RPORT(), NTATAG_TIMEOUT_408(),
+ * NTATAG_TLS_RPORT(),
  * NTATAG_TIMER_C(), NTATAG_MAX_PROCEEDING(),
  * NTATAG_UA(), NTATAG_UDP_MTU(), NTATAG_USER_VIA(),
  * NTATAG_USE_NAPTR(), NTATAG_USE_SRV() and NTATAG_USE_TIMESTAMP().
@@ -368,9 +831,9 @@
  * @note The value from following tags are stored, but they currently do nothing:
  * NTATAG_SIGCOMP_ALGORITHM(), NTATAG_SIGCOMP_OPTIONS(), NTATAG_SMIME()
  *
- * @note It is possible to provide @c (url_string_t*)-1 as @a contact_url. 
+ * @note It is possible to provide @c (url_string_t*)-1 as @a contact_url.
  * In that case, no server sockets are bound.
- * 
+ *
  * @retval handle to the agent when successful,
  * @retval NULL upon an error.
  *
@@ -399,15 +862,15 @@
     agent->sa_flags = MSG_DO_CANONIC;
 
     agent->sa_maxsize         = 2 * 1024 * 1024; /* 2 MB */
-    agent->sa_bad_req_mask    = 
+    agent->sa_bad_req_mask    =
       /*
-       * Bit-wise not of these - what is left is suitable for UAs with 
-       * 100rel, timer, events, publish 
+       * Bit-wise not of these - what is left is suitable for UAs with
+       * 100rel, timer, events, publish
        */
-      (unsigned) ~(sip_mask_response | sip_mask_proxy | sip_mask_registrar | 
+      (unsigned) ~(sip_mask_response | sip_mask_proxy | sip_mask_registrar |
 		   sip_mask_pref | sip_mask_privacy);
-    agent->sa_bad_resp_mask   = 
-      (unsigned) ~(sip_mask_request | sip_mask_proxy | sip_mask_registrar | 
+    agent->sa_bad_resp_mask   =
+      (unsigned) ~(sip_mask_request | sip_mask_proxy | sip_mask_registrar |
 		   sip_mask_pref | sip_mask_privacy);
     agent->sa_t1 	      = NTA_SIP_T1;
     agent->sa_t2 	      = NTA_SIP_T2;
@@ -445,14 +908,14 @@
       agent->sa_mclass = sip_default_mclass();
 
     agent->sa_in.re_t1 = &agent->sa_in.re_list;
-    
+
     incoming_queue_init(agent->sa_in.proceeding, 0);
     incoming_queue_init(agent->sa_in.preliminary, agent->sa_t1x64); /* P1 */
     incoming_queue_init(agent->sa_in.inv_completed, agent->sa_t1x64); /* H */
     incoming_queue_init(agent->sa_in.inv_confirmed, agent->sa_t4); /* I */
     incoming_queue_init(agent->sa_in.completed, agent->sa_t1x64); /* J */
     incoming_queue_init(agent->sa_in.terminated, 0);
-    incoming_queue_init(agent->sa_in.final_failed, 0); 
+    incoming_queue_init(agent->sa_in.final_failed, 0);
 
     agent->sa_out.re_t1 = &agent->sa_out.re_list;
 
@@ -460,7 +923,7 @@
     outgoing_queue_init(agent->sa_out.resolving, 0);
     outgoing_queue_init(agent->sa_out.trying, agent->sa_t1x64); /* F */
     outgoing_queue_init(agent->sa_out.completed, agent->sa_t4); /* K */
-    outgoing_queue_init(agent->sa_out.terminated, 0); 
+    outgoing_queue_init(agent->sa_out.terminated, 0);
     /* Special queues (states) for outgoing INVITE transactions */
     outgoing_queue_init(agent->sa_out.inv_calling, agent->sa_t1x64); /* B */
     timer_c = (agent->sa_use_timer_c || !agent->sa_is_a_uas)
@@ -547,7 +1010,7 @@
 
     for (i = 0, lht = agent->sa_defaults; i < lht->lht_size; i++) {
       if ((leg = lht->lht_table[i])) {
-	SU_DEBUG_3(("%s: destroying leg for <" 
+	SU_DEBUG_3(("%s: destroying leg for <"
 		    URL_PRINT_FORMAT ">\n",
 		    __func__, URL_PRINT_ARGS(leg->leg_url)));
 	leg_free(agent, leg);
@@ -851,7 +1314,7 @@
     now = agent->sa_now, ms = agent->sa_millisec;
   else
     now = su_now(), ms = su_time_ms(now);
-  
+
   next = ms + offset; if (next == 0) next = 1;
 
   if (agent->sa_in_timer)	/* Currently executing timer */
@@ -863,8 +1326,8 @@
       SU_DEBUG_9(("nta: timer %s to %ld ms\n", "shortened", (long)offset));
     else
       SU_DEBUG_9(("nta: timer %s to %ld ms\n", "set", (long)offset));
-      
-    su_timer_set_at(agent->sa_timer, agent_timer, agent, 
+
+    su_timer_set_at(agent->sa_timer, agent_timer, agent,
 		    add_milliseconds(now, offset));
     agent->sa_next = next;
   }
@@ -879,7 +1342,7 @@
 {
   if (agent && agent->sa_millisec != 0)
     return agent->sa_now;
-  else 
+  else
     return su_now();
 }
 
@@ -891,7 +1354,7 @@
 #ifdef TPTAG_THRPSIZE
   if (agent->sa_tport_threadpool) {
     su_home_threadsafe(agent->sa_home);
-    return su_clone_start(agent->sa_root, 
+    return su_clone_start(agent->sa_root,
 			  agent->sa_terminator,
 			  NULL,
 			  NULL,
@@ -916,7 +1379,7 @@
  * NTA keeps transactions alive, does NTA apply proxy or user-agent logic to
  * INVITE transactions, or how the @Via headers are generated.
  *
- * @note 
+ * @note
  * Setting the parameters NTATAG_MAXSIZE(), NTATAG_UDP_MTU(), NTATAG_MAX_PROCEEDING(),
  * NTATAG_SIP_T1X64(), NTATAG_SIP_T1(), NTATAG_SIP_T2(), NTATAG_SIP_T4() to
  * 0 selects the default value.
@@ -928,13 +1391,14 @@
  * NTATAG_DEBUG_DROP_PROB(), NTATAG_DEFAULT_PROXY(),
  * NTATAG_EXTRA_100(), NTATAG_GRAYLIST(),
  * NTATAG_MAXSIZE(), NTATAG_MAX_FORWARDS(), NTATAG_MERGE_482(), NTATAG_MCLASS()
- * NTATAG_PASS_100(), NTATAG_PASS_408(), NTATAG_PRELOAD(), NTATAG_PROGRESS(), 
- * NTATAG_REL100(), 
+ * NTATAG_PASS_100(), NTATAG_PASS_408(), NTATAG_PRELOAD(), NTATAG_PROGRESS(),
+ * NTATAG_REL100(),
  * NTATAG_SERVER_RPORT(),
  * NTATAG_SIPFLAGS(),
  * NTATAG_SIP_T1X64(), NTATAG_SIP_T1(), NTATAG_SIP_T2(), NTATAG_SIP_T4(),
  * NTATAG_STATELESS(),
  * NTATAG_TAG_3261(), NTATAG_TCP_RPORT(), NTATAG_TIMEOUT_408(),
+ * NTATAG_TLS_RPORT(),
  * NTATAG_TIMER_C(), NTATAG_MAX_PROCEEDING(),
  * NTATAG_UA(), NTATAG_UDP_MTU(), NTATAG_USER_VIA(),
  * NTATAG_USE_NAPTR(), NTATAG_USE_SRV() and NTATAG_USE_TIMESTAMP().
@@ -999,6 +1463,7 @@
   int rport           = agent->sa_rport;
   int server_rport    = agent->sa_server_rport;
   int tcp_rport       = agent->sa_tcp_rport;
+  int tls_rport       = agent->sa_tls_rport;
   unsigned preload         = agent->sa_preload;
   unsigned threadpool      = agent->sa_tport_threadpool;
   char const *sigcomp = agent->sa_sigcomp_options;
@@ -1045,6 +1510,7 @@
 #endif
 	      NTATAG_STATELESS_REF(stateless),
 	      NTATAG_TCP_RPORT_REF(tcp_rport),
+	      NTATAG_TLS_RPORT_REF(tls_rport),
 	      NTATAG_TIMEOUT_408_REF(timeout_408),
 	      NTATAG_UA_REF(ua),
 	      NTATAG_UDP_MTU_REF(udp_mtu),
@@ -1127,7 +1593,7 @@
   if (maxsize > UINT32_MAX) maxsize = UINT32_MAX;
   agent->sa_maxsize = maxsize;
 
-  if (max_proceeding == 0) max_proceeding = SIZE_MAX;
+  if (max_proceeding == 0) max_proceeding = UINT32_MAX;
   agent->sa_max_proceeding = max_proceeding;
 
   if (max_forwards == 0) max_forwards = 70; /* Default value */
@@ -1214,13 +1680,14 @@
   agent->sa_flags = flags & MSG_FLG_USERMASK;
   agent->sa_rport = rport != 0;
   agent->sa_tcp_rport = tcp_rport != 0;
+  agent->sa_tls_rport = tls_rport != 0;
   agent->sa_preload = preload;
   agent->sa_tport_threadpool = threadpool;
 
   return n;
 }
 
-static 
+static
 void agent_set_udp_params(nta_agent_t *self, usize_t udp_mtu)
 {
   tport_t *tp;
@@ -1243,23 +1710,23 @@
  * INVITE transactions, or how the @Via headers are generated.
  *
  * @TAGS
- * NTATAG_ALIASES_REF(), NTATAG_BLACKLIST_REF(), 
+ * NTATAG_ALIASES_REF(), NTATAG_BLACKLIST_REF(),
  * NTATAG_CANCEL_2543_REF(), NTATAG_CANCEL_487_REF(),
- * NTATAG_CLIENT_RPORT_REF(), NTATAG_CONTACT_REF(), 
+ * NTATAG_CLIENT_RPORT_REF(), NTATAG_CONTACT_REF(),
  * NTATAG_DEBUG_DROP_PROB_REF(), NTATAG_DEFAULT_PROXY_REF(),
  * NTATAG_EXTRA_100_REF(), NTATAG_GRAYLIST_REF(),
  * NTATAG_MAXSIZE_REF(), NTATAG_MAX_FORWARDS_REF(), NTATAG_MCLASS_REF(),
  * NTATAG_MERGE_482_REF(), NTATAG_MAX_PROCEEDING_REF(),
  * NTATAG_PASS_100_REF(), NTATAG_PASS_408_REF(), NTATAG_PRELOAD_REF(),
  * NTATAG_PROGRESS_REF(),
- * NTATAG_REL100_REF(), 
- * NTATAG_SERVER_RPORT_REF(), 
+ * NTATAG_REL100_REF(),
+ * NTATAG_SERVER_RPORT_REF(),
  * NTATAG_SIGCOMP_ALGORITHM_REF(), NTATAG_SIGCOMP_OPTIONS_REF(),
  * NTATAG_SIPFLAGS_REF(),
  * NTATAG_SIP_T1_REF(), NTATAG_SIP_T1X64_REF(), NTATAG_SIP_T2_REF(),
  * NTATAG_SIP_T4_REF(), NTATAG_SMIME_REF(), NTATAG_STATELESS_REF(),
  * NTATAG_TAG_3261_REF(), NTATAG_TIMEOUT_408_REF(), NTATAG_TIMER_C_REF(),
- * NTATAG_UA_REF(), NTATAG_UDP_MTU_REF(), NTATAG_USER_VIA_REF(), 
+ * NTATAG_UA_REF(), NTATAG_UDP_MTU_REF(), NTATAG_USER_VIA_REF(),
  * NTATAG_USE_NAPTR_REF(), NTATAG_USE_SRV_REF(),
  * and NTATAG_USE_TIMESTAMP_REF().
  *
@@ -1366,7 +1833,7 @@
  * NTATAG_S_SENT_REQUEST_REF(),
  * NTATAG_S_SENT_RESPONSE_REF(),
  * NTATAG_S_SERVER_TR_REF(),
- * NTATAG_S_TOUT_REQUEST_REF(), 
+ * NTATAG_S_TOUT_REQUEST_REF(),
  * NTATAG_S_TOUT_RESPONSE_REF(),
  * NTATAG_S_TRLESS_200_REF(),
  * NTATAG_S_TRLESS_REQUEST_REF(),
@@ -1459,7 +1926,7 @@
   /* XXX - use a cryptographically safe func here? */
   sa->sa_branch += NTA_BRANCH_PRIME;
 
-  msg_random_token(branch, sizeof(branch) - 1, 
+  msg_random_token(branch, sizeof(branch) - 1,
 		   &sa->sa_branch, sizeof(sa->sa_branch));
 
   return su_sprintf(home, "branch=z9hG4bK%s", branch);
@@ -1469,13 +1936,13 @@
 
 /**
  * Calculate branch value for stateless operation.
- * 
+ *
  * XXX - should include HMAC of previous @Via line.
  */
 static
-char const *stateless_branch(nta_agent_t *sa, 
+char const *stateless_branch(nta_agent_t *sa,
 			     msg_t *msg,
-			     sip_t const *sip, 
+			     sip_t const *sip,
 			     tp_name_t const *tpn)
 {
   su_md5_t md5[1];
@@ -1542,7 +2009,7 @@
 /**For each transport, we have name used by tport module, SRV prefixes used
  * for resolving, and NAPTR service/conversion.
  */
-static 
+static
 struct sipdns_tport {
   char name[6];			/**< Named used by tport module */
   char port[6];			/**< Default port number */
@@ -1678,14 +2145,14 @@
   if (url->url_type == url_sip) {
     tpn->tpn_proto = "*";
     tports = tports_sip;
-    if (!tpn->tpn_port || !tpn->tpn_port[0]) 
+    if (!tpn->tpn_port || !tpn->tpn_port[0])
       tpn->tpn_port = SIP_DEFAULT_SERV;
   }
   else {
     assert(url->url_type == url_sips);
     tpn->tpn_proto = "*";
     tports = tports_sips;
-    if (!tpn->tpn_port || !tpn->tpn_port[0]) 
+    if (!tpn->tpn_port || !tpn->tpn_port[0])
       tpn->tpn_port = SIPS_DEFAULT_SERV;
   }
 
@@ -1712,8 +2179,8 @@
     if (url_param(url->url_params, "comp", comp, sizeof(comp)) > 0)
       tpn->tpn_comp = comp;
 
-    if (tpn->tpn_comp && 
-	(nta_compressor_vtable == NULL || 
+    if (tpn->tpn_comp &&
+	(nta_compressor_vtable == NULL ||
 	 strcasecmp(tpn->tpn_comp, nta_compressor_vtable->ncv_name) != 0)) {
       SU_DEBUG_1(("nta(%p): comp=%s not supported for " URL_PRINT_FORMAT "\n",
 		  (void *)self, tpn->tpn_comp, URL_PRINT_ARGS(url)));
@@ -1781,7 +2248,7 @@
 static
 int agent_create_master_transport(nta_agent_t *self, tagi_t *tags)
 {
-  self->sa_tports = 
+  self->sa_tports =
     tport_tcreate(self, nta_agent_class, self->sa_root,
 		  TPTAG_SDWN_ERROR(0),
 		  TPTAG_IDLE(1800000),
@@ -1872,14 +2339,14 @@
 	maddr = 0;
 	port = 0;
       }
-	
+
       if (strncasecmp(tpn->tpn_proto, "tls", 3)
 	  ? port == SIP_DEFAULT_PORT
 	  : port == SIPS_DEFAULT_PORT)
 	port = 0;
 
       snprintf(sport, sizeof sport, ":%u", port);
-      
+
       comp = tpn->tpn_comp;
 
       SU_DEBUG_9(("nta: agent_init_via: "
@@ -1933,7 +2400,7 @@
 
     while (via->v_next && via->v_next->v_common->h_data == tp)
       via = via->v_next, new_via = new_via->v_next, dup_via = dup_via->v_next;
-    
+
     via = via->v_next;
     /* Break the link in via list between transports */
     vv = &new_via->v_next, new_via = *vv, *vv = NULL;
@@ -1952,7 +2419,7 @@
     agent_set_udp_params(self, self->sa_udp_mtu);
 
   v = self->sa_vias;
-  self->sa_vias = new_vias; 
+  self->sa_vias = new_vias;
   msg_header_free(self->sa_home, (void *)v);
 
   v = self->sa_public_vias;
@@ -2003,7 +2470,7 @@
 
   v2 = v1->v_next;
 
-  if (v2 && 
+  if (v2 &&
       strcasecmp(v1->v_host, v2->v_host) == 0 &&
       str0casecmp(v1->v_port, v2->v_port) == 0) {
     char const *p1 = v1->v_protocol, *p2 = v2->v_protocol;
@@ -2017,7 +2484,7 @@
       tp = NULL;
   }
 
-  self->sa_contact = 
+  self->sa_contact =
     sip_contact_create_from_via_with_transport(self->sa_home, v1, NULL, tp);
 
   if (!self->sa_contact)
@@ -2038,7 +2505,7 @@
 
 /** Insert @Via to a request message */
 static
-int outgoing_insert_via(nta_outgoing_t *orq, 
+int outgoing_insert_via(nta_outgoing_t *orq,
 			sip_via_t const *via)
 {
   nta_agent_t *self = orq->orq_agent;
@@ -2062,9 +2529,10 @@
   else
     return -1;
 
-  if (!v->v_rport && 
+  if (!v->v_rport &&
       ((self->sa_rport && v->v_protocol == sip_transport_udp) ||
-       (self->sa_tcp_rport && v->v_protocol == sip_transport_tcp)))
+       (self->sa_tcp_rport && v->v_protocol == sip_transport_tcp) ||
+       (self->sa_tls_rport && v->v_protocol == sip_transport_tls)))
     msg_header_add_param(msg_home(msg), v->v_common, "rport");
 
   if (!orq->orq_tpn->tpn_comp)
@@ -2082,14 +2550,14 @@
     clear = 1, v->v_protocol = via->v_protocol;
 
   /* XXX - should we do this? */
-  if (!user_via &&
+  if ((!user_via || !v->v_host) &&
       via->v_host != v->v_host &&
       str0cmp(via->v_host, v->v_host))
     clear = 1, v->v_host = via->v_host;
 
-  if ((!user_via ||
+  if ((!user_via || !v->v_port ||
        /* Replace port in user Via only if we use udp and no rport */
-       (v->v_protocol == sip_transport_udp && !v->v_rport && 
+       (v->v_protocol == sip_transport_udp && !v->v_rport &&
 	!orq->orq_stateless)) &&
       via->v_port != v->v_port &&
       str0cmp(via->v_port, v->v_port))
@@ -2101,7 +2569,7 @@
   return 0;
 }
 
-/** Get destination name from @Via. 
+/** Get destination name from @Via.
  *
  * If @a using_rport is non-null, try rport.
  * If *using_rport is non-zero, try rport even if <protocol> is not UDP.
@@ -2149,7 +2617,7 @@
     return -1;
   }
 
-  if (url->url_type != url_sip && 
+  if (url->url_type != url_sip &&
       url->url_type != url_sips &&
       url->url_type != url_im &&
       url->url_type != url_pres) {
@@ -2215,7 +2683,7 @@
   }
   else {
     /* XXX - we should do something else? */
-    SU_DEBUG_3(("%s(%p): %s\n", "nta", (void *)self, 
+    SU_DEBUG_3(("%s(%p): %s\n", "nta", (void *)self,
 		"transport address updated"));
   }
 }
@@ -2288,7 +2756,7 @@
 
   if (agent->sa_drop_prob && !tport_is_reliable(tport)) {
     if ((unsigned)su_randint(0, 1000) < agent->sa_drop_prob) {
-      SU_DEBUG_5(("nta: %s (%u) is %s\n", 
+      SU_DEBUG_5(("nta: %s (%u) is %s\n",
 		  method_name, cseq, "dropped simulating packet loss"));
       agent->sa_stats->as_drop_request++;
       msg_destroy(msg);
@@ -2299,16 +2767,16 @@
   stream = tport_is_stream(tport);
 
   /* Try to use compression on reverse direction if @Via has comp=sigcomp  */
-  if (stream && 
+  if (stream &&
       sip->sip_via && sip->sip_via->v_comp &&
       tport_can_send_sigcomp(tport) &&
-      tport_name(tport)->tpn_comp == NULL && 
+      tport_name(tport)->tpn_comp == NULL &&
       tport_has_compression(tport_parent(tport), sip->sip_via->v_comp)) {
     tport_set_compression(tport, sip->sip_via->v_comp);
   }
 
   if (sip->sip_flags & MSG_FLG_TOOLARGE) {
-    SU_DEBUG_5(("nta: %s (%u) is %s\n", 
+    SU_DEBUG_5(("nta: %s (%u) is %s\n",
 		method_name, cseq, sip_413_Request_too_large));
     agent->sa_stats->as_bad_request++;
     mreply(agent, NULL, SIP_413_REQUEST_TOO_LARGE, msg,
@@ -2325,11 +2793,11 @@
     errors = sip->sip_error != NULL;
 
   if (errors ||
-      (sip->sip_flags & MSG_FLG_ERROR) /* Fatal error */ || 
+      (sip->sip_flags & MSG_FLG_ERROR) /* Fatal error */ ||
       (insane = (sip_sanity_check(sip) < 0))) {
     sip_header_t const *h;
     char const *badname = NULL, *phrase;
-    
+
     agent->sa_stats->as_bad_message++;
     agent->sa_stats->as_bad_request++;
 
@@ -2342,12 +2810,12 @@
 
       if (h->sh_class == sip_error_class)
 	bad = h->sh_error->er_name;
-      else 
+      else
 	bad = h->sh_class->hc_name;
 
       if (bad)
 	SU_DEBUG_5(("nta: %s has bad %s header\n", method_name, bad));
-      
+
       if (!badname)
 	badname = bad;
     }
@@ -2363,7 +2831,7 @@
 	phrase = sip_400_Bad_request;
 
       SU_DEBUG_5(("nta: %s (%u) is %s\n", method_name, cseq, phrase));
-	
+
       mreply(agent, reply, 400, phrase, msg,
 	     tport, 1, stream, NULL,
 	     TAG_END());
@@ -2400,7 +2868,7 @@
   }
 
   /* First, try existing incoming requests */
-  irq = incoming_find(agent, sip, sip->sip_via, 
+  irq = incoming_find(agent, sip, sip->sip_via,
 		      agent->sa_merge_482 &&
 		      !sip->sip_to->a_tag &&
 		      method != sip_method_ack
@@ -2442,7 +2910,7 @@
     if (rel) {
       SU_DEBUG_5(("nta: %s (%u) is going to %s (%u)\n",
 		  method_name, cseq,
-		  rel->rel_irq->irq_cseq->cs_method_name, 
+		  rel->rel_irq->irq_cseq->cs_method_name,
 		  rel->rel_irq->irq_cseq->cs_seq));
       reliable_recv(rel, msg, sip, tport);
       return;
@@ -2453,10 +2921,10 @@
   url->url_params = NULL;
   agent_aliases(agent, url, tport); /* canonize urls */
 
-  if ((leg = leg_find(agent, 
-		      method_name, url, 
+  if ((leg = leg_find(agent,
+		      method_name, url,
 		      sip->sip_call_id,
-		      sip->sip_from->a_tag, 
+		      sip->sip_from->a_tag,
 		      sip->sip_to->a_tag))) {
     /* Try existing dialog */
     SU_DEBUG_5(("nta: %s (%u) %s\n",
@@ -2490,14 +2958,14 @@
   else if (agent->sa_callback) {
     /* Stateless processing for request */
     agent->sa_stats->as_trless_request++;
-    SU_DEBUG_5(("nta: %s (%u) %s\n", 
+    SU_DEBUG_5(("nta: %s (%u) %s\n",
 		method_name, cseq, "to message callback"));
     (void)agent->sa_callback(agent->sa_magic, agent, msg, sip);
   }
   else {
     agent->sa_stats->as_trless_request++;
     SU_DEBUG_5(("nta: %s (%u) %s\n",
-		method_name, cseq, 
+		method_name, cseq,
 		"not processed by application: returning 501"));
     if (method != sip_method_ack)
       mreply(agent, NULL, SIP_501_NOT_IMPLEMENTED, msg,
@@ -2569,7 +3037,7 @@
       hostport[rlen] = '\0';
     }
 
-    msg_header_replace_param(msg_home(msg), v->v_common, 
+    msg_header_replace_param(msg_home(msg), v->v_common,
 			     su_strdup(msg_home(msg), received));
     SU_DEBUG_5(("nta: Via check: %s\n", received));
   }
@@ -2580,7 +3048,7 @@
   else if (v->v_rport) {
     rport = su_sprintf(msg_home(msg), "rport=%u", ntohs(from->su_port));
     msg_header_replace_param(msg_home(msg), v->v_common, rport);
-  } 
+  }
   else if (tport_is_tcp(tport)) {
     rport = su_sprintf(msg_home(msg), "rport=%u", ntohs(from->su_port));
     msg_header_replace_param(msg_home(msg), v->v_common, rport);
@@ -2588,12 +3056,12 @@
   else if (agent->sa_server_rport == 2) {
     rport = su_sprintf(msg_home(msg), "rport=%u", ntohs(from->su_port));
     msg_header_replace_param(msg_home(msg), v->v_common, rport);
-  } 
+  }
 
   return 0;
 }
 
-/** @internal Handle aliases of local node. 
+/** @internal Handle aliases of local node.
  *
  * Return true if @a url is modified.
  */
@@ -2687,7 +3155,7 @@
   agent->sa_stats->as_recv_msg++;
   agent->sa_stats->as_recv_response++;
 
-  SU_DEBUG_5(("nta: received %03d %s for %s (%u)\n", 
+  SU_DEBUG_5(("nta: received %03d %s for %s (%u)\n",
 	      status, phrase, method, cseq));
 
   if (agent->sa_drop_prob && !tport_is_reliable(tport)) {
@@ -2705,7 +3173,7 @@
   else
     errors = sip->sip_error != NULL;
 
-  if (errors || 
+  if (errors ||
       sip_sanity_check(sip) < 0) {
     sip_header_t const *h;
 
@@ -2750,7 +3218,7 @@
   /* XXX - should check if msg should be discarded based on via? */
 
   if ((orq = outgoing_find(agent, msg, sip, sip->sip_via))) {
-    SU_DEBUG_5(("nta: %03d %s %s\n", 
+    SU_DEBUG_5(("nta: %03d %s %s\n",
 		status, phrase, "is going to a transaction"));
     if (outgoing_recv(orq, status, msg, sip) == 0)
       return;
@@ -2759,7 +3227,7 @@
   agent->sa_stats->as_trless_response++;
 
   if ((orq = agent->sa_default_outgoing)) {
-    SU_DEBUG_5(("nta: %03d %s %s\n", status, phrase, 
+    SU_DEBUG_5(("nta: %03d %s %s\n", status, phrase,
 		"to the default transaction"));
     outgoing_default_recv(orq, status, msg, sip);
     return;
@@ -2778,7 +3246,7 @@
       && 200 <= sip->sip_status->st_status
       && sip->sip_status->st_status < 300
       /* Exactly one Via header, belonging to us */
-      && sip->sip_via && !sip->sip_via->v_next 
+      && sip->sip_via && !sip->sip_via->v_next
       && agent_has_via(agent, sip->sip_via)) {
     agent->sa_stats->as_trless_200++;
 #if nomore /* sf.net bug #1750691. Let UAS to cope with it. */
@@ -2867,7 +3335,7 @@
 /** Check if the headers are from response generated locally by NTA. */
 int  nta_sip_is_internal(sip_t const *sip)
 {
-  return 
+  return
     sip == NULL		/* No message generated */
     || (sip->sip_flags & NTA_INTERNAL_MSG) == NTA_INTERNAL_MSG;
 }
@@ -2878,7 +3346,7 @@
   return msg_get_flags(msg, NTA_INTERNAL_MSG) == NTA_INTERNAL_MSG;
 }
 
-/** Check if the message is internally generated by NTA. 
+/** Check if the message is internally generated by NTA.
  *
  * @deprecated Use nta_msg_is_internal() instead
  */
@@ -2887,7 +3355,7 @@
 /* ====================================================================== */
 /* 5) Stateless operation */
 
-/**Forward a request or response message. 
+/**Forward a request or response message.
  *
  * @note
  * The ownership of @a msg is taken over by the function even if the
@@ -2907,8 +3375,8 @@
     return -1;
   }
 
-  what = 
-    sip->sip_status ? "nta_msg_tsend(response)" : 
+  what =
+    sip->sip_status ? "nta_msg_tsend(response)" :
     sip->sip_request ? "nta_msg_tsend(request)" :
     "nta_msg_tsend()";
 
@@ -2932,7 +3400,7 @@
 	    /* NTATAG_INCOMPLETE_REF(incomplete), */
 	    TAG_END());
 
-    if (!sip->sip_separator && 
+    if (!sip->sip_separator &&
 	!(sip->sip_separator = sip_separator_create(msg_home(msg))))
       SU_DEBUG_3(("%s: cannot create sip_separator\n", what));
     else if (msg_serialize(msg, (msg_pub_t *)sip) != 0)
@@ -2967,7 +3435,7 @@
   }
   else {
     /* Send request */
-    if (outgoing_create(agent, NULL, NULL, u, NULL, msg_ref_create(msg), 
+    if (outgoing_create(agent, NULL, NULL, u, NULL, msg_ref_create(msg),
 			NTATAG_STATELESS(1),
 			ta_tags(ta)))
       retval = 0;
@@ -3127,7 +3595,7 @@
       }
     }
 
-    if (tport_tsend(tport, reply, tpn, 
+    if (tport_tsend(tport, reply, tpn,
 		    IF_SIGCOMP_TPTAG_COMPARTMENT(cc)
 		    TPTAG_MTU(INT_MAX),
 		    TPTAG_SDWN_AFTER(sdwn_after),
@@ -3151,8 +3619,8 @@
 
 /** Add headers from the request to the response message. */
 static
-int complete_response(msg_t *response, 
-		      int status, char const *phrase, 
+int complete_response(msg_t *response,
+		      int status, char const *phrase,
 		      msg_t *request)
 {
   su_home_t *home = msg_home(response);
@@ -3173,7 +3641,7 @@
   if (!response_sip->sip_to)
     response_sip->sip_to = sip_to_dup(home, request_sip->sip_to);
   if (!response_sip->sip_call_id)
-    response_sip->sip_call_id = 
+    response_sip->sip_call_id =
       sip_call_id_dup(home, request_sip->sip_call_id);
   if (!response_sip->sip_cseq)
     response_sip->sip_cseq = sip_cseq_dup(home, request_sip->sip_cseq);
@@ -3252,7 +3720,7 @@
     /* Append r-uri */
     *sip_route_init(r0)->r_url = *ruri->us_url;
     r->r_next = sip_route_dup(home, r0);
-    
+
     /* Use topmost route as request-uri */
     ruri = (url_string_t const *)route->r_url;
     route = route->r_next;
@@ -3292,7 +3760,7 @@
   else
     msg_header_insert(bmsg, (msg_pub_t *)bsip, (msg_header_t *)rq);
 
-  if (!(bye = nta_outgoing_mcreate(agent, NULL, NULL, NULL, bmsg, 
+  if (!(bye = nta_outgoing_mcreate(agent, NULL, NULL, NULL, bmsg,
 				   NTATAG_STATELESS(1),
 				   TAG_END())))
     goto err;
@@ -3374,7 +3842,7 @@
     request_uri = (url_string_t *)sip->sip_request->rq_url;
 
   to = sip->sip_to ? sip->sip_to : leg->leg_remote;
-  
+
   if (!request_uri && to) {
     if (method != sip_method_register)
       request_uri = (url_string_t *)to->a_url;
@@ -3391,7 +3859,7 @@
 
   if (method || method_name) {
     sip_request_t *rq = sip->sip_request;
-    int use_headers = 
+    int use_headers =
       request_uri == original || (url_t *)request_uri == rq->rq_url;
 
     if (!rq
@@ -3406,11 +3874,11 @@
 	return -1;
     }
 
-    /* @RFC3261 table 1 (page 152): 
-     * Req-URI cannot contain method parameter or headers 
+    /* @RFC3261 table 1 (page 152):
+     * Req-URI cannot contain method parameter or headers
      */
     if (rq->rq_url->url_params) {
-      rq->rq_url->url_params = 
+      rq->rq_url->url_params =
 	url_strip_param_string((char *)rq->rq_url->url_params, "method");
       sip_fragment_clear(rq->rq_common);
     }
@@ -3466,10 +3934,10 @@
   method_name = sip->sip_request->rq_method_name;
 
   if (!leg->leg_id && sip->sip_cseq)
-    seq = sip->sip_cseq->cs_seq; 
+    seq = sip->sip_cseq->cs_seq;
   else if (method == sip_method_ack || method == sip_method_cancel)
     /* Dangerous - we may do PRACK/UPDATE meanwhile */
-    seq = sip->sip_cseq ? sip->sip_cseq->cs_seq : leg->leg_seq; 
+    seq = sip->sip_cseq ? sip->sip_cseq->cs_seq : leg->leg_seq;
   else if (leg->leg_seq)
     seq = ++leg->leg_seq;
   else if (sip->sip_cseq) /* Obtain initial value from existing CSeq header */
@@ -3484,10 +3952,10 @@
       sip->sip_call_id = sip_call_id_create(home, NULL);
   }
 
-  if ((!sip->sip_cseq || 
+  if ((!sip->sip_cseq ||
        seq != sip->sip_cseq->cs_seq ||
        method != sip->sip_cseq->cs_method ||
-       (method == sip_method_unknown && 
+       (method == sip_method_unknown &&
 	strcmp(method_name, sip->sip_cseq->cs_method_name) != 0)) &&
       (!(cseq = sip_cseq_create(home, seq, method, method_name)) ||
        msg_header_insert(msg, (msg_pub_t *)sip, (msg_header_t *)cseq) < 0))
@@ -3576,7 +4044,7 @@
  *     nta_leg_client_route(), nta_leg_server_route(),
  *     nta_leg_destroy(), nta_outgoing_tcreate(), and nta_request_f().
  *
- * @TAGS 
+ * @TAGS
  * NTATAG_NO_DIALOG(), NTATAG_STATELESS(), NTATAG_METHOD(),
  * URLTAG_URL(), SIPTAG_CALL_ID(), SIPTAG_CALL_ID_STR(), SIPTAG_FROM(),
  * SIPTAG_FROM_STR(), SIPTAG_TO(), SIPTAG_TO_STR(), SIPTAG_ROUTE(),
@@ -3648,7 +4116,7 @@
 
   if (from) {
     /* Now this is kludge */
-    leg->leg_local_is_to = sip_is_to((sip_header_t*)from); 
+    leg->leg_local_is_to = sip_is_to((sip_header_t*)from);
     leg->leg_local = sip_to_dup(home, from);
   }
   else if (from_str)
@@ -3682,7 +4150,7 @@
     url_t *changed = url_hdup(home, url);
     su_free(home, url);
     url = changed;
-  }	
+  }
 
   leg->leg_rseq = rseq;
   leg->leg_seq = seq;
@@ -3716,7 +4184,7 @@
 	what = "Missing local dialog address";
       else if (leg->leg_local)
 	what = "Missing remote dialog address";
-      else 
+      else
 	what = "Missing dialog addresses";
       goto err;
     }
@@ -3909,7 +4377,7 @@
  * @param leg leg to be tagged
  * @param tag tag to be added (if NULL, a tag generated by @b NTA is added)
  *
- * @return 
+ * @return
  * Pointer to tag if successful, NULL otherwise.
  */
 char const *nta_leg_tag(nta_leg_t *leg, char const *tag)
@@ -3920,7 +4388,7 @@
   if (tag && strchr(tag, '='))
     tag = strchr(tag, '=') + 1;
 
-  /* If there already is a tag, 
+  /* If there already is a tag,
      return NULL if it does not match with new one */
   if (leg->leg_local->a_tag) {
     if (!tag && str0casecmp(tag, leg->leg_local->a_tag))
@@ -3928,7 +4396,7 @@
     else
       return leg->leg_local->a_tag;
   }
-  
+
   if (tag) {
     if (sip_to_tag(leg->leg_home, leg->leg_local, tag) < 0)
       return NULL;
@@ -3957,12 +4425,12 @@
 
 /** Add a remote tag to the leg.
  *
- * @note No remote tag is ever generated. 
+ * @note No remote tag is ever generated.
  *
  * @param leg leg to be tagged
  * @param tag tag to be added (@b must be non-NULL)
  *
- * @return 
+ * @return
  * Pointer to tag if successful, NULL otherwise.
  */
 char const *nta_leg_rtag(nta_leg_t *leg, char const *tag)
@@ -3975,7 +4443,7 @@
 
   if (leg && leg->leg_remote)
     return leg->leg_remote->a_tag;
-  else 
+  else
     return NULL;
 }
 
@@ -4023,8 +4491,8 @@
 }
 
 /** Return route components. */
-int nta_leg_get_route(nta_leg_t *leg, 
-		      sip_route_t const **return_route, 
+int nta_leg_get_route(nta_leg_t *leg,
+		      sip_route_t const **return_route,
 		      sip_contact_t const **return_target)
 {
   if (!leg)
@@ -4054,12 +4522,12 @@
     return NULL;
   if (!leg->leg_dialog || !leg->leg_local || !leg->leg_remote || !leg->leg_id)
     return NULL;
-  
+
   from_tag = leg->leg_local->a_tag; if (!from_tag) from_tag = "0";
   to_tag = leg->leg_remote->a_tag; if (!to_tag) to_tag = "0";
 
   return sip_replaces_format(home, "%s;from-tag=%s;to-tag=%s%s",
-			     leg->leg_id->i_id, from_tag, to_tag, 
+			     leg->leg_id->i_id, from_tag, to_tag,
 			     early_only ? ";early-only" : "");
 }
 
@@ -4257,8 +4725,8 @@
  * @param request_uri  if non-NULL, and there is destination URI
  *                     associated with the dialog, these URIs must match
  * @param call_id      if non-NULL, must match with @CallID header contents
- * @param remote_tag   if there is remote tag 
- *                     associated with dialog, @a remote_tag must match 
+ * @param remote_tag   if there is remote tag
+ *                     associated with dialog, @a remote_tag must match
  * @param remote_uri   ignored
  * @param local_tag    if non-NULL and there is local tag associated with leg,
  *                     it must math
@@ -4290,7 +4758,7 @@
   else if (URL_IS_STRING(request_uri)) {
     /* accept a string as URL */
     to_be_freed = url = url_hdup(NULL, request_uri);
-  } 
+  }
   else {
     *url0 = *request_uri, url = url0;
   }
@@ -4305,10 +4773,10 @@
   if (local_tag && local_tag[0] == '\0')
     local_tag = NULL;
 
-  leg = leg_find(agent, 
-		 NULL, url, 
-		 call_id, 
-		 remote_tag, 
+  leg = leg_find(agent,
+		 NULL, url,
+		 call_id,
+		 remote_tag,
 		 local_tag);
 
   if (to_be_freed) su_free(NULL, to_be_freed);
@@ -4581,8 +5049,8 @@
 HTABLE_BODIES_WITH(incoming_htable, iht, nta_incoming_t, HTABLE_HASH_IRQ,
 		   size_t, hash_value_t);
 
-static void incoming_insert(nta_agent_t *agent, 
-			    incoming_queue_t *queue, 
+static void incoming_insert(nta_agent_t *agent,
+			    incoming_queue_t *queue,
 			    nta_incoming_t *irq);
 
 su_inline int incoming_is_queued(nta_incoming_t const *irq);
@@ -4602,14 +5070,14 @@
 su_inline int incoming_final_failed(nta_incoming_t *irq, msg_t *);
 static void incoming_retransmit_reply(nta_incoming_t *irq, tport_t *tport);
 
-/** Create a default server transaction. 
+/** Create a default server transaction.
  *
  * The default server transaction is used by a proxy to forward responses
  * statelessly.
  *
  * @param agent pointer to agent object
  *
- * @retval pointer to default server transaction object 
+ * @retval pointer to default server transaction object
  * @retval NULL if failed
  */
 nta_incoming_t *nta_incoming_default(nta_agent_t *agent)
@@ -4639,11 +5107,11 @@
 
   irq->irq_default = 1;
   agent->sa_default_incoming = irq;
-    
+
   return irq;
 }
 
-/** Create a server transaction. 
+/** Create a server transaction.
  *
  * Create a server transaction for a request message. This function is used
  * when an element processing requests statelessly wants to process a
@@ -4660,10 +5128,10 @@
  * function fails.
  *
  * @TAGS
- * @TAG NTATAG_TPORT() specifies the transport used to receive the request 
+ * @TAG NTATAG_TPORT() specifies the transport used to receive the request
  *      and also default transport for sending the response.
  *
- * @retval nta_incoming_t pointer to the newly created server transaction 
+ * @retval nta_incoming_t pointer to the newly created server transaction
  * @retval NULL if failed
  */
 nta_incoming_t *nta_incoming_create(nta_agent_t *agent,
@@ -4690,9 +5158,9 @@
     return msg_destroy(msg), NULL;
 
   ta_start(ta, tag, value);
-  
-  tl_gets(ta_args(ta), 
-	  NTATAG_TPORT_REF(tport), 
+
+  tl_gets(ta_args(ta),
+	  NTATAG_TPORT_REF(tport),
 	  TAG_END());
   ta_end(ta);
 
@@ -4727,7 +5195,7 @@
     incoming_queue_t *queue;
     sip_method_t method = sip->sip_request->rq_method;
 
-    irq->irq_request = msg; 
+    irq->irq_request = msg;
     irq->irq_home = home = msg_home(msg_ref_create(msg));
     irq->irq_agent = agent;
 
@@ -4751,7 +5219,7 @@
     case sip_method_publish:
       break;
     default:
-      irq->irq_record_route = 
+      irq->irq_record_route =
 	sip_record_route_copy(home, sip->sip_record_route);
     }
     irq->irq_branch  = sip->sip_via->v_branch;
@@ -4807,7 +5275,7 @@
       else {
 	queue = agent->sa_in.completed;	/* Timer J */
       }
-    } 
+    }
     else {
       queue = agent->sa_in.proceeding;
 	/* RFC 4320 (nit-actions-03):
@@ -4822,7 +5290,7 @@
    period of time in which Timer E reaches T2 had this been a UDP hop is
    one reasonable compromise.
 
-	 */	
+	 */
       if (agent->sa_extra_100 && irq->irq_reliable_tp)
 	incoming_set_timer(irq, agent->sa_t2 / 2); /* T2 / 2 */
 
@@ -4841,7 +5309,7 @@
  * Insert incoming transaction to hash table.
  */
 static void
-incoming_insert(nta_agent_t *agent, 
+incoming_insert(nta_agent_t *agent,
 		incoming_queue_t *queue,
 		nta_incoming_t *irq)
 {
@@ -4867,8 +5335,8 @@
   char const *method_name = sip->sip_request->rq_method_name;
 
   /* RFC-3261 section 12.2.2 (page 76) */
-  if (leg->leg_dialog && 
-      irq->irq_agent->sa_is_a_uas && 
+  if (leg->leg_dialog &&
+      irq->irq_agent->sa_is_a_uas &&
       method != sip_method_ack) {
     uint32_t seq = sip->sip_cseq->cs_seq;
 
@@ -4920,8 +5388,8 @@
 
 /** Change the timeout value of a queue */
 static void
-incoming_queue_adjust(nta_agent_t *sa, 
-		      incoming_queue_t *queue, 
+incoming_queue_adjust(nta_agent_t *sa,
+		      incoming_queue_t *queue,
 		      uint32_t timeout)
 {
   nta_incoming_t *irq;
@@ -4950,13 +5418,13 @@
 }
 
 /** @internal
- * Insert an incoming transaction into a queue. 
+ * Insert an incoming transaction into a queue.
  *
  * Insert a server transaction into a queue, and sets the corresponding
  * timeout at the same time.
  */
 su_inline
-void incoming_queue(incoming_queue_t *queue, 
+void incoming_queue(incoming_queue_t *queue,
 		    nta_incoming_t *irq)
 {
   if (irq->irq_queue == queue) {
@@ -4972,7 +5440,7 @@
   irq->irq_timeout = set_timeout(irq->irq_agent, queue->q_timeout);
 
   irq->irq_queue = queue;
-  irq->irq_prev = queue->q_tail; 
+  irq->irq_prev = queue->q_tail;
   *queue->q_tail = irq;
   queue->q_tail = &irq->irq_next;
   queue->q_length++;
@@ -5003,7 +5471,7 @@
 void incoming_set_timer(nta_incoming_t *irq, uint32_t interval)
 {
   nta_incoming_t **rq;
-  
+
   assert(irq);
 
   if (interval == 0) {
@@ -5012,7 +5480,7 @@
   }
 
   if (irq->irq_rprev) {
-    if ((*irq->irq_rprev = irq->irq_rnext)) 
+    if ((*irq->irq_rprev = irq->irq_rnext))
       irq->irq_rnext->irq_rprev = irq->irq_rprev;
     if (irq->irq_agent->sa_in.re_t1 == &irq->irq_rnext)
       irq->irq_agent->sa_in.re_t1 = irq->irq_rprev;
@@ -5044,12 +5512,12 @@
 void incoming_reset_timer(nta_incoming_t *irq)
 {
   if (irq->irq_rprev) {
-    if ((*irq->irq_rprev = irq->irq_rnext)) 
+    if ((*irq->irq_rprev = irq->irq_rnext))
       irq->irq_rnext->irq_rprev = irq->irq_rprev;
     if (irq->irq_agent->sa_in.re_t1 == &irq->irq_rnext)
       irq->irq_agent->sa_in.re_t1 = irq->irq_rprev;
     irq->irq_agent->sa_in.re_length--;
-  } 
+  }
 
   irq->irq_interval = 0, irq->irq_retry = 0;
   irq->irq_rnext = NULL, irq->irq_rprev = NULL;
@@ -5121,11 +5589,11 @@
 
   su_free(home, irq);
 
-  msg_destroy((msg_t *)home); 
+  msg_destroy((msg_t *)home);
 }
 
 /** Queue request to be freed */
-su_inline 
+su_inline
 void incoming_free_queue(incoming_queue_t *q, nta_incoming_t *irq)
 {
   incoming_cut_off(irq);
@@ -5133,7 +5601,7 @@
 }
 
 /** Reclaim memory used by queue of requests */
-static 
+static
 void incoming_reclaim_queued(su_root_magic_t *rm,
 			     su_msg_r msg,
 			     union sm_arg_u *u)
@@ -5322,7 +5790,7 @@
   return irq && irq->irq_callback == callback ? irq->irq_magic : NULL;
 }
 
-/** When received. 
+/** When received.
  *
  * Return timestamp from the reception of the initial request.
  *
@@ -5395,15 +5863,15 @@
       continue;
 
     if (is_uas_ack &&
-	irq->irq_method == sip_method_invite && 
+	irq->irq_method == sip_method_invite &&
 	200 <= irq->irq_status && irq->irq_status < 300 &&
 	str0casecmp(irq->irq_tag, to->a_tag) == 0) {
       *return_ack = irq;
-      return NULL;		
+      return NULL;
     }
 
     if (magic_branch) {
-      /* RFC3261 17.2.3: 
+      /* RFC3261 17.2.3:
        *
        * The request matches a transaction if branch and sent-by in topmost
        * the method of the request matches the one that created the
@@ -5415,8 +5883,8 @@
 	  strcasecmp(irq->irq_via->v_branch + 7, magic_branch) == 0 &&
 	  strcasecmp(irq->irq_via->v_host, v->v_host) == 0 &&
 	  str0cmp(irq->irq_via->v_port, v->v_port) == 0) {
-	if (irq->irq_method == cseq->cs_method && 
-	    strcmp(irq->irq_cseq->cs_method_name, 
+	if (irq->irq_method == cseq->cs_method &&
+	    strcmp(irq->irq_cseq->cs_method_name,
 		   cseq->cs_method_name) == 0)
 	  return irq;
 	if (return_ack && irq->irq_method == sip_method_invite)
@@ -5428,8 +5896,8 @@
     else {
       /* No magic branch */
 
-      /* INVITE request matches a transaction if 
-	 the Request-URI, To tag, From tag, Call-ID, CSeq, and 
+      /* INVITE request matches a transaction if
+	 the Request-URI, To tag, From tag, Call-ID, CSeq, and
 	 top Via header match */
 
       /* From tag, Call-ID, and CSeq number has been matched above */
@@ -5445,7 +5913,7 @@
       else {
 	/* Match CSeq */
 	if (irq->irq_method == cseq->cs_method &&
-	    strcmp(irq->irq_cseq->cs_method_name, 
+	    strcmp(irq->irq_cseq->cs_method_name,
 		   cseq->cs_method_name) == 0) {
 	  /* Match To tag  */
 	  if (!str0casecmp(irq->irq_to->a_tag, to->a_tag))
@@ -5462,12 +5930,12 @@
 	else if (return_cancel && irq->irq_method != sip_method_ack)
 	  return *return_cancel = irq, NULL;
       }
-    }    
+    }
 
     /* RFC3261 - section 8.2.2.2 Merged Requests */
     if (return_merge) {
-      if (irq->irq_cseq->cs_method == cseq->cs_method && 
-	  strcmp(irq->irq_cseq->cs_method_name, 
+      if (irq->irq_cseq->cs_method == cseq->cs_method &&
+	  strcmp(irq->irq_cseq->cs_method_name,
 		 cseq->cs_method_name) == 0)
 	*return_merge = irq, return_merge = NULL;
     }
@@ -5478,7 +5946,7 @@
 
 /** Process retransmitted requests. */
 su_inline
-int 
+int
 incoming_recv(nta_incoming_t *irq, msg_t *msg, sip_t *sip, tport_t *tport)
 {
   nta_agent_t *agent = irq->irq_agent;
@@ -5543,7 +6011,7 @@
   } else if (irq->irq_queue == agent->sa_in.proceeding ||
 	     irq->irq_queue == agent->sa_in.preliminary)
     return -1;
-  else 
+  else
     assert(irq->irq_queue == agent->sa_in.inv_confirmed ||
 	   irq->irq_queue == agent->sa_in.terminated);
 
@@ -5560,7 +6028,7 @@
   nta_agent_t *agent = irq->irq_agent;
 
   /* According to the RFC 3261, this INVITE has been destroyed */
-  if (irq->irq_method == sip_method_invite && 
+  if (irq->irq_method == sip_method_invite &&
       200 <= irq->irq_status && irq->irq_status < 300) {
     mreply(agent, NULL, SIP_481_NO_TRANSACTION, msg,
 	   tport, 0, 0, NULL,
@@ -5600,7 +6068,7 @@
 
 /** Merge request */
 static
-void request_merge(nta_agent_t *agent, 
+void request_merge(nta_agent_t *agent,
 		   msg_t *msg, sip_t *sip, tport_t *tport,
 		   char const *to_tag)
 {
@@ -5671,7 +6139,7 @@
 			    tag_type_t tag, tag_value_t value, ...)
 {
   int retval = -1;
-  
+
   if (irq) {
     ta_list ta;
     ta_start(ta, tag, value);
@@ -5698,15 +6166,15 @@
     return retval;
 
   for (t = tags; t; t = tl_next(t)) {
-    tag_type_t tt = t->t_tag; 
+    tag_type_t tt = t->t_tag;
 
-    if (ntatag_comp == tt) 
+    if (ntatag_comp == tt)
       comp = (char const *)t->t_value, retval++;
 
     else if (ntatag_sigcomp_close == tt)
       irq->irq_sigcomp_zap = t->t_value != 0, retval++;
 
-    else if (tptag_compartment == tt) 
+    else if (tptag_compartment == tt)
       cc = (void *)t->t_value, retval++;
   }
 
@@ -5725,7 +6193,7 @@
     irq->irq_tpn->tpn_comp = NULL;
   }
 
-  return retval; 
+  return retval;
 }
 
 su_inline
@@ -5735,17 +6203,17 @@
   if (!nta_compressor_vtable)
     return 0;
 
-  if (irq->irq_cc == NULL 
+  if (irq->irq_cc == NULL
       || irq->irq_tpn->tpn_comp
       || tport_delivered_with_comp(tport, msg, NULL) != -1) {
     struct sigcomp_compartment *cc;
 
     cc = agent_compression_compartment(irq->irq_agent, tport, irq->irq_tpn,
 				       create_if_needed);
-    
+
     if (cc)
       agent_accept_compressed(irq->irq_agent, msg, cc);
-    
+
     irq->irq_cc = cc;
   }
 
@@ -5753,7 +6221,7 @@
 }
 
 /** Add essential headers to the response message */
-static int nta_incoming_response_headers(nta_incoming_t *irq, 
+static int nta_incoming_response_headers(nta_incoming_t *irq,
 					 msg_t *msg,
 					 sip_t *sip)
 {
@@ -5789,13 +6257,13 @@
  * @param tag,value,... taged argument list
  *
  * Generate status structure based on @a status and @a phrase.
- * Add essential headers to the response message: 
- * @From, @To, @CallID, @CSeq, @Via, and optionally 
+ * Add essential headers to the response message:
+ * @From, @To, @CallID, @CSeq, @Via, and optionally
  * @RecordRoute.
  */
 int nta_incoming_complete_response(nta_incoming_t *irq,
 				   msg_t *msg,
-				   int status, 
+				   int status,
 				   char const *phrase,
 				   tag_type_t tag, tag_value_t value, ...)
 {
@@ -5866,7 +6334,7 @@
     if (nta_incoming_response_headers(irq, msg, sip) < 0)
       msg_destroy(msg), msg = NULL;
   }
-  
+
   return msg;
 }
 
@@ -5932,7 +6400,7 @@
  * @retval 0 when succesful
  * @retval -1 upon an error
  */
-int nta_incoming_mreply(nta_incoming_t *irq, msg_t *msg) 
+int nta_incoming_mreply(nta_incoming_t *irq, msg_t *msg)
 {
   sip_t *sip = sip_object(msg);
 
@@ -5998,12 +6466,12 @@
   int retry_without_rport = 0;
   tp_name_t *tpn, default_tpn[1];
 
-  if (status == 408 && 
-      irq->irq_method != sip_method_invite && 
+  if (status == 408 &&
+      irq->irq_method != sip_method_invite &&
       !agent->sa_pass_408 &&
       !irq->irq_default) {
     /* RFC 4320 nit-actions-03 Action 2:
-       
+
    A transaction-stateful SIP element MUST NOT send a response with
    Status-Code of 408 to a non-INVITE request.  As a consequence, an
    element that can not respond before the transaction expires will not
@@ -6063,7 +6531,7 @@
 	SU_DEBUG_5(("%s: tport_tsend: %s%s\n",
 		    __func__, su_strerror(err),
 		    err == EPIPE ? "(retrying)" : ""));
-	
+
 	if (err != EPIPE && err != ECONNREFUSED)
 	  break;
 	tport_decref(&irq->irq_tport);
@@ -6099,13 +6567,13 @@
 
     if (status < 200) {
       queue = agent->sa_in.proceeding;
-      
-      if (irq->irq_method == sip_method_invite && status > 100 && 
+
+      if (irq->irq_method == sip_method_invite && status > 100 &&
 	  agent->sa_progress != UINT_MAX && agent->sa_is_a_uas) {
 	/* Retransmit preliminary responses in regular intervals */
 	incoming_set_timer(irq, agent->sa_progress); /* N2 */
       }
-    } 
+    }
     else {
       irq->irq_completed = 1;
 
@@ -6126,7 +6594,7 @@
 	tport_decref(&irq->irq_tport);
       }
       else if (status >= 300 || agent->sa_is_a_uas) {
-	if (status < 300 || !irq->irq_reliable_tp) 
+	if (status < 300 || !irq->irq_reliable_tp)
 	  incoming_set_timer(irq, agent->sa_t1); /* G */
 	queue = agent->sa_in.inv_completed; /* H */
       }
@@ -6175,7 +6643,7 @@
   }
 
   /* We could not send final response. */
-  return incoming_final_failed(irq, msg); 
+  return incoming_final_failed(irq, msg);
 }
 
 
@@ -6213,20 +6681,20 @@
     msg = reliable_response(irq);
   else
     msg = irq->irq_response;
-  
+
   if (msg && tport) {
     irq->irq_retries++;
 
     if (irq->irq_retries == 2 && irq->irq_tpn->tpn_comp) {
       irq->irq_tpn->tpn_comp = NULL;
-      
+
       if (irq->irq_cc) {
 	agent_close_compressor(irq->irq_agent, irq->irq_cc);
 	nta_compartment_decref(&irq->irq_cc);
       }
     }
 
-    tport = tport_tsend(tport, msg, irq->irq_tpn, 
+    tport = tport_tsend(tport, msg, irq->irq_tpn,
 			IF_SIGCOMP_TPTAG_COMPARTMENT(irq->irq_cc)
 			TPTAG_MTU(INT_MAX), TAG_END());
     irq->irq_agent->sa_stats->as_sent_msg++;
@@ -6263,11 +6731,11 @@
   uint32_t now = sa->sa_millisec;
   nta_incoming_t *irq, *irq_next;
   size_t retransmitted = 0, timeout = 0, terminated = 0, destroyed = 0;
-  size_t unconfirmed = 
-    sa->sa_in.inv_completed->q_length + 
+  size_t unconfirmed =
+    sa->sa_in.inv_completed->q_length +
     sa->sa_in.preliminary->q_length;
-  size_t unterminated = 
-    sa->sa_in.inv_confirmed->q_length + 
+  size_t unterminated =
+    sa->sa_in.inv_confirmed->q_length +
     sa->sa_in.completed->q_length;
   size_t total = sa->sa_incoming->iht_used;
 
@@ -6297,7 +6765,7 @@
 	incoming_set_timer(irq, 2U * irq->irq_interval); /* G */
       else
 	incoming_set_timer(irq, sa->sa_t2); /* G */
-    } 
+    }
     else if (irq->irq_method == sip_method_invite && irq->irq_status >= 100) {
       if (irq->irq_queue == sa->sa_in.preliminary) {
 	/* Timer P1 - PRACK timer */
@@ -6352,7 +6820,7 @@
   }
 
   /* Timeouts.
-   * For each state the request is in, there is always a queue of its own 
+   * For each state the request is in, there is always a queue of its own
    */
   while ((irq = sa->sa_in.preliminary->q_head)) {
     assert(irq->irq_status < 200);
@@ -6379,7 +6847,7 @@
     assert(irq->irq_method == sip_method_invite);
 
     if ((int32_t)(irq->irq_timeout - now) > 0 ||
-	timeout >= timer_max_timeout || 
+	timeout >= timer_max_timeout ||
 	terminated >= timer_max_terminate)
       break;
 
@@ -6390,7 +6858,7 @@
     irq->irq_terminated = 1;
     incoming_reset_timer(irq);
     if (!irq->irq_destroyed) {
-      timeout++; 
+      timeout++;
       incoming_queue(sa->sa_in.terminated, irq);
       /* report timeout error to user */
       incoming_call_callback(irq, NULL, NULL);
@@ -6399,7 +6867,7 @@
       terminated++;
       incoming_free_queue(rq, irq);
     }
-  } 
+  }
 
   while ((irq = sa->sa_in.inv_confirmed->q_head)) {
     assert(irq->irq_timeout);
@@ -6409,7 +6877,7 @@
     if ((int32_t)(irq->irq_timeout - now) > 0 ||
 	terminated >= timer_max_terminate)
       break;
-    
+
     /* Timer I */
     SU_DEBUG_5(("nta: timer %s fired, %s %u response\n",
 		"I", "terminate", irq->irq_status));
@@ -6460,9 +6928,9 @@
 		MOD_ZU"/"MOD_ZU" tout, "
 		MOD_ZU"/"MOD_ZU" term, "
 		MOD_ZU"/"MOD_ZU" free\n",
-		retransmitted, unconfirmed, 
+		retransmitted, unconfirmed,
 		timeout, unconfirmed,
-		terminated, unterminated, 
+		terminated, unterminated,
 		destroyed, total));
 }
 
@@ -6486,8 +6954,8 @@
 
       if (su_msg_send(m) == SU_SUCCESS)
 	q->q_length = 0;
-    }    
-  } 
+    }
+  }
 
   if (q->q_length > 0)
     incoming_reclaim_queued(NULL, NULL, (void *)q);
@@ -6513,25 +6981,25 @@
 static void outgoing_try_udp_instead(nta_outgoing_t *orq);
 static void outgoing_tport_error(nta_agent_t *agent, nta_outgoing_t *orq,
 				 tport_t *tp, msg_t *msg, int error);
-static void outgoing_print_tport_error(nta_outgoing_t *orq, 
+static void outgoing_print_tport_error(nta_outgoing_t *orq,
 				       int level, char *todo,
 				       tp_name_t const *, msg_t *, int error);
 static void outgoing_insert(nta_agent_t *sa, nta_outgoing_t *orq);
 static void outgoing_destroy(nta_outgoing_t *orq);
 su_inline int outgoing_is_queued(nta_outgoing_t const *orq);
-su_inline void outgoing_queue(outgoing_queue_t *queue, 
+su_inline void outgoing_queue(outgoing_queue_t *queue,
 				  nta_outgoing_t *orq);
 su_inline void outgoing_remove(nta_outgoing_t *orq);
 su_inline void outgoing_set_timer(nta_outgoing_t *orq, uint32_t interval);
 su_inline void outgoing_reset_timer(nta_outgoing_t *orq);
-static size_t outgoing_timer_dk(outgoing_queue_t *q, 
-				char const *timer, 
+static size_t outgoing_timer_dk(outgoing_queue_t *q,
+				char const *timer,
 				uint32_t now);
-static size_t outgoing_timer_bf(outgoing_queue_t *q, 
-				char const *timer, 
+static size_t outgoing_timer_bf(outgoing_queue_t *q,
+				char const *timer,
 				uint32_t now);
-static size_t outgoing_timer_c(outgoing_queue_t *q, 
-			       char const *timer, 
+static size_t outgoing_timer_c(outgoing_queue_t *q,
+			       char const *timer,
 			       uint32_t now);
 
 static void outgoing_ack(nta_outgoing_t *orq, sip_t *sip);
@@ -6563,13 +7031,13 @@
 static int outgoing_try_another(nta_outgoing_t *orq);
 #else
 #define outgoing_other_destinations(orq) (0)
-#define outgoing_try_another(orq) (0) 
+#define outgoing_try_another(orq) (0)
 #endif
 
 /** Create a default outgoing transaction.
  *
  * The default outgoing transaction is used when agent receives responses
- * not belonging to any transaction. 
+ * not belonging to any transaction.
  *
  * @sa nta_leg_default(), nta_incoming_default().
  */
@@ -6588,7 +7056,7 @@
   orq = su_zalloc(agent->sa_home, sizeof *orq);
   if (!orq)
     return NULL;
-    
+
   orq->orq_agent     = agent;
   orq->orq_callback  = callback;
   orq->orq_magic     = magic;
@@ -6637,7 +7105,7 @@
  * NTATAG_STATELESS(), NTATAG_DELAY_SENDING(), NTATAG_BRANCH_KEY(),
  * NTATAG_ACK_BRANCH(), NTATAG_DEFAULT_PROXY(), NTATAG_PASS_100(),
  * NTATAG_USE_TIMESTAMP(), NTATAG_USER_VIA(), TPTAG_IDENT(), NTATAG_TPORT(). All
- * SIP tags from <sofia-sip/sip_tag.h> can be used to manipulate the request message. 
+ * SIP tags from <sofia-sip/sip_tag.h> can be used to manipulate the request message.
  * SIP tags after SIPTAG_END() are ignored, however.
  */
 nta_outgoing_t *nta_outgoing_tcreate(nta_leg_t *leg,
@@ -6710,7 +7178,7 @@
  * Returns a pointer to newly created outgoing transaction object if
  * successful, and NULL otherwise.
  *
- * @note The caller is responsible for destroying the request message @a msg 
+ * @note The caller is responsible for destroying the request message @a msg
  * upon failure.
  *
  * @note If NTATAG_STATELESS(1) tag is given and the @a callback is NULL,
@@ -6725,7 +7193,7 @@
  * NTATAG_STATELESS(), NTATAG_DELAY_SENDING(), NTATAG_BRANCH_KEY(),
  * NTATAG_ACK_BRANCH(), NTATAG_DEFAULT_PROXY(), NTATAG_PASS_100(),
  * NTATAG_USE_TIMESTAMP(), NTATAG_USER_VIA(), TPTAG_IDENT(), NTATAG_TPORT(). All
- * SIP tags from <sofia-sip/sip_tag.h> can be used to manipulate the request message. 
+ * SIP tags from <sofia-sip/sip_tag.h> can be used to manipulate the request message.
  * SIP tags after SIPTAG_END() are ignored, however.
  */
 nta_outgoing_t *nta_outgoing_mcreate(nta_agent_t *agent,
@@ -6836,8 +7304,8 @@
 
   ta_start(ta, tag, value);
 
-  tl_gets(ta_args(ta), 
-	  NTATAG_CANCEL_408_REF(cancel_408), 
+  tl_gets(ta_args(ta),
+	  NTATAG_CANCEL_408_REF(cancel_408),
 	  NTATAG_CANCEL_2543_REF(cancel_2543),
 	  TAG_END());
 
@@ -6848,7 +7316,7 @@
 
   ta_end(ta);
 
-  if ((cancel_2543 || cancel_408) && 
+  if ((cancel_2543 || cancel_408) &&
       !orq->orq_stateless && !orq->orq_destroyed)
     outgoing_reply(orq, SIP_487_REQUEST_CANCELLED, 1);
 
@@ -6880,7 +7348,7 @@
  *
  * @param orq       outgoing client transaction
  * @param callback  callback function (may be NULL)
- * @param magic     application context pointer 
+ * @param magic     application context pointer
  *                  (given as argument to @a callback)
  *
  * @NEW_1_12_9
@@ -6912,7 +7380,7 @@
     return;
 
   if (orq->orq_destroyed) {
-    SU_DEBUG_1(("%s(%p): %s\n", "nta_outgoing_destroy", (void *)orq, 
+    SU_DEBUG_1(("%s(%p): %s\n", "nta_outgoing_destroy", (void *)orq,
 		"already destroyed"));
     return;
   }
@@ -6948,7 +7416,7 @@
  */
 uint32_t nta_outgoing_cseq(nta_outgoing_t const *orq)
 {
-  return orq != NULL && orq != NONE && orq->orq_cseq 
+  return orq != NULL && orq != NONE && orq->orq_cseq
     ? orq->orq_cseq->cs_seq : 0;
 }
 
@@ -6958,7 +7426,7 @@
 int nta_outgoing_status(nta_outgoing_t const *orq)
 {
   /* Return 500 Internal server error for invalid handles. */
-  return orq != NULL && orq != NONE ? orq->orq_status : 500; 
+  return orq != NULL && orq != NONE ? orq->orq_status : 500;
 }
 
 /** Get the RTT delay measured using @Timestamp header. */
@@ -7028,7 +7496,7 @@
  * @param route_url   optional URL used to route transaction requests
  * @param msg         request message
  * @param tpn         (optional) transport name
- * @param msg         request message to 
+ * @param msg         request message to
  * @param tag, value, ... tagged arguments
  *
  * @return
@@ -7106,24 +7574,24 @@
 
   /* tl_gets() is a bit too slow here... */
   for (t = ta_args(ta); t; t = tl_next(t)) {
-    tag_type_t tt = t->t_tag; 
+    tag_type_t tt = t->t_tag;
 
-    if (ntatag_stateless == tt) 
-      stateless = t->t_value != 0; 
-    else if (ntatag_delay_sending == tt) 
-      delay_sending = t->t_value != 0; 
-    else if (ntatag_branch_key == tt) 
-      branch = (void *)t->t_value; 
-    else if (ntatag_pass_100 == tt) 
-      pass_100 = t->t_value != 0; 
-    else if (ntatag_use_timestamp == tt) 
-      use_timestamp = t->t_value != 0; 
-    else if (ntatag_user_via == tt) 
-      user_via = t->t_value != 0; 
-    else if (ntatag_ack_branch == tt) 
-      ack_branch = (void *)t->t_value; 
-    else if (ntatag_default_proxy == tt) 
-      route_url = (void *)t->t_value; 
+    if (ntatag_stateless == tt)
+      stateless = t->t_value != 0;
+    else if (ntatag_delay_sending == tt)
+      delay_sending = t->t_value != 0;
+    else if (ntatag_branch_key == tt)
+      branch = (void *)t->t_value;
+    else if (ntatag_pass_100 == tt)
+      pass_100 = t->t_value != 0;
+    else if (ntatag_use_timestamp == tt)
+      use_timestamp = t->t_value != 0;
+    else if (ntatag_user_via == tt)
+      user_via = t->t_value != 0;
+    else if (ntatag_ack_branch == tt)
+      ack_branch = (void *)t->t_value;
+    else if (ntatag_default_proxy == tt)
+      route_url = (void *)t->t_value;
     else if (tptag_ident == tt)
       tp_ident = (void *)t->t_value;
     else if (ntatag_comp == tt)
@@ -7182,7 +7650,7 @@
     invalid = nta_tpn_by_url(home, orq->orq_tpn, &scheme, &port, route_url);
 
     if (override_tport) {	/* Use transport protocol name from transport  */
-      if (strcmp(orq->orq_tpn->tpn_proto, "*") == 0) 
+      if (strcmp(orq->orq_tpn->tpn_proto, "*") == 0)
 	orq->orq_tpn->tpn_proto = tport_name(override_tport)->tpn_proto;
     }
 
@@ -7244,7 +7712,7 @@
 	orq->orq_branch = su_strdup(home, ack_branch);
       else
 	orq->orq_branch = su_sprintf(home, "branch=%s", ack_branch);
-    } 
+    }
     else if (!stateless && agent->sa_is_a_uas) {
       /*
        * ACK redirect further 2XX messages to it.
@@ -7252,14 +7720,14 @@
        * Use orq_branch from INVITE, but put a different branch in topmost Via.
        */
       nta_outgoing_t *invite = outgoing_find(agent, msg, sip, NULL);
-      
+
       if (invite) {
 	sip_t const *inv = sip_object(invite->orq_request);
 
 	orq->orq_branch = su_strdup(home, invite->orq_branch);
 
 	/* @RFC3261 section 13.2.2.4 -
-	 * The ACK MUST contain the same credentials as the INVITE. 
+	 * The ACK MUST contain the same credentials as the INVITE.
 	 */
 	if (!sip->sip_proxy_authorization && !sip->sip_authorization) {
 	  if (inv->sip_proxy_authorization)
@@ -7297,7 +7765,7 @@
   agent->sa_stats->as_client_tr++;
   orq->orq_hash = NTA_HASH(sip->sip_call_id, sip->sip_cseq->cs_seq);
 
-  if (orq->orq_user_tport) 
+  if (orq->orq_user_tport)
     outgoing_send_via(orq, override_tport);
   else if (resolved)
     outgoing_prepare_send(orq);
@@ -7306,14 +7774,14 @@
     outgoing_resolve(orq);
 #endif
 
-  if (stateless && 
-      orq->orq_status >= 200 && 
+  if (stateless &&
+      orq->orq_status >= 200 &&
       callback == outgoing_default_cb) {
     void *retval;
 
-    if (orq->orq_status < 300) 
+    if (orq->orq_status < 300)
       retval = (void *)-1;	/* NONE */
-    else 
+    else
       retval = NULL, orq->orq_request = NULL;
 
     outgoing_free(orq);
@@ -7365,7 +7833,7 @@
     outgoing_reply(orq, 503, "No transport", 1);
   }
 }
-  
+
 /** Send request using given transport */
 static void
 outgoing_send_via(nta_outgoing_t *orq, tport_t *tp)
@@ -7471,7 +7939,7 @@
       cc = orq->orq_cc, orq->orq_cc = NULL;
     }
     else {
-      cc = agent_compression_compartment(agent, orq->orq_tport, tpn, 
+      cc = agent_compression_compartment(agent, orq->orq_tport, tpn,
 					 orq->orq_sigcomp_new);
     }
 
@@ -7484,7 +7952,7 @@
       orq->orq_pending = 0;
     }
 
-    tp = tport_tsend(orq->orq_tport, msg, tpn, 
+    tp = tport_tsend(orq->orq_tport, msg, tpn,
 		     tag, value,
 		     IF_SIGCOMP_TPTAG_COMPARTMENT(cc)
 		     TAG_NEXT(orq->orq_tags));
@@ -7542,7 +8010,7 @@
 
   if (orq->orq_pending) {
     assert(orq->orq_tport);
-    tport_release(orq->orq_tport, orq->orq_pending, 
+    tport_release(orq->orq_tport, orq->orq_pending,
 		  orq->orq_request, NULL, orq, 0);
     orq->orq_pending = 0;
   }
@@ -7553,7 +8021,7 @@
   }
 
   if (orq->orq_method != sip_method_ack) {
-    orq->orq_pending = tport_pend(tp, orq->orq_request, 
+    orq->orq_pending = tport_pend(tp, orq->orq_request,
 				  outgoing_tport_error, orq);
     if (orq->orq_pending < 0)
       orq->orq_pending = 0;
@@ -7636,7 +8104,7 @@
   *tpn = *orq->orq_tpn;
   tpn->tpn_proto = "udp";
   orq->orq_try_udp_instead = 1;
-  
+
   tp = tport_by_name(orq->orq_agent->sa_tports, tpn);
   if (tp && tp != orq->orq_tport) {
     sip_t *sip = sip_object(orq->orq_request);
@@ -7663,14 +8131,14 @@
 
   if (orq->orq_pending) {
     assert(orq->orq_tport);
-    tport_release(orq->orq_tport, orq->orq_pending, orq->orq_request, 
+    tport_release(orq->orq_tport, orq->orq_pending, orq->orq_request,
 		  NULL, orq, 0);
     orq->orq_pending = 0;
   }
 
   if (error == EPIPE && orq->orq_retries++ == 0) {
     /* XXX - we should retry only if the transport is not newly created */
-    outgoing_print_tport_error(orq, 5, "retrying once after ", 
+    outgoing_print_tport_error(orq, 5, "retrying once after ",
 			       tpn, msg, error);
     outgoing_send(orq, 1);
     return;
@@ -7678,7 +8146,7 @@
   else if (error == ECONNREFUSED && orq->orq_try_tcp_instead) {
     /* RFC3261, 18.1.1 */
     if (strcasecmp(tpn->tpn_proto, "tcp") == 0 && msg_size(msg) <= 65535) {
-      outgoing_print_tport_error(orq, 5, "retrying with UDP after ", 
+      outgoing_print_tport_error(orq, 5, "retrying with UDP after ",
 				 tpn, msg, error);
       outgoing_try_udp_instead(orq);
       outgoing_remove(orq);	/* Reset state - this is no resend! */
@@ -7688,7 +8156,7 @@
   }
 
   if (outgoing_other_destinations(orq)) {
-    outgoing_print_tport_error(orq, 5, "trying alternative server after ", 
+    outgoing_print_tport_error(orq, 5, "trying alternative server after ",
 			       tpn, msg, error);
     outgoing_try_another(orq);
     return;
@@ -7707,11 +8175,11 @@
   su_sockaddr_t const *su = msg_addr(msg);
   char addr[SU_ADDRSIZE];
 
-  su_llog(nta_log, level, 
+  su_llog(nta_log, level,
 	  "nta: %s (%u): %s%s (%u) with %s/[%s]:%u\n",
 	  orq->orq_method_name, orq->orq_cseq->cs_seq,
-	  todo, su_strerror(error), error, 
-	  tpn->tpn_proto, 
+	  todo, su_strerror(error), error,
+	  tpn->tpn_proto,
 	  su_inet_ntop(su->su_family, SU_ADDR(su), addr, sizeof(addr)),
 	  htons(su->su_port));
 }
@@ -7791,8 +8259,8 @@
 
 /** Change the timeout value of a queue */
 static void
-outgoing_queue_adjust(nta_agent_t *sa, 
-		      outgoing_queue_t *queue, 
+outgoing_queue_adjust(nta_agent_t *sa,
+		      outgoing_queue_t *queue,
 		      unsigned timeout)
 {
   nta_outgoing_t *orq;
@@ -7822,13 +8290,13 @@
 }
 
 /** @internal
- * Insert an outgoing transaction into a queue. 
+ * Insert an outgoing transaction into a queue.
  *
  * Insert a client transaction into a queue and set the corresponding
  * timeout at the same time.
  */
 su_inline
-void outgoing_queue(outgoing_queue_t *queue, 
+void outgoing_queue(outgoing_queue_t *queue,
 		    nta_outgoing_t *orq)
 {
   if (orq->orq_queue == queue) {
@@ -7845,7 +8313,7 @@
   orq->orq_timeout = set_timeout(orq->orq_agent, queue->q_timeout);
 
   orq->orq_queue = queue;
-  orq->orq_prev = queue->q_tail; 
+  orq->orq_prev = queue->q_tail;
   *queue->q_tail = orq;
   queue->q_tail = &orq->orq_next;
   queue->q_length++;
@@ -7880,7 +8348,7 @@
 void outgoing_set_timer(nta_outgoing_t *orq, uint32_t interval)
 {
   nta_outgoing_t **rq;
-  
+
   assert(orq);
 
   if (interval == 0) {
@@ -7890,7 +8358,7 @@
 
   if (orq->orq_rprev) {
     /* Remove transaction from retry dequeue, re-insert it later. */
-    if ((*orq->orq_rprev = orq->orq_rnext)) 
+    if ((*orq->orq_rprev = orq->orq_rnext))
       orq->orq_rnext->orq_rprev = orq->orq_rprev;
     if (orq->orq_agent->sa_out.re_t1 == &orq->orq_rnext)
       orq->orq_agent->sa_out.re_t1 = orq->orq_rprev;
@@ -7923,12 +8391,12 @@
 void outgoing_reset_timer(nta_outgoing_t *orq)
 {
   if (orq->orq_rprev) {
-    if ((*orq->orq_rprev = orq->orq_rnext)) 
+    if ((*orq->orq_rprev = orq->orq_rnext))
       orq->orq_rnext->orq_rprev = orq->orq_rprev;
     if (orq->orq_agent->sa_out.re_t1 == &orq->orq_rnext)
       orq->orq_agent->sa_out.re_t1 = orq->orq_rprev;
     orq->orq_agent->sa_out.re_length--;
-  } 
+  }
 
   orq->orq_interval = 0, orq->orq_retry = 0;
   orq->orq_rnext = NULL, orq->orq_rprev = NULL;
@@ -7963,7 +8431,7 @@
   outgoing_reset_timer(orq);
 
   if (orq->orq_pending) {
-    tport_release(orq->orq_tport, orq->orq_pending, 
+    tport_release(orq->orq_tport, orq->orq_pending,
 		  orq->orq_request, NULL, orq, 0);
   }
   orq->orq_pending = 0;
@@ -7989,12 +8457,12 @@
 #if HAVE_SOFIA_SRESOLV
   if (orq->orq_resolver)
     outgoing_destroy_resolver(orq);
-#endif  
+#endif
   su_free(orq->orq_agent->sa_home, orq);
 }
 
 /** Queue request to be freed */
-su_inline 
+su_inline
 void outgoing_free_queue(outgoing_queue_t *q, nta_outgoing_t *orq)
 {
   outgoing_cut_off(orq);
@@ -8002,7 +8470,7 @@
 }
 
 /** Reclaim memory used by queue of requests */
-static 
+static
 void outgoing_reclaim_queued(su_root_magic_t *rm,
 			     su_msg_r msg,
 			     union sm_arg_u *u)
@@ -8050,7 +8518,7 @@
   }
 }
 
-/** @internal Outgoing transaction timer routine. 
+/** @internal Outgoing transaction timer routine.
  *
  */
 static void outgoing_timer(nta_agent_t *sa)
@@ -8061,9 +8529,9 @@
   size_t retransmitted = 0, terminated = 0, timeout = 0, destroyed;
   size_t total = sa->sa_outgoing->oht_used;
   size_t trying = sa->sa_out.re_length;
-  size_t pending = sa->sa_out.trying->q_length + 
+  size_t pending = sa->sa_out.trying->q_length +
     sa->sa_out.inv_calling->q_length;
-  size_t completed = sa->sa_out.completed->q_length + 
+  size_t completed = sa->sa_out.completed->q_length +
     sa->sa_out.inv_completed->q_length;
 
   outgoing_queue_init(sa->sa_out.free = rq, 0);
@@ -8082,7 +8550,7 @@
 	 * Timer N3: try to use UDP if trying to send via TCP
 	 * but no connection is established within SIP T4
 	 */
-	SU_DEBUG_5(("nta: timer %s fired, %s %s (%u)\n", "N3", 
+	SU_DEBUG_5(("nta: timer %s fired, %s %s (%u)\n", "N3",
 		    "try UDP instead", orq->orq_method_name, orq->orq_cseq->cs_seq));
 	outgoing_try_udp_instead(orq);
       }
@@ -8128,7 +8596,7 @@
 		MOD_ZU"/"MOD_ZU" free\n",
 		retransmitted, trying,
 		timeout, pending,
-		terminated, completed, 
+		terminated, completed,
 		destroyed, total));
   }
 }
@@ -8163,8 +8631,8 @@
 
 /** Handle timers B and F */
 static
-size_t outgoing_timer_bf(outgoing_queue_t *q, 
-			 char const *timer, 
+size_t outgoing_timer_bf(outgoing_queue_t *q,
+			 char const *timer,
 			 uint32_t now)
 {
   nta_outgoing_t *orq;
@@ -8176,9 +8644,9 @@
       break;
 
     timeout++;
-    
+
     SU_DEBUG_5(("nta: timer %s fired, %s %s (%u)\n",
-		timer, 
+		timer,
 		orq->orq_method != sip_method_ack ? "timeout" : "terminating",
 		orq->orq_method_name, orq->orq_cseq->cs_seq));
 
@@ -8195,8 +8663,8 @@
 
 /** Handle timer C */
 static
-size_t outgoing_timer_c(outgoing_queue_t *q, 
-			char const *timer, 
+size_t outgoing_timer_c(outgoing_queue_t *q,
+			char const *timer,
 			uint32_t now)
 {
   nta_outgoing_t *orq;
@@ -8210,9 +8678,9 @@
       break;
 
     timeout++;
-    
+
     SU_DEBUG_5(("nta: timer %s fired, %s %s (%u)\n",
-		timer, "CANCEL and timeout", 
+		timer, "CANCEL and timeout",
 		orq->orq_method_name, orq->orq_cseq->cs_seq));
 
     nta_outgoing_tcancel(orq, NULL, NULL, TAG_NULL());
@@ -8246,7 +8714,7 @@
     outgoing_timeout(cancel, now);
 }
 
-/** Complete a client transaction. 
+/** Complete a client transaction.
  *
  * @return True if transaction was free()d.
  */
@@ -8273,8 +8741,8 @@
 
 /** Handle timers D and K */
 static
-size_t outgoing_timer_dk(outgoing_queue_t *q, 
-			 char const *timer, 
+size_t outgoing_timer_dk(outgoing_queue_t *q,
+			 char const *timer,
 			 uint32_t now)
 {
   nta_outgoing_t *orq;
@@ -8292,7 +8760,7 @@
 
     outgoing_terminate(orq);
   }
-  
+
   return terminated;
 }
 
@@ -8336,10 +8804,10 @@
 
       if (su_msg_send(m) == SU_SUCCESS)
 	q->q_length = 0;
-    }    
+    }
   }
-  
-  if (q->q_length) 
+
+  if (q->q_length)
     outgoing_reclaim_queued(NULL, NULL, (void*)q);
 
   return destroyed;
@@ -8349,7 +8817,7 @@
  *
  * Return an outgoing request object based on a message and the @Via line
  * given as argument. This function is used when doing loop checking: if we
- * have sent the request and it has been routed back to us. 
+ * have sent the request and it has been routed back to us.
  *
  * @param agent
  * @param msg
@@ -8474,7 +8942,7 @@
     else
       outgoing_reply(cancel, SIP_481_NO_TRANSACTION, 0);
 
-    if (status < 300 && orq->orq_destroyed && 
+    if (status < 300 && orq->orq_destroyed &&
 	orq->orq_method == sip_method_invite) {
       outgoing_terminate(orq);      /* We can now kill transaction */
       if (status == 100) {
@@ -8486,7 +8954,7 @@
   }
 
   if (orq->orq_pending) {
-    tport_release(orq->orq_tport, orq->orq_pending, orq->orq_request, 
+    tport_release(orq->orq_tport, orq->orq_pending, orq->orq_request,
 		  msg, orq, status < 200);
     if (status >= 200)
       orq->orq_pending = 0;
@@ -8561,16 +9029,16 @@
 
       if (status < 200) {
 	/* @RFC3261 17.1.2.1:
-	 * retransmissions continue for unreliable transports, 
-	 * but at an interval of T2 
+	 * retransmissions continue for unreliable transports,
+	 * but at an interval of T2
 	 */
 	if (!orq->orq_reliable)
 	  outgoing_set_timer(orq, sa->sa_t2);
-      } 
+      }
       else if (!outgoing_complete(orq)) {
 	if (orq->orq_sigcomp_zap && orq->orq_tport && orq->orq_cc)
 	  agent_zap_compressor(orq->orq_agent, orq->orq_cc);
-      } 
+      }
       else /* outgoing_complete */ {
 	msg_destroy(msg);
 	return 0;
@@ -8772,7 +9240,7 @@
   if (tags) {
     sip_add_tl(msg, sip, TAG_NEXT(tags));
     /* Bug sf.net # 173323:
-     * Ensure that request-URI, topmost Via, From, To, Call-ID, CSeq, 
+     * Ensure that request-URI, topmost Via, From, To, Call-ID, CSeq,
      * Max-Forward, Route, Accept-Contact, Reject-Contact and
      * Request-Disposition are copied from original request
      */
@@ -8846,7 +9314,7 @@
   assert(status == 202 || status >= 400);
 
   if (orq->orq_pending)
-    tport_release(orq->orq_tport, orq->orq_pending, 
+    tport_release(orq->orq_tport, orq->orq_pending,
 		  orq->orq_request, NULL, orq, 0);
   orq->orq_pending = 0;
 
@@ -8861,7 +9329,7 @@
       outgoing_trying(orq);	/* Timer F */
     return 0;
   }
-    
+
   if (orq->orq_destroyed) {
     if (orq->orq_status < 200)
       orq->orq_status = status;
@@ -8873,7 +9341,7 @@
     ;
   else if (orq->orq_queue == NULL ||
 	   orq->orq_queue == orq->orq_agent->sa_out.resolving ||
-	   orq->orq_queue == orq->orq_agent->sa_out.delayed) 
+	   orq->orq_queue == orq->orq_agent->sa_out.delayed)
     outgoing_trying(orq);
 
   /** Insert a dummy Via header */
@@ -8886,7 +9354,7 @@
   if (!orq->orq_stateless &&
       !(orq->orq_callback == outgoing_default_cb) &&
       !(status == 408 &&
-	orq->orq_method != sip_method_invite && 
+	orq->orq_method != sip_method_invite &&
 	!orq->orq_agent->sa_timeout_408)) {
     char const *to_tag;
 
@@ -8895,7 +9363,7 @@
     if (complete_response(msg, status, phrase, orq->orq_request) < 0) {
       assert(!"complete message");
       return -1;
-    } 
+    }
 
     sip = sip_object(msg); assert(sip->sip_flags & NTA_INTERNAL_MSG);
     to_tag = nta_agent_newtag(msg_home(msg), "tag=%s", agent);
@@ -9010,8 +9478,8 @@
 
   uint16_t sr_a_aaaa1, sr_a_aaaa2;     /**< Order of A and/or AAAA queries. */
 
-  unsigned 
-    sr_use_naptr:1, 
+  unsigned
+    sr_use_naptr:1,
     sr_use_srv:1,
     sr_use_a_aaaa:1;
 };
@@ -9033,7 +9501,7 @@
 
 static int outgoing_resolve_next(nta_outgoing_t *orq);
 static int outgoing_resolving(nta_outgoing_t *orq);
-static int outgoing_resolving_error(nta_outgoing_t *, 
+static int outgoing_resolving_error(nta_outgoing_t *,
 				    int status, char const *phrase);
 static void outgoing_graylist(nta_outgoing_t *orq, struct sipdns_query *sq);
 static int outgoing_query_naptr(nta_outgoing_t *orq, char const *domain);
@@ -9080,7 +9548,7 @@
   if (!sr) {
     outgoing_resolving_error(orq, SIP_500_INTERNAL_SERVER_ERROR);
     return;
-  } 
+  }
 
   *sr->sr_tpn = *orq->orq_tpn;
   sr->sr_use_srv = orq->orq_agent->sa_use_srv;
@@ -9097,7 +9565,7 @@
      an attempt should fail, based on the definition of failure in Section
      4.3, the next SHOULD be tried, and if that should fail, the next
      SHOULD be tried, and so on.
-     
+
      This is a change from RFC 2543.  Previously, if the port was
      explicit, but with a value of 5060, SRV records were used.  Now, A
      or AAAA records will be used.
@@ -9130,7 +9598,7 @@
 	if (strcasecmp(tpn->tpn_proto, sipdns_tports[j].name) == 0)
 	  break;
 
-      assert(j < SIPDNS_TRANSPORTS); 
+      assert(j < SIPDNS_TRANSPORTS);
       if (j == SIPDNS_TRANSPORTS)
 	/* Someone added transport but did not update sipdns_tports */
 	continue;
@@ -9142,7 +9610,7 @@
       sr->sr_tports[i] = sipdns_tports + j;
 
       if (strcmp(tpname, "*")) /* Looking for only one transport */
-	break;	
+	break;
     }
 
     /* Nothing found */
@@ -9168,7 +9636,7 @@
   case nta_res_ip4_only:
     sr->sr_a_aaaa1 = sres_type_a, sr->sr_a_aaaa2 = sres_type_a;
     break;
-  }    
+  }
 
   outgoing_resolve_next(orq);
 }
@@ -9219,7 +9687,7 @@
     outgoing_make_a_aaaa_query(orq);	/* A/AAAA */
   else
     return outgoing_resolving_error(orq, SIPDNS_503_ERROR);
-  
+
   return 1;
 }
 
@@ -9232,7 +9700,7 @@
   if (!sr)
     return 0;
 
-  if (sr->sr_use_a_aaaa || sr->sr_use_srv || sr->sr_use_naptr) 
+  if (sr->sr_use_a_aaaa || sr->sr_use_srv || sr->sr_use_naptr)
     return 1;
 
   if (sr->sr_results && sr->sr_results[1])
@@ -9264,7 +9732,7 @@
   else if (orq->orq_agent->sa_graylist == 0)
     /* PP: priority hacking disabled */
     ;
-  /* NetModule hack: 
+  /* NetModule hack:
    * Move server that did not work to end of queue in sres cache
    *
    * the next request does not try to use the server that is currently down
@@ -9296,18 +9764,18 @@
 
   /* Don't know how to graylist but SRV records */
   if (sq->sq_otype != sres_type_srv)
-    return;			
+    return;
 
   SU_DEBUG_5(("nta: graylisting %s:%s;transport=%s\n", target, sq->sq_port, proto));
 
-  for (sq = sr->sr_head; sq; sq = sq->sq_next) 
+  for (sq = sr->sr_head; sq; sq = sq->sq_next)
     if (sq->sq_otype == sres_type_srv && sq->sq_priority > maxprio)
       maxprio = sq->sq_priority;
 
   for (sq = sr->sr_done; sq; sq = sq->sq_next)
     if (sq->sq_otype == sres_type_srv && sq->sq_priority > maxprio)
       maxprio = sq->sq_priority;
-  
+
   for (sq = sr->sr_done; sq; sq = sq->sq_next) {
     int modified;
 
@@ -9316,8 +9784,8 @@
 
     /* modify the SRV record(s) corresponding to the latest A/AAAA record */
     modified = sres_set_cached_srv_priority(
-      orq->orq_agent->sa_resolver, 
-      sq->sq_domain, 
+      orq->orq_agent->sa_resolver,
+      sq->sq_domain,
       target,
       sq->sq_port[0] ? (uint16_t)strtoul(sq->sq_port, NULL, 10) : 0,
       orq->orq_agent->sa_graylist,
@@ -9335,7 +9803,7 @@
 su_inline void outgoing_cancel_resolver(nta_outgoing_t *orq)
 {
   struct sipdns_resolver *sr = orq->orq_resolver;
-  
+
   assert(orq->orq_resolver);
 
   if (sr->sr_query)    /* Cancel resolver query */
@@ -9362,12 +9830,12 @@
 int outgoing_resolving(nta_outgoing_t *orq)
 {
   struct sipdns_resolver *sr = orq->orq_resolver;
-  
+
   assert(orq->orq_resolver);
 
   if (!sr->sr_query) {
     return outgoing_resolving_error(orq, SIPDNS_503_ERROR);
-  } 
+  }
   else {
     outgoing_queue(orq->orq_agent->sa_out.resolving, orq);
     return 0;
@@ -9375,8 +9843,8 @@
 }
 
 /** Return 503 response */
-static 
-int outgoing_resolving_error(nta_outgoing_t *orq, int status, char const *phrase) 
+static
+int outgoing_resolving_error(nta_outgoing_t *orq, int status, char const *phrase)
 {
   orq->orq_resolved = 1;
   outgoing_reply(orq, status, phrase, 0);
@@ -9390,10 +9858,10 @@
   struct sipdns_resolver *sr = orq->orq_resolver;
   su_home_t *home = msg_home(orq->orq_request);
   struct sipdns_query *sq;
-  char const *host; 
+  char const *host;
   int i;
   size_t hlen;
- 
+
   sr->sr_use_srv = 0;
 
   host = sr->sr_tpn->tpn_host;
@@ -9553,19 +10021,19 @@
       break;
 
     /* Check if NAPTR matches our target */
-    if (strncasecmp(na->na_services, "SIP+", 4) && 
+    if (strncasecmp(na->na_services, "SIP+", 4) &&
 	strncasecmp(na->na_services, "SIPS+", 5))
       /* Not a SIP/SIPS service */
       continue;
 
     /* Use NAPTR results, don't try extra SRV/A/AAAA records */
-    sr->sr_use_srv = 0, sr->sr_use_a_aaaa = 0;		
-    
+    sr->sr_use_srv = 0, sr->sr_use_a_aaaa = 0;
+
     /* Check if we have a transport mathing with service */
     for (j = 0; sr->sr_tports[j]; j++) {
       /*
-       * Syntax of services is actually more complicated 
-       * but comparing the values in the transport list 
+       * Syntax of services is actually more complicated
+       * but comparing the values in the transport list
        * match with those values that make any sense
        */
       if (strcasecmp(na->na_services, sr->sr_tports[j]->service) != 0)
@@ -9587,7 +10055,7 @@
     if (!sr->sr_tports[j])
       continue;
 
-    /* OK, we found matching NAPTR */ 
+    /* OK, we found matching NAPTR */
     order = na->na_order;
 
     /*
@@ -9608,7 +10076,7 @@
     if (sq == NULL)
       continue;
 
-    *tail = sq, tail = &sq->sq_next;    
+    *tail = sq, tail = &sq->sq_next;
     sq->sq_otype = sres_type_naptr;
     sq->sq_priority = na->na_prefer;
     sq->sq_weight = j;
@@ -9619,7 +10087,7 @@
 
   sres_free_answers(orq->orq_agent->sa_resolver, answers);
 
-  /* RFC2915: 
+  /* RFC2915:
      Preference [...] specifies the order in which NAPTR
      records with equal "order" values SHOULD be processed, low
      numbers being processed before high numbers. */
@@ -9646,7 +10114,7 @@
 
 /* Query SRV records */
 static
-int outgoing_query_srv(nta_outgoing_t *orq, 
+int outgoing_query_srv(nta_outgoing_t *orq,
 		       struct sipdns_query *sq)
 {
   struct sipdns_resolver *sr = orq->orq_resolver;
@@ -9689,7 +10157,7 @@
 
   sr->sr_query = NULL;
 
-  sq0 = sr->sr_current; 
+  sq0 = sr->sr_current;
   assert(sq0 && sq0->sq_type == sres_type_srv);
   assert(sq0->sq_domain); assert(sq0->sq_proto);
 
@@ -9761,8 +10229,8 @@
   }
 
   /* This is not needed anymore (?) */
-  sr->sr_current = NULL; 
-  sq0->sq_next = sr->sr_done; sr->sr_done = sq0; 
+  sr->sr_current = NULL;
+  sq0->sq_next = sr->sr_done; sr->sr_done = sq0;
 
   outgoing_resolve_next(orq);
 }
@@ -9782,7 +10250,7 @@
 				sres_type_aaaa, sq->sq_domain);
 
   SU_DEBUG_5(("nta: for \"%s\" query \"%s\" %s%s\n",
-              orq->orq_tpn->tpn_host, sq->sq_domain, "AAAA", 
+              orq->orq_tpn->tpn_host, sq->sq_domain, "AAAA",
               answers ? " (cached)" : ""));
 
   if (answers) {
@@ -9836,7 +10304,7 @@
     su_inet_ntop(AF_INET6, &aaaa->aaaa_addr, addr, sizeof(addr));
 
     if (j == 0)
-      SU_DEBUG_5(("nta(%p): %s IN AAAA %s\n", (void *)orq, 
+      SU_DEBUG_5(("nta(%p): %s IN AAAA %s\n", (void *)orq,
 		  aaaa->aaaa_record->r_name, addr));
     else
       SU_DEBUG_5(("nta(%p):  AAAA %s\n", (void *)orq, addr));
@@ -9949,11 +10417,11 @@
 		sq->sq_domain, sq->sq_type == sres_type_a ? "A" : "AAAA"));
 
     /*
-     * Three possible policies: 
+     * Three possible policies:
      * 1) try each host for AAAA/A, then A/AAAA
      * 2) try everything first for AAAA/A, then everything for A/AAAA
      * 3) try one SRV record results for AAAA/A, then for A/AAAA,
-     *    then next SRV record 
+     *    then next SRV record
      */
 
     /* We use now policy #1 */
@@ -9968,7 +10436,7 @@
       outgoing_graylist(orq, sq);
   }
 
-  if (rlen > 1) 
+  if (rlen > 1)
     sr->sr_results = results;
   else
     sr->sr_current = NULL;
@@ -10047,7 +10515,7 @@
 
   ta_start(ta, tag, value);
 
-  if (0 > nta_incoming_complete_response(irq, msg, status, phrase, 
+  if (0 > nta_incoming_complete_response(irq, msg, status, phrase,
 					 ta_tags(ta)))
     msg_destroy(msg);
   else if (!(retval = reliable_mreply(irq, callback, rmagic, msg, sip)))
@@ -10060,7 +10528,7 @@
 
 /** Respond reliably with @a msg.
  *
- * @note 
+ * @note
  * The stack takes over the ownership of @a msg. (It is destroyed even if
  * sending the response fails.)
  *
@@ -10105,7 +10573,7 @@
   nta_agent_t *agent;
 
   agent = irq->irq_agent;
-  
+
   if (callback == NULL)
     callback = nta_reliable_destroyed;
 
@@ -10176,7 +10644,7 @@
 
   incoming_queue(sa->sa_in.preliminary, irq); /* P1 */
   incoming_set_timer(irq, sa->sa_t1); /* P2 */
-  
+
   return 0;
 }
 
@@ -10260,7 +10728,7 @@
 
       /* Found matching INVITE */
       for (rel = irq->irq_reliable; rel; rel = rel->rel_next)
-	if (rel->rel_rseq == rack->ra_response) 
+	if (rel->rel_rseq == rack->ra_response)
 	  return (nta_reliable_t  *)rel;
 
       return NULL;
@@ -10311,7 +10779,7 @@
     }
     nta_incoming_treply(pr_irq, status, "OK", TAG_END());
     nta_incoming_destroy(pr_irq);
-  } 
+  }
 
   /* If there are queued unsent reliable responses, send them all. */
   while (irq->irq_reliable && irq->irq_reliable->rel_rseq == 0) {
@@ -10327,7 +10795,7 @@
       if (reliable_send(irq, rel, msg_ref_create(msg), sip) < 0) {
 	assert(!"send reliable response");
       }
-    } 
+    }
     else {
       /*
        * XXX
@@ -10388,8 +10856,8 @@
  *  process incoming PRACK requests
  */
 int nta_reliable_leg_prack(nta_reliable_magic_t *magic,
-			   nta_reliable_t *rel, 
-			   nta_incoming_t *irq, 
+			   nta_reliable_t *rel,
+			   nta_incoming_t *irq,
 			   sip_t const *sip)
 {
   nta_agent_t *agent;
@@ -10398,7 +10866,7 @@
   url_t url[1];
   int retval;
 
-  if (irq == NULL || sip == NULL || rel == NULL || 
+  if (irq == NULL || sip == NULL || rel == NULL ||
       sip_object(irq->irq_request) != sip)
     return 500;
 
@@ -10407,14 +10875,14 @@
   *url = *sip->sip_request->rq_url; url->url_params = NULL;
   agent_aliases(agent, url, irq->irq_tport); /* canonize urls */
 
-  if ((leg = leg_find(irq->irq_agent, 
-		      method_name, url, 
+  if ((leg = leg_find(irq->irq_agent,
+		      method_name, url,
 		      sip->sip_call_id,
-		      sip->sip_from->a_tag,  
+		      sip->sip_from->a_tag,
 		      sip->sip_to->a_tag))) {
     /* Use existing dialog */
     SU_DEBUG_5(("nta: %s (%u) %s\n",
-		method_name, sip->sip_cseq->cs_seq, 
+		method_name, sip->sip_cseq->cs_seq,
 		"PRACK processed by default callback, too"));
     retval = leg->leg_callback(leg->leg_magic, leg, irq, sip);
   }
@@ -10578,9 +11046,9 @@
   tagged->orq_response     = msg_ref_create(orq->orq_response);
   tagged->orq_cancel       = NULL;
 
-  tagged->orq_pending = tport_pend(orq->orq_tport, 
-				   orq->orq_request, 
-				   outgoing_tport_error, 
+  tagged->orq_pending = tport_pend(orq->orq_tport,
+				   orq->orq_request,
+				   outgoing_tport_error,
 				   tagged);
   if (tagged->orq_pending < 0)
     tagged->orq_pending = 0;
@@ -10654,7 +11122,7 @@
 		  __func__, resp->sip_status->st_status));
       return NULL;
     }
-    
+
     if (!resp->sip_rseq) {
       SU_DEBUG_1(("%s: %u response missing RSeq\n",
 		__func__, resp->sip_status->st_status));
@@ -10706,7 +11174,7 @@
       sip_route_init(r0)->r_url[0] = resp->sip_contact->m_url[0];
       route = sip_route_dup(home, r0);
     }
-    
+
     /* Reverse record route */
     if (resp->sip_record_route) {
       sip_route_t *r, *r_next;
@@ -10740,7 +11208,7 @@
     ;
   else if (route && sip_add_dup(msg, sip, (sip_header_t *)route) < 0)
     ;
-  else if (!sip->sip_rack) 
+  else if (!sip->sip_rack)
     SU_DEBUG_1(("%s: RAck header missing\n", __func__));
   else if (nta_msg_request_complete(msg, leg,
 				    SIP_METHOD_PRACK,
@@ -10768,7 +11236,7 @@
   return orq ? orq->orq_rseq : 0;
 }
 
-/** Set @RSeq value stored with client transaction. 
+/** Set @RSeq value stored with client transaction.
  *
  * @return 0 if rseq was set successfully
  * @return -1 if rseq is invalid or orq is NULL.
@@ -10776,7 +11244,7 @@
 int nta_outgoing_setrseq(nta_outgoing_t *orq, uint32_t rseq)
 {
   if (orq && orq->orq_rseq <= rseq) {
-    orq->orq_rseq = rseq;      
+    orq->orq_rseq = rseq;
     return 0;
   }
 
@@ -10841,7 +11309,7 @@
 struct sigcomp_compartment *
 nta_incoming_compartment(nta_incoming_t *irq)
 {
-  if (nta_compressor_vtable && irq && irq->irq_cc) 
+  if (nta_compressor_vtable && irq && irq->irq_cc)
     return nta_compressor_vtable->ncv_compartment_ref(irq->irq_cc);
   else
     return NULL;
@@ -10860,7 +11328,7 @@
 struct sigcomp_compartment *
 nta_outgoing_compartment(nta_outgoing_t *orq)
 {
-  if (nta_compressor_vtable && orq && orq->orq_cc) 
+  if (nta_compressor_vtable && orq && orq->orq_cc)
     return nta_compressor_vtable->ncv_compartment_ref(orq->orq_cc);
   else
     return NULL;
@@ -10879,7 +11347,7 @@
 void
 nta_compartment_decref(struct sigcomp_compartment **pcc)
 {
-  if (nta_compressor_vtable && pcc && *pcc) 
+  if (nta_compressor_vtable && pcc && *pcc)
     nta_compressor_vtable->ncv_compartment_unref(*pcc), *pcc = NULL;
 }
 
@@ -10887,7 +11355,7 @@
 /** Get compartment for connection, create it when needed. */
 static
 struct sigcomp_compartment *
-agent_compression_compartment(nta_agent_t *sa, 
+agent_compression_compartment(nta_agent_t *sa,
 			      tport_t *tp,
 			      tp_name_t const *tpn,
 			      int new_if_needed)
@@ -10979,24 +11447,24 @@
   for (i = oht->oht_size; i-- > 0;)
     /* while */ if (oht->oht_table[i]) {
       nta_outgoing_t *orq = oht->oht_table[i];
-      
+
       if (orq->orq_pending && orq->orq_tport)
-	tport_release(orq->orq_tport, orq->orq_pending, orq->orq_request, 
+	tport_release(orq->orq_tport, orq->orq_pending, orq->orq_request,
 		      NULL, orq, 0);
-      
+
       orq->orq_pending = 0;
       tport_unref(orq->orq_tport), orq->orq_tport = NULL;
     }
-  
-  
+
+
   for (i = iht->iht_size; i-- > 0;)
     /* while */ if (iht->iht_table[i]) {
       nta_incoming_t *irq = iht->iht_table[i];
       tport_unref(irq->irq_tport), irq->irq_tport = NULL;
-    }  
-  
+    }
+
   tport_destroy(agent->sa_tports), agent->sa_tports = NULL;
-  
+
   msg_header_free(agent->sa_home, (void *)agent->sa_vias);
   agent->sa_vias = NULL;
   msg_header_free(agent->sa_home, (void *)agent->sa_public_vias);

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta.docs
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta.docs	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta.docs	Tue Dec 23 07:37:03 2008
@@ -17,28 +17,28 @@
  * @LICENSE LGPL
  *
  * @section nta_objects NTA Objects
- * 
+ *
  * The NTA deals with a few kinds of objects: @e agent (#nta_agent_t), @e
  * call @e legs (#nta_leg_t), @e outgoing @e client @e requests
  * (#nta_outgoing_t), and @e incoming @e server @e requests
  * (#nta_incoming_t).
- * 
+ *
  * NTA also uses SIP message objects #msg_t and #sip_t for handling
  * messages, as defined in <sofia-sip/msg.h> and <sofia-sip/sip.h>,
  * respectively. The various SIP headers are also defined in
  * <sofia-sip/sip.h>.
- * 
+ *
  * @section nta_agent_t Creating an NTA Agent
- * 
+ *
  * Most of the SIP entities, like @e user @e agent or @e proxy, consist of a
  * SIP server and a SIP client working together.  The NTA provides a simple
  * interface to SIP server and client with the #nta_agent_t objects.
- * 
+ *
  * The #nta_agent_t object is created by calling nta_agent_create(). The
  * object listens for incoming connections, receives messages, parses them,
  * and pass them to the application. It also takes care of resolving the
  * domain names and sending the messages.
- * 
+ *
  * The agent needs a #su_root_t object to schedule its execution. A root
  * object is used to wait for the network events, schedule the timer
  * routines, and pass messages asyncronously. A root object can be created
@@ -46,61 +46,61 @@
  * own thread, or its main loop can be executed by an application thread by
  * calling the function su_root_run(). The main loop can be terminated by
  * calling the function su_root_break().
- * 
+ *
  * A simple agent could be created as follows:
  * @code
  *  registrar->reg_root = su_root_create(NULL);
- * 
+ *
  *  if (registrar->reg_root) {
  *    registrar->reg_agent = nta_agent_create(registrar->reg_root,
  *                                            (url_string_t*)argv[1],
  *                                            NULL,
  *                                            NULL,
  *                                            NULL);
- * 
+ *
  *    if (registrar->reg_agent) {
  *      su_root_run(registrar->reg_root);
  *      nta_agent_destroy(registrar->reg_agent);
  *    }
- * 
+ *
  *    su_root_destroy(registrar->reg_root);
  *  }
  * @endcode
- * 
+ *
  * @section nta_server SIP Server Action
- * 
+ *
  * A SIP server responds to the transactions sent by a client. The SIP
  * server can operate in two modes; it can be stateless or stateful. This
  * section describes how a stateful SIP server uses NTA.
- * 
+ *
  * @subsection nta_leg_t The NTA Legs
- * 
+ *
  * A leg is required for stateful transaction processing.  A default
  * leg is created like this:
  * @code
  * default_leg = nta_leg_tcreate(agent, process_requests, context,
- *                               URLTAG_URL(url), 
+ *                               URLTAG_URL(url),
  *                               NTATAG_NO_DIALOG(1),
  *                               TAG_END());
- * @endcode			       
- * 
+ * @endcode
+ *
  * The @a url parameter is used to specify which URLs match to the leg. If
  * it is given, only requests with requestURI matching are processed by the
  * leg. The nta_leg_tcreate() is a @ref tagarg "tagarg" function, taking a
  * tagged argument list as its arguments.
- * 
+ *
  * Other, ordinary legs can be used to match incoming requests with existing
  * dialogs, calls or transaction contexts, or to provide outgoing requests
  * with consistent headers. When a call leg is created, it is provided with
  * @From and @To headers, and optionally with other headers like
  * @CallID, @Route, or @CSeq.
- * 
+ *
  * A new call leg can be created as follows:
  * @code
  * call_leg = nta_leg_tcreate(agent,
  *                            process_call_requests, call_context,
  *                            SIPTAG_CALL_ID(sip->sip_call_id),
- *                            SIPTAG_TO(sip->sip_from),   
+ *                            SIPTAG_TO(sip->sip_from),
  *                            SIPTAG_FROM(sip->sip_to),
  *                            TAG_END());
  * @endcode
@@ -112,9 +112,9 @@
  * @note An existing leg can be used in any direction, however.  If the leg
  * was created for an incoming INVITE transaction, it is also possible to
  * use the leg for an outgoing BYE transaction.
- * 
+ *
  * @subsection nta_leg_tag Tagging the Call Leg
- * 
+ *
  * All the SIP UAS elements are required to tag the @To header in their
  * final responses. The function nta_leg_tag() adds a tag to the leg's local
  * address. Local address is used as the @To header in the reply messages,
@@ -126,34 +126,34 @@
  *   if (!nta_leg_tag(leg, nta_incoming_tag(irq, NULL)))
  *    nta_incoming_treply(irq, SIP_500_INTERNAL_SERVER_ERROR, TAG_END());
  * @endcode
- * 
+ *
  * @subsection nta_incoming_t Incoming Transactions
- * 
+ *
  * An incoming transaction object (nta_incoming_t) is created by NTA for
  * each unique incoming request message. When NTA has created the incoming
- * transaction object, it invokes the callback function provided with 
- * nta_leg_tcreate().  
- * 
+ * transaction object, it invokes the callback function provided with
+ * nta_leg_tcreate().
+ *
  * The simplest way to reply to the request is to return a valid status code
  * from the callback function. Valid status codes are in range of 100 to
  * 699, inclusive.  If no automatic response is desired, the callback
  * function should return 0.
- * 
+ *
  * @note If the status code is final, the incoming transaction object will
  * be destroyed immediately after the callback function returns. It can not
  * be used afterwards.
- * 
+ *
  * @note It is not possible to respond with a 2xx status code to an incoming
  * INVITE transaction by returning the status code from the callback.
- * 
+ *
  * Valid return values for callback function are as follows:
  * @li 0, 100 .. 699 for requests other than INVITE, and
  * @li 0, 100 .. 199, 300..699 for INVITE requests.
- * 
+ *
  * All other return codes are interpreted as 500, that is, a @e 500 @e
  * Internal @e Server @e Error reply message is sent back to the client and
  * the request is immediately destroyed.
- * 
+ *
  * The simple registrar/redirect server may have a incoming request callback
  * as follows:
  * @code
@@ -163,20 +163,20 @@
  * 	     	       sip_t const *sip)
  * {
  *   sip_contact_t *m;
- * 
+ *
  *   switch (sip->sip_request->rq_method) {
  *   case sip_method_register:
  *     return registrar_add(server, leg, reply, sip);
- * 
+ *
  *   case sip_method_ack:
  *     return 500;
- * 
+ *
  *   case sip_method_cancel:
  *     return 200;
- * 
+ *
  *   default:
  *     if (registrar_find(server, sip->sip_request->rq_url, &m) {
- *       nta_incoming_treply(irq, SIP_302_MOVED_TEMPORARILY, 
+ *       nta_incoming_treply(irq, SIP_302_MOVED_TEMPORARILY,
  *                           SIPTAG_CONTACT(m), TAG_END());
  *       return 302;
  *     }
@@ -187,37 +187,37 @@
  *   }
  * }
  * @endcode
- * 
+ *
  * The default reply message will contain the status line with default
  * phrase, then @Via, @To, @From, @CallID, @CSeq, and @ContentLength headers.
  * If a more complex response message is required, the application should
- * respond using the function nta_incoming_treply(): 
+ * respond using the function nta_incoming_treply():
  * @code
- * nta_incoming_treply(reply, SIP_200_OK, 
+ * nta_incoming_treply(reply, SIP_200_OK,
  *                     SIPTAG_CONTACT(contact),
  *                     SIPTAG_CONTENT_TYPE_STR("application/sdp"),
  *                     SIPTAG_PAYLOAD(sdp),
  *                     TAG_END());
  * @endcode
- * 
+ *
  * The nta_incoming_treply() is a @ref tagarg "tagarg" function, taking a
  * tagged argument list as its argument.
- * 
+ *
  * @note It is possible to send provisional replies (containing 1xx status
  * codes) several times with nta_incoming_treply(), but only one final
  * reply (containing status codes 2xx..6xx) can be sent. However, with
  * INVITE requests, a proxy can send a final 2xx reply even after an error
  * reply (3xx..6xx).
- * 
+ *
  * @section nta_100rel Reliable Provisional Responses - "100rel"
- * 
+ *
  * The <A href="../specs/rfc3262.txt"><B>100rel</B></A> SIP extension
  * provides reliable provisional responses, provisional responses that are
  * retransmitted until a special acknowledgement request, PRACK, is
  * received. In addition the PRACK method, the extension defines two
  * headers, @RSeq and @RAck, that are used to identify different
  * response messages. PRACK method is usable on INVITE requests only.
- * 
+ *
  * Using reliable responses is negotiated using the "100rel" option tag. The
  * UAC (party sending the INVITE) can include the option tag to the
  * @Supported or @Require header. In the first case, the UAC just
@@ -236,11 +236,11 @@
  * functions nta_reliable_treply() or nta_reliable_mreply(). These functions
  * return a pointer to a special object, nta_reliable_t, that is used to
  * keep track of unacknowledged responses and respond to the the PRACK
- * acknowledgement request. 
- * 
+ * acknowledgement request.
+ *
  * Both the functions nta_reliable_treply () and nta_reliable_mreply() take
  * a callback funtion pointer and an application context pointer as their
- * arguments. The callback function is similar to the leg callback function. 
+ * arguments. The callback function is similar to the leg callback function.
  * The callback is invoked when a corresponding PRACK request is received,
  * or when there is a timeout.
  *
@@ -252,7 +252,7 @@
  * nta_incoming_treply()/nta_incoming_mreply() functions, the @b nta creates
  * a reliable response object for each provisional response in behalf of
  * application. As the application can not provide a PRACK callback function
- * to @b nta, the PRACK requests are not delivered to the application. 
+ * to @b nta, the PRACK requests are not delivered to the application.
  *
  * @subsection early_dialog UAC Receives a Reliable Response
  *
@@ -261,7 +261,7 @@
  * early @e dialog with the UAS. In another view, a reliable response is
  * used to establish the early dialog. UAC establishes a leg object for the
  * early dialog by calling nta_leg_tcreate() with the parameters derived
- * from the response message. 
+ * from the response message.
  *
  * @code
  * int invite_callback(call_t *call,
@@ -269,30 +269,30 @@
  * 		    sip_t const *sip)
  * {
  *   int status = sip->sip_status->st_status;
- * 
- *   if (!call->has_dialog && 
+ *
+ *   if (!call->has_dialog &&
  *       (status >= 200 || (status > 100 && sip->sip_rseq))) {
- *     nta_leg_t *early = 
+ *     nta_leg_t *early =
  *       nta_leg_tcreate(call->nta_agent, mid_dialog_request, call,
  * 		      SIPTAG_TO(sip->sip_to),
  * 		      SIPTAG_FROM(sip->sip_from),
  * 		      SIPTAG_CALL_ID(sip->sip_call_id),
  * 		      SIPTAG_CSEQ(sip->sip_cseq),
  * 		      TAG_END());
- * 
- *     nta_leg_client_route(early, 
+ *
+ *     nta_leg_client_route(early,
  * 			 sip->sip_record_route,
  * 			 sip->sip_contact);
- * 
+ *
  *     fork = call_fork(call, leg = early);
- * 
+ *
  *     if (!fork) {
  *       handle error;
  *     }
  *     call = fork;
- *   }				       
+ *   }
  * @endcode
- * 
+ *
  * The original dialog object and client transaction object are used to
  * process other call forks. For instance, if the early dialog is
  * established with an announcement server it will never lead to an fully
@@ -306,14 +306,14 @@
  * transaction object by calling nta_outgoing_prack()
  *
  * @section nta_client SIP Client Action
- * 
+ *
  * A SIP client initiates the transactions. In some cases, a SIP client is
  * also required to invoke additional transactions, like @b ACK or @b
  * CANCEL, to finalize the original transaction. This section describes how
  * a SIP client uses NTA to make transactions.
- * 
+ *
  * @subsection client_nta_leg_t Creating the Call Leg
- * 
+ *
  * If the client does not have a suitable call leg, it must create it by
  * calling the function nta_leg_tcreate():
  * @code
@@ -324,15 +324,15 @@
  *                                SIPTAG_TO(to),
  *                                TAG_END());
  * @endcode
- * 
+ *
  * The @p callback function and @p context pointer are used for incoming
  * transactions, and they may be @c NULL if no such transactions are
  * expected.  If the callback is @c NULL, NTA responds to incoming
  * transactions with status @e 403 @e Forbidden.
- * 
+ *
  * The @a call_id may be @c NULL or left out. In that case, NTA generates a
  * new call ID.
- * 
+ *
  * The @a from and @a to are used in outgoing transactions. They are also
  * used to select which incoming messages belong to this leg.
  *
@@ -341,11 +341,11 @@
  *
  * The additional parameters (after @a to) are included in outgoing messages
  * using this leg. Currently, only @c SIPTAG_ROUTE() is supported.
- * 
+ *
  * @note Additional tagged parameters are ignored.
- * 
+ *
  * @subsection nta_outgoing_t Outgoing requests
- * 
+ *
  * The outgoing request is created and sent by nta_outgoing_tcreate(). It
  * can be used as follows:
  * @code
@@ -356,31 +356,31 @@
  *                             SIPTAG_CONTACT(my_contact),
  *                             TAG_END());
  * @endcode
- * 
+ *
  * NTA invokes the callback function response_to_register() each time a
  * provisional answer is received, and when a final answer is received.
- * 
+ *
  * @note There may be multiple final answers to the INVITE request.
- * 
+ *
  * If NTA does not receive answer in timely manner, it will generate a
- * @e 408 @e Timeout response and hand that back to the application. 
- * 
+ * @e 408 @e Timeout response and hand that back to the application.
+ *
  * @note After a provisional answer to the INVITE request, no timeout will
  * occur inside NTA.  Application must itself timeout the INVITE
  * transactions if any answer has been received.
- * 
+ *
  * The request can be destroyed with NTA function nta_outgoing_destroy().
  * If no final answer has been received, the request is cancelled when it is
  * destroyed, too.  The application can also cancel the outgoing request by
  * calling nta_outgoing_cancel().
- * 
+ *
  * @subsection nta_ack Acknowledging Answers to INVITE
- * 
+ *
  * The final answers to the INVITE request must be acknowledged. NTA takes
  * care of acknowledging automatically the 3xx..6xx answers; the appliction
  * must explicitly create a separate acknowledge transaction to final 2xx
- * answers. 
- * 
+ * answers.
+ *
  * The final answer can be acknowledged like this:
  * @code
  *  url = sip->sip_contact ? sip->sip_contact->m_url : original_url;
@@ -391,10 +391,10 @@
  *                             SIPTAG_PAYLOAD(sdp),
  *                             TAG_END());
  * @endcode
- * 
- * @note The ACK transaction should be sent to the @Contact specified in the 
- * 2xx reply.  
- * 
+ *
+ * @note The ACK transaction should be sent to the @Contact specified in the
+ * 2xx reply.
+ *
  * <a name="nta_register_f"></a>
  * @section nta_stateless_callback Stateless Processing of SIP Messages
  *
@@ -427,27 +427,27 @@
  * parsed contents (@a sip) the callback function gets the
  * application-specific context pointer (in this case, @a registrar) and a
  * pointer to the NTA agent (@a agent) as its arguments:
- * 
- * @code 
+ *
+ * @code
  * int process_message(nta_agent_context_t *registrar,
  * 		       nta_agent_t *agent,
  * 		       msg_t *msg,
  * 		       sip_t *sip);
  * @endcode
- * 
+ *
  * The application has three functions that can be used to process the
  * messages in stateless manner:
  * @li nta_msg_discard() ignores and destroys the message,
  * @li nta_msg_tsend() forwards a request or response message, and
  * @li nta_msg_treply() replies to a request message in a stateless way.
- * 
+ *
  * Additionally, it is possible to process a request message statefully with
  * nta_incoming_create().
  *
  * The functionality of the stateless callback function can vary greatly,
  * depending the purpose of the application. An user-agent, a proxy or a
  * registrar/redirect server each have very different callback functions.
- * 
+ *
  * A simple redirect server could have a message callback function as
  * follows.
  *
@@ -459,15 +459,15 @@
  * {
  *   sip_contact_t *m;
  *   sip_unsupported_t *u;
- * 
+ *
  * @endcode
  *
  * The incoming response messages are simply ignored. The @b ACK requests can
  * safely be discarded, too, because the redirect server keeps no state.
- * 
+ *
  * @code
  *   if (!sip->sip_request || sip->sip_request->rq_method == sip_method_ack) {
- *     nta_msg_discard(agent, msg); 
+ *     nta_msg_discard(agent, msg);
  *     return 0;
  *   }
  * @endcode
@@ -477,7 +477,7 @@
  * @code
  *   u = sip_unsupported(msg_home(msg), sip->sip_require, r->r_supported);
  *   if (u) {
- *     nta_msg_treply(agent, msg, SIP_420_BAD_EXTENSION, 
+ *     nta_msg_treply(agent, msg, SIP_420_BAD_EXTENSION,
  *                    SIPTAG_SUPPORTED(r->r_supported),
  *                    SIPTAG_UNSUPPORTED(u),
  *                    TAG_END());
@@ -495,17 +495,17 @@
  *   }
  * @endcode
  *
- *  All other requests are answered normally with a 302 response. 
+ *  All other requests are answered normally with a 302 response.
  *  The location service is
  *  searched for the request uri, and if a matching address was found, a
  *  list of active bindings is returned to the client.
  * @code
  *   m = location_find(redirect, sip->sip_request->rq_url);
  *   if (m) {
- *     nta_msg_treply(agent, msg, SIP_302_MOVED_TEMPORARILY, 
+ *     nta_msg_treply(agent, msg, SIP_302_MOVED_TEMPORARILY,
  *                    SIPTAG_CONTACT(m),
  *                    TAG_END());
- *   } 
+ *   }
  * @endcode
  *
  *   Otherwise, @e 404 @e Not @e Found is sent:
@@ -513,22 +513,22 @@
  *   else {
  *     nta_msg_treply(agent, msg, SIP_404_NOT_FOUND, TAG_END());
  *   }
- * 
+ *
  *   return 0;
  * }
  * @endcode
- * 
+ *
  */
 
 /**@page internal NTA Semantics and Internal Data Flows
- * 
+ *
  * NTA implements simple state machines at transaction level. The figure
  * below illustrates how a message is processed by NTA.
- * 
- * @image html nta-receiving-message.gif "NTA processing incoming messages." 
- * @image latex nta-receiving-message.eps "NTA processing incoming messages." 
- * 
- * 
+ *
+ * @image html nta-receiving-message.gif "NTA processing incoming messages."
+ * @image latex nta-receiving-message.eps "NTA processing incoming messages."
+ *
+ *
  */
 
 int invite_callback(call_t *call,
@@ -538,9 +538,9 @@
   int status = sip->sip_status->st_status;
   nta_leg_t *leg = call->leg;
 
-  if (!call->has_dialog && 
+  if (!call->has_dialog &&
       (status >= 200 || (status > 100 && sip->sip_rseq))) {
-    nta_leg_t *early = 
+    nta_leg_t *early =
       nta_leg_tcreate(call->nta_agent, mid_dialog_request, call,
 		      SIPTAG_TO(sip->sip_to),
 		      SIPTAG_FROM(sip->sip_from),
@@ -548,7 +548,7 @@
 		      SIPTAG_CSEQ(sip->sip_cseq),
 		      TAG_END());
 
-    nta_leg_client_route(early, 
+    nta_leg_client_route(early,
 			 sip->sip_record_route,
 			 sip->sip_contact);
 
@@ -558,16 +558,16 @@
       handle error;
     }
     call = fork;
-  }				       
-  
+  }
+
   if (status > 100 && status < 200 && sip->sip_rseq) {
-    nta_outgoing_t *prack = 
+    nta_outgoing_t *prack =
       nta_outgoing_prack(leg, orq, NULL, NULL, NULL,
-			 sip, 
+			 sip,
 			 TAG_END());
     nta_outgoing_destroy(prack);
     return 0;
   }
-  
+
   ...
 }

Modified: freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta_internal.h
==============================================================================
--- freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta_internal.h	(original)
+++ freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/nta/nta_internal.h	Tue Dec 23 07:37:03 2008
@@ -24,551 +24,46 @@
 
 #ifndef NTA_INTERNAL_H
 /** Defined when <nta_internal.h> has been included. */
-#define NTA_INTERNAL_H 
+#define NTA_INTERNAL_H
 
 /**@internal @file nta_internal.h
  *
- * @brief Internals of NTA objects.
+ * @brief NTA internal interfaces.
  *
  * @author Pekka Pessi <Pekka.Pessi at nokia.com>
  *
  * @date Created: Tue Jul 18 09:18:32 2000 ppessi
  */
 
-/* Resolver context type */
-#define SRES_CONTEXT_T    nta_outgoing_t
+SOFIA_BEGIN_DECLS
 
-/* We are customer of tport_t */
-#define TP_AGENT_T        nta_agent_t
-#define TP_MAGIC_T        sip_via_t 
-#define TP_CLIENT_T       nta_outgoing_t
+/** A sip_flag telling that this message is internally generated. */
+#define NTA_INTERNAL_MSG (1<<15)
 
 #include <sofia-sip/nta.h>
 #include <sofia-sip/nta_tport.h>
+#include <sofia-sip/nta_stateless.h>
 #include <sofia-sip/tport.h>
-
 #if HAVE_SOFIA_SRESOLV
 #include <sofia-sip/sresolv.h>
 #endif
-
 #include <sofia-sip/htable.h>
 
-#if HAVE_SMIME
-#include "smimec.h"
-#endif
-
-SOFIA_BEGIN_DECLS
-
-/** A sip_flag telling that this message is internally generated. */
-#define NTA_INTERNAL_MSG (1<<15)
-
-/** Resolving order */
-enum nta_res_order_e
-{
-  nta_res_ip6_ip4,
-  nta_res_ip4_ip6,
-  nta_res_ip6_only,
-  nta_res_ip4_only
-};
-
-HTABLE_DECLARE_WITH(leg_htable, lht, nta_leg_t, size_t, hash_value_t);
-HTABLE_DECLARE_WITH(outgoing_htable, oht, nta_outgoing_t, size_t, hash_value_t);
-HTABLE_DECLARE_WITH(incoming_htable, iht, nta_incoming_t, size_t, hash_value_t);
-
-typedef struct outgoing_queue_t {
-  nta_outgoing_t **q_tail;
-  nta_outgoing_t  *q_head;
-  size_t           q_length;
-  unsigned         q_timeout;
-} outgoing_queue_t;
-
-typedef struct incoming_queue_t {
-  nta_incoming_t **q_tail;
-  nta_incoming_t  *q_head;
-  size_t           q_length;
-  unsigned         q_timeout;
-} incoming_queue_t;
-
 typedef struct nta_compressor nta_compressor_t;
 
-struct nta_agent_s
-{
-  su_home_t             sa_home[1];
-  su_root_t            *sa_root;
-  su_timer_t           *sa_timer;
-  nta_agent_magic_t    *sa_magic;
-  nta_message_f        *sa_callback;     
-
-  nta_update_magic_t   *sa_update_magic;
-  nta_update_tport_f   *sa_update_tport;
-
-  su_time_t             sa_now;	 /**< Timestamp in microsecond resolution. */
-  uint32_t              sa_next; /**< Timestamp for next agent_timer. */
-  uint32_t              sa_millisec; /**< Timestamp in milliseconds. */
-
-  uint32_t              sa_nw_updates; /* Shall we enable network detector? */
-
-  uint32_t              sa_flags;	/**< Message flags */
-  msg_mclass_t const   *sa_mclass;
-
-  sip_contact_t        *sa_contact;
-  sip_via_t            *sa_vias;   /**< @Via headers for all transports */
-  sip_via_t            *sa_public_vias;   /**< @Vias for public transports */
-  sip_contact_t        *sa_aliases;/**< List of aliases for agent */
-
-  uint64_t              sa_branch; /**< Counter for generating branch parameter */
-  uint64_t              sa_tags;   /**< Counter for generating tag parameters */
-
-  char const           *sa_2543_tag; /**< Fixed tag added to @To when responding */
-
-#if HAVE_SOFIA_SRESOLV
-  sres_resolver_t      *sa_resolver; /**< DNS resolver */
-#endif
-
-  tport_t              *sa_tports;
-  
-  /* Default outbound proxy */
-  url_t                *sa_default_proxy;
-
-#if HAVE_SMIME
-  sm_object_t          *sa_smime;
-#else
-  void                 *sa_smime;
-#endif
-
-
-  /** Request error mask */
-  unsigned              sa_bad_req_mask;
-  /** Response error mask */
-  unsigned              sa_bad_resp_mask;
-
-  /** Maximum size of incoming messages */
-  size_t                sa_maxsize;
-  
-  /** Maximum size of proceeding queue */
-  size_t                sa_max_proceeding;
-  
-  /** Maximum size of outgoing UDP requests */
-  unsigned              sa_udp_mtu;
-
-  /** SIP T1 - initial interval of retransmissions (500 ms) */
-  unsigned              sa_t1;
-  /** SIP T2 - maximum interval of retransmissions (4000 ms) */
-  unsigned              sa_t2;
-  /** SIP T4 - clear message time (5000 ms) */
-  unsigned              sa_t4;
-
-  /** SIP T1X64 - transaction lifetime (32 s) */
-  unsigned              sa_t1x64;
-
-  /** Progress timer - interval between provisional responses sent */
-  unsigned              sa_progress;
-
-  /** SIP timer C - interval between provisional responses receivedxs */
-  unsigned              sa_timer_c;
-
-  /** Graylisting period */
-  unsigned              sa_graylist;
-  /** Blacklisting period */
-  unsigned              sa_blacklist;
-
-    /** NTA is used to test packet drop */
-  unsigned              sa_drop_prob : 10;
-  /** NTA is acting as an User Agent server */
-  unsigned              sa_is_a_uas : 1;
-  /** Process requests outside dialog statelessly */
-  unsigned              sa_is_stateless : 1;
-  /** Let application provide @Via headers */
-  unsigned              sa_user_via:1;
-  /** Respond with "100 Trying" if application has not responded. */
-  unsigned              sa_extra_100:1;
-  /** The "100 Trying" provisional answers are passed to the application */
-  unsigned              sa_pass_100:1;
-  /** If true, a "408 Request Timeout" message is generated when outgoing
-      request expires. */
-  unsigned              sa_timeout_408:1;
-  /** If true, a "408 Request Timeout" responses are passed to client. */
-  unsigned              sa_pass_408:1;
-  /** If true, a "482 Request Merged" response is sent to merged requests. */
-  unsigned              sa_merge_482 : 1;
-  /** If true, send a CANCEL to an INVITE without an provisional response. */
-  unsigned              sa_cancel_2543 : 1;
-  /** If true, reply with 487 response when a CANCEL is received. */
-  unsigned              sa_cancel_487 : 1;
-  /** If true, use unique tags. */
-  unsigned              sa_tag_3261 : 1;
-  /** If true, include 100rel in INVITE requests. */
-  unsigned              sa_invite_100rel : 1;
-  /** If true, insert @Timestamp in requests. */
-  unsigned              sa_timestamp : 1;
-
-  /** If true, transports support IPv4. */
-  unsigned              sa_tport_ip4 : 1;
-  /** If true, transports support IPv6. */
-  unsigned              sa_tport_ip6 : 1;
-  /** If true, transports support UDP. */
-  unsigned              sa_tport_udp : 1;
-  /** If true, transports support TCP. */
-  unsigned              sa_tport_tcp : 1;
-  /** If true, transports support SCTP. */
-  unsigned              sa_tport_sctp : 1;
-  /** If true, transports support TLS. */
-  unsigned              sa_tport_tls : 1;
-
-  /** If true, use NAPTR lookup */
-  unsigned              sa_use_naptr : 1;
-  /** If true, use SRV lookup */
-  unsigned              sa_use_srv : 1;
-
-  /** If true, transports use threadpool */
-  unsigned              sa_tport_threadpool : 1;
-
-  /** If true, use rport at client */
-  unsigned              sa_rport:1;
-  /** If true, use rport at server */
-  unsigned              sa_server_rport:2;
-  /** If true, use rport with tcp, too */
-  unsigned              sa_tcp_rport:1;
-
-  /** If true, automatically create compartments */
-  unsigned              sa_auto_comp:1;
-
-  /** Set when executing timer */
-  unsigned              sa_in_timer:1;
-  
-  /** Set if application has set value for timer C */
-  unsigned              sa_use_timer_c:1;
-
-  unsigned              :0;
-
-  /** Messages memory preload. */
-  unsigned              sa_preload;
-
-  /** Name of SigComp algorithm */
-  char const           *sa_algorithm;
-  /** Options for SigComp. */
-  char const           *sa_sigcomp_options;
-  char const* const    *sa_sigcomp_option_list;
-  char const           *sa_sigcomp_option_free;
-
-  nta_compressor_t     *sa_compressor;
-
-  /** Resolving order (AAAA/A) */
-  enum nta_res_order_e  sa_res_order;
-
-  /** @MaxForwards */
-
-  sip_max_forwards_t    sa_max_forwards[1];
-
-  /* Statistics */
-  struct {
-    usize_t as_recv_msg;
-    usize_t as_recv_request;
-    usize_t as_recv_response;
-    usize_t as_bad_message;
-    usize_t as_bad_request;
-    usize_t as_bad_response;
-    usize_t as_drop_request;
-    usize_t as_drop_response;
-    usize_t as_client_tr;
-    usize_t as_server_tr;
-    usize_t as_dialog_tr;
-    usize_t as_acked_tr;
-    usize_t as_canceled_tr;
-    usize_t as_trless_request;
-    usize_t as_trless_to_tr;
-    usize_t as_trless_response;
-    usize_t as_trless_200;
-    usize_t as_merged_request;
-    usize_t as_sent_msg;
-    usize_t as_sent_request;
-    usize_t as_sent_response;
-    usize_t as_retry_request;
-    usize_t as_retry_response;
-    usize_t as_recv_retry;
-    usize_t as_tout_request;
-    usize_t as_tout_response;
-  }                  sa_stats[1];
-
-  /** Hash of dialogs. */
-  leg_htable_t          sa_dialogs[1];
-  /** Default leg */
-  nta_leg_t            *sa_default_leg;
-  /** Hash of legs without dialogs. */
-  leg_htable_t          sa_defaults[1];
-  /** Hash table for outgoing transactions */
-  outgoing_htable_t     sa_outgoing[1];
-  nta_outgoing_t       *sa_default_outgoing;
-  /** Hash table for incoming transactions */
-  incoming_htable_t     sa_incoming[1]; 
-  nta_incoming_t       *sa_default_incoming;
-
-  /* Queues (states) for outgoing client transactions */
-  struct {
-    /** Queue for retrying client transactions */
-    nta_outgoing_t   *re_list;
-    nta_outgoing_t  **re_t1;	        /**< Special place for T1 timer */
-    size_t            re_length;	/**< Length of sa_out.re_list */
-
-    outgoing_queue_t  delayed[1]; 
-    outgoing_queue_t  resolving[1]; 
-
-    outgoing_queue_t  trying[1];	/* Timer F/E */
-    outgoing_queue_t  completed[1];	/* Timer K */
-    outgoing_queue_t  terminated[1];
-
-    /* Special queues (states) for outgoing INVITE transactions */
-    outgoing_queue_t  inv_calling[1];	/* Timer B/A */
-    outgoing_queue_t  inv_proceeding[1]; /* Timer C */
-    outgoing_queue_t  inv_completed[1];	/* Timer D */
-
-    /* Temporary queue for transactions waiting to be freed */
-    outgoing_queue_t *free;
-  } sa_out;
-
-  /* Queues (states) for incoming server transactions */
-  struct {
-    /** Queue for retransmitting response of server transactions */
-    nta_incoming_t   *re_list;
-    nta_incoming_t  **re_t1;	        /**< Special place for T1 timer */
-    size_t            re_length;
-
-    incoming_queue_t  proceeding[1];	/**< Request received */
-    incoming_queue_t  preliminary[1];   /**< 100rel sent  */
-    incoming_queue_t  completed[1];	/**< Final answer sent (non-invite). */
-    incoming_queue_t  inv_completed[1];	/**< Final answer sent (INVITE). */
-    incoming_queue_t  inv_confirmed[1];	/**< Final answer sent, ACK recvd. */
-    incoming_queue_t  terminated[1];	/**< Terminated, ready to free. */
-    incoming_queue_t  final_failed[1];   
-  } sa_in;
-
-  /* Special task for freeing memory */
-  su_clone_r          sa_terminator;
-};
-
-struct nta_leg_s
-{
-  su_home_t         leg_home[1];
-  hash_value_t      leg_hash;
-  unsigned          leg_dialog : 1;
-  unsigned          leg_stateless : 1;   /**< Process requests statelessly */
-#ifdef NTA_STRICT_ROUTING
-  unsigned          leg_contact_set : 1;
-#else
-  unsigned          leg_loose_route : 1; /**< Topmost route in set is LR */
-#endif
-  unsigned          leg_local_is_to : 1; /**< Backwards-compatibility. */
-  unsigned          leg_tagged : 1; /**< Tagged after creation.
-				     *
-				     * Request missing To tag matches it
-				     * even after tagging.
-				     */
-  unsigned:0;
-  nta_request_f    *leg_callback;
-  nta_leg_magic_t  *leg_magic;
-  nta_agent_t      *leg_agent;
-  /** Leg URL.
-   *
-   * This is the URL used to match incoming requests.
-   */
-  url_t const      *leg_url;
-  char const       *leg_method;	/**< Method for this dialog. */
-
-  uint32_t	    leg_seq;    /**< Sequence number for next transaction */
-  uint32_t	    leg_rseq;   /**< Remote sequence number */
-  sip_call_id_t	   *leg_id;	/**< Call ID */
-  sip_from_t   	   *leg_remote;	/**< Remote address (@To/@From) */
-  sip_to_t     	   *leg_local;	/**< Local address (@From/@To) */
-
-  sip_route_t      *leg_route;  /**< @Route for outgoing requests. */
-  sip_contact_t    *leg_target; /**< Remote destination (from @Contact). */
-};
-
-#define leg_has_id(leg) ((leg)->leg_id != NULL)
-
-struct nta_incoming_s
-{
-  su_home_t            *irq_home;
-  hash_value_t          irq_hash;
-  nta_agent_t          *irq_agent;
-  nta_ack_cancel_f     *irq_callback;
-  nta_incoming_magic_t *irq_magic;
-
-  /* Timeout/state queue */
-  nta_incoming_t      **irq_prev;
-  nta_incoming_t       *irq_next;
-  incoming_queue_t     *irq_queue;
-  
-  /* Retry queue */
-  nta_incoming_t      **irq_rprev;
-  nta_incoming_t       *irq_rnext;
-
-  sip_method_t        	irq_method;
-  sip_request_t        *irq_rq;
-  sip_from_t           *irq_from;
-  sip_to_t             *irq_to;
-  char const           *irq_tag;
-  sip_cseq_t           *irq_cseq;
-  sip_call_id_t        *irq_call_id;
-  sip_via_t            *irq_via;
-  sip_record_route_t   *irq_record_route;
-  char const           *irq_branch;
-
-  uint32_t              irq_rseq;
-
-  sip_timestamp_t      *irq_timestamp;
-  su_time_t             irq_received;
-
-  uint32_t       	irq_timeout;    /**< Timer H, I, J */
-  uint32_t       	irq_retry;      /**< Timer G */
-  unsigned short      	irq_interval;	/**< Next timer  */
-
-  short               	irq_status;
-
-  unsigned              irq_retries : 8;
-  unsigned              irq_default : 1;    /**< Default transaction */
-  unsigned              irq_canceled : 1;   /**< Transaction is canceled */
-  unsigned              irq_completed : 1;  /**< Transaction is completed */
-  unsigned              irq_confirmed : 1;  /**< Response has been acked */
-  unsigned              irq_terminated :1;  /**< Transaction is terminated */
-  unsigned              irq_final_failed:1; /**< Sending final response failed */
-  unsigned              irq_destroyed :1;   /**< Transaction is destroyed */
-  unsigned              irq_in_callback:1;  /**< Callback is being invoked */
-  unsigned              irq_reliable_tp:1;  /**< Transport is reliable */
-  unsigned              irq_sigcomp_zap:1;  /**< Reset SigComp */
-  unsigned              irq_must_100rel:1;  /**< 100rel is required */
-  unsigned              irq_tag_set:1;      /**< Tag is not from request */
-  unsigned              :0;
-
-  tp_name_t             irq_tpn[1];
-  tport_t              *irq_tport;
-  struct sigcomp_compartment *irq_cc;
-  msg_t		       *irq_request;
-  msg_t		       *irq_request2;       /**< ACK/CANCEL */
-  msg_t		       *irq_response;
-
-  nta_reliable_t       *irq_reliable;       /**< List of reliable responses */
-};
-
-struct nta_reliable_s
-{
-  nta_reliable_t       *rel_next;
-  nta_incoming_t       *rel_irq;
-  nta_prack_f          *rel_callback;
-  nta_reliable_magic_t *rel_magic;
-  uint32_t              rel_rseq;
-  unsigned short        rel_status;
-  unsigned              rel_pracked : 1;
-  unsigned              rel_precious : 1;
-  msg_t                *rel_response;
-  msg_t                *rel_unsent;
-};
-
-typedef struct sipdns_resolver sipdns_resolver_t;
-
-struct nta_outgoing_s
-{
-  hash_value_t          orq_hash;    /**< Hash value */
-  nta_agent_t          *orq_agent;
-  nta_response_f       *orq_callback;
-  nta_outgoing_magic_t *orq_magic;
-
-  /* Timeout/state queue */
-  nta_outgoing_t      **orq_prev;
-  nta_outgoing_t       *orq_next;
-  outgoing_queue_t     *orq_queue;
-  
-  /* Retry queue */
-  nta_outgoing_t      **orq_rprev;
-  nta_outgoing_t       *orq_rnext;
-
-  sip_method_t        	orq_method;
-  char const           *orq_method_name;
-  url_t const          *orq_url;        /**< Original RequestURI */
-
-  sip_from_t const     *orq_from;
-  sip_to_t const       *orq_to;
-  char const           *orq_tag;        /**< Tag from final response. */
-
-  sip_cseq_t const     *orq_cseq;
-  sip_call_id_t const  *orq_call_id;
-
-  msg_t		       *orq_request;
-  msg_t                *orq_response;
-
-  su_time_t             orq_sent;       /**< When request was s