[asterisk-commits] may: branch may/ooh323_ipv6_direct_rtp r321507 - in /team/may/ooh323_ipv6_dir...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat May 28 04:23:19 CDT 2011
Author: may
Date: Sat May 28 04:23:02 2011
New Revision: 321507
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=321507
Log:
Merged revisions 320013,320040,320058,320060,320178,320181,320238,320340,320446,320505,320561,320579,320606,320651,320717,320772,320820,320825,320884,320946,321003,321043,321045,321101 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r320013 | rmudgett | 2011-05-20 20:20:25 +0400 (Fri, 20 May 2011) | 9 lines
Merged revisions 320007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320007 | rmudgett | 2011-05-20 11:19:01 -0500 (Fri, 20 May 2011) | 2 lines
Change some variable names to make pickup code easier to understand.
........
................
r320040 | jrose | 2011-05-20 20:27:12 +0400 (Fri, 20 May 2011) | 10 lines
Adds STRREPLACE function
Adds a new STRREPLACe function to func_strings.c that allows users to search and replace
against a variable in the dialplan.
(closes issue #18023)
Reported by: wdoekes
Review: https://reviewboard.asterisk.org/r/1219/
................
r320058 | rmudgett | 2011-05-20 20:46:02 +0400 (Fri, 20 May 2011) | 26 lines
Merged revisions 320057 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320057 | rmudgett | 2011-05-20 11:43:02 -0500 (Fri, 20 May 2011) | 19 lines
Crash while transferring a call during DTMF feature timeout.
When a call is being attended transferred during the time between
AST_FRAME_DTMF_BEGIN and AST_FRAME_DTMF_END, the transferred channel
becomes a zombie (so tech data is not available), making ast_dtmf_stream()
segfault when it tries to send the DTMF digit (at least with SIP
channels).
Patch based on feature-end-zombie.patch uploaded by Irontec (license 1256)
* Check for zombies when ast_channel_bridge() returns.
* Guarantee that the fo parameter value is initialized in
ast_channel_bridge() before any returns.
(closes issue #19116)
Reported by: Irontec
Tested by: rmudgett
........
................
r320060 | rmudgett | 2011-05-20 21:04:53 +0400 (Fri, 20 May 2011) | 9 lines
Merged revisions 320059 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320059 | rmudgett | 2011-05-20 12:03:49 -0500 (Fri, 20 May 2011) | 1 line
Misc comment cleanup in features.c.
........
................
r320178 | jrose | 2011-05-20 22:29:59 +0400 (Fri, 20 May 2011) | 22 lines
Merged revisions 320162 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320162 | jrose | 2011-05-20 13:12:21 -0500 (Fri, 20 May 2011) | 15 lines
Fixes an imapfolder related crash
imapfolders being set in the general section of voicemail would cause the inbox folder name to
change. Since sound file names are made based on the names of the folders, this would cause
the audio related to that folder name to change and if Asterisk attempted to play it, the
channel would instantly hang up when the audio file couldn't be found. This patch searches for
the name of the folder first to leave existing behavior in tact and if that fails, it uses
the normal inbox name to get the sound file instead.
(closes issue #16104)
Reported by: blkline
Review: https://reviewboard.asterisk.org/r/1215/
........
................
r320181 | mnicholson | 2011-05-20 22:49:48 +0400 (Fri, 20 May 2011) | 23 lines
Merged revisions 320180 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320180 | mnicholson | 2011-05-20 13:48:46 -0500 (Fri, 20 May 2011) | 16 lines
This commit modifies the way polling is done on TLS sockets.
Because of the buffering the TLS layer does, polling is unreliable. If poll is
called while there is data waiting to be read in the TLS layer but not at the
network layer, the messaging processing engine will not proceed until something
else writes data to the socket, which may not occur. This change modifies the
logic around TLS sockets to only poll after a failed read on a non-blocking
socket. This way we know that there is no data waiting to be read from the
buffering layer.
(closes issue #19182)
Reported by: st
Patches:
ssl-poll-fix3.diff uploaded by mnicholson (license 96)
Tested by: mnicholson
........
................
r320238 | rmudgett | 2011-05-21 00:53:30 +0400 (Sat, 21 May 2011) | 34 lines
Merged revisions 320237 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r320237 | rmudgett | 2011-05-20 15:49:03 -0500 (Fri, 20 May 2011) | 27 lines
Merged revisions 320236 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r320236 | rmudgett | 2011-05-20 15:44:54 -0500 (Fri, 20 May 2011) | 20 lines
Merged revisions 320235 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r320235 | rmudgett | 2011-05-20 15:38:22 -0500 (Fri, 20 May 2011) | 13 lines
The meetme CLI command completion leaves conferences mutex locked.
When issuing a meetme kick CLI command and an invalid (non-existent)
conference number is specified, pressing Tab leaves the conferences mutex
locked and, therefore, all conferences deadlock.
Add missing unlock.
(closes issue #19336)
Reported by: zvision
Patches:
app_meetme.diff uploaded by zvision (license 798)
........
................
................
................
r320340 | dvossel | 2011-05-21 01:40:19 +0400 (Sat, 21 May 2011) | 21 lines
Merged revisions 320338 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r320338 | dvossel | 2011-05-20 16:39:36 -0500 (Fri, 20 May 2011) | 14 lines
Merged revisions 320271 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r320271 | dvossel | 2011-05-20 16:24:48 -0500 (Fri, 20 May 2011) | 8 lines
Fixes issue with ast_tcptls_server_start failing on second attempt to bind.
(closes issue #19289)
Reported by: wdoekes
Patches:
issue19289_delay_old_address_setting_tcptls.patch uploaded by wdoekes (license 717)
........
................
................
r320446 | tilghman | 2011-05-23 03:36:02 +0400 (Mon, 23 May 2011) | 22 lines
Merged revisions 320445 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r320445 | tilghman | 2011-05-22 18:34:57 -0500 (Sun, 22 May 2011) | 15 lines
Merged revisions 320444 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r320444 | tilghman | 2011-05-22 18:25:51 -0500 (Sun, 22 May 2011) | 8 lines
Don't crash when the connection fails.
(closes issue #19250)
Reported by: seadweller
Patches:
20110514__issue19250.diff.txt uploaded by tilghman (license 14)
Tested by: seadweller, sum
........
................
................
r320505 | jrose | 2011-05-23 18:40:59 +0400 (Mon, 23 May 2011) | 17 lines
Merged revisions 320504 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320504 | jrose | 2011-05-23 09:33:20 -0500 (Mon, 23 May 2011) | 10 lines
Fixes segfault occuring in chan_sip.c at __set_address_from_contact
Checks to see if domain contains anything before sending it off to ast_sockaddr_resolve
which is where the segfault was occuring due to null str.
(closes issue #18857)
Reported by: sybasesql
Review: https://reviewboard.asterisk.org/r/1225/
........
................
r320561 | kpfleming | 2011-05-23 19:48:37 +0400 (Mon, 23 May 2011) | 10 lines
Merged revisions 320560 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320560 | kpfleming | 2011-05-23 10:47:14 -0500 (Mon, 23 May 2011) | 4 lines
Don't generate spurious "No: command not found" messages when running the
configure script on a system that has neither gmime-config nor pkg-config.
........
................
r320579 | tilghman | 2011-05-23 20:20:59 +0400 (Mon, 23 May 2011) | 14 lines
Merged revisions 320573 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320573 | tilghman | 2011-05-23 11:19:32 -0500 (Mon, 23 May 2011) | 7 lines
GNU libiconv uses symbol "libiconv_open" instead of "iconv_open".
(closes issue #19344)
Reported by: rohanl
Patches:
iconv-check.patch uploaded by rohanl (license 1284)
........
................
r320606 | dvossel | 2011-05-23 20:28:14 +0400 (Mon, 23 May 2011) | 21 lines
Merged revisions 320568 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r320568 | dvossel | 2011-05-23 11:18:33 -0500 (Mon, 23 May 2011) | 14 lines
Merged revisions 320562 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r320562 | dvossel | 2011-05-23 11:15:18 -0500 (Mon, 23 May 2011) | 9 lines
Adds missing part to the ast_tcptls_server_start fails second attempt to bind patch.
(closes issue #19289)
Reported by: wdoekes
Patches:
issue19289_delay_old_address_setting_tcptls_2.patch uploaded by wdoekes (license 717)
........
................
................
r320651 | rmudgett | 2011-05-23 22:00:02 +0400 (Mon, 23 May 2011) | 23 lines
Merged revisions 320650 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320650 | rmudgett | 2011-05-23 12:53:44 -0500 (Mon, 23 May 2011) | 16 lines
Add ConnectedLineNum/Name headers to output of AMI action Status.
* Add ConnectedLineNum and ConnectedLineName headers to the output of the
AMI action Status. This makes it easier to find out who the channel is
connected to without having to lookup BridgedChannel or when they are
connected to an application (e.g.: VoiceMail) which has no bridged
channel.
* Bridged channels with no CallerID had "" instead of "<unknown>" output,
that might be a bug as "<unknown>" was what older versions used.
(closes issue #18158)
Reported by: gareth
Patches:
svn-292308.diff uploaded by gareth (license 208)
........
................
r320717 | twilson | 2011-05-25 04:52:21 +0400 (Wed, 25 May 2011) | 11 lines
Merged revisions 320716 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320716 | twilson | 2011-05-24 17:49:10 -0700 (Tue, 24 May 2011) | 4 lines
Cast data as char * before using S_OR
This is required for compiling successfully under dev mode
........
................
r320772 | irroot | 2011-05-25 19:43:28 +0400 (Wed, 25 May 2011) | 10 lines
CHANNEL(pickupgroup)
Allow Setting / Reading the pickupgroup of a channel with func_channel.c
(closes issue #19045)
Reported by: irroot
Review: https://reviewboard.asterisk.org/r/1148/
................
r320820 | rmudgett | 2011-05-25 20:50:38 +0400 (Wed, 25 May 2011) | 24 lines
Merged revisions 320796 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320796 | rmudgett | 2011-05-25 11:23:11 -0500 (Wed, 25 May 2011) | 17 lines
Give zombies a safe channel driver to use.
Recent crashes from zombie channels suggests that they need a safe home to
goto. When a masquerade happens, the physical part of the zombie channel
is hungup. The hangup normally sets the channel private pointer to NULL.
If someone then blindly does a callback to the channel driver, a crash is
likely because the private pointer is NULL.
The masquerade now sets the channel technology of zombie channels to the
kill channel driver.
Related to the following issues:
(issue #19116)
(issue #19310)
Review: https://reviewboard.asterisk.org/r/1224/
........
................
r320825 | rmudgett | 2011-05-25 21:14:11 +0400 (Wed, 25 May 2011) | 25 lines
Merged revisions 320823 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320823 | rmudgett | 2011-05-25 12:06:38 -0500 (Wed, 25 May 2011) | 18 lines
The AMI Newstate event contains different information between v1.4 and v1.8.
The addition of connected line support in v1.8 changes the behavior of the
channel caller ID somewhat. The channel caller ID value no longer time
shares with the connected line ID on outgoing call legs. The timing of
some AMI events/responses output the connected line ID as caller ID.
These party ID's are now separate.
* The ConnectedLineNum and ConnectedLineName headers were added to many
AMI events/responses if the CallerIDNum/CallerIDName headers were also
present.
(closes issue #18252)
Reported by: gje
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/1227/
........
................
r320884 | rmudgett | 2011-05-26 02:28:01 +0400 (Thu, 26 May 2011) | 24 lines
Merged revisions 320883 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320883 | rmudgett | 2011-05-25 17:25:18 -0500 (Wed, 25 May 2011) | 17 lines
Native SIP CCSS sends bad CC cancel SUBSCRIBE message.
The SUBSCRIBE message used to cancel a CC request has incorrect To/From
SIP headers. They are reversed and the dialog tags are the same when they
should not be. If pedantic mode was disabled, then the cancel would have
succeeded despite the incorrect message.
* The SIP_OUTGOING flag was not set correctly for the dialog and I had to
move some CC subscribe handling code as a result.
* Initialized the dialog subscribed type to CALL_COMPLETION earlier. If a
CC request SUBSCRIBE message comes in and the CC instance is not found,
the 404 response was duplicated.
JIRA AST-568
JIRA SWP-3493
........
................
r320946 | twilson | 2011-05-26 19:55:22 +0400 (Thu, 26 May 2011) | 16 lines
Use va_copy for stringfields
The ast_string_field_build_va functions were written to take to separate
va_lists to work around FreeBSD 4 not having va_copy defined.
In the end, we don't support anything using gcc < 3 anyway because we use
va_copy all over the place anyway. This patch just simplifies things by
removing the second va_list function arguments in favor of va_copy.
Review: https://reviewboard.asterisk.org/r/1233/
--This line, and those below, will be ignored--
M include/asterisk/stringfields.h
M main/utils.c
M main/channel.c
................
r321003 | russell | 2011-05-26 20:54:06 +0400 (Thu, 26 May 2011) | 9 lines
Merged revisions 320947 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320947 | russell | 2011-05-26 10:57:13 -0500 (Thu, 26 May 2011) | 2 lines
Remove some variables that were set but unused.
........
................
r321043 | twilson | 2011-05-26 21:35:55 +0400 (Thu, 26 May 2011) | 13 lines
Merged revisions 321042 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r321042 | twilson | 2011-05-26 10:29:54 -0700 (Thu, 26 May 2011) | 6 lines
Initialize stack-allocated ast_sockaddrs before use
It is important to always initialize ast_sockaddrs before use--even if they
are passed to ast_sockaddr_copy as the underlying storage could be bigger
than what ends up being copied--leaving part of the data unitialized.
........
................
r321045 | rmudgett | 2011-05-26 22:10:46 +0400 (Thu, 26 May 2011) | 9 lines
Merged revisions 321044 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r321044 | rmudgett | 2011-05-26 13:10:17 -0500 (Thu, 26 May 2011) | 1 line
Update ast_sockaddr comment with an important note.
........
................
r321101 | markm | 2011-05-27 00:16:28 +0400 (Fri, 27 May 2011) | 17 lines
Merged revisions 321100 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r321100 | markm | 2011-05-26 16:09:35 -0400 (Thu, 26 May 2011) | 11 lines
ast_sockaddr_resolve() in netsock2.c may deref a null pointer
Added a null check in netsock2 ast_sockaddr_resolve() as well as added default initalizers in chan_sip parse_uri_legacy_check() to make sure that invalid uris will make null (and not undefined) user,pass,domain,transport variables
(closes issue #19346)
Reported by: kobaz
Patches:
netsock2.patch uploaded by kobaz (license 834)
Tested by: kobaz, Marquis
........
................
Modified:
team/may/ooh323_ipv6_direct_rtp/ (props changed)
team/may/ooh323_ipv6_direct_rtp/CHANGES
team/may/ooh323_ipv6_direct_rtp/UPGRADE-1.8.txt
team/may/ooh323_ipv6_direct_rtp/addons/chan_mobile.c
team/may/ooh323_ipv6_direct_rtp/apps/app_dial.c
team/may/ooh323_ipv6_direct_rtp/apps/app_directed_pickup.c
team/may/ooh323_ipv6_direct_rtp/apps/app_fax.c
team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c
team/may/ooh323_ipv6_direct_rtp/apps/app_queue.c
team/may/ooh323_ipv6_direct_rtp/apps/app_voicemail.c
team/may/ooh323_ipv6_direct_rtp/channels/chan_alsa.c
team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c
team/may/ooh323_ipv6_direct_rtp/configure
team/may/ooh323_ipv6_direct_rtp/configure.ac
team/may/ooh323_ipv6_direct_rtp/funcs/func_channel.c
team/may/ooh323_ipv6_direct_rtp/funcs/func_strings.c
team/may/ooh323_ipv6_direct_rtp/include/asterisk/autoconfig.h.in
team/may/ooh323_ipv6_direct_rtp/include/asterisk/channel.h
team/may/ooh323_ipv6_direct_rtp/include/asterisk/netsock2.h
team/may/ooh323_ipv6_direct_rtp/include/asterisk/stringfields.h
team/may/ooh323_ipv6_direct_rtp/main/channel.c
team/may/ooh323_ipv6_direct_rtp/main/features.c
team/may/ooh323_ipv6_direct_rtp/main/format_cap.c
team/may/ooh323_ipv6_direct_rtp/main/manager.c
team/may/ooh323_ipv6_direct_rtp/main/netsock2.c
team/may/ooh323_ipv6_direct_rtp/main/rtp_engine.c
team/may/ooh323_ipv6_direct_rtp/main/tcptls.c
team/may/ooh323_ipv6_direct_rtp/main/utils.c
team/may/ooh323_ipv6_direct_rtp/res/res_odbc.c
Propchange: team/may/ooh323_ipv6_direct_rtp/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Propchange: team/may/ooh323_ipv6_direct_rtp/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Sat May 28 04:23:02 2011
@@ -1,1 +1,1 @@
-/trunk:1-313143,313191,313280,313367,313383-313481,313483-313744,313781-313906,313908-313943,313945-315447,315453-316213,316216-316520,316552-319000,319024-320000
+/trunk:1-313143,313191,313280,313367,313383-313481,313483-313744,313781-313906,313908-313943,313945-315447,315453-316213,316216-316520,316552-319000,319024-320000,320013-321101
Modified: team/may/ooh323_ipv6_direct_rtp/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/CHANGES?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/CHANGES (original)
+++ team/may/ooh323_ipv6_direct_rtp/CHANGES Sat May 28 04:23:02 2011
@@ -81,6 +81,10 @@
have the rx streams jitterbuffered before conference mixing occurs.
* Added DB_KEYS, which lists the next set of keys in the Asterisk database
hierarchy.
+ * Added STRREPLACE function. This function let's the user search a variable
+ for a given string to replace with another string as many times as the
+ user specifies or just throughout the whole string.
+ * Added option to CHANNEL(pickupgroup) allow reading and setting the pickupgroup of channel.
libpri channel driver (chan_dahdi) DAHDI changes
--------------------------
@@ -563,6 +567,8 @@
* Added a new eventfilter option per user to allow whitelisting and blacklisting
of events.
* Added optional parkinglot variable for park command.
+ * Added ConnectedLineNum and ConnectedLineName headers to AMI events/responses
+ if CallerIDNum and CallerIDName headers are also present.
Channel Event Logging
---------------------
Modified: team/may/ooh323_ipv6_direct_rtp/UPGRADE-1.8.txt
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/UPGRADE-1.8.txt?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/UPGRADE-1.8.txt (original)
+++ team/may/ooh323_ipv6_direct_rtp/UPGRADE-1.8.txt Sat May 28 04:23:02 2011
@@ -132,6 +132,14 @@
* The default value for the pedantic option in sip.conf has been changed
from "no" to "yes".
+
+* The ConnectedLineNum and ConnectedLineName headers were added to many AMI
+ events/responses if the CallerIDNum/CallerIDName headers were also present.
+ The addition of connected line support changes the behavior of the channel
+ caller ID somewhat. The channel caller ID value no longer time shares with
+ the connected line ID on outgoing call legs. The timing of some AMI
+ events/responses output the connected line ID as caller ID. These party ID's
+ are now separate.
From 1.6.1 to 1.6.2:
Modified: team/may/ooh323_ipv6_direct_rtp/addons/chan_mobile.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/chan_mobile.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/chan_mobile.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/chan_mobile.c Sat May 28 04:23:02 2011
@@ -1185,7 +1185,7 @@
int res = AST_DEVICE_INVALID;
struct mbl_pvt *pvt;
- device = ast_strdupa(S_OR(data, ""));
+ device = ast_strdupa(S_OR((char *) data, ""));
ast_debug(1, "Checking device state for device %s\n", device);
Modified: team/may/ooh323_ipv6_direct_rtp/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/apps/app_dial.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/apps/app_dial.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/apps/app_dial.c Sat May 28 04:23:02 2011
@@ -768,12 +768,16 @@
"Destination: %s\r\n"
"CallerIDNum: %s\r\n"
"CallerIDName: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n"
"UniqueID: %s\r\n"
"DestUniqueID: %s\r\n"
"Dialstring: %s\r\n",
src->name, dst->name,
S_COR(src->caller.id.number.valid, src->caller.id.number.str, "<unknown>"),
S_COR(src->caller.id.name.valid, src->caller.id.name.str, "<unknown>"),
+ S_COR(src->connected.id.number.valid, src->connected.id.number.str, "<unknown>"),
+ S_COR(src->connected.id.name.valid, src->connected.id.name.str, "<unknown>"),
src->uniqueid, dst->uniqueid,
dialstring ? dialstring : "");
}
Modified: team/may/ooh323_ipv6_direct_rtp/apps/app_directed_pickup.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/apps/app_directed_pickup.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/apps/app_directed_pickup.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/apps/app_directed_pickup.c Sat May 28 04:23:02 2011
@@ -117,15 +117,15 @@
static int pickup_by_name_cb(void *obj, void *arg, void *data, int flags)
{
- struct ast_channel *chan = obj;
+ struct ast_channel *target = obj;/*!< Potential pickup target */
struct pickup_by_name_args *args = data;
- ast_channel_lock(chan);
- if (!strncasecmp(chan->name, args->name, args->len) && can_pickup(chan)) {
+ ast_channel_lock(target);
+ if (!strncasecmp(target->name, args->name, args->len) && can_pickup(target)) {
/* Return with the channel still locked on purpose */
return CMP_MATCH | CMP_STOP;
}
- ast_channel_unlock(chan);
+ ast_channel_unlock(target);
return 0;
}
@@ -162,7 +162,7 @@
static int pickup_by_channel(struct ast_channel *chan, char *pickup)
{
int res = -1;
- struct ast_channel *target;
+ struct ast_channel *target;/*!< Potential pickup target */
target = my_ast_get_channel_by_name_locked(pickup);
if (target) {
@@ -180,7 +180,7 @@
/* Attempt to pick up specified extension with context */
static int pickup_by_exten(struct ast_channel *chan, const char *exten, const char *context)
{
- struct ast_channel *target = NULL;
+ struct ast_channel *target = NULL;/*!< Potential pickup target */
struct ast_channel_iterator *iter;
int res = -1;
@@ -211,17 +211,17 @@
static int find_by_mark(void *obj, void *arg, void *data, int flags)
{
- struct ast_channel *c = obj;
+ struct ast_channel *target = obj;/*!< Potential pickup target */
const char *mark = data;
const char *tmp;
- ast_channel_lock(c);
- tmp = pbx_builtin_getvar_helper(c, PICKUPMARK);
- if (tmp && !strcasecmp(tmp, mark) && can_pickup(c)) {
+ ast_channel_lock(target);
+ tmp = pbx_builtin_getvar_helper(target, PICKUPMARK);
+ if (tmp && !strcasecmp(tmp, mark) && can_pickup(target)) {
/* Return with the channel still locked on purpose */
return CMP_MATCH | CMP_STOP;
}
- ast_channel_unlock(c);
+ ast_channel_unlock(target);
return 0;
}
@@ -229,7 +229,7 @@
/* Attempt to pick up specified mark */
static int pickup_by_mark(struct ast_channel *chan, const char *mark)
{
- struct ast_channel *target;
+ struct ast_channel *target;/*!< Potential pickup target */
int res = -1;
/* The found channel is already locked. */
@@ -245,22 +245,22 @@
static int find_channel_by_group(void *obj, void *arg, void *data, int flags)
{
- struct ast_channel *chan = obj;
- struct ast_channel *c = data;
-
- ast_channel_lock(chan);
- if (c != chan && (c->pickupgroup & chan->callgroup) && can_pickup(chan)) {
+ struct ast_channel *target = obj;/*!< Potential pickup target */
+ struct ast_channel *chan = data;/*!< Channel wanting to pickup call */
+
+ ast_channel_lock(target);
+ if (chan != target && (chan->pickupgroup & target->callgroup) && can_pickup(target)) {
/* Return with the channel still locked on purpose */
return CMP_MATCH | CMP_STOP;
}
- ast_channel_unlock(chan);
+ ast_channel_unlock(target);
return 0;
}
static int pickup_by_group(struct ast_channel *chan)
{
- struct ast_channel *target;
+ struct ast_channel *target;/*!< Potential pickup target */
int res = -1;
/* The found channel is already locked. */
@@ -310,16 +310,17 @@
/* Find channel for pick up specified by partial channel name */
static int find_by_part(void *obj, void *arg, void *data, int flags)
{
- struct ast_channel *c = obj;
+ struct ast_channel *target = obj;/*!< Potential pickup target */
const char *part = data;
int len = strlen(part);
- ast_channel_lock(c);
- if (len <= strlen(c->name) && !strncmp(c->name, part, len) && can_pickup(c)) {
+ ast_channel_lock(target);
+ if (len <= strlen(target->name) && !strncmp(target->name, part, len)
+ && can_pickup(target)) {
/* Return with the channel still locked on purpose */
return CMP_MATCH | CMP_STOP;
}
- ast_channel_unlock(c);
+ ast_channel_unlock(target);
return 0;
}
@@ -327,7 +328,7 @@
/* Attempt to pick up specified by partial channel name */
static int pickup_by_part(struct ast_channel *chan, const char *part)
{
- struct ast_channel *target;
+ struct ast_channel *target;/*!< Potential pickup target */
int res = -1;
/* The found channel is already locked. */
Modified: team/may/ooh323_ipv6_direct_rtp/apps/app_fax.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/apps/app_fax.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/apps/app_fax.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/apps/app_fax.c Sat May 28 04:23:02 2011
@@ -255,6 +255,9 @@
"Channel: %s\r\n"
"Exten: %s\r\n"
"CallerID: %s\r\n"
+ "CallerIDName: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n"
"RemoteStationID: %s\r\n"
"LocalStationID: %s\r\n"
"PagesTransferred: %d\r\n"
@@ -264,6 +267,9 @@
s->chan->name,
s->chan->exten,
S_COR(s->chan->caller.id.number.valid, s->chan->caller.id.number.str, ""),
+ S_COR(s->chan->caller.id.name.valid, s->chan->caller.id.name.str, ""),
+ S_COR(s->chan->connected.id.number.valid, s->chan->connected.id.number.str, ""),
+ S_COR(s->chan->connected.id.name.valid, s->chan->connected.id.name.str, ""),
far_ident,
local_ident,
pages_transferred,
Modified: team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c Sat May 28 04:23:02 2011
@@ -2756,11 +2756,15 @@
"Meetme: %s\r\n"
"Usernum: %d\r\n"
"CallerIDnum: %s\r\n"
- "CallerIDname: %s\r\n",
+ "CallerIDname: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n",
chan->name, chan->uniqueid, conf->confno,
user->user_no,
S_COR(user->chan->caller.id.number.valid, user->chan->caller.id.number.str, "<unknown>"),
- S_COR(user->chan->caller.id.name.valid, user->chan->caller.id.name.str, "<unknown>")
+ S_COR(user->chan->caller.id.name.valid, user->chan->caller.id.name.str, "<unknown>"),
+ S_COR(user->chan->connected.id.number.valid, user->chan->connected.id.number.str, "<unknown>"),
+ S_COR(user->chan->connected.id.name.valid, user->chan->connected.id.name.str, "<unknown>")
);
sent_event = 1;
}
@@ -3817,11 +3821,15 @@
"Usernum: %d\r\n"
"CallerIDNum: %s\r\n"
"CallerIDName: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n"
"Duration: %ld\r\n",
chan->name, chan->uniqueid, conf->confno,
user->user_no,
S_COR(user->chan->caller.id.number.valid, user->chan->caller.id.number.str, "<unknown>"),
S_COR(user->chan->caller.id.name.valid, user->chan->caller.id.name.str, "<unknown>"),
+ S_COR(user->chan->connected.id.number.valid, user->chan->connected.id.number.str, "<unknown>"),
+ S_COR(user->chan->connected.id.name.valid, user->chan->connected.id.name.str, "<unknown>"),
(long)(now.tv_sec - user->jointime));
}
@@ -4883,6 +4891,8 @@
"UserNumber: %d\r\n"
"CallerIDNum: %s\r\n"
"CallerIDName: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n"
"Channel: %s\r\n"
"Admin: %s\r\n"
"Role: %s\r\n"
@@ -4895,6 +4905,8 @@
user->user_no,
S_COR(user->chan->caller.id.number.valid, user->chan->caller.id.number.str, "<unknown>"),
S_COR(user->chan->caller.id.name.valid, user->chan->caller.id.name.str, "<no name>"),
+ S_COR(user->chan->connected.id.number.valid, user->chan->connected.id.number.str, "<unknown>"),
+ S_COR(user->chan->connected.id.name.valid, user->chan->connected.id.name.str, "<no name>"),
user->chan->name,
ast_test_flag64(&user->userflags, CONFFLAG_ADMIN) ? "Yes" : "No",
ast_test_flag64(&user->userflags, CONFFLAG_MONITOR) ? "Listen only" : ast_test_flag64(&user->userflags, CONFFLAG_TALKER) ? "Talk only" : "Talk and listen",
Modified: team/may/ooh323_ipv6_direct_rtp/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/apps/app_queue.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/apps/app_queue.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/apps/app_queue.c Sat May 28 04:23:02 2011
@@ -2515,10 +2515,20 @@
q->count++;
res = 0;
ast_manager_event(qe->chan, EVENT_FLAG_CALL, "Join",
- "Channel: %s\r\nCallerIDNum: %s\r\nCallerIDName: %s\r\nQueue: %s\r\nPosition: %d\r\nCount: %d\r\nUniqueid: %s\r\n",
+ "Channel: %s\r\n"
+ "CallerIDNum: %s\r\n"
+ "CallerIDName: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n"
+ "Queue: %s\r\n"
+ "Position: %d\r\n"
+ "Count: %d\r\n"
+ "Uniqueid: %s\r\n",
qe->chan->name,
S_COR(qe->chan->caller.id.number.valid, qe->chan->caller.id.number.str, "unknown"),/* XXX somewhere else it is <unknown> */
S_COR(qe->chan->caller.id.name.valid, qe->chan->caller.id.name.str, "unknown"),
+ S_COR(qe->chan->connected.id.number.valid, qe->chan->connected.id.number.str, "unknown"),/* XXX somewhere else it is <unknown> */
+ S_COR(qe->chan->connected.id.name.valid, qe->chan->connected.id.name.str, "unknown"),
q->name, qe->pos, q->count, qe->chan->uniqueid );
ast_debug(1, "Queue '%s' Join, Channel '%s', Position '%d'\n", q->name, qe->chan->name, qe->pos );
}
@@ -3152,6 +3162,8 @@
"DestinationChannel: %s\r\n"
"CallerIDNum: %s\r\n"
"CallerIDName: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n"
"Context: %s\r\n"
"Extension: %s\r\n"
"Priority: %d\r\n"
@@ -3160,6 +3172,8 @@
qe->parent->name, tmp->interface, tmp->member->membername, qe->chan->name, tmp->chan->name,
S_COR(tmp->chan->caller.id.number.valid, tmp->chan->caller.id.number.str, "unknown"),
S_COR(tmp->chan->caller.id.name.valid, tmp->chan->caller.id.name.str, "unknown"),
+ S_COR(tmp->chan->connected.id.number.valid, tmp->chan->connected.id.number.str, "unknown"),
+ S_COR(tmp->chan->connected.id.name.valid, tmp->chan->connected.id.name.str, "unknown"),
qe->chan->context, qe->chan->exten, qe->chan->priority, qe->chan->uniqueid,
qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, sizeof(vars)) : "");
ast_verb(3, "Called %s\n", tmp->interface);
@@ -7247,12 +7261,16 @@
"Uniqueid: %s\r\n"
"CallerIDNum: %s\r\n"
"CallerIDName: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n"
"Wait: %ld\r\n"
"%s"
"\r\n",
q->name, pos++, qe->chan->name, qe->chan->uniqueid,
S_COR(qe->chan->caller.id.number.valid, qe->chan->caller.id.number.str, "unknown"),
S_COR(qe->chan->caller.id.name.valid, qe->chan->caller.id.name.str, "unknown"),
+ S_COR(qe->chan->connected.id.number.valid, qe->chan->connected.id.number.str, "unknown"),
+ S_COR(qe->chan->connected.id.name.valid, qe->chan->connected.id.name.str, "unknown"),
(long) (now - qe->start), idText);
}
}
Modified: team/may/ooh323_ipv6_direct_rtp/apps/app_voicemail.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/apps/app_voicemail.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/apps/app_voicemail.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/apps/app_voicemail.c Sat May 28 04:23:02 2011
@@ -6698,7 +6698,21 @@
if (d)
return d;
snprintf(fn, sizeof(fn), "vm-%s", mbox(NULL, x)); /* Folder name */
- d = vm_play_folder_name(chan, fn);
+
+ /* The inbox folder can have its name changed under certain conditions
+ * so this checks if the sound file exists for the inbox folder name and
+ * if it doesn't, plays the default name instead. */
+ if (x == 0) {
+ if (ast_fileexists(fn, NULL, NULL)) {
+ d = vm_play_folder_name(chan, fn);
+ } else {
+ ast_verb(1, "failed to find %s\n", fn);
+ d = vm_play_folder_name(chan, "vm-INBOX");
+ }
+ } else {
+ d = vm_play_folder_name(chan, fn);
+ }
+
if (d)
return d;
d = ast_waitfordigit(chan, 500);
Modified: team/may/ooh323_ipv6_direct_rtp/channels/chan_alsa.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/channels/chan_alsa.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/channels/chan_alsa.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/channels/chan_alsa.c Sat May 28 04:23:02 2011
@@ -383,7 +383,6 @@
static char sizbuf[8000];
static int sizpos = 0;
int len = sizpos;
- int pos;
int res = 0;
/* size_t frames = 0; */
snd_pcm_state_t state;
@@ -397,7 +396,6 @@
} else {
memcpy(sizbuf + sizpos, f->data.ptr, f->datalen);
len += f->datalen;
- pos = 0;
state = snd_pcm_state(alsa.ocard);
if (state == SND_PCM_STATE_XRUN)
snd_pcm_prepare(alsa.ocard);
Modified: team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c?view=diff&rev=321507&r1=321506&r2=321507
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c Sat May 28 04:23:02 2011
@@ -1923,6 +1923,7 @@
ast_get_ccnr_available_timer(monitor->interface->config_params);
sip_pvt_lock(monitor_instance->subscription_pvt);
+ ast_set_flag(&monitor_instance->subscription_pvt->flags[0], SIP_OUTGOING);
create_addr(monitor_instance->subscription_pvt, monitor_instance->peername, 0, 1, NULL);
ast_sip_ouraddrfor(&monitor_instance->subscription_pvt->sa, &monitor_instance->subscription_pvt->ourip, monitor_instance->subscription_pvt);
monitor_instance->subscription_pvt->subscribed = CALL_COMPLETION;
@@ -2495,7 +2496,7 @@
*/
static void *_sip_tcp_helper_thread(struct sip_pvt *pvt, struct ast_tcptls_session_instance *tcptls_session)
{
- int res, cl, timeout = -1, authenticated = 0, flags;
+ int res, cl, timeout = -1, authenticated = 0, flags, after_poll = 0, need_poll = 1;
time_t start;
struct sip_request req = { 0, } , reqcpy = { 0, };
struct sip_threadinfo *me = NULL;
@@ -2608,6 +2609,7 @@
/* handle the socket event, check for both reads from the socket fd,
* and writes from alert_pipe fd */
if (fds[0].revents) { /* there is data on the socket to be read */
+ after_poll = 1;
fds[0].revents = 0;
@@ -2648,22 +2650,35 @@
timeout = -1;
}
- res = ast_wait_for_input(tcptls_session->fd, timeout);
- if (res < 0) {
- ast_debug(2, "SIP %s server :: ast_wait_for_input returned %d\n", tcptls_session->ssl ? "SSL": "TCP", res);
- goto cleanup;
- } else if (res == 0) {
- /* timeout */
- ast_debug(2, "SIP %s server timed out\n", tcptls_session->ssl ? "SSL": "TCP");
- goto cleanup;
+ /* special polling behavior is required for TLS
+ * sockets because of the buffering done in the
+ * TLS layer */
+ if (!tcptls_session->ssl || need_poll) {
+ need_poll = 0;
+ after_poll = 1;
+ res = ast_wait_for_input(tcptls_session->fd, timeout);
+ if (res < 0) {
+ ast_debug(2, "SIP TCP server :: ast_wait_for_input returned %d\n", res);
+ goto cleanup;
+ } else if (res == 0) {
+ /* timeout */
+ ast_debug(2, "SIP TCP server timed out\n");
+ goto cleanup;
+ }
}
[... 1583 lines stripped ...]
More information about the asterisk-commits
mailing list