dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

1287 Commits

Author SHA1 Message Date
file 86ce29fef8 Print what read-only variable is being set so that the user doesn't have to guess and figure it out or look at the list in cdr.c and match it up (issue #7831 reported by sedwards)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41357 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30 15:15:06 +00:00
file 48e444da01 Only feed a DTMF frame into the core if we need to
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41338 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30 14:57:06 +00:00
file e295dc6f8b Only switch the second alert fd (which is RTCP) to callback mode if it is in use
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41317 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30 03:18:04 +00:00
file 888a9a8bb1 Use an API call (ast_rtp_get_bridged) to return the RTP stream we are bridged to, and also use it in chan_sip so we know to ignore the no RTP activity checking
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41316 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30 03:16:03 +00:00
file 52d9462a76 If the RTP stack is already being operated in callback mode, then suspend it upon switching to P2P callback bridging. Once P2P callback bridging has ended, then restore callback mode.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41303 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30 01:29:59 +00:00
file e48e648964 This is the last round of RTP bridge optimizations. Basically it introduces a way that under a straight bridge (ie: no transcoding and no DTMF detection) the core is not touched at all and no frames pass through (not even null frames). This is accomplished by stealing the file descriptors from the channel and using the provided IO context with a custom callback. When a channel is placed on hold this bridge is broken so audio can flow from the core to the other side. When a channel is off hold this bridge is re-established.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41302 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30 01:22:46 +00:00
file 1c3d04e2a8 Move the direct bridge write to after the NAT handling code
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41285 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-29 23:41:16 +00:00
murf bd80958009 This change fixes bug 7820. Way back in April this bug was reintroduced, it appears, when a bunch of restructuring was done. This code was basically left out during the restructuring. In the case of the failure in 7820, it is trying to match the extension _x. with _x., and failing, because the 'x' should only match 0 thru 9. I **could** upgrade the code so that that N,Z, and X match not only their intended number ranges, but also N,Z,and X respectively. And, moreover, X could also match N and Z, and Z could also match N. I have no idea why this bug took so long to turn up. I have no idea what a more thorough treatment of the code would do to working code, either. So I left it as it ***was***.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41283 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-29 23:08:42 +00:00
russell 53f8d43e29 Merge team/russell/frame_caching
There are some situations in Asterisk where ast_frame and/or iax_frame
structures are rapidly allocatted and freed (at least 50 times per second
for one call).

This code significantly improves the performance of ast_frame_header_new(), 
ast_frdup(), ast_frfree(), iax_frame_new(), and iax_frame_free() by keeping
a thread-local cache of these structures and using frames from the cache 
whenever possible instead of calling malloc/free every time.

This commit also converts the ast_frame and iax_frame structures to use the
linked list macros.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41278 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-29 20:50:36 +00:00
file 77be2d9b78 Merge in RTP-level packet bridging. Packet comes in, packet goes out - that's what RTP-level packet bridging is all about!
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41235 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-28 17:37:56 +00:00
kpfleming 0ba6df7e01 GNU make already knows how to quietly ignore non-existent files in 'include' directives
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41209 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26 23:58:47 +00:00
kpfleming d60ef591f3 ensure that unload_dynamic_module won't continue dereferencing a module pointer after the module has been unloaded from memory
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41196 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26 19:45:16 +00:00
kpfleming 1773d7b4fe ensure that cross-compiler info is removed from the enviroment before configuring menuselect
ensure that the user's LDFLAGS take precedence when linking the final binary


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41178 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26 17:05:38 +00:00
kpfleming da5141501b more optimizations for embedded systems:
when LOADABLE_MODULES is off, don't export symbols from the main binary
  when LOADABLE_MODULES is off, and the compiler/linker support it, strip out code not used in the final binary


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41166 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26 16:45:35 +00:00
russell f75dd37adb Identify what the columns mean in the output of "show profile"
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41118 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-25 18:05:28 +00:00
tilghman ce7f125edd Off by one error in buffer length (issue 7379)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41103 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-25 17:48:34 +00:00
kpfleming e5a4e12aac instead of reverting this supposedly 'stupid' change, let's try to get it working properly
also eliminate a warning from dlopen() because some flags were missing on the second dlopen() call


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41087 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-25 16:14:00 +00:00
russell e64409c155 Merged revisions 40994 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r40994 | russell | 2006-08-24 15:41:26 -0400 (Thu, 24 Aug 2006) | 11 lines

