Commit Graph

933 Commits

Author SHA1 Message Date
Jeff Peeler
093e1d34f3 Fix not being able to specify a URL in MOH class directory.
Don't attempt to chdir on a URL!

(closes issue #16875)
Reported by: raarts
Patches: 
      moh-http.patch uploaded by raarts (license 937)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@250786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-05 01:02:58 +00:00
Jeff Peeler
dbdbc92a4a Ensure that monitor recordings are written to the correct location (again)
This is an extension to 248757. As such the dialplan test has been extended:

exten => 5040, 1, monitor(wav,tmp/jeff/monitor_test,b)
exten => 5040, n, dial(sip/5001)
exten => 5041, 1, monitor(wav,/tmp/jeff/monitor_test2,b)
exten => 5041, n, dial(sip/5001)
exten => 5042, 1, monitor(wav,monitor_test3,b)
exten => 5042, n, dial(sip/5001)
exten => 5043, 1, monitor(wav,tmp/jeff/monitor_test3,m)
exten => 5043, n, changemonitor(monitor_test4)
exten => 5043, n, dial(sip/5001)
exten => 5044, 1, monitor(wav,monitor_test4,m)
exten => 5044, n, changemonitor(tmp/jeff/monitor_test5) ; this looks to fail by design and emits a warning
exten => 5044, n, dial(sip/5001)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@248860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-25 21:22:06 +00:00
Jeff Peeler
3371a165f5 Ensure that monitor recordings are written to the correct location.
Recordings should be placed in the monitor directory when a non-absolute path
is used.

Exact dialplan used for testing:
exten => 5040, 1, monitor(wav,tmp/jeff/monitor_test,b)
exten => 5040, n, dial(sip/5001)
exten => 5041, 1, monitor(wav,/tmp/jeff/monitor_test2,b)
exten => 5041, n, dial(sip/5001)
exten => 5042, 1, monitor(wav,monitor_test3,b)
exten => 5042, n, dial(sip/5001)

ABE-2101


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@248757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-25 18:06:54 +00:00
Matthew Nicholson
815f726220 Copy the calling party's account code to the called party if they don't already have one.
(closes issue #16331)
Reported by: bluefox
Tested by: mnicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@247651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-18 19:38:09 +00:00
Olle Johansson
b279512253 Make sure that res_smdi loads regardless of configuration, since chan_dahdi depends on res_smdi
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@245909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-10 08:24:34 +00:00
Olle Johansson
ed94dddd97 Res_features depends on res_adsi in 1.4
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@245422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-08 11:57:52 +00:00
Tilghman Lesher
bad37b9a69 When a transferer hangs up during an attended transfer BEFORE the transfer is answered, don't stop playing MOH.
(closes issue #16513)
 Reported by: litnimax
 Patches: 
       atxfer_moh_16513.patch uploaded by gknispel proformatique (license 261)
 Tested by: litnimax


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@244151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-01 18:38:37 +00:00
David Vossel
fb0cf432f1 fixes bug with channel receiving wrong privileges after call parking
(closes issue #16429)
Reported by: Yasuhiro Konishi
Patches:
      features.c.diff uploaded by Yasuhiro Konishi (license 947)
Tested by: dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@243390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-26 23:55:49 +00:00
Jeff Peeler
40fed194b6 Fix regression for timed out parked call returning to caller
This issue seems to have been exposed by the fix in 160390 whereby using a
masquerade prevented a crash. The new channel used in the masquerade was
not copying the macro information from the old channel.

(closes issue #15459)
Reported by: djrodman
Patches: 
      patch_15459.txt uploaded by mnick (license )


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@239838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-13 19:43:33 +00:00
Jeff Peeler
5be54b36b2 Stop a crash when no peer is passed to masq_park_call.
(distantly related to issue #16406)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@238834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-08 23:28:37 +00:00
Tilghman Lesher
2418c3fe1e Add a flag to disable the Background behavior, for AGI users.
This is in a section of code that relates to two other issues, namely
issue #14011 and issue #14940), one of which was the behavior of
Background when called with a context argument that matched the current
context.  This fix broke FreePBX, however, in a post-Dial situation.
Needless to say, this is an extremely difficult collision of several
different issues.  While the use of an exception flag is ugly, fixing all
of the issues linked is rather difficult (although if someone would like
to propose a better solution, we're happy to entertain that suggestion).
(closes issue #16434)
 Reported by: rickead2000
 Patches: 
       20091217__issue16434.diff.txt uploaded by tilghman (license 14)
       20091222__issue16434__1.6.1.diff.txt uploaded by tilghman (license 14)
 Tested by: rickead2000


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@237405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-04 18:19:00 +00:00
Tilghman Lesher
b317f3ce7f If EXEC only gets a single argument, don't crash when the second is used.
(closes issue #16504)
 Reported by: bklang


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@236184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-23 02:55:24 +00:00
Jeff Peeler
7c1c1ffa82 Change Monitor to not assume file to write to does not contain pathing.
227944 changed the fname_base argument to always append the configured monitor
path. This change was necessary to properly compare files for uniqueness. 
If a full path is given though, nothing needs to be appended and that is
handled correctly now.

(closes issue #16377)
(closes issue #16376)
Reported by: bcnit
Patches:
      res_monitor.c-issue16376-1.patch uploaded by dant (license 670)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@235940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-21 19:43:41 +00:00
Tilghman Lesher
66b2f4192a Send parking lot announcement to the channel which parked the call, not the park-ee.
(closes issue #16234)
 Reported by: yeshuawatso
 Patches: 
       20091210__issue16234.diff.txt uploaded by tilghman (license 14)
       20091221__issue16234__1.4.diff.txt uploaded by tilghman (license 14)
 Tested by: yeshuawatso


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@235821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-21 16:45:03 +00:00
Tilghman Lesher
d7d29ea864 Mandatory argument checking
(closes issue #16446)
 Reported by: nicchap


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@235052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-15 15:29:24 +00:00
Matthew Nicholson
f32239bff8 Copy the peer CDR's userfield to the bridge CDR if it exists. This is necessary for the recordagentcalls option in chan_agent to store the recorded file name in the bridge CDR.
(closes issue #14590)
Reported by: msetim
Patches:
      queue_agent_userfield.patch uploaded by Laureano (license 265)
Tested by: Laureano, mnicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@230627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-20 20:53:06 +00:00
Jeff Peeler
cd447927e4 Fix incorrect filename comparsion after monitor file change
The logic to detect if a requested file is indeed a different file from the
current file was incorrect. The main issue being confusion of the use of
filename_base which was previously set without pathing information and then
compared to another full path. Robust file comparison logic has been added
to properly check if two files are the same even if symlinks are used.

(closes issue #15313)
Reported by: caspy
Patches: 
      20091103__issue15313__1.4.diff.txt uploaded by jpeeler (license 325)
      but mostly tilghman's work


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@227944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 23:47:08 +00:00
Joshua Colp
7de8f53607 Add support for relaying early media in the features attended transfer option.
(closes issue #14828)
Reported by: licedey


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@224773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-20 17:46:37 +00:00
Kevin P. Fleming
2ad7cb7e87 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@222152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 01:16:36 +00:00
Matthew Nicholson
4fa5fa014f Fix a crash by checking the proper pointer for validity before deferencing it.
(closes issue #15751)
Reported by: atis
Patches:
      ast_bridge_call_peer_cdr.patch uploaded by atis (license 242)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-20 20:33:07 +00:00
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
Michiel van Baak
0f05b9b9de backport rev 205532 from trunk:
pthread_self returns a pthread_t which is not an unsigned int on all
pthread implementations. Casting it to an unsigned int fixes compiler warnings.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@208990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 09:56:13 +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
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
Russell Bryant
090c2f1e4e Fix a case where CDR answer time could be before the start time involving parking.
(closes issue #13794)
Reported by: davidw
Patches:
      13794.patch uploaded by murf (license 17)
      13794.patch.160 uploaded by murf (license 17)
Tested by: murf, dbrooks


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-25 21:02:18 +00:00
Tilghman Lesher
5757b115b3 If the "h" extension fails, give it another chance in main/pbx.c.
If the "h" extension fails, give it another chance in main/pbx.c, when it
returns from the bridge code.  Fixes an issue where the "h" extension may
occasionally not fire, when a Dial is executed from a Macro.
Debugged in #asterisk with user tompaw.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-19 00:40:41 +00:00
Russell Bryant
fce4a98f7c Fix memory corruption and leakage related reloads of non files mode MoH classes.
For Music on Hold classes that are not files mode, meaning that we are executing
an application that will feed us audio data, we use a thread to monitor the
external application and read audio from it.  This thread also makes use of the
MoH class object.  In the MoH class destructor, we used pthread_cancel() to ask
the thread to exit.  Unfortunately, the code did not wait to ensure that the
thread actually went away.  What needed to be done is a pthread_join() to ensure
that the thread fully cleans up before we proceed.  By adding this one line, we
resolve two significant problems:

  1) Since the thread was never joined, it never fully goes away.  So, on every
     reload of non-files mode MoH, an unused thread was sticking around.

  2) There was a race condition here where the application monitoring thread
     could still try to access the MoH class, even though the thread executing
     the MoH reload has already destroyed it.

(issue #15109)
Reported by: jvandal

(issue #15123)
Reported by: axisinternet

(issue #15195)
Reported by: amorsen

(issue AST-208)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-18 15:24:31 +00:00
Eliel C. Sardanons
a42ff13c97 Show the interface name on error, if it is not found.
If the smdiport specified is not found, show the interface name
instead of '(null)'.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@200875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 13:25:51 +00:00
David Vossel
ddb4e3f2e7 Generic call forward api, ast_call_forward()
The function ast_call_forward() forwards a call to an extension specified in an ast_channel's call_forward string.  After an ast_channel is called, if the channel's call_forward string is set this function can be used to forward the call to a new channel and terminate the original one.  I have included this api call in both channel.c's ast_request_and_dial() and res_feature.c's feature_request_and_dial().  App_dial and app_queue already contain call forward logic specific for their application and options.

(closes issue #13630)
Reported by: festr

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-03 15:49:46 +00:00
Tilghman Lesher
af31809bcf If using the old deprecated format, a reload would cause the class to disappear.
(closes issue #14759)
 Reported by: lidocaineus
 Patches: 
       20090518__issue14759.diff.txt uploaded by tilghman (license 14)
 Tested by: lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 20:07:04 +00:00
Sean Bright
8fc78eae7a Properly terminate AMI JabberSend response messages.
The response message (either Error or Success) needs an extra trailing \r\n
after the fields to inform the client that the message is complete.

(closes issue #14876)
Reported by: srt
Patches:
      05302009_1.4_res_jabber.c.diff uploaded by seanbright (license 71)
      asterisk_14876.patch uploaded by srt (license 378)
      trunk-14876-2.diff uploaded by phsultan (license 73)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-30 19:36:20 +00:00
Russell Bryant
e86b26f1a8 Fix a crash that occurred when MWI SMDI messages expired.
(closes issue #14561)
Reported by: cmoss28


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-30 03:42:46 +00:00
Matthew Nicholson
aa2fd9a4c2 Use AST_CDR_NOANSWER instead of AST_CDR_NULL as the default CDR disposition.
This change also involves the addition of an AST_CDR_FLAG_ORIGINATED flag that is used on originated channels to distinguish: them from dialed channels.

(closes issue #12946)
Reported by: meral
Patches:
      null-cdr2.diff uploaded by mnicholson (license 96)
Tested by: mnicholson, dbrooks

(closes issue #15122)
Reported by: sum
Tested by: sum



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29 18:53:01 +00:00
Russell Bryant
245950ad00 Resolve a file handle leak.
The frames here should have always been freed.  However, out of luck, there was
never any memory leaked.  However, after file streams became reference counted,
this code would leak the file stream for the file being read.

(closes issue #15181)
Reported by: jkroon


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@196826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26 18:14:36 +00:00
Matthew Nicholson
df4812c96e This commit prevents cdr records with AST_CDR_FLAG_ANSLOCKED and AST_CDR_FLAG_LOCKED from being updated in certain cases.
This is accomplished by adding two functions to update the answer time and disposition of calls that checks for the proper lock flags.  These functions are used in the ast_bridge_call() function so that ForkCDR(A) calls are respected.

This patch also modifies the way ast_bridge_call() chooses the cdr record to base the bridged_cdr on.  Previously the first unlocked cdr record would be chosen, now instead the first cdr record is chosen and forked cdr records are moved to the bridge_cdr.  This allows the original cdr record and any forked cdr records to be properly updated with answer and end times.

(closes issue #13797)
Reported by: sh0t
Tested by: sh0t

(closes issue #14744)
Reported by: deepesh


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@195881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21 15:25:50 +00:00
Joshua Colp
91843c8c58 Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge.
(closes issue #15079)
Reported by: barryf


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@195688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-20 17:30:25 +00:00
Tilghman Lesher
efb22ba096 Add a similar dependency on SMDI for voicemail as already exists for ADSI.
(closes issue #14846)
 Reported by: pj
 Patches: 
       20090413__bug14846__1.4.diff.txt uploaded by tilghman (license 14)
       20090507__issue14846__1.6.0.diff.txt uploaded by tilghman (license 14)
       20090507__issue14846__1.6.1.diff.txt uploaded by tilghman (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@195366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 20:24:13 +00:00
Jeff Peeler
84f708474a Make ParkedCall application stop execution of the dialplan after hang up
Just changed park_exec to always return non-zero. I really wasn't entirely sure
at first if this was a bug. Decided it was since it would be surprising when 
not using ParkedCall in the dialplan to hang up and have dialplan execution
continue.

(closes issue #14555)
Reported by: francesco_r


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@192858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-06 22:15:19 +00:00
Joshua Colp
385e28f532 Fix an incorrect assumption that certain values on the channel will always exist when they may not.
The CDR code involved with bridges wrongly assumed that the currently executing application and data
values will always exist. It is possible for this to be false when call forwarding is involved.

(closes issue #14984)
Reported by: gincantalupo


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@192454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-05 18:22:27 +00:00
Russell Bryant
1c1d4a80e0 Fix a typo from 190661.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@190662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-27 19:03:59 +00:00
Russell Bryant
8798a0f9dd Resolve a crash in res_smdi when used with chan_dahdi.
When chan_dahdi goes to get an SMDI message, it provides no search criteria.
It just grabs the next message that arrives.  This code was written with the
SMDI dialplan functions in mind, since that is now the preferred method of
using SMDI.  However, this broke support of it being used from chan_dahdi.

(closes AST-212)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@190661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-27 19:00:54 +00:00
Tilghman Lesher
9eaaa987fc If fileconfig limit exceeds our maximum, then set the limit to the maximum.
(Closes issue #14888)
Reported by: falves11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@188149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-13 23:04:15 +00:00
Mark Michelson
89d04eef98 Fix a small logical error when loading moh classes.
We were unconditionally incrementing the number of mohclasses
registered. However, we should actually only increment if the
call to moh_register was successful.

While this probably has never caused problems, I noticed it
and decided to fix it anyway.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@187045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08 16:52:03 +00:00
Mark Michelson
3e474b3b75 Fix a memory leak in res_monitor.c
The only way that this leak would occur is if Monitor were started
using the Manager interface and no File: header were given. Discovered
while reviewing the ast_channel_ao2 review request.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@183700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-23 17:59:28 +00:00
David Vossel
f42e9eb6bf Cleaning up a few things in detect disconnect patch
Initialized ast_call_feature in detect_disconnect to avoid accessing uninitialized memory.  Cleaned up /param tags in features.h.  No longer send dynamic features in ast_feature_detect. 

issue #11583


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@183386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 19:40:07 +00:00
David Vossel
dd17912d68 Allow disconnect feature before a call is bridged
feature.conf has a disconnect option.  By default this option is set to '*', but it could be anything.  If a user wishes to disconnect a call before the other side answers, only '*' will work, regardless if the disconnect option is set to something else.  This is because features are unavailable until bridging takes place.  The default disconnect option, '*', was hardcoded in app_dial, which doesn't make any sense from a user perspective since they may expect it to be something different.  This patch allows features to be detected from outside of the bridge, but not operated on.  In this case, the disconnect feature can be detected before briding and handled outside of features.c.

(closes issue #11583)
Reported by: sobomax
Patches:
	patch-apps__app_dial.c uploaded by sobomax (license 359)
	11583.latest-patch uploaded by murf (license 17)
	detect_disconnect.diff uploaded by dvossel (license 671)
Tested by: sobomax, dvossel
Review: http://reviewboard.digium.com/r/195/






git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@183126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 16:15:16 +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
7e1ee720ba Improve the build system to *properly* remove unnecessary symbols from the runtime global namespace. Along the way, change the prefixes on some internal-only API calls to use a common prefix.
With these changes, for a module to export symbols into the global namespace, it must have *both* the AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows the linker to leave the symbols exposed in the module's .so file (see res_odbc.exports for an example).



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@182808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 01:55:22 +00:00
Kevin P. Fleming
59f867a5cb revert commit that included extranous changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@182807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 01:51:21 +00:00
Kevin P. Fleming
f1f417a9d8 Improve the build system to *properly* remove unnecessary symbols from the runtime global namespace. Along the way, change the prefixes on some internal-only API calls to use a common prefix.
With these changes, for a module to export symbols into the global namespace, it must have *both* the AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows the linker to leave the symbols exposed in the module's .so file (see res_odbc.exports for an example).



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@182802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 01:28:42 +00:00