Commit Graph

208 Commits

Author SHA1 Message Date
Tilghman Lesher
63cc189747 AST-2009-005
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@211528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-10 19:15:57 +00:00
Jeff Peeler
fc5db2b241 Fix compiling under dev-mode with gcc 4.4.0.
Mostly trivial changes, but I did not know of any other way to fix the
"dereferencing type-punned pointer will break strict-aliasing rules" error
without creating a tmp variable in chan_skinny.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-25 06:19:50 +00:00
Russell Bryant
6efa254bea Fix cases where the internal poll() was not being used when it needed to be.
We have seen a number of problems caused by poll() not working properly on 
Mac OSX.  If you search around, you'll find a number of references to using 
select() instead of poll() to work around these issues.  In Asterisk, we've 
had poll.c which implements poll() using select() internally.  However, we 
were still getting reports of problems.

vadim investigated a bit and realized that at least on his system, even 
though we were compiling in poll.o, the system poll() was still being used.  
So, the primary purpose of this patch is to ensure that we're using the 
internal poll() when we want it to be used.

The changes are:

1) Remove logic for when internal poll should be used from the Makefile.  
   Instead, put it in the configure script.  The logic in the configure 
   script is the same as it was in the Makefile.  Ideally, we would have 
   a functionality test for the problem, but that's not actually possible, 
   since we would have to be able to run an application on the _target_ 
   system to test poll() behavior.

2) Always include poll.o in the build, but it will be empty if AST_POLL_COMPAT
   is not defined.

3) Change uses of poll() throughout the source tree to ast_poll().  I feel 
   that it is good practice to give the API call a new name when we are 
   changing its behavior and not using the system version directly in all cases.
   So, normally, ast_poll() is just redefined to poll().  On systems where 
   AST_POLL_COMPAT is defined, ast_poll() is redefined to ast_internal_poll().

4) Change poll() in main/poll.c to be ast_internal_poll().

It's worth noting that any code that still uses poll() directly will work fine 
(if they worked fine before).  So, for example, out of tree modules that are 
using poll() will not stop working or anything.  However, for modules to work 
properly on Mac OSX, ast_poll() needs to be used.

