Commit graph

73 commits

Author SHA1 Message Date
Anthony LaMantia
e421b69ce6 reveting modifaction to __ast_module_user_remove
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-15 05:00:27 +00:00
Joshua Colp
10e6fbc3bc Tweak changes that went in on revision 42891
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-13 22:45:44 +00:00
Anthony LaMantia
09d8972be6 small fix for 7944
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-13 19:27:27 +00:00
Joshua Colp
0f3eaaf703 Merged revisions 42600 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r42600 | file | 2006-09-09 16:24:19 -0400 (Sat, 09 Sep 2006) | 2 lines

Only truly consider the channel in the same format if the format matches the raw format OR if a translation path already exists to translate between them. (issue #7887 reported by softins & issue #7803 reported by alvaro_palma_aste). Thanks goes to stubert for giving me access to a box and showing me a scenario where this occured.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-09 20:25:45 +00:00
Joshua Colp
d2a359e57f Optimize a bit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-09 19:12:52 +00:00
Joshua Colp
10e361763c It's another round of RTP updates!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-09 18:07:59 +00:00
Joshua Colp
160cea6139 Merged revisions 42452 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r42452 | file | 2006-09-08 14:50:43 -0400 (Fri, 08 Sep 2006) | 2 lines

Swap spies during masquerading

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-08 18:53:41 +00:00
Joshua Colp
d597b76c36 whentohangup is already in seconds, just need to convert to milliseconds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-08 02:54:45 +00:00
Joshua Colp
8a2dd45283 Merged revisions 42260 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r42260 | file | 2006-09-07 12:30:44 -0400 (Thu, 07 Sep 2006) | 2 lines

Let's use the same thing we use in other places to calculate our time for ast_cond_timedwait (issue #7697 reported by bn999)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-07 16:33:02 +00:00
Steve Murphy
11a7e38930 Made changes corresponding to those in 1.2 here in main/logger.c for bug 7544.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-07 03:35:42 +00:00
Kevin P. Fleming
d5f812e0b1 don't try to get the length of the string in the ast_dynamic_str object unless we know there is actually one there
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-07 00:41:27 +00:00
Joshua Colp
bc5924120d Remove old unused functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-04 03:18:12 +00:00
Joshua Colp
55d594e9da Make the difference clear about what the responsibilities of the core and a spy are when it comes to spying on a channel. The core is responsible for adding a spy to a channel, feeding frames into the spy, removing the spy from the channel, and notifying the spy that is has been detached. The spy is responsible for reading frames in, and cleaning itself up. Each side will not try to do the other's job.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-03 23:30:37 +00:00
Russell Bryant
4de3c0e447 Add the ability to specify that a frame should not be considered for caching
for uses in cases where you *know* that it will do no good.  This patch was
inspired by file for use in some work of his on mixmonitor/chanspy.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-03 23:14:54 +00:00
Russell Bryant
3057660a79 when calling this function to append to a dynamic string and the buffer was not
large enough and had to be reallocated, cut off the partially appended data.
Otherwise, the function will get called over and over again appending to the
end every time and never thinking it has enough room.

Thanks to jmls for access to his machine for debugging!

(issue #7691)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-03 22:56:01 +00:00
BJ Weschke
ffd9281db9 Provide a little more protection to make sure that a MOH class is specified when using the 'm' option with WaitExten, and prevent a segfault in the process.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-03 21:26:04 +00:00
BJ Weschke
bbc9c049ab Fix enum indexing problem with m() in WaitExten. Reported by Pavel J, in asterisk-dev.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-03 20:44:14 +00:00
Joshua Colp
6fdd2ef790 Tweak the if statement a bit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-03 16:44:49 +00:00
Russell Bryant
e576ac0930 Don't use ast_frdup() in the AST_LIST_INSERT_TAIL macro directly. That was a
very stupid thing to do.  It ends up duplicating the frame twice, linking in
one of them and setting the tail pointer to the other one.  Sorry ...

Thanks to file for pointing out the breakage!!!  file rocks.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-03 16:41:02 +00:00
Joshua Colp
f912c9e69f Unbridge the RTP streams at the correct place
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 18:57:10 +00:00
Joshua Colp
0be2884d80 If we are doing video and we can't reinvite, then resort to generic bridging instead of Packet2Packet since video isn't supported there yet. (reported by PCadach in #asterisk-bugs)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 17:54:22 +00:00
Joshua Colp
b4d0f26d2b You see nothing...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 16:50:02 +00:00
Steve Murphy
a845587805 Another formatting update for PCadach.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 16:48:06 +00:00
Joshua Colp
043a01e6bd 0 is indeed considered a valid file descriptor (issue #7861 reported by PCadach)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 16:40:18 +00:00
Joshua Colp
9edf55b64d Merged revisions 41690 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r41690 | file | 2006-09-01 12:28:08 -0400 (Fri, 01 Sep 2006) | 2 lines

Don't treat an unexpected control subclass as voice (issue #7858 reported by PCadach)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 16:34:57 +00:00
Steve Murphy
2ff2b02eae PCadach wanted better formatting of those 'if' conditions for 7859.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 16:33:22 +00:00
Steve Murphy
cd8635b9b5 This small tweek will hopefully fix 7859, and silence all possible others
along that line.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-01 15:57:05 +00:00
Joshua Colp
f2b836ff4f Tweak the DTMF muting stuff a bit to take into account VLDTMF and compensation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 21:00:16 +00:00
Joshua Colp
faf4975122 Ignore DTMF begin frames in the waitstream core so that we don't get duplicate digits in our extension match
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 19:03:13 +00:00
Joshua Colp
d6096858d0 Don't fail the write if they try to write a NULL or IAX frame as we just ignore these.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 18:47:51 +00:00
Joshua Colp
aaaec0e917 Add new frame types for DTMF
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 18:21:00 +00:00
Joshua Colp
29ee02bfce Only write a received packet out if we are actually bridged to something
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 14:46:46 +00:00
Joshua Colp
c6977b9983 Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 01:59:02 +00:00
Kevin P. Fleming
b281acf0f8 change default setting for autofallthrough
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 21:44:05 +00:00
Russell Bryant
1ffff64e66 fix a bug introduced when I merged my frame caching branch. Queue the
translated frame to the spies, *not* the original frame.  Thanks PCadach!


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 17:07:07 +00:00
Joshua Colp
11b5db3d61 Clarify what show translations is displaying a bit more (issue #7772 reported by Mithraen)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 16:04:24 +00:00
Joshua Colp
3028eb1c15 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: https://origsvn.digium.com/svn/asterisk/trunk@41357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 15:15:06 +00:00
Joshua Colp
0855df6a5a Only feed a DTMF frame into the core if we need to
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 14:57:06 +00:00
Joshua Colp
245aa1a62d Only switch the second alert fd (which is RTCP) to callback mode if it is in use
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 03:18:04 +00:00
Joshua Colp
12b6ec4e11 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: https://origsvn.digium.com/svn/asterisk/trunk@41316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 03:16:03 +00:00
Joshua Colp
da7d969ae1 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: https://origsvn.digium.com/svn/asterisk/trunk@41303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 01:29:59 +00:00
Joshua Colp
ca33d2ecc6 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: https://origsvn.digium.com/svn/asterisk/trunk@41302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-30 01:22:46 +00:00
Joshua Colp
a2e2a51d8d Move the direct bridge write to after the NAT handling code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29 23:41:16 +00:00
Steve Murphy
299465336a 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: https://origsvn.digium.com/svn/asterisk/trunk@41283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29 23:08:42 +00:00
Russell Bryant
f7e7161607 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: https://origsvn.digium.com/svn/asterisk/trunk@41278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29 20:50:36 +00:00
Joshua Colp
c70ed7614a 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: https://origsvn.digium.com/svn/asterisk/trunk@41235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-28 17:37:56 +00:00
Kevin P. Fleming
d12f54f90b GNU make already knows how to quietly ignore non-existent files in 'include' directives
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-26 23:58:47 +00:00
Kevin P. Fleming
a757ca2947 ensure that unload_dynamic_module won't continue dereferencing a module pointer after the module has been unloaded from memory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-26 19:45:16 +00:00
Kevin P. Fleming
3ba8e0a973 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: https://origsvn.digium.com/svn/asterisk/trunk@41178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-26 17:05:38 +00:00
Kevin P. Fleming
aa7b32d175 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: https://origsvn.digium.com/svn/asterisk/trunk@41166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-26 16:45:35 +00:00