Commit Graph

4327 Commits

Author SHA1 Message Date
Joshua Colp
dcad2163df Do not pass audio until the remote side has indicated they are providing early media, or if the channel has been answered.
(closes issue #11823)
Reported by: SDamm


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@112204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-01 17:43:46 +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
Joshua Colp
d2eef8c07e If we are requested to authenticate a reinvite make sure that it contains T38 SDP if need be.
(closes issue #11995)
Reported by: fall


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@111020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 19:04:35 +00:00
Joshua Colp
af904bf602 Make sure that full video frames are sent whenever the 15 bit timestamp rolls over.
(closes issue #11923)
Reported by: mihai
Patches:
      asterisk-fullvideo.patch uploaded by mihai (license 94)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@111014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 18:41:29 +00:00
Jeff Peeler
e510971e20 This one line change makes an if inside a for loop (in realtime_peer) check all the ast_variables the loop was intending to test rather than just the first one.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@110727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-25 20:03:13 +00:00
Mark Michelson
baa405e8c3 When reverting a commit, I accidentally left in this bit which was an experiment
to see what would happen. It passed the compile test, and I didn't notice I had
left this change in too.

So this is a revert of a revert...sort of.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@110635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-25 15:40:33 +00:00
Mark Michelson
6eed7ae503 This is a revert for revision 108288. The reason is that that revision
was not for an actual bug fix per se, and so it really should not have been in 1.4 in
the first place. Plus, people who compile with DO_CRASH are more likely
to encounter a crash due to this change. While I think the usage of DO_CRASH
in ast_sched_del is a bit absurd, this sort of change is beyond the scope of 1.4
and should be done instead in a developer branch based on trunk 
so that all scheduler functions are fixed at once.

I also am reverting the change to trunk and 1.6 since they also suffer from
the DO_CRASH potential.

(closes issue #12272)
Reported by: qq12345



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@110618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-24 19:17:41 +00:00
Russell Bryant
e34ecbfc92 Turn a NOTICE into a DEBUG message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@110614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-24 17:34:56 +00:00
Russell Bryant
e653f8b232 Merged revisions 110335 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r110335 | russell | 2008-03-20 16:53:27 -0500 (Thu, 20 Mar 2008) | 6 lines

Fix some very broken code that was introduced in 1.2.26 as a part of the security
fix.  The dnsmgr is not appropriate here.  The dnsmgr takes a pointer to an address
structure that a background thread continuously updates.  However, in these cases,
a stack variable was passed.  That means that the dnsmgr thread would be continuously
writing to bogus memory.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@110336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-20 21:54:58 +00:00
Mark Michelson
87e9daf7d7 Make sure an agent doesn't try to send dtmf to a NULL channel
closes issue #12242
Reported by Yourname



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@109575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 17:58:11 +00:00
Jason Parker
7f7e7d27e4 Merged revisions 109391 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r109391 | qwell | 2008-03-18 10:08:41 -0500 (Tue, 18 Mar 2008) | 3 lines

Do not return with a successful authentication if the From header ends up empty.
(AST-2008-003)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@109393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:10:16 +00:00
Joshua Colp
5fda7910c6 Put a maximum limit on the number of payloads accepted, and also make sure a given payload does not exceed our maximum value.
(AST-2008-002)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@109386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 14:58:39 +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
8bb334e308 200 OKs in response to a reinvite need to be sent reliably. If the remote side does not receive one the dialog will be torn down.
(closes issue #12208)
Reported by: atrash


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@109107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-17 16:24:29 +00:00
Russell Bryant
0ddb8b4a7d Fix a channel name issue. chan_oss registers the "Console" channel type,
but it created channels with an "OSS" prefix.

(closes issue #12194, reported by davidw, patched by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@108796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-14 20:09:22 +00:00
Mark Michelson
e0194ffaa7 Fix a race condition in the SIP packet scheduler which could cause a crash.
chan_sip uses the scheduler API in order to schedule retransmission of reliable
packets (such as INVITES). If a retransmission of a packet is occurring, then the
packet is removed from the scheduler and retrans_pkt is called. Meanwhile, if
a response is received from the packet as previously transmitted, then when we 
ACK the response, we will remove the packet from the scheduler and free the packet.

The problem is that both the ACK function and retrans_pkt attempt to acquire the
same lock at the beginning of the function call. This means that if the ACK function
acquires the lock first, then it will free the packet which retrans_pkt is about to
read from and write to. The result is a crash.

The solution:

1. If the ACK function fails to remove the packet from the scheduler and the retransmit
   id of the packet is not -1 (meaning that we have not reached the maximum number of 
   retransmissions) then release the lock and yield so that retrans_pkt may acquire the
   lock and operate.

2. Make absolutely certain that the ACK function does not recursively lock the lock in
   question. If it does, then releasing the lock will do no good, since retrans_pkt will
   still be unable to acquire the lock.

(closes issue #12098)
Reported by: wegbert
(closes issue #12089)
Reported by: PTorres
Patches:
      12098-putnopvutv3.patch uploaded by putnopvut (license 60)
Tested by: jvandal



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@108737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-14 16:44:08 +00:00
Russell Bryant
a10f524dfb Make a tweak that gets the LEDs on polycom phones to blink when an extension that
has been subscribed to goes on hold.  Otherwise, they just stay on like it does
when an extension is in use.

(closes issue #11263)
Reported by: russell
Patches:
      notify_hold.rev1.txt uploaded by russell (license 2)
Tested by: russell


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@108530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-13 21:06:33 +00:00
Mark Michelson
9ff74a2b0a Change AST_SCHED_DEL use to ast_sched_del for autocongestion in chan_sip.
The scheduler callback will always return 0. This means that this id 
is never rescheduled, so it makes no sense to loop trying to delete
the id from the scheduler queue. If we fail to remove the item from the
queue once, it will fail every single time.

(Yes I realize that in this case, the macro would exit early because the
id is set to -1 in the callback, but it still makes no sense to use
that macro in favor of calling ast_sched_del once and being done with it)

This is the first of potentially several such fixes.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@108288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 21:53:46 +00:00
Kevin P. Fleming
988e55c13f if we receive an INVITE with a Content-Length that is not a valid number, or is zero, then don't process the rest of the message body looking for an SDP
closes issue #11475
Reported by: andrebarbosa



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@108086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-12 19:16:07 +00:00
Jason Parker
ea47c2d0b7 Copy voicemail dependency logic for res_adsi to chan_gtalk (for jabber).
(closes issue #12014)
Reported by: junky


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@107714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 20:49:56 +00:00
Kevin P. Fleming
d6b2cb9efb get chan_vpb to build properly in dev mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@107713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 20:48:58 +00:00
Kevin P. Fleming
428a560d33 fix various other problems found by gcc 4.3
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@107464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 14:53:03 +00:00
Terry Wilson
28423c15fc If we fail to alloc a channel, we should re-lock the pvt structure before returning.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@107290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 00:59:18 +00:00
Jason Parker
be8690e9a8 Make sure to reenable echo can after a "failed" (canceled, etc) three-way call.
(closes issue #11335)
Reported by: rebuild


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@107173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-10 20:27:08 +00:00
Kevin P. Fleming
57eaf9dd8f don't generate D-Channel "up" and "down" messages unless the channel state is actually changing; also, generate the "up" message when an implicit "up" occurs due to reception of a normal event when we thought the channel was "down"
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@106945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-08 15:59:42 +00:00
Tilghman Lesher
56e908b787 Safely use the strncat() function.
(closes issue #11958)
 Reported by: norman
 Patches: 
       20080209__bug11958.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@106552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 06:36:33 +00:00
Russell Bryant
9479a831f0 Fix a potential deadlock and a few different potential crashes.
(closes issue #12145, reported by thiagarcia, patched by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@106237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 22:37:09 +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
Kevin P. Fleming
461e3fea79 when a PRI call must be moved to a different B channel at the request of the other endpoint, ensure that any DSP active on the original channel is moved to the new one
(closes issue #11917)
Reported by: mavetju
Tested by: mavetju



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@106038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 15:32:35 +00:00
Tilghman Lesher
b350a97937 Correctly initialize retransid in SIP, and ensure that the warning when failing to delete a schedule entry can actually hit the log.
(closes issue #12140)
 Reported by: slavon
 Patches: 
       sch2.patch uploaded by slavon (license 288)
(Patch slightly modified by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@106015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 15:17:16 +00:00
Joshua Colp
36bb1f9d46 When a new source of audio comes in (such as music on hold) make sure the marker bit gets set.
(closes issue #10355)
Reported by: wdecarne
Patches:
      10355.diff uploaded by file (license 11)
(closes issue #11491)
Reported by: kanderson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@105674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 18:05:28 +00:00
Russell Bryant
7f7dbcb11f In the case of an ast_channel allocation failure, take the local_pvt out of the
pvt list before destroying it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@105570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03 17:16:53 +00:00
Russell Bryant
b3c0e042d4 Fix a potential memory leak of the local_pvt struct when ast_channel allocation
fails.  Also, in passing, centralize the code necessary to destroy a local_pvt.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@105568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03 17:05:16 +00:00
Joshua Colp
70d43ff1d2 Add a comment to describe some logic.
(closes issue #12120)
Reported by: flefoll
Patches:
      chan_sip.c.br14.patch-just-a-comment uploaded by flefoll (license 244)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@105557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03 15:15:39 +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
Russell Bryant
54eaddd028 When we receive a known alarm, make sure that the unknown alarm flag is not still
set to make sure that when we come back out of alarm, it gets reported in the log
and manager interface (after discussion with tzafrir on the -dev list)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-27 16:45:00 +00:00
Russell Bryant
37f0ad57a7 Zaptel 1.4 now exposes FXO battery state as an alarm. However, Asterisk 1.4
does not know what to do with these alarms.  Only Asterisk 1.6 cares about it.
So, if we get an unknown alarm in chan_zap, don't generate confusing log messages
about it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-27 00:54:29 +00:00
Russell Bryant
bc56a84c58 Merge changes from team/russell/smdi-1.4
This commit brings in a significant set of changes to the SMDI support in Asterisk.
There were a number of bugs in the current implementation, most notably being that
it was very likely on busy systems to pop off the wrong message from the SMDI message
queue.  So, this set of changes fixes the issues discovered as well as introducing
some new ways to use the SMDI support which are required to avoid the bugs with
grabbing the wrong message off of the queue.

This code introduces a new interface to SMDI, with two dialplan functions.  First,
you get an SMDI message in the dialplan using SMDI_MSG_RETRIEVE() and then you access
details in the message using the SMDI_MSG() function.  A side benefit of this is that
it now supports more than just chan_zap.

For example, with this implementation, you can have some FXO lines being terminated 
on a SIP gateway, but the SMDI link in Asterisk.

Another issue with the current implementation is that it is quite common that the
station ID that comes in on the SMDI link is not necessarily the same as the Asterisk
voicemail box.  There are now additional directives in the smdi.conf configuration
file which let you map SMDI station IDs to Asterisk voicemail boxes.

Yet another issue with the current SMDI support was related to MWI reporting over
the SMDI link.  The current code could only report a MWI change when the change
was made by someone calling into voicemail.  If the change was made by some other
entity (such as with IMAP storage, or with a web interface of some kind), then the
MWI change would never be sent.  The SMDI module can now poll for MWI changes if
configured to do so.

This work was inspired by and primarily done for the University of Pennsylvania.

(also related to issue #9260)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-26 00:25:29 +00:00
Jason Parker
aba8d8d763 IPTOS_MINCOST is not defined on Solaris.
(closes issue #12050)
Reported by: asgaroth
Patches:
      12050.patch uploaded by putnopvut (license 60)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-26 00:03:30 +00:00
Joshua Colp
e6652d0a13 Make it so a users.conf user creates both a SIP peer and a SIP user. The user will be used for inbound authentication for the device, and peer will be used for placing calls to the device.
(closes issue #9044)
Reported by: queuetue
Patches:
      sip-gui-friend.diff uploaded by qwell (license 4)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-25 21:37:20 +00:00
Russell Bryant
c27732c38c Ensure that the channel doesn't disappear in agent_logoff(). If it does, it
could cause a crash.
(fixes the crash reported in BE-396)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-25 18:38:10 +00:00
Joshua Colp
9b32204204 If a resubscription comes in for a dialog we no longer know about tell the remote side that the dialog does not exist so they subscribe again using a new dialog.
(closes issue #10727)
Reported by: s0l4rb03
Patches:
      10727-2.diff uploaded by file (license 11)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-25 16:16:13 +00:00
Joshua Colp
2395b1a6f5 Due to recent changes tag will no longer be NULL if not present so we have to use ast_strlen_zero to see if it's actually blank.
(closes issue #12061)
Reported by: flefoll
Patches:
      chan_sip.c.br14.patch_pedantic_no_totag uploaded by flefoll (license 244)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-25 15:17:18 +00:00
Tilghman Lesher
638ca62698 Backwards debug message.
(closes issue #12052)
 Reported by: flefoll
 Patches: 
       chan_sip.c.br14.patch_found-notfound uploaded by flefoll (license 244)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-22 22:45:14 +00:00
Mark Michelson
2d8f502132 And as a followup to revision 104026, completely remove event-related
calls from a section of code where we know there was no event to handle or get.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-21 21:05:42 +00:00
Mark Michelson
b3dd064bcb Remove an incorrect debug message. It reported that it had received a specific event and tried to report
which event was received. What actually was happening was that it was reporting the number of bytes returned
from a call to read().

Thanks to Jared Smith for bringing the issue up on IRC



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-21 20:12:38 +00:00
Joshua Colp
11edc2ab8d Don't wait for additional digits when overlap dialing is enabled if the setup message contains the sending_complete information element.
(closes issue #11785)
Reported by: klaus3000
Patches:
      sending_complete_overlap_asterisk-1.4.17.patch.txt uploaded by klaus3000 (license 65)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@103953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-20 22:06:59 +00:00
Mark Michelson
6835ca7d03 Fix a crash if the channel becomes NULL while attempting to lock it.
(closes issue #12039)
Reported by: danpwi



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@103904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-20 21:40:08 +00:00
Joshua Colp
749f1e1963 Send CallerID Name in setup message.
(closes issue #11241)
Reported by: tusar
Patches:
      h323id_as_callerid_name.patch uploaded by tusar (license 344)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@103823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-19 20:28:08 +00:00
Russell Bryant
8c9a6024d9 Account for the fact that the "other" channel can disappear while the local pvt
is not locked.

(fixes a problem introduced in rev 100581)
(closes issue #12012)
Reported by: stevedavies
Patch by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@103821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-19 20:02:49 +00:00