dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

2519 Commits

Author SHA1 Message Date
kpfleming ef0206e9f1 Correct broken logic from revision 225405.
The code committed in revision 225405 was broken; instead of removing the unreference code,
the logic used to decide when to do it should have been reversed. This patch corrects the
situation, and makes reference counting work properly again.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225955 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-26 22:03:29 +00:00
dvossel 226347511b SIP TCP/TLS: move client connection setup/write into tcp helper thread, various related locking/memory fixes.
What this patch fixes
1.Moves sip TCP/TLS connection setup into the TCP helper thread:
  Connection setup takes awhile and before this it was being
  done while holding the monitor lock.
2.Moves TCP/TLS writing to the TCP helper thread:  Through the
  use of a packet queue and an alert pipe, the TCP helper thread
  can now be woken up to write data as well as read data.
3.Locking error: sip_xmit returned an XMIT_ERROR without giving
  up the tcptls_session lock.  This lock has been completely removed
  from sip_xmit and placed in the new sip_tcptls_write() function.
4.Memory leak:  When creating a tcptls_client the tls_cfg was alloced
  but never freed unless the tcptls_session failed to start.  Now the
  session_args for a sip client are an ao2 object which frees the
  tls_cfg on destruction.
5.Pointer to stack variable: During sip_prepare_socket the creation
  of a client's ast_tcptls_session_args was done on the stack and
  stored as a pointer in the newly created tcptls_session.  Depending
  on the events that followed, there was a slight possibility that
  pointer could have been accessed after the stack returned.  Given
  the new changes, it is always accessed after the stack returns
  which is why I found it.

Notable code changes
1.I broke tcptls.c's ast_tcptls_client_start() function into two
  functions.  One for creating and allocating the new tcptls_session,
  and a separate one for starting and handling the new connection.
  This allowed me to create the tcptls_session, launch the helper
  thread, and then establish the connection within the helper thread.
2.Writes to a tcptls_session are now done within the helper thread.
  This is done by using an alert pipe to wake up the thread if new
  data needs to be sent.  The thread's sip_threadinfo object contains
  the alert pipe as well as the packet queue.
3.Since the threadinfo object contains the alert pipe, it must now be
  accessed outside of the helper thread for every write (queuing of a
  packet).  For easy lookup, I moved the threadinfo objects from a
  linked list to an ao2_container.

