Commit Graph

13786 Commits

Author SHA1 Message Date
Jeff Peeler
594a236e12 Only set the priindication setting when not performing a reload
(closes issue #14696)
Reported by: fdecher



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 19:19:53 +00:00
Mark Michelson
94bc859e81 Remove inaccurate XXX comment.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 16:29:18 +00:00
Mark Michelson
eb5f3170fc Properly handle 183 responses which do not contain an SDP.
(closes issue #15442)
Reported by: ffloimair
Patches:
      15442.patch uploaded by mmichelson (license 60)
Tested by: tkarl, ffloimair


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 15:43:07 +00:00
Tilghman Lesher
98dcd8946e Export symbols for functions included in our compatibility headers.
(closes issue #15556)
 Reported by: smw1218


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-22 20:23:53 +00:00
Tilghman Lesher
5dbbf21212 Force an error if a blank is passed to QUOTE (because the documentation states the argument is not optional).
This change makes URIENCODE and QUOTE behave similarly, since the documentation
states that the argument is not optional, for both.
(closes issue #15439)
 Reported by: pkempgen
 Patches: 
       20090706__issue15439.diff.txt uploaded by tilghman (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-21 22:38:54 +00:00
Jeff Peeler
e07afa4876 Wait for wink before dialing when using E&M wink signaling
There was already code for other signaling types in dahdi_handle_event to
handle dialing if a dial operation dial string was present. Simply add
SIG_EMWINK to the list.

(closes issue #14434)
Reported by: araasch


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-21 20:16:55 +00:00
Jeff Peeler
dca651b85d Revert r207573, this approach could potentially block for an unacceptable
amount of time.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-21 17:15:48 +00:00
Mark Michelson
e0827ae778 Document default timeout for AMI originations.
AST-224



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-21 14:26:00 +00:00
Kevin P. Fleming
75f1eaf2a1 Ensure that user-provided CFLAGS and LDFLAGS are honored.
This commit changes the build system so that user-provided flags (in ASTCFLAGS
and ASTLDFLAGS) are supplied to the compiler/linker *after* all flags provided
by the build system itself, so that the user can effectively override the
build system's flags if desired. In addition, ASTCFLAGS and ASTLDFLAGS can now
be provided *either* in the environment before running 'make', or as variable
assignments on the 'make' command line. As a result, the use of COPTS and LDOPTS
is no longer necessary, so they are no longer documented, but are still supported
so as not to break existing build systems that supply them when building Asterisk.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-21 13:04:44 +00:00
Jeff Peeler
8b940dbeb7 Wait for wink before dialing when using E&M wink signaling
This patch adds a new dahdi_wait function to specifically wait for the wink
event. If the wink is not eventually received the channel is hung up. 

(closes issue #14434)
Reported by: araasch
Patches:
      emwinkmod uploaded by araasch (license 693)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-20 23:23:18 +00:00
Mark Michelson
423a444c0b Answer video SDP offers properly when videosupport is not enabled.
Copied from Review board:

In issue 12434, the reporter describes a situation in which audio and video 
is offered on the call, but because videosupport is disabled in sip.conf, 
Asterisk gives no response at all to the video offer. According to RFC 3264, 
all media offers should have a corresponding answer. For offers we do not 
intend to actually reply to with meaningful values, we should still reply 
with the port for the media stream set to 0.

In this patch, we take note of what types of media have been offered and 
save the information on the sip_pvt. The SDP in the response will take into 
account whether media was offered. If we are not otherwise going to answer 
a media offer, we will insert an appropriate m= line with the port set to 0.

It is important to note that this patch is pretty much a bandage being 
applied to a broken bone. The patch *only* helps for situations where video 
is offered but videosupport is disabled and when udptl_pt is disabled but 
T.38 is offered. Asterisk is not guaranteed to respond to every media offer. 
Notable cases are when multiple streams of the same type are offered. 
The 2 media stream limit is still present with this patch, too.

In trunk and the 1.6.X branches, things will be a bit different since Asterisk 
also supports text in SDPs as well.

(closes issue #12434)
Reported by: mnnojd

Review: https://reviewboard.asterisk.org/r/311
Review: https://reviewboard.asterisk.org/r/313



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-20 19:39:59 +00:00
Russell Bryant
8b67a33369 Only do the chan->fdno check in ast_read() in a developer build.
I changed this check to only happen in a dev-mode build.  I also added a
comment explaining what is going on.  I also made it so that detection of
this situation does not affect ast_read() operation.

(closes issue #14723)
Reported by: seadweller


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-20 16:26:24 +00:00
Jeff Peeler
d162e4b055 Fix format specifier to print out an unsigned long long.
Yep, it's even ifdefed out code. But it made it to the RR list...

(closes issue #14726)
Reported by: lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-17 19:36:19 +00:00
Jeff Peeler
1e30dcf61c Enhance configuration option for overlapdial allowing direction choice
Previously overlap dialing could only be turned on or off for both incoming and
outgoing calls. New parameters incoming, outgoing, and both have been added to
allow further control. There is no change in default behavior with these new
options and allows in band DTMF to be accepted in one direction if required.

(closes issue #14471)
Reported by: eboscani



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-17 19:13:27 +00:00
David Vossel
98a6820737 sip option flags handled incorrectly
(issue #15376)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@207033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-17 18:00:38 +00:00
David Vossel
7c82de7d7e SIP incorrect From: header information when callpres is prohib
Some ITSP make use of the "Anonymous" display name to detect a
requirement to withhold caller id across the PSTN. This does
not work if the display name is "Unknown".

(closes issue #14465)
Reported by: Nick_Lewis
Patches:
      chan_sip.c-callerpres.patch uploaded by Nick (license 657)
      chan_sip.c-callerpres_trunk.patch uploaded by dvossel (license 671)
Tested by: Nick_Lewis, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-17 16:05:06 +00:00
David Vossel
5510a1c74e error in iax.conf related IP-based access control
(closes issue #15518)
Reported by: pkempgen



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-16 21:33:19 +00:00
David Vossel
b1fe655954 avoid segfault caused by user error
If the CALLERPRES() dialplan function is set to nothing,
a segfault occurs.  This is user error to begin with, but
I'd rather see a cli warning message than have Asterisk
crash on me.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-16 21:24:16 +00:00
Tilghman Lesher
ed177d72d4 Fix a memory leak.
(closes issue #15517)
 Reported by: adomjan
 Patches: 
       func_realtime.c-ast_variable_destroy.diff uploaded by adomjan (license 487)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-16 16:27:35 +00:00
Richard Mudgett
7782df0963 Merged revision 206700 from
https://origsvn.digium.com/svn/asterisk/be/branches/C.2-...

..........
  Fixed chan_misdn crash because mISDNuser library is not thread safe.

  With Asterisk the mISDNuser library is driven by two threads concurrently:
  1. channels/misdn/isdn_lib.c::manager_event_handler()
  2. channels/misdn/isdn_lib.c::misdn_lib_isdn_event_catcher()

  Calls into the library are done concurrently and recursively from
  isdn_lib.c.

  Both threads can fiddle with the master/child layer3_proc_t lists.  One
  thread may traverse the list when the other interrupts it and then removes
  the list element which the first thread was currently handling.  This is
  exactly what caused the crash.  About 60 calls were needed to a Gigaset
  CX475 before it occurred once.

  This patch adds locking when calling into the mISDNuser library.
  This also fixes some cb_log calls with wrong port parameter.

  JIRA ABE-1913
      Patches: misdn-locking.patch (Modified with mostly cosmetic changes)
..........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-15 20:44:55 +00:00
Sean Bright
455ccbae20 Only print debug info in codec_dahdi if we are asking for it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-15 15:57:51 +00:00
Richard Mudgett
6db6a73b8d Fixes several call transfer issues with chan_misdn.
*  issue #14355 - Crash if attempt to transfer a call to an application.
Masquerade the other pair of the four asterisk channels involved in the
two calls.  The held call already must be a bridged call (not an
applicaton) or it would have been rejected.

*  issue #14692 - Held calls are not automatically cleared after transfer.
Allow the core to initate disconnect of held calls to the ISDN port.  This
also fixes a similar case where the party on hold hangs up before being
transferred or taken off hold.

*  JIRA ABE-1903 - Orphaned held calls left in music-on-hold.
Do not simply block passing the hangup event on held calls to asterisk
core.

*  Fixed to allow held calls to be transferred to ringing calls.
Previously, held calls could only be transferred to connected calls.
*  Eliminated unused call states to simplify hangup code.
*  Eliminated most uses of "holded" because it is not a word.

(closes issue #14355)
(closes issue #14692)
Reported by: sodom
Patches:
      misdn_xfer_v14_r205839.patch uploaded by rmudgett (license 664)
Tested by: rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-14 16:44:47 +00:00
Russell Bryant
8d5516a153 Merged revisions 206384 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
  r206384 | russell | 2009-07-14 09:45:47 -0500 (Tue, 14 Jul 2009) | 6 lines
  
  Ensure apathetic replies are sent out on the proper socket.
  
  chan_iax2 supports multiple address bindings.  The send_apathetic_reply()
  function did not attempt to send its response on the same socket that the
  incoming message came in on.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-14 14:48:00 +00:00
Richard Mudgett
9f3cd22c7a Fix some memory leaks in chan_misdn.
JIRA ABE-1911


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-14 00:17:28 +00:00
Russell Bryant
df4d75f4a7 Print CID match in "show dialplan".
(closes issue #14702)
Reported by: klaus3000
Patches:
      patch_asterisk_1.4.23_CID_matching.txt uploaded by klaus3000 (license 65)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@206126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-13 15:12:08 +00:00
Mark Michelson
12b5e7706c Properly ACK 487 responses to canceled INVITEs.
From the review board request:
The fix from review 298 has exposed a new bug in chan_sip.

When we hang up an outgoing call, we first will dump all the outstanding 
packets on the sip_pvt using __sip_pretend_ack. Then, if we can, we send 
a CANCEL. The problem with this is that since destroyed all the outstanding 
packets on the dialog, we cannot match the incoming 487 response to our 
INVITE. Because we cannot match the response, we do not send an ACK.

To correct this, instead of using __sip_pretend_ack, I have changed the code 
to loop through the list of packets and call __sip_semi_ack on each one 
instead. This causes us to stop retransmitting the requests, but we still have 
them around in case we get responses for them.

When discussing this earlier today with Josh Colp, we both agreed that in the 
majority of cases, this would be enough of a fix. However, we also agreed that 
we should have a safety net in place in case we never receive a response to 
our initial INVITE. To handle this, I have modified __sip_autodestruct to 
behave similar to the way it does in Asterisk 1.4. If there are outstanding 
packets on the sip_pvt, the needdestroy flag is not set, and the last request 
on the dialog was either a CANCEL or BYE, then we set the needdestroy flag and 
reschedule destruction for 10 seconds in the future. If, though, the 
needdestroy flag is set, then we use __sip_pretend_ack to kill the remaining 
outstanding packets so that the monitor thread can destroy the sip_pvt.

I ran two separate tests. First, I placed a call from my Aastra phone to my 
Polycom phone. I hung up the Aastra before the Polycom answered. I verified 
through sip debug output that Asterisk properly ACKed the 487 received from the 
Polycom.

For my second test, I set up a SIPp UAS scenario so that it would send a 200 OK 
in response to a CANCEL but would not send a 487 for the original INVITE. I 
verified that after about 40 seconds, Asterisk properly cleans up the outgoing 
sip_pvt for the call.

Review: https://reviewboard.asterisk.org/r/308



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 17:39:13 +00:00
David Vossel
1678f43bfa SIP registration auth loop caused by stale nonce
If an endpoint sends two registration requests in a very short
period of time with the same nonce, both receive 401 responses
from Asterisk, each with a different nonce (the second 401
containing the current nonce and the first one being stale).
If the endpoint responds to the first 401, it does not match
the current nonce so Asterisk sends a third 401 with a newly
generated nonce (which updates the current nonce)... Now if
the endpoint responds to the second 401, it does not match the
current nonce either and Asterisk sends a fourth 401 with a
newly generated nonce... This loop goes on and on.

There appears to be a simple fix for this.  If the nonce from
the request does not match our nonce, but is a good response
to a previous nonce, instead of sending a 401 with a newly
generated nonce, use the current one instead.  This breaks
the loop as the nonce is not updated until a response is
received. Additional logic has been added to make sure no
nonce can be responded to twice though.

(closes issue #15102)
Reported by: Jamuel
Patches:
      patch-bug_0015102 uploaded by Jamuel (license 809)
      nonce_sip.diff uploaded by dvossel (license 671)
Tested by: Jamuel

Review: https://reviewboard.asterisk.org/r/289/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 16:23:59 +00:00
Mark Michelson
43a5245325 Ensure that outbound NOTIFY requests are properly routed through stateful proxies.
With this change, we make note of Record-Route headers present in any SUBSCRIBE
request that we receive so that our outbound NOTIFY requests will have the proper
Route headers in them.

(closes issue #14725)
Reported by: ibc



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 15:51:36 +00:00
Richard Mudgett
fb1c512a40 No audio on calls from Asterisk to various ISDN devices until DTMF sent by caller.
Add missing clearing of the dialing flag when the ISDN call is CONNECTED.
(i.e. When libpri generates the event PRI_EVENT_ANSWER.)

(closes issue #15420)
Reported by: scottbmilne
Patches:
      bug15420-1.4.25.1-diff2.txt uploaded by alecdavis (license 585)
Tested by: scottbmilne, alecdavis

(closes issue #15416)
Reported by: avinoash

(closes issue #15389)
Reported by: alecdavis

This patch should also fix the following issue:
(issue #15205)
Reported by: vinsik


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205728 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-09 23:37:53 +00:00
David Vossel
259998a286 Changing ast_samp2tv to not use floating point.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-09 16:18:09 +00:00
David Vossel
beaf6217b3 Fixes 8khz assumptions
Many calculations assume 8khz is the codec rate. This
is not always the case.  This patch only addresses chan_iax.c
and res_rtp_asterisk.c, but I am sure there are other areas
that make this assumption as well.

Review: https://reviewboard.asterisk.org/r/306/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 23:15:54 +00:00
David Vossel
2e330f772c moving ast_devstate_to_extenstate to pbx.c from devicestate.c
ast_devstate_to_extenstate belongs in pbx.c.  This change
fixes a compile time error with chan_vpb as well.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 21:35:12 +00:00
Mark Michelson
16d3415cf3 Prevent phantom calls to queue members.
If a caller were to hang up while a periodic announcement or position
were being said, the return value for those functions would incorrectly
indicate that the caller was still in the queue. With these changes,
the problem does not occur.

(closes issue #14631)
Reported by: latinsud
Patches:
      queue_announce_ghost_call2.diff uploaded by latinsud (license 745)
	  (with small modification from me)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 19:26:13 +00:00
Jason Parker
c43a1be4ec Update config.guess and config.sub from the savannah.gnu.org git repo.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 18:19:03 +00:00
David Vossel
9f4c452028 ast_samp2tv needs floating point for 16khz audio
In ast_samp2tv(), (1000000 / _rate) = 62.5 when _rate is 16000.
The .5 is currently stripped off because we don't calculate
using floating points.  This causes madness with 16khz audio.

(issue ABE-1899)

Review: https://reviewboard.asterisk.org/r/305/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 16:53:40 +00:00
Tilghman Lesher
0b1f3adf7f Add redirection warnings for the invalid language codes previously removed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 16:26:15 +00:00
Russell Bryant
33f54353ba Make OpenSSL usage thread-safe.
OpenSSL is not thread-safe by default.  However, making it thread safe is
very easy.  We just have to provide a couple of callbacks.  One callback
returns a thread ID.  The other handles locking.  For more information,
start with the "Is OpenSSL thread-safe?" question on the FAQ page of
openssl.org.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@205149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 15:54:21 +00:00
Richard Mudgett
202f9967c6 Removed confusing warning message "Got Busy in Connected State"
If an incoming mISDN call is answered with the Answer application and a
subsequent Dial gets a busy endpoint then it is valid for that already
connected channel to get the busy indication.  Asterisk will play the busy
tones until the dialplan plays something else or hangs up the call.

(closes issue #11974)
Reported by: fvdb


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-02 21:59:43 +00:00
David Vossel
bdada0dce1 moving device state functions from pbx.h to devicestate.h to sync with other branches
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-02 18:15:39 +00:00
David Vossel
4c99b19973 Improved mapping of extension states from combined device states.
This fixes a few issues with incorrect extension states and adds
a cli command, core show device2extenstate, to display all possible
state mappings.

(closes issue #15413)
Reported by: legart
Patches:
      exten_helper.diff uploaded by dvossel (license 671)
Tested by: dvossel, legart, amilcar

Review: https://reviewboard.asterisk.org/r/301/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-02 15:05:57 +00:00
Tilghman Lesher
e8f0570118 More incorrect language codes, plus ensuring that regionalizations use the specified language, and not English for grammar.
(closes issue #15022)
 Reported by: greenfieldtech
 Patches: 
       20090519__issue15022.diff.txt uploaded by tilghman (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-30 20:23:51 +00:00
Jason Parker
b3e413e910 Fix ast_say_counted_noun to correctly handle Polish. Fix a comment typo in passing.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-30 18:47:06 +00:00
Tilghman Lesher
60270012a9 "tw" is the language specification for Twi (from Ghana) not Taiwanese.
(closes issue #15346)
 Reported by: volivier
 Patches: 
       20090617__issue15346__1.4.diff.txt uploaded by tilghman (license 14)
       20090617__issue15346__trunk.diff.txt uploaded by tilghman (license 14)
       20090617__issue15346__1.6.0.diff.txt uploaded by tilghman (license 14)
       20090617__issue15346__1.6.1.diff.txt uploaded by tilghman (license 14)
       20090617__issue15346__1.6.2.diff.txt uploaded by tilghman (license 14)
 Tested by: volivier


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-30 18:23:35 +00:00
Mark Michelson
e5bef05d8f Add error message so that it is clear why a SIP peer was not processed when
a DNS lookup fails on a host or outboundproxy.

(closes issue #13432)
Reported by: p_lindheimer
Patches:
      outboundproxy.patch uploaded by p (license 558)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 22:45:34 +00:00
Mark Michelson
439ce618c5 Fix build oops.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 21:37:05 +00:00
Mark Michelson
9589d9fb2e Fix a problem where chan_sip would ignore "old" but valid responses.
chan_sip has had a problem for quite a long time that would manifest when
Asterisk would send multiple SIP responses on the same dialog before receiving
a response. The problem occurred because chan_sip only kept track of the highest
outgoing sequence number used on the dialog. If Asterisk sent two requests out,
and a response arrived for the first request sent, then Asterisk would ignore
the response. The result was that Asterisk would continue retransmitting the
requests and ignoring the responses until the maximum number of retransmissions
had been reached.

The fix here is to rearrange the code a bit so that instead of simply comparing
the sequence number of the response to our latest outgoing sequence number, we
walk our list of outstanding packets and determine if there is a match. If there is,
we continue. If not, then we ignore the response.

In doing this, I found a few completely useless variables that I have now removed.

(closes issue #11231)
Reported by: flefoll

Review: https://reviewboard.asterisk.org/r/298


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 21:23:43 +00:00
Tilghman Lesher
399bd49b7d Revision 189537 was supposed to make 1.4 more correct. Instead, it broke func_odbc. Reverting.
(closes issue #15317, issue #14614)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 19:36:01 +00:00
David Vossel
4f3580b882 segfault after SPINLOCK schedule delete
Using the SPINLOCK schedule delete macro can result in the iax_pvt lock
being given up.  This makes it possible for the iax_pvt to dissappear
when we thought we held the mutex the entire time.  To resolve this, the
iax_pvt's ref count is incremented.

(closes issue #15377)
Reported by: aragon
Patches:
      iax_spin_issue_1.4.diff uploaded by dvossel (license 671)
Tested by: aragon, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 17:04:04 +00:00
Mark Michelson
a3848ec74c Place unlock of mutex in an else block so that it does not get unlocked twice.
(closes issue #15400)
Reported by: aragon



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 15:04:17 +00:00
Richard Mudgett
f65dccafb6 The ISDN CPE side should not exclusively pick B channels normally.
Before this patch, Asterisk unconditionally picked B channels exclusively
on the CPE side and normally allowed alternative B channels on the network
side.  Now Asterisk does the opposite.

Reasons for the CPE side to normally not pick B channels exclusively:
*  For CPE point-to-multipoint mode (i.e. phone side), the CPE side does
not have enough information to exclusively pick B channels.  (There may be
other devices on the line.)
*  Q.931 gives preference to the network side picking B channels.
*  Some telcos require the CPE side to not pick B channels exclusively.

(closes issue #14383)
Reported by: mbrancaleoni


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-27 00:55:12 +00:00