Fix a few issues related to the handling of channel variables
 - in pbx_builtin_serialize_variables(), the variable list traversal would stop
   on a variables with empty name/values, which is not appropriate
 - When removing the GROUP variables, use AST_LIST_REMOVE_CURRENT instead of
   AST_LIST_REMOVE
 - During masquerading, when copying the variables list from one channel to the
   other, using AST_LIST_INSERT_TAIL is not valid for appending a whole list.
   It leaves the tail pointer of the list invalid.  Introduce a new macro,
   AST_LIST_APPEND_LIST that appends a list properly.
(issue #7802, softins)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40995 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-24 19:53:43 +00:00
mattf 9d58eaef92 Revert stupid RTLD_NOLOAD change that breaks module loading on some systems.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40981 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-24 17:24:33 +00:00
file 953e577f7b Free the filename so we don't have a memory leak. (reported by PCadach in #asterisk-bugs)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40953 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-23 20:22:18 +00:00
kpfleming 6d8a5523b3 use RTLD_NOLOAD if it's available to make loading dynamic modules a little faster and less resource-intensive
also, keep trying to dlclose() a module until it actually goes away, since it may have other modules it brought in when it was loaded (thanks PCadach for pointing this problem out to me)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40949 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-23 19:28:13 +00:00
kpfleming 836b1b86ff generate a message when a module cannot be found and loadable modules are disabled
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40866 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 23:55:16 +00:00
kpfleming d45bde9030 make platforms that use mutexes in stdio.h happy
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40864 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 23:07:11 +00:00
kpfleming a1b6a77192 minor improvements
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40863 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 23:06:13 +00:00
kpfleming 3048972a9d when loadable modules are disabled, if someone tries to load a module that does not exist, don't dereference a NULL pointer, just stop trying to load it...
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40854 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 21:57:16 +00:00
qwell 6fd9ccad7c Solaris didn't like this.
Let's just go ahead and make this match every other uintXX_t in Asterisk.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40833 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 05:34:44 +00:00
qwell 8891da27bb a couple Solaris tweaks, to help build properly.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40832 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 05:24:50 +00:00
kpfleming ad5b13c982 restore 'preload' functionality in loader
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40796 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 22:23:26 +00:00
kpfleming 1251c2c934 use a customized configure macro to tell the script that uCLinux does not have fork() that works
drop all startup options and code related to forking if it is not available


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40790 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 20:12:18 +00:00
kpfleming 3426d30f6a don't initialize global variables list twice
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40789 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 20:04:59 +00:00
kpfleming c935f50064 restore printing of module name during loading
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40784 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 19:56:30 +00:00
russell f0779c48bc - simplify and improve astmm by using thread storage instead of a dynamic
allocation and free on every call of the function for preparing the string
  that will be appended.  Then, use the ast_dynamic_str() code instead of the
  open coded version that is appended to when waiting for it to be delivered.
- use for loops for list traversals
- convert the manager sessions list to use list macros
- use atomic operations for num_sessions and usecounts
- convert some defines to the equivalent enum


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40783 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 19:42:29 +00:00
russell 0384653713 - use the atomic operations for incrementing the unique int
- free the string fields allocation if ast_create_channel() failes to open the
  alert pipe
- formatting tweaks


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40782 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 19:35:28 +00:00
russell ed35ef9041 various cleanups, including ...
- Create an astmm_log() macro that logs the same message to both stderr as well
  as the mmlog file if it is open instead of duplicating the code everywhere.
- Use for loops for list traversals instead of while loops
- reduce nesting
- ensure locking isn't put around more than is necessary
- localize a struct definition
- change the limit of the path to the mmlog to PATH_MAX instead of 80


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40780 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 19:18:09 +00:00
kpfleming 991681b5f6 use a safer process for checking if a module wants to export symbols into the global namespace
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40769 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 14:42:03 +00:00
kpfleming dc1637751a don't declare these variables unless needed
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40751 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 03:06:41 +00:00
kpfleming 8b0c007ad9 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40722 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 02:11:39 +00:00