(closes issue #13136)
Reported by: pabelanger
Tested by: dvossel, whys

(closes issue #15894)
Reported by: dvossel
Tested by: dvossel

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225445 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-22 19:55:51 +00:00
kpfleming 81747b8a32 Fix a refcount error introduced by yesterday's OBJ_MULTIPLE commit.
When an object is being unlinked from its container *and* being returned to
the caller, we do not want to decrement the reference count after unlinking
it from the container, as the reference that the container held is what we
are returning to the caller... and if it was the only remaining reference to
the object, that could result in the object being destroyed.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225405 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-22 18:41:47 +00:00
tilghman 3c27a56e3e Merged revisions 225105 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225105 | tilghman | 2009-10-21 11:02:12 -0500 (Wed, 21 Oct 2009) | 4 lines
  
  Fix documentation for ast_softhangup() and correct the misuse thereof.
  (closes issue #16103)
   Reported by: majorbloodnok
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225360 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-22 17:11:23 +00:00
rmudgett d7a3a1035d Add support for calling and called subaddress. Partial support for COLP subaddress.
The Telecom Specs in NZ suggests that SUB ADDRESS is always on, so doing
"desk to desk" between offices each with an asterisk box over the ISDN
should then be possible, without a whole load of DDI numbers required.

(closes issue #15604)
Reported by: alecdavis
Patches:
      asterisk_subaddr_trunk.diff11.txt uploaded by alecdavis (license 585)
      Some minor modificatons were made.
Tested by: alecdavis, rmudgett

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225357 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-22 16:33:22 +00:00
kpfleming 4f428997ca Finish implementaton of astobj2 OBJ_MULTIPLE, and convert ast_channel_iterator to use it.
This patch finishes the implementation of OBJ_MULTIPLE in astobj2 (the
case where multiple results need to be returned; OBJ_NODATA mode
already was supported). In addition, it converts ast_channel_iterators
(only the targeted versions, not the ones that iterate over all
channels) to use this method.

During this work, I removed the 'ao2_flags' arguments to the
ast_channel_iterator constructor functions; there were no uses of that
argument yet, there is only one possible flag to pass, and it made the
iterators less 'opaque'. If at some point in the future someone really
needs an ast_channel_iterator that does not lock the container, we can
provide constructor(s) for that purpose.

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225244 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21 21:08:47 +00:00
russell 02992ab888 Merged revisions 225171 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225171 | russell | 2009-10-21 11:44:49 -0500 (Wed, 21 Oct 2009) | 2 lines
  
  Revert 225169, as this doesn't account for the possibility of a list of frames.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225172 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21 16:46:22 +00:00
russell 9a8be3b582 Merged revisions 225169 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225169 | russell | 2009-10-21 11:39:20 -0500 (Wed, 21 Oct 2009) | 2 lines
  
  Isolate the frame returned from ast_translate().
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225170 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21 16:42:13 +00:00
russell 039146041a Merged revisions 224931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r224931 | russell | 2009-10-20 21:59:54 -0500 (Tue, 20 Oct 2009) | 5 lines
  
  Isolate frames returned from a DSP instance or codec translator.
  
  The reasoning for these changes are the same as what I wrote in the commit
  message for rev 222878.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224932 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21 03:09:04 +00:00
tilghman 38f43cba1b Merged revisions 224855 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r224855 | tilghman | 2009-10-20 17:07:11 -0500 (Tue, 20 Oct 2009) | 5 lines
  
  Pay attention to the return value of the manipulate function.
  While this looks like an optimization, it prevents a crash from occurring
  when used with certain audiohook callbacks (diagnosed with SVN trunk,
  backported to 1.4 to keep the source consistent across versions).
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224856 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-20 22:09:07 +00:00
file f7822860b4 Merged revisions 224773 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r224773 | file | 2009-10-20 14:46:37 -0300 (Tue, 20 Oct 2009) | 5 lines
  
  Add support for relaying early media in the features attended transfer option.
  
  (closes issue #14828)
  Reported by: licedey
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224774 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-20 17:47:34 +00:00
tilghman 0ff900410d Remove unnecessary typedef
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224403 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-17 16:39:37 +00:00
tilghman 0c997b3fd1 Create an API for adding an optional time unit onto the ends of time periods.
Two examples of its use are included, and the usage could be expanded in some
cases into certain configuration options where time periods are specified.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224225 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-15 22:33:30 +00:00
russell 0fa9b24b8b Merged revisions 223485-223486 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r223485 | russell | 2009-10-11 12:22:52 -0500 (Sun, 11 Oct 2009) | 6 lines
  
  Don't use data outside of its scope.
  
  The purpose of this code was to have a hangup frame put on the list of deferred
  frames.  However, the code that read the hangup frame was outside of the scope
  of where the hangup frame was declared.
........
  r223486 | russell | 2009-10-11 12:25:06 -0500 (Sun, 11 Oct 2009) | 2 lines
  
  Remove some unnecessary code.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@223487 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-11 17:25:42 +00:00
mnicholson c332afdfa1 Merged revisions 223225 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r223225 | mnicholson | 2009-10-09 13:20:11 -0500 (Fri, 09 Oct 2009) | 8 lines
  
  Signal timeouts by returning AST_CONTROL_RINGING when originating calls.
  (closes issue #15104)
  Reported by: nblasgen
  Patches:
        manager-timeout1.diff uploaded by mnicholson (license 96)
  Tested by: nblasgen, mnicholson
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@223273 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-09 18:34:08 +00:00
russell 5b989dda45 Merged revisions 222878 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r222878 | russell | 2009-10-08 14:45:47 -0500 (Thu, 08 Oct 2009) | 44 lines
  
  Make filestream frame handling safer by isolating frames before returning them.
  
  This patch is related to a number of issues on the bug tracker that show
  crashes related to freeing frames that came from a filestream.  A number of
  fixes have been made over time while trying to figure out these problems, but
  there re still people seeing the crash.  (Note that some of these bug reports
  include information about other problems.  I am specifically addressing
  the filestream frame crash here.)
  
  I'm still not clear on what the exact problem is.  However, what is _very_
  clear is that we have seen quite a few problems over time related to unexpected
  behavior when we try to use embedded frames as an optimization.  In some cases,
  this optimization doesn't really provide much due to improvements made in other
  areas.
  
  In this case, the patch modifies filestream handling such that the embedded frame
  will not be returned.  ast_frisolate() is used to ensure that we end up with a
  completely mallocd frame.  In reality, though, we will not actually have to malloc
  every time.  For filestreams, the frame will almost always be allocated and freed
  in the same thread.  That means that the thread local frame cache will be used.
  So, going this route doesn't hurt.
  
  With this patch in place, some people have reported success in not seeing the
  crash anymore.
  
  (SWP-150)
  (AST-208)
  (ABE-1834)
  
  (issue #15609)
  Reported by: aragon
  Patches:
        filestream_frisolate-1.4.diff2.txt uploaded by russell (license 2)
  Tested by: aragon, russell
  
  (closes issue #15817)
  Reported by: zerohalo
  Tested by: zerohalo
  
  (closes issue #15845)
  Reported by: marhbere
  
  Review: https://reviewboard.asterisk.org/r/386/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@222880 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-08 19:52:03 +00:00
dvossel 21cc1ec955 fixes an ast_netsock_list memory leak.
ABE-1998
Review: https://reviewboard.asterisk.org/r/395/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@222873 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-08 19:35:30 +00:00
dvossel 41a7e60c45 Deadlock in channel masquerade handling
Channels are stored in an ao2_container.  When accessing an item within
an ao2_container the proper locking order is to first lock the container,
and then the items within it.

In ast_do_masquerade both the clone and original channel must be locked
for the entire duration of the function.  The problem with this is that
it attemptes to unlink and link these channels back into the ao2_container
when one of the channel's name changes.  This is invalid locking order as
the process of unlinking and linking will lock the ao2_container while
the channels are locked!!! Now, both the channels in do_masquerade are
unlinked from the ao2_container and then locked for the entire function.
At the end of the function both channels are unlocked and linked back
into the container with their new names as hash values.

This new method of requiring all channels and tech pvts to be unlocked
before ast_do_masquerade() or ast_change_name() required several
changes throughout the code base.

(closes issue #15911)
Reported by: russell
Patches:
      masq_deadlock_trunk.diff uploaded by dvossel (license 671)
Tested by: dvossel, atis

(closes issue #15618)
Reported by: lmsteffan
Patches:
      deadlock_local_attended_transfers_trunk.diff uploaded by dvossel (license 671)
Tested by: lmsteffan, dvossel

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@222761 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-07 22:58:38 +00:00
kpfleming e299cf0653 Recorded merge of revisions 222152 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r222152 | kpfleming | 2009-10-05 20:16:36 -0500 (Mon, 05 Oct 2009) | 20 lines
  
  Fix ao2_iterator API to hold references to containers being iterated.
  
  See Mantis issue for details of what prompted this change.
  
  Additional notes:
  
  This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK
  has become an enum instead of a macro, with a name that fits our
  naming policy; also, it is now necessary to call
  ao2_iterator_destroy() on any iterator that has been
  created. Currently this only releases the reference to the container
  being iterated, but in the future this could also release other
  resources used by the iterator, if the iterator implementation changes
  to use additional resources.
  
  (closes issue #15987)
  Reported by: kpfleming
  
  Review: https://reviewboard.asterisk.org/r/383/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@222176 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-06 01:24:24 +00:00
kpfleming f5671885b8 Allow non-compliant T.38 endpoints to be supportable via configuration option.
Many T.38 endpoints incorrectly send the maximum IFP frame size they can accept
as the T38FaxMaxDatagram value in their SDP, when in fact this value is
supposed to be the maximum UDPTL payload size (datagram size) they can accept.
If the value they supply is small enough (a commonly supplied value is '72'),
T.38 UDPTL transmissions will likely fail completely because the UDPTL packets
will not have enough room for a primary IFP frame and the redundancy used for
error correction. If this occurs, the Asterisk UDPTL stack will emit log messages
warning that data loss may occur, and that the value may need to be overridden.

This patch extends the 't38pt_udptl' configuration option in sip.conf to allow
the administrator to override the value supplied by the remote endpoint and
supply a value that allows T.38 FAX transmissions to be successful with that
endpoint. In addition, in any SIP call where the override takes effect, a debug
message will be printed to that effect. This patch also removes the
T38FaxMaxDatagram configuration option from udptl.conf.sample, since it has not
actually had any effect for a number of releases.

In addition, this patch cleans up the T.38 documentation in sip.conf.sample
(which incorrectly documented that T.38 support was passthrough only).

(issue #15586)
Reported by: globalnetinc


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@222110 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-05 19:45:00 +00:00
tilghman 4ecd294510 Merged revisions 221970 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r221970 | tilghman | 2009-10-02 11:58:03 -0500 (Fri, 02 Oct 2009) | 2 lines
  
  Ensure the result of the hash function is positive.  Negative array offsets suck.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221971 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-02 16:59:57 +00:00
tilghman 6ceb1b581c Initialize a variable that we check immediately upon startup.
(closes issue #15973)
 Reported by: atis


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221920 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-02 03:04:34 +00:00
tilghman 486821d077 One more off-by-one in trunk
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221781 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-02 00:08:21 +00:00
tilghman 5081871fa4 Merged revisions 221776 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r221776 | tilghman | 2009-10-01 18:53:12 -0500 (Thu, 01 Oct 2009) | 2 lines
  
  Fix a bunch of off-by-one errors
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221777 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-01 23:59:15 +00:00
kpfleming f665ff4af1 Remove ability to control T.38 FAX error correction from udptl.conf.
chan_sip has had the ability to control T.38 FAX error correction mode on a per-peer
(or global) basis for a couple of releases now, which is where it should have been
all along. This patch removes the ability to configure it in udptl.conf, but issues
a warning if the user tries to do, telling them to look at sip.conf.sample for how
to configure it now. For any SIP peers that are T.38 enabled in sip.conf, there is
already a default for FEC error correction even if the user does not specify any mode,
so this change will not turn off error correction by default, it will have the same
default value that has been in the udptl.conf sample file.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221592 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-01 16:16:09 +00:00
twilson b8e1d3fe36 Use rtp properties instead of adding a callback
Thanks, Josh.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221278 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-30 18:21:03 +00:00
twilson bc354c76f4 Merged revisions 221086 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r221086 | twilson | 2009-09-30 09:49:11 -0500 (Wed, 30 Sep 2009) | 25 lines
  
  Change the SSRC by default when our media stream changes
  
  Be default, change SSRC when doing an audio stream changes Asterisk doesn't
  honor marker bit when reinvited to already-bridged RTP streams,resulting in
  far-end stack discarding packets with "old" timestamps that areactually part of
  a new stream.  This patch sends AST_CONTROL_SRCUPDATE whenever there is a
  reinvite, unless the 'constantssrc' is set to true in sip.conf.
  
  The original issue reported to Digium support detailed the following situation:
  ITSP <-> Asterisk 1.4.26.2 <-> SIP-based Application Server Call comes in
  fromITSP, Asterisk dials the app server which sends a re-invite back
  toAsterisk--not to negotiate to send media directly to the ITSP, but to
  indicatethat it's changing the stream it's sending to Asterisk.  The app
  servergenerates a new SSRC, sequence numbers, timestamps, and sets the marker
  bit on the new stream.  Asterisk passes through the teimstamp of the new stream,
  butdoes not reset the SSRC, sequence numbers, or set the marker bit.
  
  When the timestamp on the new stream is older than the timestamp on the
  originalstream, the ITSP (which doesn't know there has been any change) discards
  the newframes because it thinks they are too old.  This patch addresses this by
  changing the SSRC on a stream update unless constantssrc=true is set in
  sip.conf.
  
  Review: https://reviewboard.asterisk.org/r/374/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221266 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-30 17:52:30 +00:00
tilghman a1c22c9512 Merged revisions 221200 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r221200 | tilghman | 2009-09-30 11:55:21 -0500 (Wed, 30 Sep 2009) | 7 lines
  
  Avoid a potential NULL dereference.
  (closes issue #15865)
   Reported by: kobaz
   Patches: 
         20090915__issue15865.diff.txt uploaded by tilghman (license 14)
   Tested by: kobaz
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221201 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-30 16:56:42 +00:00
mmichelson ab67ce4214 Fix channel reference leak.
ast_cel_report_event would geet a reference to the
bridged channel. However, certain return paths, such
as if CEL was not enabled, would result in a reference
leak. All return paths now properly unref the channel.

(closes issue #15991)
Reported by: mmichelson



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220995 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-29 21:28:04 +00:00
mmichelson 20a1feb888 Get rid of annoying and cryptic debug messages.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220920 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-29 20:20:48 +00:00
kpfleming c359691aa3 Eliminate unnecessary include of version.h in manager.c.
Including version.h here causes this file to get recompiled after
every commit or update, which is not needed.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220496 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-25 14:50:29 +00:00
kpfleming f700382e8b Correct sense of logic test committed in revision 220494.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220495 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-25 14:44:40 +00:00
kpfleming 4a49a4a98b Don't use hash-based lookups for ast_channel_get_by_name_prefix().
ast_channel_get_full() tries to use OBJ_POINTER to optimize name-based
channel lookups, but this will not work properly when the channel's full
name was not supplied; for name-prefix searches, there is no value in
doing a hash-based lookup, and in fact doing so could result in many
channels being skipped.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220494 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-25 14:38:41 +00:00
tilghman d170b913b9 Change the default behavior of Set, AGI, and pbx_realtime to 1.6 behavior by default (starting in 1.6.3).
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220417 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-24 22:53:23 +00:00
dvossel 3f2a26dd7b fixes tcptls_session memory leak caused by ref count error
(closes issue #15939)
Reported by: dvossel

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220365 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-24 20:37:20 +00:00
jpeeler 4e9238c881 Add bridge related dial flags to the bridge app
Most of the functionality here is gained simply by setting the feature flag
on the bridge config. However, the dial limit functionality has been moved from
app_dial to the features code and has been made public so both app_dial and
the bridge app can use it.

(closes issue #13165)
Reported by: tim_ringenbach
Patches:
      app_bridge_options_r138998.diff uploaded by tim ringenbach (license 540),
      modified by me


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220344 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-24 20:29:51 +00:00
tilghman a0a179b39a Merged revisions 220288 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r220288 | tilghman | 2009-09-24 14:39:41 -0500 (Thu, 24 Sep 2009) | 6 lines
  
  Implicitly sending a progress signal breaks some applications.
  Call Progress() in your dialplan if you explicitly want progress to be sent.
  (Reverts change 216430, closes issue #15957)
  Reported by: Pavel Troller on the Asterisk-Dev mailing list
  http://lists.digium.com/pipermail/asterisk-dev/2009-September/039897.html
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220289 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-24 19:41:02 +00:00
tilghman aa7f40e22b Merged revisions 219653 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r219653 | tilghman | 2009-09-20 12:52:05 -0500 (Sun, 20 Sep 2009) | 8 lines
  
  Really stop the stream, when ast_closestream() is called.
  (closes issue #15129)
   Reported by: bmh
   Patches: 
         20090918__issue15129.diff.txt uploaded by tilghman (license 14)
   Review:
         https://reviewboard.asterisk.org/r/372/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@219654 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-20 17:55:49 +00:00
mnicholson 667d2ffb9d Merged revisions 219136 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r219136 | mnicholson | 2009-09-17 09:58:39 -0500 (Thu, 17 Sep 2009) | 10 lines
  
  Prevent a potential race condition and crash when hanging up a channel by removing the channel from the channel list before begining channel tear down.
  
  This fix may potentially cause problems with CDR backends that access the channel a CDR is associated with via the channel list.  This fix makes the channel unavabile at the time when the CDR backend is invoked.  This has been documented in include/asterisk/cdr.h.
  
  (closes issue #15316)
  Reported by: vmarrone
  Tested by: mnicholson
  
  Review: https://reviewboard.asterisk.org/r/362/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@219139 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-17 15:18:01 +00:00
tilghman 5026ab41bd Merged revisions 219023 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r219023 | tilghman | 2009-09-16 18:21:53 -0500 (Wed, 16 Sep 2009) | 8 lines
  
  Properly deal with quotes in the arguments of '#exec' includes.
  (closes issue #15583)
   Reported by: pkempgen
   Patches: 
         20090726__issue15583.diff.txt uploaded by tilghman (license 14)
         20090726__issue15583-1.4-4.diff.txt uploaded by pkempgen (license 169)
   Tested by: pkempgen
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@219061 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-16 23:42:12 +00:00
dbrooks 5bc9c2a0b5 Merged revisions 218867 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r218867 | dbrooks | 2009-09-16 13:00:45 -0500 (Wed, 16 Sep 2009) | 13 lines
  
  Fixes CID pattern matching behavior to mirror that of extension pattern matching.
  
  Pattern matching for extensions uses a type of scoring system, giving values for
  specificity to each character in the pattern. Unfortunately, this is done character
  by character, in order. This does lead to some less specific patterns being first
  in line for matching, but it will usually get the job done.
  
  This patch merely brings CID matching to the same level as extension matching.
  This patch does not attempt to tackle the problem shared by extension matching.
  
  (closes issue #14708)
  Reported by: klaus3000
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@218868 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-16 18:06:42 +00:00
file 046ca84efa Do not attempt to add a parking extension if an error occurred while reading the configuration.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@218295 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-14 18:16:39 +00:00
tilghman ac1806650d Check the origination priority for more matches, not the current priority.
Found by Pavel Troller on the -dev list.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@218050 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-11 05:58:11 +00:00
seanbright 29bf63b15a Properly terminate the response to the manager Ping action.
In passing, correct the formatting of the Timestamp attribute so that there is a
space after the colon and before the value.

(closes issue #15861)
Reported by: Ivan


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@217408 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-09 12:11:12 +00:00
tilghman 5b68ca1a7e Enable turning off the application delimiter warning with the 'dontwarn' option.
Suggested on the -dev list, and implemented in an alternate way by me.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@216547 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-04 17:31:44 +00:00
mvanbaak 7acc8bcaf3 Merged revisions 216435 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r216435 | mvanbaak | 2009-09-04 15:56:10 +0200 (Fri, 04 Sep 2009) | 2 lines
  
  make asterisk compile under devmode with DEBUG_THREADS enabled on OpenBSD
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@216506 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-04 15:05:05 +00:00
oej 6a9ca399c1 Merged revisions 216430 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r216430 | oej | 2009-09-04 15:45:48 +0200 (Fre, 04 Sep 2009) | 27 lines

Make apps send PROGRESS control frame for early media and fix too early media issue in SIP

The issue at hand is that some legacy (dying) PBX systems send empty media frames on PRI
links *before* any call progress. The SIP channel receives these frames and by default
signals 183 Session progress and starts sending media. This will cause phones to 
play silence and ignore the later 180 ringing message. A bad user experience.

The fix is twofold:
- We discovered that asterisk apps that support early media ("noanswer") did not send
  any PROGRESS frame to indicate early media. Fixed.
- We introduce a setting in chan_sip so that users can disable any relay of media frames
  before the outbound channel actually indicates any sort of call progress.
  In 1.4, 1.6.0 and 1.6.1, this will be disabled for backward compatibility. In later versions
  of Asterisk, this will be enabled. We don't assume that it will change your Asterisk
  phone experience - only for the better.

We encourage third-party application developers to make sure that if they have applications
that wants to send early media, add a PROGRESS control frame transmission to make sure that
all channel drivers actually will start sending early media. This has not been the default
in Asterisk previous to this patch, so if you got inspiration from our code, you need to
update accordingly. Sorry for the trouble and thanks for your support.

This code has been running for a few months in a large scale installation (over 250
servers with PRI and/or BRI links to old PBX systems). 
That's no proof that this is an excellent patch, but, well, it's tested :-)


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@216438 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-04 14:02:34 +00:00
mvanbaak 3330d65ba1 make sure 'start' is always initialized.
Makes asterisk compile with --enable-dev-mode


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@216222 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-04 06:08:33 +00:00
kpfleming bf3bf7eb25 Document language prompt submission process.
This patch adds a document describing the language prompt submission process,
licensing terms and other issues related to that process. In addition, it
modifies the sound file searching process to support language codes with
any number of suffices (not limited to just "xx" or "xx_YY"), so that prompts
can be named with gender, customer/company, etc. suffices as well.

(closes issue #15771)
Reported by: jtodd
Patches:
      language-criteria.txt uploaded by jtodd



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@216006 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-03 18:42:38 +00:00
dvossel 39acf19959 Merge code associated with AST-2009-006
(closes issue #12912)
Reported by: rathaus
Tested by: tilghman, russell, dvossel, dbrooks


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@215955 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-03 16:31:54 +00:00