(closes issue #13404)
Reported by: agalbraith
Tested by: russell, vadim

http://reviewboard.digium.com/r/198/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@182810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 02:09:13 +00:00
Kevin P. Fleming
add5ff5b05 fix a bunch of potential problems found by gcc 4.3.x, primarily bare strings being passed to printf()-like functions and ignored results from read()/write() and friends
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@153337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-01 18:22:39 +00:00
Mark Michelson
b48adf96dc Since adding the AST_CONTROL_SRCUPDATE frame type,
there are places where ast_rtp_new_source may be called
where the tech_pvt of a channel may not yet have an
rtp structure allocated. This caused a crash in chan_skinny,
which was fixed earlier, but now the same crash has been 
reported against chan_h323 as well. It seems that the best 
solution is to modify ast_rtp_new_source to not attempt to 
set the marker bit if the rtp structure passed in is NULL.

This change to ast_rtp_new_source also allows the removal
of what is now a redundant pointer check from chan_skinny.

(closes issue #13247)
Reported by: pj



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@136062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 15:58:40 +00:00
Michiel van Baak
3f2b34e888 fix some potential deadlocks in chan_skinny
(closes issue #13215)
Reported by: qwell
Patches:
      2008080100_bug13215.diff.txt uploaded by mvanbaak (license 7)
Tested by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@135055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-01 10:55:27 +00:00
Tilghman Lesher
cc09f7c8ef Port "hasvoicemail" change from SIP to other channel drivers
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@123113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 19:50:12 +00:00
Joshua Colp
53061c109f Check to make sure an RTP structure exists before calling ast_rtp_new_source on it.
(closes issue #12669)
Reported by: sbisker


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@116799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-16 20:28:11 +00:00
Jason Parker
55f577bc29 Add a little more that is required for previously added devices.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@113504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-08 18:48:55 +00:00
Jason Parker
40ff61ff52 Add support for several new(ish) devices - most notably, 7942/7945, 7962/7965, 7975.
Thanks to Greg Oliver for providing me the required information.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@113454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-08 18:07:49 +00:00
Jason Parker
4c046cd2b7 Allow playback with noanswer (and add earlyrtp option).
(closes issue #9077)
Reported by: pj
Patches:
      earlyrtp.diff uploaded by wedhorn (license 30)
Tested by: pj, qwell, DEA, wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@113118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-07 18:00:09 +00:00
Jason Parker
8f6e8e6711 Remove unimplemented softkeys. Prompted by issue #12325.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@111720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-28 17:55:05 +00:00
Michiel van Baak
4f2c87c1d1 Update the directory of placed calls on skinny phones
when dialing a channel that does not provide progress (analog ZAP lines)                                                                                                                                          
                                                                                                                                                                                                                  
The phone does handle the double update on calls to channels that do                                                                                                                                              
provide progress and wont insert duplicate items                                                                                                                                                                  
                                                                                                                                                                                                                  
(closes issue #12239)                                                                                                                                                                                             
Reported by: DEA                                                                                                                                                                                                  
Patches:                                                                                                                                                                                                          
      chan_skinny-call-log.txt uploaded by DEA (license 3)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@109171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-17 17:55:06 +00:00
Joshua Colp
cd703523db Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things.
(closes issue #12148)
Reported by: jcomellas


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@106235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 22:32:10 +00:00
Jason Parker
70a45ef5b1 According to a video at www.cisco.com, the 7921G supports 6 line appearances.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-28 04:31:21 +00:00
Jason Parker
ff5ffd02cf FreeBSD also does not have byte swap functions.
Issue 11586, patch by sobomax.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@93764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 22:42:41 +00:00
Joshua Colp
9a35428295 (closes issue #10437)
Reported by: haklin
Don't set the callerid name and number a second time on a newly created channel. ast_channel_alloc itself already sets it and setting it twice would cause a memory leak.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-13 14:18:04 +00:00
Jason Parker
1b58e7a828 Properly check the capabilities count to avoid a segfault.
(ASA-2007-019)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-07 18:25:15 +00:00
Jason Parker
6caf638f90 Make sure we actually allow 6 chars to be sent.
Also make note of the "A" option of date format.

Issue 9779, modifications by DEA, wedhorn, and myself.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-02 21:53:39 +00:00
Jason Parker
eb63c3eece If a device disconnects, the session will go away.
If this happens during call setup, we need to give up.

Issue 10325.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-02 20:22:40 +00:00
Jason Parker
4386df68d9 Make sure we clear the prompt status message on a hangup.
Also rearrange messages to better fit with what a wireshark trace shows it should be.

Issue 10299, initial patch and solution by sbisker, modified by me to fit with wireshark trace.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-02 18:42:36 +00:00
Jason Parker
e3bf324023 Make sure that we show the correct extension if dialed from a macro
"From: 5555" rather than "From: s"

Issue 10358, initial patch by DEA, reworked by me to use S_OR, tested by sbisker


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-02 15:15:45 +00:00
Jason Parker
db137aca0f Put in some additional debug information for softkey/stimulus messages.
Issue 10291, patch by DEA.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 22:28:56 +00:00
Jason Parker
d44d0a9a8c Fix an issue that caused one-way audio on some newer devices (specifically the 7921),
due to sending packets in the wrong order during hangup.

Also make sure we clear tones/messages on the correct line/instance.

Issue 10291, patch by DEA, tested by sbisker and myself.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 21:08:42 +00:00
Jason Parker
c92ba70e75 Fix some incorrect softkey labels in messages.
Don't try to play dialtone in some unimplemented features.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 18:59:28 +00:00
Jason Parker
b0040e0361 Don't try to queue up hold/unhold frames on a non-existent channel.
Issue 10276.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 17:57:53 +00:00
Joshua Colp
bd0608a38f (closes issue #10268)
Reported by: mvanbaak
Patches:
      chan_skinny_openbsd.diff uploaded by mvanbaak (license 7)
Add another OS that has to use the Macros for byte ordering.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 13:23:09 +00:00
Jason Parker
d0baa5500e Allow getting a call from an existing "sub" channel.
Cancel ringing if endpoint hangs up before answering.

Fixes were backported from trunk (there was apparently a bit of confusion during merge of a previous patch).
(closes issue #10241)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20 21:03:57 +00:00
Jason Parker
73452d34a1 It's possible for sub->owner to be NULL here if you cancel the call immediately after/during sending a digit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20 20:32:55 +00:00
Jason Parker
6fde7764dc Remove some duplicate code.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19 20:36:06 +00:00
Jason Parker
c6a174bd96 Need to make sure we set milliseconds and timestamp - pointed out by the recent ast_ time stuff from Tilghman
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 22:59:18 +00:00
Jason Parker
48138cca9d Umm, why are we transmitting dialtone on cfwdall?
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 20:17:27 +00:00
Jason Parker
7d9778c9f8 Fixes for 7935/7936 conference phones.
Issue 9245, patch by slimey.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:54:32 +00:00
Jason Parker
2e7fe12cfb Fix issues with new 79x1 phones.
Issue 9887, patches by DEA


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:48:12 +00:00
Russell Bryant
c6e2a119b7 Merged revisions 75449 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75449 | russell | 2007-07-17 15:57:09 -0500 (Tue, 17 Jul 2007) | 3 lines

Properly check for the length in the skinny packet to prevent an invalid memcpy.
(ASA-2007-016)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:57:56 +00:00
Jason Parker
f642f7fc86 It helps if I actually add this stuff for the 7921 too - otherwise it won't actually do much of anything.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 16:53:35 +00:00
Jason Parker
d6ff30694e Add device ID for 7921 wireless skinny phone
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 16:48:49 +00:00
Jason Parker
abf5430584 Fix dialing in skinny that was broken in some cases.
Issue 10136, fix provided by DEA.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 16:16:59 +00:00
Joshua Colp
94cd7026ef Only destroy the scheduler context if it was allocated. (issue #10124 reported by gzero)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09 15:32:43 +00:00
Joshua Colp
ce4e654f2c Few minor thread synchronization tweaks. (issue #10124 reported by gzero)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09 14:49:05 +00:00
Jason Parker
60bf4f35c6 Make sure we clear the previously dialed number if it did not exist.
Issue 9958.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@70494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-20 20:53:16 +00:00
Jason Parker
51f1d28d2d Fix an issue with newer phones which require packets be padded out to the correct length.
Issue 9887, patch by DEA.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@68249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-07 20:25:18 +00:00
Jason Parker
4a7ae2ebde Correctly update date/time on devices throughout the life of the device, instead of just at registration.
Issue 9152, yet another patch by DEA.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 18:18:24 +00:00
Jason Parker
0b7607ad55 Fix for skinny keepalives.
If there is no traffic from the phone for (keep_alive * 1100) ms (arbitrarily
 adding 10% for network issues, etc),  unregister the device.

Issue 8394, patch by DEA.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-04 23:26:28 +00:00
Russell Bryant
0ecb2ecf42 Changes to the way DTMF is handled in the core broke dialing in chan_skinny.
This patch makes chan_skinny usable again.  I did not end up testing this,
but there are multiple positive test reports listed in the bug report.
(issue #9596, reported by pj, testing by pj and mvanbaak, and the fix was
 written by DEA)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@66881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-01 19:41:30 +00:00
Steve Murphy
7d5a79a0b9 This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-09 18:32:07 +00:00
Russell Bryant
905238839b Return an error of transmit_response is called without a session.
(issue #9002)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-06 18:01:20 +00:00
Jason Parker
a9e4e0eefa Make sure to set a speeddials parent on creation.
Don't crash if hold is pressed when no call is active.
Don't return in places that we shouldn't..


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@56569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-24 02:02:53 +00:00
Jason Parker
0ade592435 Fix an issue where callerid would not be displayed on some phones.
Issue 8995, initial patch and research done by wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-17 17:10:09 +00:00
Russell Bryant
9aab046002 Merged revisions 53045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53045 | russell | 2007-01-31 15:25:11 -0600 (Wed, 31 Jan 2007) | 3 lines

Fix a bunch of places where pthread_attr_init() was called, but
pthread_attr_destroy() was not.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-31 21:32:08 +00:00