Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch

This commit is contained in:
cypromis 2011-04-13 03:43:05 +02:00
commit eb64f132b2
11 changed files with 589 additions and 56 deletions

View File

@ -1,3 +1,3 @@
en-us-callie 1.0.14
en-us-callie 1.0.15
ru-RU-elena 1.0.12

View File

@ -99,7 +99,7 @@
<action function="play-file" data="directory/dir-for_next.wav"/>
<action function="play-file" data="directory/dir-press.wav"/>
<action function="say" data="$2" method="pronounced" type="name_spelled"/>
<action function="play-file" data="directory/dir-for_prev.wav"/>
<action function="play-file" data="directory/dir-for_previous.wav"/>
<action function="play-file" data="directory/dir-press.wav"/>
<action function="say" data="$3" method="pronounced" type="name_spelled"/>
<action function="play-file" data="directory/dir-start_new_search.wav"/>

View File

@ -41,6 +41,7 @@ freeswitch (1.0.7)
config: docs for acl (r:57b410eb)
config: add default to conf to demonstrate min-idle-cpu (r:b8b7266a)
config: change min/max enforcements to >= instead of > (r:0d5fcf65)
config: Add README_IMPORTANT.txt to default configuration (r:6cd5ce72)
core: Add RTCP support (FSRTP-14)
core: handle some errors on missing db handle conditions
core: add ... and shutdown as a fail-safe when no modules are loaded
@ -214,6 +215,22 @@ freeswitch (1.0.7)
core: add limits to simo open sql handles (r:61cdf0da)
core: Fix db locks affecting mod_callcenter (r:8da371c7/FS-3127)
core: improve flow of dtmf through a bridge when timer is disabled (r:59da356d)
core: Fix Freeswitch crash on Debian ARM (r:a80fae92/FS-3126)
core: switch_xml: reloadxml will(should) never lock again. It will load the XML structure into a new XML structure, and just replace the currently available ROOT XML. It then the job of the last user of the switch_xml structure to free it. (r:471bd6df)
core: switch_xml: Remove commented out mmap. With the changes in the past 2 year, mmap can't really be put back in it current state. (r:34bd0e5e)
core: Fix jitterbuffer with SRTP enabled (r:069f5f7d/FS-3075)
core: this will remove the reported symptom but does not change the fact that 1khz resolution is ideal for proper performance (r:5f18ec94/FS-3168)
core: this was specific to the user channel which is not a real channel in every sense of the word as it has no running thread or any usable state changes so this new line of code in 233d3164be4412aaaf8f9f42d8042e48279a018a to wait for the state machine to stabilize before returning from originate caused an issue with user/ channels (r:88a6ac2f/FS-3170)
core: this also fixes the incorrect usage of L16 on payload 10 which may or may not break interop with other sip devices if we do it right. also added rtp_disable_byteswap variable that can be set to false to disable byteswap when a device is encountered that is incompat (including all previous version of FS up till now) (r:e657e32f/FS-3172)
core: dont calibrate clock when timerfd enabled (r:26f5ebd4)
core: fix DTMF in SRTP/ZRTP (r:fd608901/FS-3165)
core: add switch_atomic_* type and functions switch_apr.c and switch_apr.h (r:3b56c119/FS-3173)
core: improve some defaults to tune performance if you use -heavy_timer, try not using it (r:5d783134)
core: Fix api_hangup_hook with no args (r:484a397d/FS-3194)
core: allow 100 microsecond tolerance on timer loop (r:6388e03d)
core: Fix X-PREPROCESS exec to wait pid (r:dae2cb4a)
core: Ability to use mod_say with native files; native is a special case so use the extension native e.g. en.native (r:3a2e1d03/FS-3176)
core: Fix: Bridging a call to multiple legs and using leg_delay_start, legs that lost the race before the leg_delay_start time is up still get originated for a brief moment (r:c5daf80e/FS-3218)
embedded languages: Provide core level support for conditional Set Global Variable (r:c017c24b/FSCORE-612)
embedded languages: add insertFile front end to switch_ivr_insert_file and reswig (r:c4e350ab)
fs_cli: block control-z from fs cli and print a warning how to exit properly (r:dc436b82)
@ -250,12 +267,17 @@ freeswitch (1.0.7)
libesl: add optional job-uuid param to bgapi in oop mod (r:e96acac3)
libesl: fix linger support in esl client lib (r:0444626b)
libesl: fix segfault (r:30813ca5/FS-3130)
libesl: Don't destroy last_event pointer until it's being set to a new pointer - fixes rare segfault (r:e8474d60/ESL-57)
libesl: Add 'make perlmod-install' to ESL (please test) (r:06c42179)
libesl: build python esl bindings and ship them in freeswitch-python-package (r:44bfcf1d/FS-3128)
libesl: use poll instead of select in ESL client lib because select is not your friend.... (r:ae595cd5)
libfreetdm: implemented freetdm config nodes and ss7 initial configuration
libfreetdm: fix codec for CAS signaling (r:b76e7f18)
libfreetdm: freetdm: ss7- added support for incoming group blocks, started adding support for ansi (r:c219a73c)
libg7221: A bunch of tweaks to the G.722.1 codec (r:5d548570)
libgnutls: link to libgcrypt as well, please report any platforms this breaks, but it should be portable (r:c569fb0f/FS-1248)
libjs: non-portable comment syntax in .s files
libldns: select on FD > 1024 get this patch to ldns ppl (r:710fc7a7/FS-3110)
libopenzap: Add CLI tracing
libs: Merged OpenZAP and FreeTDM into the FreeSWITCH tree.
libs: Add support for TLS on Windows using openssl (r:1abe3b93/MODSOFIA-92)
@ -265,6 +287,7 @@ freeswitch (1.0.7)
libsofiasip: VS2010 sofia posix problem (r:46dd24c2/SFSIP-220)
libsofiasip: set minimum initital sip t1 timer to 1000ms to work around race condition on retry timer firing before all the things that are supposed to be handled by the timer are set. The base resolution on this timer is 500ms, so doubling up makes sure we always hit the initial retry timer on the next run, where everything should be set. The side effect was, 1/2 the time on a request that did not get immediate response, the timer would be fired and cleared, but the action (sending retry) was never done, and a new timer was not set, causing the request to just sit zombied and never retry. A better solution would be to find and correct the race condition so the timer is never set to early and we never hit this condition. (r:20c2740c)
libsofiasip: fix bad assert (r:56404641/FS-3133)
libsofiasip: lower stack and boost priority of sofia schedule thread (r:257bc9ff)
libspandsp: Fixed a typo in spandsp's msvc/inttypes.h Updated sig_tone processing in spandsp to the latest, to allow moy to proceed with his signaling work.
libspandsp: removed a saturate16 from spandsp that was causing problems fixed a typo in the MSVC inttypes.h file for spandsp
libspandsp: Changes to the signaling tone detector to detect concurrent 2400Hz + 2600Hz tones. This passes voice immunity and other key tests, but it bounces a bit when transitions like 2400 -> 2400+2600 -> 2600 occur. Transitions between tone off and tone on are clean. (r:bc13e944)
@ -272,6 +295,7 @@ freeswitch (1.0.7)
libspandsp: Fix for T.30 processing of operator interrupts, to improve compatibility with some machines, which seem to send them when no operator is around. (r:84ee0ae6)
libspandsp: spandsp t38 fax receiving error in win XP - regression from f029f7ef (r:761cec8f/FS-2766)
libspandsp: Added missing error codes when an ECM FAX is abandoned with the T30_ERR message (r:ec57dc7a)
libspandsp: Fixed a vulnerability in T.4 and T.6 processing which is similar to <a href="http://bugzilla.maptools.org/show_bug.cgi?id=2297">http://bugzilla.maptools.org/show_bug.cgi?id=2297</a> in libtiff. A really screwed up 2D T.4 image, or a maliciously constructed T.4 2D or T.6 image should potential run off the end of an image decoder buffer. (r:c6f67322)
libstfu: add param to jb to try to recapture latency (disabled by default) (r:d59d41d7)
mod_avmd: Initial check in - Advanced Voicemail Detect (r:10c6a30a) (by Eric Des Courtis)
mod_avmd: Add to windows build (r:df4bd935)
@ -299,11 +323,20 @@ freeswitch (1.0.7)
mod_callcenter: IMPORTANT UPDATE, DTMF during moh created an loop to reactivate MOH but got canceled right away because of pending DTMF in the queue never been cleaned. Could cause masive disk write of debug, and can cause problem to the rest of FS stability. This patch also include basic fundation for DTMF capture support for member waiting. (r:cd1982ce)
mod_callcenter: force loopback_bowout=false on originate. This will need to be reworked, but should fix basic issues call to an agent using loopback (r:2e399b0b)
mod_callcenter: segfault using busy-delay-time parameter (r:c6f044d5/FS-3067)
mod_callcenter: Fix a bug when an caller leave the queue from a BREAK Call (Transfer...), it doesn't think an agent answered. (r:51a531aa)
mod_callcenter: Add new CLI cmd and change some to be more standard. Patch from Francois Delawarde, thanks. (r:30dd1774)
mod_callcenter: >WARNING, some event value got removed< Adding new event time value that can then be used to calculate the Wait;Talk;Total duration of a member were on call. CC-Wait-Time CC-Talk-Time and CC-Total-Time are no longer returned. Visit the code or check the wiki for the updated variable. (r:5f233785)
mod_callcenter: Add better support when agent doesn't answer, including creating a new variable for the delay that is different than reject or busy. Thanks to Francois Delawarde (r:26303c5c)
mod_callcenter: Add better handle of failed agent, member channel getting a break, and debuging info upon leaving. Thanks to Fran?ois Delawarde (with some changes) (r:25cee255)
mod_callcenter: New Agent order Possibility: Agent order by Level and Position by agents.last_offered_call. Change the default and sequentially-by-agent-order strategy to include the longest-idle-agent. This should offer a default consistant way to go through all the agent within the same tier/position. (Before, it was left to the DB to return the order of the result) (r:dcafff20/FS-3158)
mod_callcenter: Generate per member uuid different from the member session uuid. Might fix transfer between queue. More changes are coming (r:b63a72f8)
mod_callcenter: Remove the concept of Caller for Members. Event Socket event have been changed (CC-Caller.* to CC-Member.*) Also CC-Caller-UUID is renamed to CC-Member-Session-UUID. The reason for this is you could actually put people to be call in the queue. So they are not caller per say. But they are a member of a queue. (r:40a134bd)
mod_cdr_sqlite: initial commit (r:f625fe3b)
mod_cdr_sqlite: config file for mod_cdr_sqlite (r:25bc8fe3)
mod_cdr_sqlite: Drop transaction BEGIN/END around INSERT. We're only executing one command, and autocommit will automatically rollback if the INSERT fails. Sync state_handlers with mod_cdr_csv. Minor libpq fixups. (r:0f95b870)
mod_celt: Bump celt to 0.10.0 (r:231fbe5e)
mod_celt: update code in mod_celt to match API of 0.10.0 (r:6e4c30ea)
mod_celt: Add dependency to fix parallel builds (r:6e37a8b2)
mod_cidlookup: null xml is bad (r:095815f8)
mod_cid_lookup: honor skipcitystate when using whitepages (r:a66654de/FSMOD-53)
mod_commands: make break uuid_break and add cascade flag
@ -326,6 +359,7 @@ freeswitch (1.0.7)
mod_commands: add uuid_buglist to fetch the current media-bugs attached to a given session uuid (r:f6eab64c)
mod_commands: add recovery_refresh app and api and use it in mod_conference to send a message to the channel telling it to sync its recovery snapshot (r:650393fb)
mod_commands: add moh by default to uuid_broadcast when only broadcasting to A leg use aleg arg to disable this (r:d164a797)
mod_commands: add API uuid_limit - thanks to Francois Delawarde (r:98a95016/FS-1792)
mod_conference: Fix reporting of volume up/down (MODAPP-419)
mod_conference: add last talking time per member to conference xml list
mod_conference: add terminate-on-silence conference param
@ -351,6 +385,11 @@ freeswitch (1.0.7)
mod_conference: clear talk flag when you mute (r:b7419add)
mod_conference: fix pthread mutex lock error and add some tab completion and help messages from cli (r:547d5393/FS-3095)
mod_conference: Use the channel's sound_prefix if it's not set in the conference's config (r:0911ed74/FS-3124)
mod_conference: Add conf_uuid chan var for djbinter (Thanks Math) (r:3c9ee25a)
mod_conference: removes the existing conference transfer function and replaces it using the core transfer it also introduces a new tracking method where the same conference id is reserved for a particular member for the lifetime of the call allowing a user to transfer in and out of conferences and ivr and bridges etc and retain the same member id for the duration of that call (r:246b2195/FS-3095)
mod_conference: prevent race condition on conference join/exit (r:1552ecf5)
mod_conference: I finally tracked this down to the actual recordings generated by mod_conference. This patch delays the recording slightly to allow time for the buffer to fill up, we were riding it so closely that sometimes we would come up short and inject silence into the file to preserve time passing (r:3253bcb3/FS-3147)
mod_conference: wait for channels to come up in paging mode (r:b8063c3d)
mod_curl: use method=post when post requested (r:c6a4ddd0/FSMOD-69)
mod_db: fix stack corruption (MODAPP-407)
mod_dialplan_xml: Add in the INFO log the caller id number when processing a request (Currenly only show the caller name) (r:e1df5e13)
@ -360,6 +399,7 @@ freeswitch (1.0.7)
mod_dingaling: Fix NULL pointer (r:e3eff816/FS-1103)
mod_dingaling: fix leak in chat_send (r:eb109a85)
mod_dingaling: use the login as message source when not in component mode. (chat_send) (r:58c28aab)
mod_dingaling: fix mod_dingaling/iksemel/gnutls link error when using newer autotools (r:294b0779/FS-3182)
mod_directory: Add variable directory_search_order to allow to search by first name by default is set to "first_name" (r:163ca31f)
mod_distributor: Add mod_distributor to VS2010 - not built by default (r:bac79ba1)
mod_dptools: add eavesdrop_enable_dtmf chan var (r:596c0012)
@ -371,7 +411,13 @@ freeswitch (1.0.7)
mod_dptools: Log error when there's no IVR menus configured when you call 'ivr' DP app (r:30034891)
mod_dptools: reset signal_bond variable back to its original value on failed dial in att_xfer (r:330d7418)
mod_dptools: Fix storage class for 'cause' in user_outgoing_channel() so that each call has its very own hangup cause (r:cb6f1ed6)
mod_dptools: transfer_on_fail note I changed the variable name to auto_cause (r:45edec4c/FS-3193)
mod_dptools: merge file_string into dptools (r:eefdb764)
mod_dptools: change mod_dptools to use the better method of fetching user xml that does not hang onto the xml root (r:e52e44e3)
mod_dptools: the intent for having the module and lang separate is for things where the same module can use different sets of sounds like en module and en-male or en-female lang (sound dirs) there was indeed a disconnect in the dialplan version of this app. Originally say was only available in phrase macros so I change the syntax of the say app so you can specify both the module and the lang absolte from the dp with something like he:he as the module name. (r:44304f49)
mod_easyroute: Fix possible segfaults and memory leak during unload, and add new setting odbc-retries (r:7fbc47f8/FS-2973)
mod_enum: switch mod_enum to use new portable in-tree version (r:2bbc37e3)
mod_enum: fix race condition between ldns configure creating ldns/util.h and mod_enum (r:87884c5c)
mod_erlang_event: Make XML fetch reply ACKs distinguishable, update freeswitch.erl (r:9d44ed04)
mod_erlang_event: Add 3 new commands; session_event, session_noevents, session_nixevent (r:698fa045)
mod_erlang_event: generate long node names the same as erlang does (r:9ad509c2)
@ -384,6 +430,8 @@ freeswitch (1.0.7)
mod_event_socket: Fix small mem leaks (r:e4f90584/MODEVENT-68)
mod_event_socket: Add "-ERR" to api cmd response when failure occurs (r:58759052/FS-2827)
mod_event_socket: clear unique headers on event_socket filters (r:436413e0)
mod_event_socket: Unlock mutex to prevent mortuus obfirmo (r:64bc1938/FS-3156/FS-3157)
mod_event_zmq: Intitial mod_event_zmq code (r:4d554067)
mod_fifo: allow multiple dtmf to exit fifo, set fifo_caller_exit_key to specify which (MODAPP-420)
mod_fifo: cancel outbound call if customer hangs up (r:cadb4d94)
mod_fifo: add taking_calls param to fifo member add and config file (r:821488bf)
@ -396,6 +444,7 @@ freeswitch (1.0.7)
mod_fifo: Fix crash when using fifo_destroy_after_use (r:ee562c82/FS-2879)
mod_fifo: don't seg in edge case error conditions (r:9ee13b72)
mod_fifo: set tracking data before enabling hooks (r:34267869)
mod_file_string: Fix segfault when using file string in conference (r:9c40e8e9/FS-3122)
mod_freetdm: Fix for TON and NPI not passed through to channel variables on incoming calls
mod_freetdm: add pvt data to freetdm channels fix fxs features (r:9d456900)
mod_freetdm: export and import boost custom data (r:edb2d582)
@ -459,6 +508,8 @@ freeswitch (1.0.7)
mod_json_cdr: Fix segfault in mod_json_cdr.c (r:f347698a/MODEVENT-66)
mod_khomp: Added mod_khomp Endpoint. (r:5fea197b)
mod_khomp: Removed alternative contexts / extensions - New struct for matchs - On calls originated from an FXS branch, the Endpoint searches for a valid extension (digits sent) after the DTMF '#' or after the timeout (option fxs-digit-timeout). That search is done in the context defined in section <fxs-options>, or if no context configured, the search is done in context defined in context-fxs. - Added "dialplan" configuration: Name of the dialplan module in use (default XML) - Group context enabled. If set, the search for a valid extension is done only in that context. - Updated documentation (r:1ef3fc9a)
mod_ladspa: Add mod_ladspa (Audio plugin framework for linux) (r:2d3d8f8d)
mod_ladspa: add string params to ladspa so you can connect files to audio ports (string params don't count towards number params) (r:b7891511)
mod_lcr: Expand variables (MODAPP-418)
mod_lcr: add enable_sip_redir parameter (r:70bf7a0a/MODAPP-427)
mod_lcr: don't validate profiles with ${} vars since they are dynamic and we can't guess what the proper value should be (r:af33afaa)
@ -466,6 +517,7 @@ freeswitch (1.0.7)
mod_lcr: assign default profile even if testing is skipped (r:6420099c)
mod_lcr: fix compiler warning on newer gcc (r:bfa414cb)
mod_lcr: don't count twice (r:eaeabc7b/FS-1810)
mod_lcr: properly destroy lcr object when done (r:084819a3/FS-3199)
mod_loopback: add loopback_bowout_on_execute var to make 1 legged loopback calls bow out of the picture
mod_loopback: only execute app once in app mode (r:64f58f2d)
mod_loopback: fix bug in mod_loopback where bowout=false (r:e9ab5368)
@ -479,6 +531,7 @@ freeswitch (1.0.7)
mod_lua: Make dbh:connected accessible from Lua - thanks Grmt (r:09e6fd3f)
mod_lua: Added optional core: prefix to first arg passed to freeswitch.Dbh for giving direct access to sqlite db (r:a0181479)
mod_lua: expose switch_simple_email as "email" method (r:89c5f3bf/FS-3023)
mod_lua: Fix setInputCallback crash (r:c49c1fde/FS-3161)
mod_managed: Added wrapper for switch_event_bind for .net (r:a5f07a80/MODLANG-165)
mod_managed: add additional support (r:5be58aac)
mod_managed: add mono 2.8 patch file see FS-2774 (r:6a948bd9/FS-2774)
@ -495,6 +548,7 @@ freeswitch (1.0.7)
mod_openzap: disable dtmf app and cmd line option (r:fb4b7f7a)
mod_openzap: add enable dtmf app (r:3c95106e)
mod_opus: add mod_opus (r:8f565277)
mod_opus: Use libtool archives for linking, add dependencies to fix parallel builds (r:74bbd4be)
mod_osp: initial check (Open Settlement Protocol)
mod_osp:Changed OSP TCP port from 1080 to 5045. (r:03abefdf)
mod_portaudio: Fix inbound state (CS_ROUTING not CS_INIT) (MODENDP-302)
@ -513,6 +567,9 @@ freeswitch (1.0.7)
mod_sangoma_codec: add G722 (r:ca8c2336)
mod_sangoma_codec: add siren7 32kbps (r:fcaf2677)
mod_sangoma_codec: add SIREN7 24kbps (r:3acc5fdb)
mod_say: Fix crash for Say Number Pronounced with numbers of more than 9 digits (r:06bccf28/FS-3202)
mod_say_en: introduce new say_string method of doing say and use it in mod_say_en as an example. try: eval ${say_string en.gsm en current_date_time pronounced ${strepoch()}} from the cli with this patch. We can do more to centralize the say things and go back and apply it to other langs, using this method you can set the desired file ext as well which I think is a bounty.... (r:d5ef86d7)
mod_say_en: If you only tell SAY CURRENCY to say 100 it should only say 100 dollars without the "0 cents" (r:426a4e76/FS-2922)
mod_say_es: fix grammar when saying dates and time (r:6bed19b2/MODAPP-429)
mod_say_ja: initial commit, still needs sound files (r:b2423158/FS-2755)
mod_say_ru: Fix saying time with +1 hour of current time (r:68d74c31/MODAPP-444)
@ -689,6 +746,13 @@ freeswitch (1.0.7)
mod_sofia: Send BYE to endpoints that lose race even if they answered (r:8c3651fa/FS-640)
mod_sofia: do not renegotiate codecs on hold re-invites (r:bfd0ba97)
mod_sofia: add rtp-notimer-during-bridge (alternative to rtp-autoflush-during-bridge (r:2a35dfb5)
mod_sofia: send another presence event on calls that were cancelled from LOSE_RACE to fix winnable race in Broadsoft SCA (r:59f6654e)
mod_sofia: pass header in X-FS headers on attended transfer CID update to indicate specific situation to flip callee/caller id when targeting a 1 legged call (r:24a97292)
mod_sofia: change text of error message to be more descriptive (r:4c435ec5)
mod_sofia: Correct a problem where restarting profile would cause some profile hash entry to remain. (r:81bfe435)
mod_sofia: New Sofia API to look up the username of a given user (r:7556ec57/FS-3187)
mod_sofia: sip_authentication was not cleared after nonce expired -caused sofia_reg_internal.db grow bigger and bigger with time (r:c735e28a/FS-3190)
mod_sofia: pass failure across in T.38 passthru mode (r:31273b42)
mod_spandsp: initial checkin of mod_fax/mod_voipcodecs merge into mod_spandsp (r:fa9a59a8)
mod_spandsp: rework of new mod_spandsp to have functions broken up into different c files (r:65400642)
mod_spandsp: improve duplicate digit detection and add 'min_dup_digit_spacing_ms' channel variable for use with the dtmf detector (r:eab4f246/FSMOD-45)
@ -707,9 +771,13 @@ freeswitch (1.0.7)
mod_spidermonkey: Add session.ringReady() to check for CF_RING_READY (r:7386b9f8)
mod_spy: add support for loopback endpoint (MODAPP-416)
mod_spy: fix crash when session can't be located (r:c4154633/FS-2929)
mod_timer_fd: external timerfd module by Timo Ter?s (r:48b11935)
mod_timer_fd: add timerfd support to the core for now you must enable it in switch.conf.xml with the param enable-softtimer-timerfd=true later if it proves to work well we can make it on by default, please test if you have a new kernel that supports this option kernel >= 2.6.25 and libc >= 2.8 (r:10174ea6)
mod_tts_commandline: fix core dump, temp file problem. flush can be called several times (FSMOD-35)
mod_unimrcp: fix fortify findings for mod_unimrcp (r:336f0b4e/FSMOD-67)
mod_unimrcp: fix truncated TTS (r:e37dd41e/FS-3201)
mod_unimrcp: Destroy schannel only *after* cleanup of its contents is done (r:0f17bcc5)
mod_unimrcp: add locking to mrcp dtmf generator (r:f5704114/FS-3163)
mod_valet_parking: add event data to valet parking hold event
mod_valet_parking: add event for Valet Parking action exit
mod_valet_parking: pass hold class on transfer (r:76a065ec)
@ -734,14 +802,17 @@ freeswitch (1.0.7)
mod_xml_cdr: fix locked sessions (XML-26)
mod_xml_cdr: fix minor memory leaks and config bug (r:19253d83/MODEVENT-62)
mod_xml_cdr: Fix prefix-a-leg not respected for url submission (r:ea9021a2/FS-2998)
mod_xml_cdr: Fix delay to 5 sec from 5000 sec (r:34a38009/FS-2815)
mod_xml_rpc: Fix crash if unauthorized XML RPC is attempted (r:9835395c/FS-184)
scripts: added honeypot.pl and blacklist.pl which add extra SIP security options (r:b6a81ba7)
scripts: do simple verification to make sure we are getting IP addresses from VoIP abuse blacklist (r:b0049160)
scripts: add_user - cmd line utility that lets admin create new users very easily. (r:ec8f2c2b)
sofia-sip: fix null derefernce segfault in soa (r:f356c5e6)
sofia-sip: extend timeout for session expires on short timeouts to be 90% of timeout instead of 1/3 to handle devices that do not refresh in time such as polycom (r:a7f48928/SFSIP-212)
support: update fscore_pb to work with git (r:8f67e93a)
tools: Add fs_encode tool (r:89b17601)
tools: Add randomize-passwords.pl script to main tree (r:5e6123ef)
tools: Change logger.pl host flag to -H from -h (conflicted w/ -h for help); add -H/--host to usage (r:73ca862c)
freeswitch (1.0.6)
@ -1513,7 +1584,7 @@ freeswitch (1.0.4)
build: use different version file for moh version (r:13093)
build: de-couple version numbers and builds of sound files and moh files (FSBUILD-153/r:13096)
build: use sound_version.txt and moh_version.txt to determine sound file version on windows (FSBUILD-152/r:13097)
build: use in tree libtiff for msvc build and fix some header generation checks (r:13150)
build: use in tree libtiff for msvc build and fix some header generation checks (r:13097)
build: clean esl on make current (r:13204,13205)
build: fix warning-as-error that stops MSVC from building solution (FSCORE-367/r:13301)
build: fix MSVC build issue from r13294 (FSBUILD-159/r:13302)

View File

@ -520,7 +520,7 @@ SWITCH_STANDARD_API(timer_test_function)
timer_name = argv[2];
}
if (mss != 10 && mss != 20 && mss != 30 && mss != 40 && mss != 60 && mss != 120) {
if (mss != 10 && mss != 20 && mss != 30 && mss != 32 && mss != 40 && mss != 60 && mss != 120) {
stream->write_function(stream, "parameter missing: %s\n", TIMER_TEST_SYNTAX);
goto end;
}

View File

@ -2998,14 +2998,14 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th
end:
for(;;) {
switch_mutex_lock(member->audio_out_mutex);
while(!no_data) {
switch_mutex_lock(member->audio_out_mutex);
if ((rlen = (uint32_t) switch_buffer_read(member->mux_buffer, data_buf, data_buf_len))) {
len = (switch_size_t) rlen / sizeof(int16_t);
switch_core_file_write(&fh, data_buf, &len);
} else {
break;
}
no_data = 1;
}
switch_mutex_unlock(member->audio_out_mutex);
}

View File

@ -41,28 +41,25 @@
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
###############################################################################
K3L_FILE="k3l_2.1_client.sh"
PARAM="0"
clean()
if [ "$1" ]
then
PARAM=$1
fi
help()
{
printf "$1"
exit 1
echo "Usage: getk3l.sh [OPTION]"
echo
echo " -h, --help print this help"
echo " -d, --download only download the k3l package withou doing the installation"
echo
}
if [ `whoami` != 'root' ]
then
clean "Need to be root\n"
fi
#if [ "w$FREESWITCH_PATH" == "w" ]
#then
# clean "FreeSWITCH source PATH is needed: \n\tSet \"FREESWITCH_PATH=\"\n"
#fi
if ! which 'kserver' &> /dev/null
then
echo "k3l will be installed"
K3L_FILE="k3l_2.1_client.sh"
download()
{
if [ "w`uname -m | grep x86_64`" == "w" ]
then
echo "Downloading i686 package"
@ -71,23 +68,49 @@ then
echo "Downloading x86_64 package"
wget -t15 -c --progress=bar:force -O $K3L_FILE.gz http://www.khomp.com.br/binaries/softpbx/freeswitch/k3l_2.1_client_x86-64.sh.gz
fi
}
gunzip $K3L_FILE.gz
chmod 0755 $K3L_FILE
clean()
{
printf "$1"
exit 1
}
(./$K3L_FILE) || clean "Error on k3l install\n"
rm $K3L_FILE
fi
install()
{
if [ `whoami` != 'root' ]
then
clean "Need to be root to install !\n"
exit 1
fi
if [ "w`kserver --version | grep 2.1`" == "w" ]
if ! which 'kserver' &> /dev/null
then
download
gunzip $K3L_FILE.gz
chmod 0755 $K3L_FILE
(./$K3L_FILE) || clean "Error on k3l install\n"
rm $K3L_FILE
fi
}
if [ $PARAM == '--help' -o $PARAM == '-h' ]
then
clean "k3l version 2.1 must be installed: \n\tUninstall the old version of k3l and try again\n"
help
exit 0
elif [ $PARAM == '--download' -o $PARAM == '-d' ]
then
download
exit 0
else
echo "k3l will be installed"
install
if [ "w`kserver --version | grep 2.1`" == "w" ]
then
clean "k3l version 2.1 must be installed: \n\tUninstall the old version of k3l and try again\n"
exit 1
fi
echo "Successfully installed!"
fi
#make || clean "Error on compilation\n"
#make install || clean "Error on installation\n"
echo "Successfully installed!"

View File

@ -1191,6 +1191,17 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get
}
SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get() {
char * jresult ;
char *result = 0 ;
result = (char *) "execute_on_tone_detect";
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get() {
char * jresult ;
char *result = 0 ;
@ -4486,6 +4497,35 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_say_args_t_gender_get(void * jarg1) {
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_args_t_ext_set(void * jarg1, char * jarg2) {
switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
char *arg2 = (char *) 0 ;
arg1 = (switch_say_args_t *)jarg1;
arg2 = (char *)jarg2;
{
if (arg2) {
arg1->ext = (char const *) (new char[strlen((const char *)arg2)+1]);
strcpy((char *)arg1->ext, (const char *)arg2);
} else {
arg1->ext = 0;
}
}
}
SWIGEXPORT char * SWIGSTDCALL CSharp_switch_say_args_t_ext_get(void * jarg1) {
char * jresult ;
switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
char *result = 0 ;
arg1 = (switch_say_args_t *)jarg1;
result = (char *) ((arg1)->ext);
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_say_args_t() {
void * jresult ;
switch_say_args_t *result = 0 ;
@ -10631,6 +10671,11 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_cache_db_persistant_execute_trans(void
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_set_signal_handlers() {
switch_core_set_signal_handlers();
}
SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_debug_level() {
unsigned long jresult ;
uint32_t result;
@ -10736,6 +10781,79 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_expire_registration(int jarg1) {
}
SWIGEXPORT char * SWIGSTDCALL CSharp_switch_say_file_handle_get_variable(void * jarg1, char * jarg2) {
char * jresult ;
switch_say_file_handle_t *arg1 = (switch_say_file_handle_t *) 0 ;
char *arg2 = (char *) 0 ;
char *result = 0 ;
arg1 = (switch_say_file_handle_t *)jarg1;
arg2 = (char *)jarg2;
result = (char *)switch_say_file_handle_get_variable(arg1,(char const *)arg2);
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT char * SWIGSTDCALL CSharp_switch_say_file_handle_get_path(void * jarg1) {
char * jresult ;
switch_say_file_handle_t *arg1 = (switch_say_file_handle_t *) 0 ;
char *result = 0 ;
arg1 = (switch_say_file_handle_t *)jarg1;
result = (char *)switch_say_file_handle_get_path(arg1);
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT char * SWIGSTDCALL CSharp_switch_say_file_handle_detach_path(void * jarg1) {
char * jresult ;
switch_say_file_handle_t *arg1 = (switch_say_file_handle_t *) 0 ;
char *result = 0 ;
arg1 = (switch_say_file_handle_t *)jarg1;
result = (char *)switch_say_file_handle_detach_path(arg1);
jresult = SWIG_csharp_string_callback((const char *)result);
return jresult;
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_file_handle_destroy(void * jarg1) {
switch_say_file_handle_t **arg1 = (switch_say_file_handle_t **) 0 ;
arg1 = (switch_say_file_handle_t **)jarg1;
switch_say_file_handle_destroy(arg1);
}
SWIGEXPORT int SWIGSTDCALL CSharp_switch_say_file_handle_create(void * jarg1, char * jarg2, void * jarg3) {
int jresult ;
switch_say_file_handle_t **arg1 = (switch_say_file_handle_t **) 0 ;
char *arg2 = (char *) 0 ;
switch_event_t **arg3 = (switch_event_t **) 0 ;
switch_status_t result;
arg1 = (switch_say_file_handle_t **)jarg1;
arg2 = (char *)jarg2;
arg3 = (switch_event_t **)jarg3;
result = (switch_status_t)switch_say_file_handle_create(arg1,(char const *)arg2,arg3);
jresult = result;
return jresult;
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_file(void * jarg1, char * jarg2) {
switch_say_file_handle_t *arg1 = (switch_say_file_handle_t *) 0 ;
char *arg2 = (char *) 0 ;
void *arg3 = 0 ;
arg1 = (switch_say_file_handle_t *)jarg1;
arg2 = (char *)jarg2;
switch_say_file(arg1,(char const *)arg2,arg3);
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_interface_module_name_set(void * jarg1, char * jarg2) {
switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
char *arg2 = (char *) 0 ;
@ -19902,6 +20020,29 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_say_interface_say_function_get(void
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_say_string_function_set(void * jarg1, void * jarg2) {
switch_say_interface *arg1 = (switch_say_interface *) 0 ;
switch_say_string_callback_t arg2 = (switch_say_string_callback_t) 0 ;
arg1 = (switch_say_interface *)jarg1;
arg2 = (switch_say_string_callback_t)jarg2;
if (arg1) (arg1)->say_string_function = arg2;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_switch_say_interface_say_string_function_get(void * jarg1) {
void * jresult ;
switch_say_interface *arg1 = (switch_say_interface *) 0 ;
switch_say_string_callback_t result;
arg1 = (switch_say_interface *)jarg1;
result = (switch_say_string_callback_t) ((arg1)->say_string_function);
jresult = (void *)result;
return jresult;
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_rwlock_set(void * jarg1, void * jarg2) {
switch_say_interface *arg1 = (switch_say_interface *) 0 ;
switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
@ -24635,6 +24776,20 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_mark_hold(void * jarg1, int ja
}
SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_execute_on(void * jarg1, char * jarg2) {
int jresult ;
switch_channel_t *arg1 = (switch_channel_t *) 0 ;
char *arg2 = (char *) 0 ;
switch_status_t result;
arg1 = (switch_channel_t *)jarg1;
arg2 = (char *)jarg2;
result = (switch_status_t)switch_channel_execute_on(arg1,(char const *)arg2);
jresult = result;
return jresult;
}
SWIGEXPORT int SWIGSTDCALL CSharp_switch_buffer_create(void * jarg1, void * jarg2, void * jarg3) {
int jresult ;
switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
@ -28318,6 +28473,34 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_say(void * jarg1, char * jarg2, cha
}
SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_say_string(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, void * jarg9) {
int jresult ;
switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
char *arg2 = (char *) 0 ;
char *arg3 = (char *) 0 ;
char *arg4 = (char *) 0 ;
char *arg5 = (char *) 0 ;
char *arg6 = (char *) 0 ;
char *arg7 = (char *) 0 ;
char *arg8 = (char *) 0 ;
char **arg9 = (char **) 0 ;
switch_status_t result;
arg1 = (switch_core_session_t *)jarg1;
arg2 = (char *)jarg2;
arg3 = (char *)jarg3;
arg4 = (char *)jarg4;
arg5 = (char *)jarg5;
arg6 = (char *)jarg6;
arg7 = (char *)jarg7;
arg8 = (char *)jarg8;
arg9 = (char **)jarg9;
result = (switch_status_t)switch_ivr_say_string(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,arg9);
jresult = result;
return jresult;
}
SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_get_say_method_by_name(char * jarg1) {
int jresult ;
char *arg1 = (char *) 0 ;
@ -30441,6 +30624,29 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_is_switch_xml_root_t_get(void * jar
}
SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_refs_set(void * jarg1, unsigned long jarg2) {
switch_xml *arg1 = (switch_xml *) 0 ;
uint32_t arg2 ;
arg1 = (switch_xml *)jarg1;
arg2 = (uint32_t)jarg2;
if (arg1) (arg1)->refs = arg2;
}
SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_xml_refs_get(void * jarg1) {
unsigned long jresult ;
switch_xml *arg1 = (switch_xml *) 0 ;
uint32_t result;
arg1 = (switch_xml *)jarg1;
result = (uint32_t) ((arg1)->refs);
jresult = (unsigned long)result;
return jresult;
}
SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_xml() {
void * jresult ;
switch_xml *result = 0 ;

View File

@ -2412,6 +2412,10 @@ public class freeswitch {
return ret;
}
public static void switch_core_set_signal_handlers() {
freeswitchPINVOKE.switch_core_set_signal_handlers();
}
public static uint switch_core_debug_level() {
uint ret = freeswitchPINVOKE.switch_core_debug_level();
return ret;
@ -2451,6 +2455,34 @@ public class freeswitch {
return ret;
}
public static string switch_say_file_handle_get_variable(SWIGTYPE_p_switch_say_file_handle sh, string var) {
string ret = freeswitchPINVOKE.switch_say_file_handle_get_variable(SWIGTYPE_p_switch_say_file_handle.getCPtr(sh), var);
return ret;
}
public static string switch_say_file_handle_get_path(SWIGTYPE_p_switch_say_file_handle sh) {
string ret = freeswitchPINVOKE.switch_say_file_handle_get_path(SWIGTYPE_p_switch_say_file_handle.getCPtr(sh));
return ret;
}
public static string switch_say_file_handle_detach_path(SWIGTYPE_p_switch_say_file_handle sh) {
string ret = freeswitchPINVOKE.switch_say_file_handle_detach_path(SWIGTYPE_p_switch_say_file_handle.getCPtr(sh));
return ret;
}
public static void switch_say_file_handle_destroy(SWIGTYPE_p_p_switch_say_file_handle sh) {
freeswitchPINVOKE.switch_say_file_handle_destroy(SWIGTYPE_p_p_switch_say_file_handle.getCPtr(sh));
}
public static switch_status_t switch_say_file_handle_create(SWIGTYPE_p_p_switch_say_file_handle sh, string ext, SWIGTYPE_p_p_switch_event var_event) {
switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_say_file_handle_create(SWIGTYPE_p_p_switch_say_file_handle.getCPtr(sh), ext, SWIGTYPE_p_p_switch_event.getCPtr(var_event));
return ret;
}
public static void switch_say_file(SWIGTYPE_p_switch_say_file_handle sh, string fmt) {
freeswitchPINVOKE.switch_say_file(SWIGTYPE_p_switch_say_file_handle.getCPtr(sh), fmt);
}
public static switch_status_t switch_loadable_module_init(switch_bool_t autoload) {
switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_init((int)autoload);
return ret;
@ -3713,6 +3745,11 @@ public class freeswitch {
freeswitchPINVOKE.switch_channel_mark_hold(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)on);
}
public static switch_status_t switch_channel_execute_on(SWIGTYPE_p_switch_channel channel, string variable_prefix) {
switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_execute_on(SWIGTYPE_p_switch_channel.getCPtr(channel), variable_prefix);
return ret;
}
public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) {
switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
@ -4509,6 +4546,11 @@ public class freeswitch {
return ret;
}
public static switch_status_t switch_ivr_say_string(SWIGTYPE_p_switch_core_session session, string lang, string ext, string tosay, string module_name, string say_type, string say_method, string say_gender, ref string rstr) {
switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say_string(SWIGTYPE_p_switch_core_session.getCPtr(session), lang, ext, tosay, module_name, say_type, say_method, say_gender, ref rstr);
return ret;
}
public static switch_say_method_t switch_ivr_get_say_method_by_name(string name) {
switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_ivr_get_say_method_by_name(name);
return ret;
@ -5525,6 +5567,7 @@ public class freeswitch {
public static readonly string SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get();
public static readonly string SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get();
public static readonly string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();
public static readonly string SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get();
public static readonly string SWITCH_CALL_TIMEOUT_VARIABLE = freeswitchPINVOKE.SWITCH_CALL_TIMEOUT_VARIABLE_get();
public static readonly string SWITCH_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_HOLDING_UUID_VARIABLE_get();
public static readonly string SWITCH_SOFT_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_SOFT_HOLDING_UUID_VARIABLE_get();
@ -6072,6 +6115,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get")]
public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get")]
public static extern string SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get();
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")]
public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get();
@ -6906,6 +6952,12 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_gender_get")]
public static extern int switch_say_args_t_gender_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_ext_set")]
public static extern void switch_say_args_t_ext_set(HandleRef jarg1, string jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_ext_get")]
public static extern string switch_say_args_t_ext_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_args_t")]
public static extern IntPtr new_switch_say_args_t();
@ -8322,6 +8374,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_persistant_execute_trans")]
public static extern int switch_cache_db_persistant_execute_trans(HandleRef jarg1, string jarg2, uint jarg3);
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_signal_handlers")]
public static extern void switch_core_set_signal_handlers();
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_debug_level")]
public static extern uint switch_core_debug_level();
@ -8346,6 +8401,24 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_core_expire_registration")]
public static extern int switch_core_expire_registration(int jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_get_variable")]
public static extern string switch_say_file_handle_get_variable(HandleRef jarg1, string jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_get_path")]
public static extern string switch_say_file_handle_get_path(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_detach_path")]
public static extern string switch_say_file_handle_detach_path(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_destroy")]
public static extern void switch_say_file_handle_destroy(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_create")]
public static extern int switch_say_file_handle_create(HandleRef jarg1, string jarg2, HandleRef jarg3);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_file")]
public static extern void switch_say_file(HandleRef jarg1, string jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_module_name_set")]
public static extern void switch_loadable_module_interface_module_name_set(HandleRef jarg1, string jarg2);
@ -10536,6 +10609,12 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")]
public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_string_function_set")]
public static extern void switch_say_interface_say_string_function_set(HandleRef jarg1, HandleRef jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_string_function_get")]
public static extern IntPtr switch_say_interface_say_string_function_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")]
public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
@ -11694,6 +11773,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_channel_mark_hold")]
public static extern void switch_channel_mark_hold(HandleRef jarg1, int jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_channel_execute_on")]
public static extern int switch_channel_execute_on(HandleRef jarg1, string jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")]
public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
@ -12441,6 +12523,9 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")]
public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7);
[DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say_string")]
public static extern int switch_ivr_say_string(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, ref string jarg9);
[DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")]
public static extern int switch_ivr_get_say_method_by_name(string jarg1);
@ -12924,6 +13009,12 @@ class freeswitchPINVOKE {
[DllImport("mod_managed", EntryPoint="CSharp_switch_xml_is_switch_xml_root_t_get")]
public static extern int switch_xml_is_switch_xml_root_t_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_switch_xml_refs_set")]
public static extern void switch_xml_refs_set(HandleRef jarg1, uint jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_xml_refs_get")]
public static extern uint switch_xml_refs_get(HandleRef jarg1);
[DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")]
public static extern IntPtr new_switch_xml();
@ -15285,6 +15376,36 @@ namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t {
private HandleRef swigCPtr;
internal SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
swigCPtr = new HandleRef(this, cPtr);
}
protected SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t() {
swigCPtr = new HandleRef(null, IntPtr.Zero);
}
internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t obj) {
return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
}
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.35
*
* Do not make changes to this file unless you know what you are doing--modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t {
private HandleRef swigCPtr;
@ -17835,6 +17956,36 @@ namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class SWIGTYPE_p_p_switch_say_file_handle {
private HandleRef swigCPtr;
internal SWIGTYPE_p_p_switch_say_file_handle(IntPtr cPtr, bool futureUse) {
swigCPtr = new HandleRef(this, cPtr);
}
protected SWIGTYPE_p_p_switch_say_file_handle() {
swigCPtr = new HandleRef(null, IntPtr.Zero);
}
internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_say_file_handle obj) {
return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
}
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.35
*
* Do not make changes to this file unless you know what you are doing--modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class SWIGTYPE_p_p_switch_xml_binding {
private HandleRef swigCPtr;
@ -18885,6 +19036,36 @@ namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class SWIGTYPE_p_switch_say_file_handle {
private HandleRef swigCPtr;
internal SWIGTYPE_p_switch_say_file_handle(IntPtr cPtr, bool futureUse) {
swigCPtr = new HandleRef(this, cPtr);
}
protected SWIGTYPE_p_switch_say_file_handle() {
swigCPtr = new HandleRef(null, IntPtr.Zero);
}
internal static HandleRef getCPtr(SWIGTYPE_p_switch_say_file_handle obj) {
return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
}
}
}
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.35
*
* Do not make changes to this file unless you know what you are doing--modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
namespace FreeSWITCH.Native {
using System;
using System.Runtime.InteropServices;
public class SWIGTYPE_p_switch_size_t {
private HandleRef swigCPtr;
@ -23051,7 +23232,8 @@ namespace FreeSWITCH.Native {
SCF_VERBOSE_EVENTS = (1 << 11),
SCF_USE_WIN32_MONOTONIC = (1 << 12),
SCF_AUTO_SCHEMAS = (1 << 13),
SCF_MINIMAL = (1 << 14)
SCF_MINIMAL = (1 << 14),
SCF_USE_NAT_MAPPING = (1 << 15)
}
}
@ -28641,7 +28823,7 @@ namespace FreeSWITCH.Native {
SWITCH_RTP_FLAG_NOBLOCK = (1 << 0),
SWITCH_RTP_FLAG_IO = (1 << 1),
SWITCH_RTP_FLAG_USE_TIMER = (1 << 2),
SWITCH_RTP_FLAG_TIMER_RECLOCK = (1 << 3),
SWITCH_RTP_FLAG_RTCP_PASSTHRU = (1 << 3),
SWITCH_RTP_FLAG_SECURE_SEND = (1 << 4),
SWITCH_RTP_FLAG_SECURE_RECV = (1 << 5),
SWITCH_RTP_FLAG_AUTOADJ = (1 << 6),
@ -28668,8 +28850,7 @@ namespace FreeSWITCH.Native {
SWITCH_RTP_FLAG_DEBUG_RTP_READ = (1 << 27),
SWITCH_RTP_FLAG_DEBUG_RTP_WRITE = (1 << 28),
SWITCH_RTP_FLAG_VIDEO = (1 << 29),
SWITCH_RTP_FLAG_ENABLE_RTCP = (1 << 30),
SWITCH_RTP_FLAG_RTCP_PASSTHRU = (1 << 31)
SWITCH_RTP_FLAG_ENABLE_RTCP = (1 << 30)
}
}
@ -29133,6 +29314,16 @@ public class switch_say_args_t : IDisposable {
}
}
public string ext {
set {
freeswitchPINVOKE.switch_say_args_t_ext_set(swigCPtr, value);
}
get {
string ret = freeswitchPINVOKE.switch_say_args_t_ext_get(swigCPtr);
return ret;
}
}
public switch_say_args_t() : this(freeswitchPINVOKE.new_switch_say_args_t(), true) {
}
@ -29218,6 +29409,17 @@ public class switch_say_interface : IDisposable {
}
}
public SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t say_string_function {
set {
freeswitchPINVOKE.switch_say_interface_say_string_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t.getCPtr(value));
}
get {
IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_say_string_function_get(swigCPtr);
SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t(cPtr, false);
return ret;
}
}
public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
set {
freeswitchPINVOKE.switch_say_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
@ -31490,6 +31692,16 @@ public class switch_xml : IDisposable {
}
}
public uint refs {
set {
freeswitchPINVOKE.switch_xml_refs_set(swigCPtr, value);
}
get {
uint ret = freeswitchPINVOKE.switch_xml_refs_get(swigCPtr);
return ret;
}
}
public switch_xml() : this(freeswitchPINVOKE.new_switch_xml(), true) {
}

View File

@ -420,7 +420,7 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
for (x = 0; x < 3; x++) {
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
24000, /* samples transferred per second */
@ -451,7 +451,7 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
for (x = 0; x < 5; x++) {
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
48000, /* samples transferred per second */
@ -481,7 +481,7 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
for (x = 0; x < 4; x++) {
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
8000, /* samples transferred per second */
@ -510,7 +510,7 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
for (x = 0; x < 4; x++) {
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
16000, /* samples transferred per second */
@ -540,7 +540,7 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
for (x = 0; x < 4; x++) {
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
32000, /* samples transferred per second */
@ -569,7 +569,7 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
/* 10ms is already registered */
for (x = 0; x < 3; x++) {
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
48000, /* samples transferred per second */
@ -591,7 +591,7 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
}
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
22050, /* samples transferred per second */
@ -609,7 +609,7 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
switch_raw_destroy); /* deinitalize a codec handle using this implementation */
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
11025, /* samples transferred per second */
@ -627,6 +627,25 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
switch_raw_destroy); /* deinitalize a codec handle using this implementation */
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
70, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
11025, /* samples transferred per second */
11025, /* actual samples transferred per second */
176400, /* bits transferred per second */
32000, /* number of microseconds per frame */
256, /* number of samples per frame */
512, /* number of bytes per frame decompressed */
512, /* number of bytes per frame compressed */
1, /* number of channels represented */
1, /* number of frames per network packet */
switch_raw_init, /* function to initialize a codec handle using this implementation */
switch_raw_encode, /* function to encode raw data into encoded data */
switch_raw_decode, /* function to decode encoded data into raw data */
switch_raw_destroy); /* deinitalize a codec handle using this implementation */
/* indicate that the module should continue to be loaded */

View File

@ -2670,10 +2670,11 @@ static switch_status_t read_rtcp_packet(switch_rtp_t *rtp_session, switch_size_t
break;
case zrtp_status_drop:
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error: zRTP protection drop with code %d\n", stat);
bytes = 0;
*bytes = 0;
break;
case zrtp_status_fail:
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error: zRTP protection fail with code %d\n", stat);
*bytes = 0;
break;
default:
break;

View File

@ -502,8 +502,9 @@ static switch_status_t timer_init(switch_timer_t *timer)
private_info->roll = TIMER_MATRIX[timer->interval].roll;
private_info->ready = 1;
if (timer->interval > 0 && timer->interval < MS_PER_TICK) {
MS_PER_TICK = timer->interval;
if (timer->interval > 0 && (timer->interval < MS_PER_TICK || (timer->interval % 10) != 0)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Increasing global timer resolution to 1ms to handle interval %d\n", timer->interval);
MS_PER_TICK = 1;
switch_time_sync();
}