[asterisk-commits] murf: branch group/newcdr r170231 - in /team/group/newcdr: ./ apps/ build_too...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jan 22 12:36:51 CST 2009
Author: murf
Date: Thu Jan 22 12:36:50 2009
New Revision: 170231
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=170231
Log:
Merged revisions 168705,168711-168712,168719,168722,168725,168728,168732,168734,168737,168746,168759-168760,168832,168898,168941,168976,169044,169080,169116,169153,169211,169277,169325,169327,169365,169367,169369,169438,169486,169510,169557,169574,169611,169614,169620,169625,169673,169723,169791,169793-169794,169798,169866,169869,169910,169944,170007,170047,170051,170112,170148,170165 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r168705 | seanbright | 2009-01-15 08:33:18 -0700 (Thu, 15 Jan 2009) | 11 lines
Add a missing unlock and properly handle the 'maxusers' setting on MeetMe
conferences. We were using the 'user number' field to compare against the
maximum allowed users, which works assuming users with lower user numbers
didn't leave the conference.
(closes issue #14117)
Reported by: sergedevorop
Patches:
20090114__bug14117-2.diff.txt uploaded by seanbright (license 71)
Tested by: sergedevorop
................
r168711 | oej | 2009-01-15 10:55:53 -0700 (Thu, 15 Jan 2009) | 4 lines
Clarify some misunderstandings and make it even more clear that you can refer to a peer
in the register= line.
................
r168712 | oej | 2009-01-15 11:08:59 -0700 (Thu, 15 Jan 2009) | 3 lines
Make sure that we have the same terminology in sip.conf.sample and the source code warning.
Thanks Nick Lewis for pointing this out in the bug tracker.
................
r168719 | tilghman | 2009-01-15 11:39:56 -0700 (Thu, 15 Jan 2009) | 4 lines
Resolve issue with negative vs non-negative length parameters.
(closes issue #14245)
Reported by: dveiga
................
r168722 | oej | 2009-01-15 11:47:14 -0700 (Thu, 15 Jan 2009) | 10 lines
Merged revisions 168721 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r168721 | oej | 2009-01-15 19:43:43 +0100 (Tor, 15 Jan 2009) | 2 lines
Meetme actually has realtime but wasn't documented
........
................
r168725 | mmichelson | 2009-01-15 12:00:06 -0700 (Thu, 15 Jan 2009) | 17 lines
Remove an unneeded condition for line addition to a SIP request/response
In Asterisk 1.4 and 1.6.0, the sip_request structure had a statically
allocated buffer to hold the text of the request. There was a check in the
add_line function to not attempt to write the line into the buffer if we
did not have room for it.
In trunk and Asterisk versions starting with 1.6.1, an expandable ast_str
structure is used to hold the text. Since it may grow to fit an arbitrarily
sized string, this check in add_line is no longer valid.
I found this oddity while attempting to fix issue #14220; however, I do not
believe that this is the fix for that issue since the output supplied by the
reporter did not contain the warning message that would be printed had this
condition been satisfied.
................
r168728 | mmichelson | 2009-01-15 12:16:29 -0700 (Thu, 15 Jan 2009) | 3 lines
Fix the compactheaders option in sip.conf
................
r168732 | mmichelson | 2009-01-15 13:00:46 -0700 (Thu, 15 Jan 2009) | 3 lines
Add missing brace
................
r168734 | kpfleming | 2009-01-15 13:18:53 -0700 (Thu, 15 Jan 2009) | 5 lines
remove the PBX_ODBC logic from the configure script, and add GENERIC_ODCB logic that includes copying the relevant LIB and INCLUDE data from either UnixODBC or iODBC, based on which was found; if both were found, prefer UnixODBC
this stops modules from being linked against both sets of libraries on systems that have both installed
................
r168737 | murf | 2009-01-15 13:54:59 -0700 (Thu, 15 Jan 2009) | 16 lines
This patch allows null args in ast_expr2 func calls, and fixes commas being converted to pipes, which was 1.4 type stuff.
If the user says count=ENUMLOOKUP(${EXTEN},ALL,c,,enum.mydomain.tld);
then it won't complain about the empty arg (c,,...) and fabled's patch
won't let it swap the commas for pipes.
Ran it thru my dialplan and no complaints.
(closes issue #14169)
Reported by: fabled
Patches:
function-argument-separator-fix.diff uploaded by fabled (license 448)
................
r168746 | murf | 2009-01-15 17:34:31 -0700 (Thu, 15 Jan 2009) | 20 lines
Merged revisions 168745 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r168745 | murf | 2009-01-15 17:19:12 -0700 (Thu, 15 Jan 2009) | 14 lines
This patch fixes a problem where a goto (or jump, in this case)
fails a consistency check because it can't find a matching
extension. The problem was a missing instruction to end
the range notation in the code where it converts the pattern
into a regex and uses the regex code to determine the match.
I tested using the AEL code the user supplied, and now,
the consistency check passes.
(closes issue #14141)
Reported by: dimas
........
................
r168759 | russell | 2009-01-16 09:18:41 -0700 (Fri, 16 Jan 2009) | 1 line
build in dev mode
................
r168760 | russell | 2009-01-16 10:09:13 -0700 (Fri, 16 Jan 2009) | 2 lines
Fix a spelling mistake.
................
r168832 | tilghman | 2009-01-16 11:49:09 -0700 (Fri, 16 Jan 2009) | 13 lines
Merged revisions 168828 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r168828 | tilghman | 2009-01-16 12:41:35 -0600 (Fri, 16 Jan 2009) | 6 lines
Fix the conjugation of Russian and Ukrainian languages.
(related to issue #12475)
Reported by: chappell
Patches:
vm_multilang.patch uploaded by chappell (license 8)
........
................
r168898 | mmichelson | 2009-01-16 12:54:39 -0700 (Fri, 16 Jan 2009) | 26 lines
Fix a logic error that occur when using the timerfd interface
This sequence of events posed a problem
timerfd_timer_open
timerfd_timer_enable_continuous
timerfd_timer_set_rate
timerfd_timer_disable_continuous
The reason was that the timing module was written under the assumption
that timerfd_timer_set_rate would not be called between enabling and
disabling continuous mode. What happened in this situation was that
timerfd_timer_enable_continuous saved off our previously set timer (in this
situation a 0 timer, meaning it never runs out). Then timerfd_timer_disable_continuous
would restore this 0 timer, even though it logically should set the timer to be whatever
was set in timerfd_timer_set_rate.
Now the behavior in timerfd_timer_set_rate is to overwrite the saved timer that may
or may not have been set in timerfd_timer_enable_continuous. Even if
timerfd_timer_enable_continuous has not been previously called, this will not harm the
operation.
Thanks to Terry Wilson for discovering the problem and giving me a really great debug
capture that pointed out the problem clearly
................
r168941 | twilson | 2009-01-16 15:16:23 -0700 (Fri, 16 Jan 2009) | 19 lines
Merged revisions 168716 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r168716 | twilson | 2009-01-15 12:22:49 -0600 (Thu, 15 Jan 2009) | 12 lines
Convert call to park_call_full to masq_park_call_announce
Since we removed the AST_PBX_KEEPALIVE return value, we need to use masqueraded
parking, otherwise we will try to call ast_hangup() in __pbx_run() and in
do_parking_thread() and then promptly crash.
(closes issue #14215)
Reported by: waverly360
Tested by: otherwiseguy
(closes issue #14228)
Reported by: kobaz
Tested by: otherwiseguy
........
................
r168976 | mmichelson | 2009-01-16 15:43:09 -0700 (Fri, 16 Jan 2009) | 26 lines
Merged revisions 168975 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r168975 | mmichelson | 2009-01-16 16:42:13 -0600 (Fri, 16 Jan 2009) | 18 lines
Account for possible NULL pointer when we receive a 408 in response to a REGISTER
It may be that by the time we receive a reply to a REGISTER request, the attempt has
timed out and thus the registry structure pointed to by the corresponding sip_pvt has
gone away. This situation was handled properly for a 200 OK response, but the 408
case assumed that the sip_registry struct was non-NULL, thus potentially causing a crash
This commit fixes this assumption and prints out a message to the console if we should
receive a late 408 response to a REGISTER
(closes issue #14211)
Reported by: aborghi
Patches:
14211.diff uploaded by putnopvut (license 60)
Tested by: aborghi
........
................
r169044 | twilson | 2009-01-16 17:03:39 -0700 (Fri, 16 Jan 2009) | 8 lines
Fix port :0 added to SIP INVITE URI when outboundproxy used
(closes issue #14233)
Reported by: chris-mac
Patches:
asterisk-bug14233.diff.txt uploaded by jamesgolovich (license 176)
Tested by: jamesgolovich, chris-mac, otherwiseguy
................
r169080 | twilson | 2009-01-16 18:56:36 -0700 (Fri, 16 Jan 2009) | 8 lines
Fix qualify for TCP peer
(closes issue #14192)
Reported by: pabelanger
Patches:
asterisk-bug14192.diff.txt uploaded by jamesgolovich (license 176)
Tested by: jamesgolovich
................
r169116 | seanbright | 2009-01-16 19:52:30 -0700 (Fri, 16 Jan 2009) | 8 lines
Change intializer types. Found while working on asterisk-cpp. I have a new
favorite error message from g++:
pbx_dundi.c:4580: sorry, unimplemented: non-trivial designated
initializers not supported
I like it when compilers are apologetic.
................
r169153 | dbailey | 2009-01-17 11:26:44 -0700 (Sat, 17 Jan 2009) | 3 lines
Add discriminator for when ring pulse alert signal is used to preface MWI spills
This prevents the situation when MWI messages are added to caller ID spills causing the channel to be hung up
................
r169211 | mmichelson | 2009-01-19 08:54:06 -0700 (Mon, 19 Jan 2009) | 21 lines
Merged revisions 169210 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r169210 | mmichelson | 2009-01-19 09:52:15 -0600 (Mon, 19 Jan 2009) | 13 lines
Prevent a crash in chan_local due to a potential NULL pointer dereference
Move the check for if both channels on a local_pvt have generators to below
where p->chan is checked for NULLity (NULLness?). This prevents a crash from
occurring if p->chan is NULL.
(closes issue #14189)
Reported by: sascha
Patches:
14189.patch uploaded by putnopvut (license 60)
Tested by: sascha
........
................
r169277 | dbailey | 2009-01-19 09:33:41 -0700 (Mon, 19 Jan 2009) | 9 lines
Add enhanced MWI generation to take advantage of new dahdi line reversal MWI ability.
(closes issue #14104)
Reported by: alecdavis
Patches:
asttrunk-14104.diff2.txt uploaded by dbailey (license )
chan_dahdi.rpas_and_fsk.diff.txt uploaded by alecdavis (license 585)
Tested by: alecdavis, dbailey
................
r169325 | dbailey | 2009-01-19 11:22:44 -0700 (Mon, 19 Jan 2009) | 3 lines
Get rid of magic number and replace with DAHDI_VMWI_NUMBER_MASK when
determining the number of messages pending for MWI call
................
r169327 | mvanbaak | 2009-01-19 11:36:24 -0700 (Mon, 19 Jan 2009) | 11 lines
Make asterisk compile on non-amd64 versions of OpenBSD.
The HW_PHYSMEM64 is only available in latest OpenBSD and/or amd64 versions of OpenBSD.
Use HW_PHYSMEM when HW_PHYSMEM64 is not available.
(closes issue #14129)
Reported by: ys
Patches:
2009011600_physmem64.diff.txt uploaded by mvanbaak (license 7)
Tested by: mvanbaak, jtodd
................
r169365 | tilghman | 2009-01-19 13:05:52 -0700 (Mon, 19 Jan 2009) | 11 lines
Merged revisions 169364 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r169364 | tilghman | 2009-01-19 13:49:25 -0600 (Mon, 19 Jan 2009) | 4 lines
Truncate userevents at the end of a line, when the command exceeds the buffer.
(closes issue #14278)
Reported by: fnordian
........
................
r169367 | mvanbaak | 2009-01-19 13:09:11 -0700 (Mon, 19 Jan 2009) | 15 lines
Redo the event-based MWI in chan_skinny.
Dan saw regular segfaults with the old implementation and
rewrote it to make it really eventbased.
I altered it to be trunk compatible and wedhorn gave some feedback
and ideas how to make it even better.
(closes issue #13821)
Reported by: DEA
Patches:
chan_skinny-mwi-events.txt uploaded by DEA (license 3)
Tested by: mvanbaak, DEA
"no probs by me" from wedhorn
................
r169369 | mvanbaak | 2009-01-19 13:14:27 -0700 (Mon, 19 Jan 2009) | 7 lines
fix assignment in swapmode plug.
Spotted and fix provided by ys
(closes issue #14129)
Reported by: ys
Tested by: ys
................
r169438 | kpfleming | 2009-01-19 14:42:46 -0700 (Mon, 19 Jan 2009) | 5 lines
ast_str_SQLGetData is *not* part of the ast_str API, it's part of the ast_odbc API and just happens to use an ast_str as the buffer; move all of it to res_odbc.c and res_odbc.h, renaming appropriately
along the way fix some minor coding style issues in strings.h and add some attribute_pure annotations to functions in the ast_str API
................
r169486 | twilson | 2009-01-20 11:48:14 -0700 (Tue, 20 Jan 2009) | 13 lines
Merged revisions 169485 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r169485 | twilson | 2009-01-20 12:40:56 -0600 (Tue, 20 Jan 2009) | 6 lines
Don't play audio to the channel if we've masqueraded
(closes issue #14066)
Reported by: bluefox
Tested by: otherwiseguy, bluefox
........
................
r169510 | twilson | 2009-01-20 12:22:24 -0700 (Tue, 20 Jan 2009) | 7 lines
Make a proper builtin attended transfer to parking work
This is an ugly hack from 1.4 that allows the timeout callback from a parked
call to use the right channel name for the callback when the park is done with
a builtin attended transfer (that isn't completed early). This hasn't ever
worked in trunk and no one has complained yet, so eh.
................
r169557 | mmichelson | 2009-01-20 13:10:31 -0700 (Tue, 20 Jan 2009) | 19 lines
Convert the character pointers in a sip_request to be pointer offsets
When an ast_str expands to hold more data, any pointers that were pointing
to the data prior to the expansion will be pointing at invalid memory. This
change makes such pointers used in chan_sip.c instead be offsets from the
beginning of the string so that the same math may be applied no matter where
in memory the string resides.
To help ease this transition, a macro called REQ_OFFSET_TO_STR has been added
to chan_sip.c so that given a sip_request and an offset, the string at that
offset is returned.
(closes issue #14220)
Reported by: riksta
Tested by: putnopvut
Review http://reviewboard.digium.com/r/126/
................
r169574 | mmichelson | 2009-01-20 14:57:24 -0700 (Tue, 20 Jan 2009) | 6 lines
Use the default timeout for a queue instead of -1
(closes issue #14272)
Reported by: timking
................
r169611 | mmichelson | 2009-01-20 17:33:32 -0700 (Tue, 20 Jan 2009) | 22 lines
Fix device state parsing issues for channel names with multiple slashes
The fix being applied is a bit different for trunk and the 1.6.X branches.
For trunk, we only wish to strip off the characters beyond the second slash
if the channel is a Local channel (i.e. we are removing the /n from the device
name). Other channel technologies with multiple slashes (e.g. DAHDI) need the
information after the second slash in order to get the proper device state
information.
In addition to this fix, the 1.6.X branches are receiving a much more important
fix as well. The problem in 1.6.X is that the member's device name was being directly
changed instead of having a copy changed. This meant that we would strip off the
second slash and trailing characters and then leave the member's device name like
that permanently thereafter.
(closes issue #14014)
Reported by: kebl0155
Patches:
14014_number2.patch uploaded by putnopvut (license 60)
Tested by: kebl0155
................
r169614 | twilson | 2009-01-20 17:40:55 -0700 (Tue, 20 Jan 2009) | 8 lines
Blocked revisions 169581 via svnmerge
........
r169581 | twilson | 2009-01-20 17:49:34 -0600 (Tue, 20 Jan 2009) | 2 lines
One-touch parking was calling back the wrong channel on timeout
........
................
r169620 | russell | 2009-01-21 03:26:07 -0700 (Wed, 21 Jan 2009) | 10 lines
Fix a regression in TCP support.
This patch fixes a problem that caused chan_sip to think that every open TCP session
was to a remote address of 0.0.0.0:0.
(closes issue #14287)
Reported by: jamesgolovich
Patches:
bug-14287.diff.txt uploaded by jamesgolovich (license 176)
................
r169625 | russell | 2009-01-21 03:49:00 -0700 (Wed, 21 Jan 2009) | 2 lines
Remove properties that erroneously got merged into trunk
................
r169673 | murf | 2009-01-21 10:21:40 -0700 (Wed, 21 Jan 2009) | 14 lines
This patch corrects a segfault reported in 14289,
due to a null ptr being refd.
Yes, seanbright is right in the bug comments, that is the fix.
Sorry for this oversight; I guess my personal
usage didn't have this happen!
murf
(closes issue #14289)
Reported by: jamesgolovich
................
r169723 | tilghman | 2009-01-21 14:03:40 -0700 (Wed, 21 Jan 2009) | 15 lines
Merged revisions 169722 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r169722 | tilghman | 2009-01-21 15:02:32 -0600 (Wed, 21 Jan 2009) | 8 lines
Extra NULLs in the output cause some terminal types to abort in the middle of
a color code, causing terminal weirdness.
(closes issue #14130)
Reported by: coolmig
Patches:
20090121__bug14130.diff.txt uploaded by Corydon76 (license 14)
Tested by: Corydon76, coolmig
........
................
r169791 | mmichelson | 2009-01-21 14:53:55 -0700 (Wed, 21 Jan 2009) | 18 lines
Further fix some oddities in sip show users and sip show peers logic
ccesario on IRC pointed out that his sip peers were not displayed
properly when he would issue the command "sip show peers." The problem
was that the onlymatchonip field was used to determine if the endpoint
was a "peer" or "user." The tricky part is that a "friend" is supposed
to be treated as both a "user" and a "peer" but the logic would not allow
"friends" to show up as "peers" since onlymatchonip was set to FALSE
for friends.
I have modified the sip_peer structure to more explicitly keep track of
what type endpoint it is so that the various manager and CLI commands
will display the expected information
Reported by ccesario via IRC
Tested by ccesario
................
r169793 | mvanbaak | 2009-01-21 15:04:16 -0700 (Wed, 21 Jan 2009) | 2 lines
remove duplicated sentence.
................
r169794 | mmichelson | 2009-01-21 15:10:02 -0700 (Wed, 21 Jan 2009) | 17 lines
Fix a crash when saying certain numbers in Chinese
This commit fixes a crash that was occurring when attempting to
say a number between 10000 and 100000 due to dividing by 0.
This also removes some places where a "zero" is spoken when it
should not be.
(closes issue #14291)
Reported by: dant
Patches:
say.c-14291.diff uploaded by dant (license 670)
Tested by: dant
................
r169798 | mmichelson | 2009-01-21 15:15:16 -0700 (Wed, 21 Jan 2009) | 10 lines
Blocked revisions 169797 via svnmerge
........
r169797 | mmichelson | 2009-01-21 16:14:52 -0600 (Wed, 21 Jan 2009) | 3 lines
Adding revision 169794 to 1.4 since 1.4 is also affected by the issue
........
................
r169866 | mmichelson | 2009-01-21 16:20:27 -0700 (Wed, 21 Jan 2009) | 3 lines
Test commit for test issue #14303
................
r169869 | file | 2009-01-21 16:25:27 -0700 (Wed, 21 Jan 2009) | 11 lines
Merged revisions 169867 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r169867 | file | 2009-01-21 19:20:47 -0400 (Wed, 21 Jan 2009) | 4 lines
Read lock the contexts to maintain the locking order when we are notified that the state of a device has changed.
(closes issue #13839)
Reported by: mcallist
........
................
r169910 | rmudgett | 2009-01-21 17:23:30 -0700 (Wed, 21 Jan 2009) | 1 line
Whitespace changes only
................
r169944 | tilghman | 2009-01-21 17:44:52 -0700 (Wed, 21 Jan 2009) | 16 lines
Merged revisions 169943 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r169943 | tilghman | 2009-01-21 18:43:31 -0600 (Wed, 21 Jan 2009) | 9 lines
AST_RWLOCK_INIT_VALUE is always defined. What we really wanted to ask is
whether autoconf detected a static initializer value. This fixes rwlocks
on all such platforms (mainly, Mac OS X).
(closes issue #13767)
Reported by: jcovert
Patches:
20090121__bug13767.diff.txt uploaded by Corydon76 (license 14)
Tested by: jcovert, Corydon76
........
................
r170007 | rmudgett | 2009-01-21 19:10:41 -0700 (Wed, 21 Jan 2009) | 3 lines
* Adjust some conditionals to balance curly braces.
* Other minor changes.
................
r170047 | file | 2009-01-22 08:01:54 -0700 (Thu, 22 Jan 2009) | 4 lines
Clear the autoloop flag when parsing and setting the context/extension/priority to go back to. When the channel executes a PBX again we want it to start out at the point we explicitly say and at that point it will not yet be doing autoloop.
(closes issue #14304)
Reported by: jcovert
................
r170051 | file | 2009-01-22 08:14:50 -0700 (Thu, 22 Jan 2009) | 13 lines
Merged revisions 170050 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r170050 | file | 2009-01-22 11:13:56 -0400 (Thu, 22 Jan 2009) | 6 lines
Do a string comparison instead of pointer comparison since some people specify the context they are actually in as an argument to get around some funkiness.
(closes issue #14011)
Reported by: dveiga
Patches:
pbx.c.patch uploaded by dveiga (license 665)
........
................
r170112 | dbailey | 2009-01-22 08:49:24 -0700 (Thu, 22 Jan 2009) | 8 lines
change VMWI to use new DAHDI_VMWI ioctl call.
Change configure script to detect the new ioctl call data structure.
(issue #14104)
Reported by: alecdavis
Patches:
mwiioctl_structure_asterisk.diff4.txt uploaded by dbailey (license )
Tested by: alecdavis, dbailey
................
r170148 | file | 2009-01-22 09:52:21 -0700 (Thu, 22 Jan 2009) | 11 lines
Merged revisions 170147 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r170147 | file | 2009-01-22 12:50:54 -0400 (Thu, 22 Jan 2009) | 4 lines
If we are unable to request a DAHDI pseudo channel and we are using the user introduction without review option make sure it gets unset so other code does not blindly assume a DAHDI pseudo channel exists.
(closes issue #14282)
Reported by: cheesegrits
........
................
r170165 | tilghman | 2009-01-22 10:19:28 -0700 (Thu, 22 Jan 2009) | 13 lines
Merged revisions 170158 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r170158 | tilghman | 2009-01-22 11:18:07 -0600 (Thu, 22 Jan 2009) | 6 lines
Allow global variables after substitution to be as long as other variables.
(closes issue #14263)
Reported by: markd
Patches:
20090120__bug14263.diff.txt uploaded by Corydon76 (license 14)
........
................
Modified:
team/group/newcdr/ (props changed)
team/group/newcdr/CHANGES
team/group/newcdr/apps/app_meetme.c
team/group/newcdr/apps/app_parkandannounce.c
team/group/newcdr/apps/app_queue.c
team/group/newcdr/apps/app_userevent.c
team/group/newcdr/apps/app_voicemail.c
team/group/newcdr/build_tools/menuselect-deps.in
team/group/newcdr/cdr/cdr_adaptive_odbc.c
team/group/newcdr/cdr/cdr_odbc.c
team/group/newcdr/channels/chan_dahdi.c
team/group/newcdr/channels/chan_local.c
team/group/newcdr/channels/chan_misdn.c
team/group/newcdr/channels/chan_sip.c
team/group/newcdr/channels/chan_skinny.c
team/group/newcdr/configs/chan_dahdi.conf.sample
team/group/newcdr/configs/extconfig.conf.sample
team/group/newcdr/configs/sip.conf.sample
team/group/newcdr/configure
team/group/newcdr/configure.ac
team/group/newcdr/doc/tex/extensions.tex
team/group/newcdr/funcs/func_odbc.c
team/group/newcdr/include/asterisk/autoconfig.h.in
team/group/newcdr/include/asterisk/linkedlists.h
team/group/newcdr/include/asterisk/res_odbc.h
team/group/newcdr/include/asterisk/say.h
team/group/newcdr/include/asterisk/strings.h
team/group/newcdr/include/asterisk/tcptls.h
team/group/newcdr/main/ast_expr2.c
team/group/newcdr/main/ast_expr2.y
team/group/newcdr/main/asterisk.c
team/group/newcdr/main/features.c
team/group/newcdr/main/http.c
team/group/newcdr/main/manager.c
team/group/newcdr/main/pbx.c
team/group/newcdr/main/say.c
team/group/newcdr/main/tcptls.c
team/group/newcdr/makeopts.in
team/group/newcdr/pbx/pbx_config.c
team/group/newcdr/pbx/pbx_dundi.c
team/group/newcdr/res/ael/pval.c
team/group/newcdr/res/res_config_odbc.c
team/group/newcdr/res/res_odbc.c
team/group/newcdr/res/res_timing_timerfd.c
team/group/newcdr/utils/refcounter.c
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Jan 22 12:36:50 2009
@@ -1,1 +1,1 @@
-/trunk:1-168653
+/trunk:1-170220
Modified: team/group/newcdr/CHANGES
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/CHANGES?view=diff&rev=170231&r1=170230&r2=170231
==============================================================================
--- team/group/newcdr/CHANGES (original)
+++ team/group/newcdr/CHANGES Thu Jan 22 12:36:50 2009
@@ -40,7 +40,7 @@
version received is different from the current SDP session version. This
option is required to interoperate with devices that have non-standard SDP
session version implementations (observed with Microsoft OCS). This option
- is diabled by default.
+ is disabled by default.
* The parsing of register => lines in sip.conf has been modified to allow a port
to be present in the "user" portion. Please see the sip.conf.sample file for more
information
Modified: team/group/newcdr/apps/app_meetme.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/apps/app_meetme.c?view=diff&rev=170231&r1=170230&r2=170231
==============================================================================
--- team/group/newcdr/apps/app_meetme.c (original)
+++ team/group/newcdr/apps/app_meetme.c Thu Jan 22 12:36:50 2009
@@ -2187,10 +2187,12 @@
user->user_no = AST_LIST_LAST(&conf->userlist)->user_no + 1;
if (rt_schedule && conf->maxusers)
- if (user->user_no > conf->maxusers) {
+ if (conf->users >= conf->maxusers) {
/* Sorry, but this confernce has reached the participant limit! */
if (!ast_streamfile(chan, "conf-full", chan->language))
ast_waitstream(chan, "");
+ ast_mutex_unlock(&conf->playlock);
+ user->user_no = 0;
goto outrun;
}
@@ -3453,9 +3455,9 @@
if (cnf) {
if (confflags && !cnf->chan &&
!ast_test_flag(confflags, CONFFLAG_QUIET) &&
- ast_test_flag(confflags, CONFFLAG_INTROUSER)) {
+ ast_test_flag(confflags, CONFFLAG_INTROUSER | CONFFLAG_INTROUSERNOREVIEW)) {
ast_log(LOG_WARNING, "No DAHDI channel available for conference, user introduction disabled (is chan_dahdi loaded?)\n");
- ast_clear_flag(confflags, CONFFLAG_INTROUSER);
+ ast_clear_flag(confflags, CONFFLAG_INTROUSER | CONFFLAG_INTROUSERNOREVIEW);
}
if (confflags && !cnf->chan &&
@@ -3555,9 +3557,9 @@
if (cnf) {
if (confflags && !cnf->chan &&
!ast_test_flag(confflags, CONFFLAG_QUIET) &&
- ast_test_flag(confflags, CONFFLAG_INTROUSER)) {
+ ast_test_flag(confflags, CONFFLAG_INTROUSER | CONFFLAG_INTROUSERNOREVIEW)) {
ast_log(LOG_WARNING, "No DAHDI channel available for conference, user introduction disabled (is chan_dahdi loaded?)\n");
- ast_clear_flag(confflags, CONFFLAG_INTROUSER);
+ ast_clear_flag(confflags, CONFFLAG_INTROUSER | CONFFLAG_INTROUSERNOREVIEW);
}
if (confflags && !cnf->chan &&
Modified: team/group/newcdr/apps/app_parkandannounce.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/apps/app_parkandannounce.c?view=diff&rev=170231&r1=170230&r2=170231
==============================================================================
--- team/group/newcdr/apps/app_parkandannounce.c (original)
+++ team/group/newcdr/apps/app_parkandannounce.c Thu Jan 22 12:36:50 2009
@@ -121,8 +121,10 @@
dialtech = strsep(&args.dial, "/");
ast_verb(3, "Dial Tech,String: (%s,%s)\n", dialtech, args.dial);
- if (!ast_strlen_zero(args.return_context))
+ if (!ast_strlen_zero(args.return_context)) {
+ ast_clear_flag(chan, AST_FLAG_IN_AUTOLOOP);
ast_parseable_goto(chan, args.return_context);
+ }
ast_verb(3, "Return Context: (%s,%s,%d) ID: %s\n", chan->context, chan->exten, chan->priority, chan->cid.cid_num);
if (!ast_exists_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num)) {
Modified: team/group/newcdr/apps/app_queue.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/apps/app_queue.c?view=diff&rev=170231&r1=170230&r2=170231
==============================================================================
--- team/group/newcdr/apps/app_queue.c (original)
+++ team/group/newcdr/apps/app_queue.c Thu Jan 22 12:36:50 2009
@@ -1032,7 +1032,7 @@
ast_copy_string(interface, m->state_interface, sizeof(interface));
if ((slash_pos = strchr(interface, '/')))
- if ((slash_pos = strchr(slash_pos + 1, '/')))
+ if (!strncasecmp(interface, "Local/", 6) && (slash_pos = strchr(slash_pos + 1, '/')))
*slash_pos = '\0';
if (!strcasecmp(interface, sc->dev)) {
@@ -1146,7 +1146,7 @@
q->dead = 0;
q->retry = DEFAULT_RETRY;
- q->timeout = -1;
+ q->timeout = DEFAULT_TIMEOUT;
q->maxlen = 0;
q->announcefrequency = 0;
q->minannouncefrequency = DEFAULT_MIN_ANNOUNCE_FREQUENCY;
Modified: team/group/newcdr/apps/app_userevent.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/apps/app_userevent.c?view=diff&rev=170231&r1=170230&r2=170231
==============================================================================
--- team/group/newcdr/apps/app_userevent.c (original)
+++ team/group/newcdr/apps/app_userevent.c Thu Jan 22 12:36:50 2009
@@ -58,15 +58,22 @@
static int userevent_exec(struct ast_channel *chan, void *data)
{
- char *parse, buf[2048] = "";
- int x, buflen = 0;
+ char *parse;
+ int x;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(eventname);
AST_APP_ARG(extra)[100];
);
+ struct ast_str *body = ast_str_create(16);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "UserEvent requires an argument (eventname,optional event body)\n");
+ ast_free(body);
+ return -1;
+ }
+
+ if (!body) {
+ ast_log(LOG_WARNING, "Unable to allocate buffer\n");
return -1;
}
@@ -75,13 +82,11 @@
AST_STANDARD_APP_ARGS(args, parse);
for (x = 0; x < args.argc - 1; x++) {
- ast_copy_string(buf + buflen, args.extra[x], sizeof(buf) - buflen - 2);
- buflen += strlen(args.extra[x]);
- ast_copy_string(buf + buflen, "\r\n", 3);
- buflen += 2;
+ ast_str_append(&body, 0, "%s\r\n", args.extra[x]);
}
- manager_event(EVENT_FLAG_USER, "UserEvent", "UserEvent: %s\r\n%s", args.eventname, buf);
+ manager_event(EVENT_FLAG_USER, "UserEvent", "UserEvent: %s\r\n%s", args.eventname, ast_str_buffer(body));
+ ast_free(body);
return 0;
}
Modified: team/group/newcdr/apps/app_voicemail.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/apps/app_voicemail.c?view=diff&rev=170231&r1=170230&r2=170231
==============================================================================
--- team/group/newcdr/apps/app_voicemail.c (original)
+++ team/group/newcdr/apps/app_voicemail.c Thu Jan 22 12:36:50 2009
@@ -47,10 +47,8 @@
/*** MAKEOPTS
<category name="MENUSELECT_OPTS_app_voicemail" displayname="Voicemail Build Options" positive_output="yes" remove_on_change="apps/app_voicemail.o apps/app_voicemail.so apps/app_directory.o apps/app_directory.so">
<member name="ODBC_STORAGE" displayname="Storage of Voicemail using ODBC">
- <depend>odbc</depend>
+ <depend>generic_odbc</depend>
<depend>ltdl</depend>
- <use>unixodbc</use>
- <use>iodbc</use>
<conflict>IMAP_STORAGE</conflict>
<defaultenabled>no</defaultenabled>
</member>
@@ -7176,7 +7174,102 @@
return res;
}
-/* Hebrew syntax */
+/* Version of vm_intro() designed to work for many languages.
+ *
+ * It is hoped that this function can prevent the proliferation of
+ * language-specific vm_intro() functions and in time replace the language-
+ * specific functions which already exist. An examination of the language-
+ * specific functions revealed that they all corrected the same deficiencies
+ * in vm_intro_en() (which was the default function). Namely:
+ *
+ * 1) The vm-Old and vm-INBOX sound files were overloaded. The English
+ * wording of the voicemail greeting hides this problem. For example,
+ * vm-INBOX contains only the word "new". This means that both of these
+ * sequences produce valid utterances:
+ * * vm-youhave digit/1 vm-INBOX vm-message (you have one new message)
+ * * vm-press digit/1 vm-for vm-INBOX vm-messages (press 1 for new messages)
+ * However, if we rerecord vm-INBOX to say "the new" (which is unavoidable
+ * in many languages) the first utterance becomes "you have 1 the new message".
+ * 2) The function contains hardcoded rules for pluralizing the word "message".
+ * These rules are correct for English, but not for many other languages.
+ * 3) No attempt is made to pluralize the adjectives ("old" and "new") as
+ * required in many languages.
+ * 4) The gender of the word for "message" is not specified. This is a problem
+ * because in many languages the gender of the number in phrases such
+ * as "you have one new message" must match the gender of the word
+ * meaning "message".
+ *
+ * Fixing these problems for each new language has meant duplication of effort.
+ * This new function solves the problems in the following general ways:
+ * 1) Add new sound files vm-new and vm-old. These can be linked to vm-INBOX
+ * and vm-Old respectively for those languages where it makes sense.
+ * 2) Call ast_say_counted_noun() to put the proper gender and number prefix
+ * on vm-message.
+ * 3) Call ast_say_counted_adjective() to put the proper gender and number
+ * prefix on vm-new and vm-old (none for English).
+ * 4) Pass the gender of the language's word for "message" as an agument to
+ * this function which is can in turn pass on to the functions which
+ * say numbers and put endings on nounds and adjectives.
+ *
+ * All languages require these messages:
+ * vm-youhave "You have..."
+ * vm-and "and"
+ * vm-no "no" (in the sense of "none", as in "you have no messages")
+ *
+ * To use it for English, you will need these additional sound files:
+ * vm-new "new"
+ * vm-message "message", singular
+ * vm-messages "messages", plural
+ *
+ * If you use it for Russian and other slavic languages, you will need these additional sound files:
+ *
+ * vm-newn "novoye" (singular, neuter)
+ * vm-newx "novikh" (counting plural form, genative plural)
+ * vm-message "sobsheniye" (singular form)
+ * vm-messagex1 "sobsheniya" (first counting plural form, genative singular)
+ * vm-messagex2 "sobsheniy" (second counting plural form, genative plural)
+ * digits/1n "odno" (neuter singular for phrases such as "one message" or "thirty one messages")
+ * digits/2n "dva" (neuter singular)
+ */
+static int vm_intro_multilang(struct ast_channel *chan, struct vm_state *vms, const char message_gender[])
+{
+ int res;
+ int lastnum = 0;
+
+ res = ast_play_and_wait(chan, "vm-youhave");
+
+ if (!res && vms->newmessages) {
+ lastnum = vms->newmessages;
+
+ if (!(res = ast_say_number(chan, lastnum, AST_DIGIT_ANY, chan->language, message_gender))) {
+ res = ast_say_counted_adjective(chan, lastnum, "vm-new", message_gender);
+ }
+
+ if (!res && vms->oldmessages) {
+ res = ast_play_and_wait(chan, "vm-and");
+ }
+ }
+
+ if (!res && vms->oldmessages) {
+ lastnum = vms->oldmessages;
+
+ if (!(res = ast_say_number(chan, lastnum, AST_DIGIT_ANY, chan->language, message_gender))) {
+ res = ast_say_counted_adjective(chan, lastnum, "vm-old", message_gender);
+ }
+ }
+
+ if (!res) {
+ if (lastnum == 0) {
+ res = ast_play_and_wait(chan, "vm-no");
+ } else {
+ res = ast_say_counted_noun(chan, lastnum, "vm-message");
+ }
+ }
+
+ return res;
+}
+
+/* Default Hebrew syntax */
static int vm_intro_he(struct ast_channel *chan, struct vm_state *vms)
{
int res = 0;
@@ -7859,78 +7952,6 @@
return res;
}
-static int get_lastdigits(int num)
-{
- num %= 100;
- return (num < 20) ? num : num % 10;
-}
-
-static int vm_intro_ru(struct ast_channel *chan,struct vm_state *vms)
-{
- int res;
- int lastnum = 0;
- int dcnum;
-
- res = ast_play_and_wait(chan, "vm-youhave");
- if (!res && vms->newmessages) {
- lastnum = get_lastdigits(vms->newmessages);
- dcnum = vms->newmessages - lastnum;
- if (dcnum)
- res = say_and_wait(chan, dcnum, chan->language);
- if (!res && lastnum) {
- if (lastnum == 1)
- res = ast_play_and_wait(chan, "digits/odno");
- else
- res = say_and_wait(chan, lastnum, chan->language);
- }
-
- if (!res)
- res = ast_play_and_wait(chan, (lastnum == 1) ? "vm-novoe" : "vm-novyh");
-
- if (!res && vms->oldmessages)
- res = ast_play_and_wait(chan, "vm-and");
- }
-
- if (!res && vms->oldmessages) {
- lastnum = get_lastdigits(vms->oldmessages);
- dcnum = vms->oldmessages - lastnum;
- if (dcnum)
- res = say_and_wait(chan, dcnum, chan->language);
- if (!res && lastnum) {
- if (lastnum == 1)
- res = ast_play_and_wait(chan, "digits/odno");
- else
- res = say_and_wait(chan, lastnum, chan->language);
- }
-
- if (!res)
- res = ast_play_and_wait(chan, (lastnum == 1) ? "vm-staroe" : "vm-staryh");
- }
-
- if (!res && !vms->newmessages && !vms->oldmessages) {
- lastnum = 0;
- res = ast_play_and_wait(chan, "vm-no");
- }
-
- if (!res) {
- switch (lastnum) {
- case 1:
- res = ast_play_and_wait(chan, "vm-soobshenie");
- break;
- case 2:
- case 3:
- case 4:
- res = ast_play_and_wait(chan, "vm-soobsheniya");
- break;
- default:
- res = ast_play_and_wait(chan, "vm-soobsheniy");
- break;
- }
- }
-
- return res;
-}
-
/* CHINESE (Taiwan) syntax */
static int vm_intro_tw(struct ast_channel *chan, struct vm_state *vms)
{
@@ -7967,77 +7988,6 @@
if (!res)
res = ast_play_and_wait(chan, "vm-messages");
}
- return res;
-}
-
-/* UKRAINIAN syntax */
-/* in ukrainian the syntax is different so we need the following files
- * --------------------------------------------------------
- * /digits/ua/1e 'odne'
- * vm-nove 'nove'
- * vm-stare 'stare'
- */
-static int vm_intro_ua(struct ast_channel *chan,struct vm_state *vms)
-{
- int res;
- int lastnum = 0;
- int dcnum;
-
- res = ast_play_and_wait(chan, "vm-youhave");
- if (!res && vms->newmessages) {
- lastnum = get_lastdigits(vms->newmessages);
- dcnum = vms->newmessages - lastnum;
- if (dcnum)
- res = say_and_wait(chan, dcnum, chan->language);
- if (!res && lastnum) {
- if (lastnum == 1)
- res = ast_play_and_wait(chan, "digits/ua/1e");
- else
- res = say_and_wait(chan, lastnum, chan->language);
[... 7184 lines stripped ...]
More information about the asterisk-commits
mailing list