Commit Graph

87 Commits

Author SHA1 Message Date
Russell Bryant 0264eef115 Merge the new Channel Event Logging (CEL) subsystem.
CEL is the new system for logging channel events.  This was inspired after
facing many problems trying to represent what is possible to happen to a call
in Asterisk using CDR records.  For more information on CEL, see the built in
HTML or PDF documentation generated from the files in doc/tex/.

Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
Sean Bright (seanbright) for their assistance in the final push to get this
code ready for Asterisk trunk.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 15:28:53 +00:00
Joshua Colp 8e4b5df187 Fix some uninitialized memory notices that appeared under valgrind.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 18:02:44 +00:00
Joshua Colp 63de834395 Merge in the RTP engine API.
This API provides a generic way for multiple RTP stacks to be
integrated into Asterisk. Right now there is only one present, res_rtp_asterisk,
which is the existing Asterisk RTP stack. Functionality wise this commit
performs the same as previously. API documentation can be viewed in the
rtp_engine.h header file.

Review: http://reviewboard.digium.com/r/209/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02 17:20:52 +00:00
Tilghman Lesher 08af5bb312 Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating
when a file is invalid from when a file is missing.  This is most important when
we have two configuration files.  Consider the following example:

Old system:
sip.conf     users.conf     Old result               New result
========     ==========     ==========               ==========
Missing      Missing        SIP doesn't load         SIP doesn't load
Missing      OK             SIP doesn't load         SIP doesn't load
Missing      Invalid        SIP doesn't load         SIP doesn't load
OK           Missing        SIP loads                SIP loads
OK           OK             SIP loads                SIP loads
OK           Invalid        SIP loads incompletely   SIP doesn't load
Invalid      Missing        SIP doesn't load         SIP doesn't load
Invalid      OK             SIP doesn't load         SIP doesn't load
Invalid      Invalid        SIP doesn't load         SIP doesn't load

So in the case when users.conf doesn't load because there's a typo that
disrupts the syntax, we may only partially load users, instead of failing with
an error, which may cause some calls not to get processed.  Worse yet, the old
system would do this with no indication that anything was even wrong.

(closes issue #10690)
 Reported by: dtyoo
 Patches: 
       20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12 23:30:03 +00:00
Sean Bright bea1644dc2 Merge more changes from the resolve-shadow-warnings branch (henceforth known
as RSW since i am too lazy to keep typing it all out).  This time a few of
the channels.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-09 12:53:57 +00:00
Brett Bryant 5b7933fe5e Janitor patch to change uses of sizeof to ARRAY_LEN
(closes issue #13054)
Reported by: pabelanger
Patches:
      ARRAY_LEN.patch2 uploaded by pabelanger (license 224)
Tested by: seanbright


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 18:09:35 +00:00
Philippe Sultan 001c95b595 Do not link the guest account with any configured XMPP client (in
jabber.conf). The actual connection is made when a call comes in
Asterisk.

Apply this fix to Jingle too.

Fix the ast_aji_get_client function that was not able to retrieve an
XMPP client from its JID.

(closes issue #12085)
Reported by: junky
Tested by: phsultan


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 14:35:24 +00:00
Philippe Sultan bf13b4df4e Changed to temporary namespaces to match with latest XEPs. As soon as
Jingle is completely standardized, we can set those namespaces to their
final values.

Added two attributes to the jingle_pvt struct to store the content
name attributes. Reported by Robert McQueen on Telepathy's framework
mailing list :
http://lists.freedesktop.org/archives/telepathy/2008-May/001971.html

Keeping working on our Jingle stack!

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-28 14:10:48 +00:00
Philippe Sultan 2ab8f076bf Code simplification
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-28 08:39:10 +00:00
Michiel van Baak f1e9371da8 - revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void

Recently the ast_queue_hangup function got a new parameter, the hangupcause
Feedback came in that this is no good and that instead a new function should be created.
This I did.

The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
elegant, and since there's already a data member that one should be used.
Problem is, this member was a void *.
Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
wants to store another type in there in the future.

This commit is so massive, because all ast_frame.data uses have to be
altered to ast_frame.data.data

Thanks russellb and kpfleming for the feedback.

(closes issue #12674)
Reported by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22 16:29:54 +00:00
Tilghman Lesher f491267c88 Merged revisions 114708 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114708 | tilghman | 2008-04-27 23:47:39 -0500 (Sun, 27 Apr 2008) | 5 lines

When modules are embedded, they take on a different name, without the ".so"
extension.  Specifically check for this name, when we're checking if a module
is loaded.
(Closes issue #12534)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-28 04:53:20 +00:00
Michiel van Baak 08e674bce0 Pass the hangup cause all the way to the calling app/channel.
(closes issue #11328)
Reported by: rain
Patches:
      20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14)
brought up-to-date to trunk by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-24 22:16:48 +00:00
Jeff Peeler 41fd7a6a21 (closes issue #6113)
Reported by: oej
Tested by: jpeeler

This patch implements multiple parking lots for parked calls. The default parkinglot is used by default, however setting the channel variable PARKINGLOT in the dialplan will allow use of any other configured parkinglot. See configs/features.conf.sample for more details on setting up another non-default parkinglot. Also, one can (currently) set the default parkinglot to use in the driver configuration file via the parkinglot option.

Patch initially written by oej, brought up to date and finalized by mvanbaak, and then stabilized and converted to astobj2 by me.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-21 23:42:45 +00:00
Jason Parker 1c0bc928d1 Merged revisions 107714 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107714 | qwell | 2008-03-11 15:49:56 -0500 (Tue, 11 Mar 2008) | 5 lines

Copy voicemail dependency logic for res_adsi to chan_gtalk and chan_jingle (for jabber).

(closes issue #12014)
Reported by: junky

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 20:53:48 +00:00
Philippe Sultan 7293986e44 Remove unnecessary if statements before calling iks_delete (redundant check is
done inside iks_delete), thus making the code conform with coding guidelines.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-29 14:15:03 +00:00
Luigi Rizzo 7e8835e0d7 remove another set of redundant #include "asterisk/options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:24:55 +00:00
Luigi Rizzo 0595b5e2aa include "logger.h" and errno.h from asterisk.h - usage shows that they
were included almost everywhere.
Remove some of the instances.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 18:52:04 +00:00
Luigi Rizzo d82a631f9c more removal of duplicate #include lines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 00:02:33 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Tilghman Lesher 7c56918262 Commit some cleanups to the format type code.
- Remove the AST_FORMAT_MAX_* types, as these are consuming 3 out of our available 32 bits.
 - Add a native slin16 type, so that 16kHz codecs can translate without losing resolution.
   (This doesn't affect anything immediately, until another codec has wb support.)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 22:51:48 +00:00
Jason Parker 2c582c7cfb Allow gtalk and jingle to use TLS connections again.
Closes issue #9972


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 18:44:19 +00:00
Jason Parker 2902601eea Remove traces of gnutls, since we no longer use/need it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 23:26:51 +00:00
Jason Parker fa33494d80 Merged revisions 87906 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #11130)
(closes issue #11132)

........
r87906 | qwell | 2007-10-31 16:16:20 -0500 (Wed, 31 Oct 2007) | 4 lines

Don't try to allocate memory that we're just going to re-allocate later anyways.

Issues 11130 and 11132, patch by eliel.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 21:18:52 +00:00
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00
Philippe Sultan 65547b09b4 Fix CLI help output
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-16 10:38:57 +00:00
Philippe Sultan 0163f90829 Added two CLI functions, taken from chan_gtalk :
- jingle reload ;
- jingle show channels.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-16 10:29:33 +00:00
Philippe Sultan 37a0b33171 Make an audio path under the following call configuration :
SIP Phone 1 --- [chan_sip]Asterisk 1[chan_jingle] --- [chan_jingle]Asterisk 2[chan_sip] --- SIP Phone 2

Modifications :
- set bridge type to partial ;
- process media candidates from the remote peer properly.

Now we have Jingle audio, at least between two Asterisk Jingle
clients.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-16 09:47:22 +00:00
Philippe Sultan 969ead2ae9 Allow RTP structure registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-15 15:26:58 +00:00
Tilghman Lesher 7adbd6bb16 Remove redundant includes (patch by snuffy) (Closes issue #10922)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-09 16:04:41 +00:00
Philippe Sultan 3a5f263bf0 Comply with latest XEP-0166, XEP-0167, XEP-0176.
No real Jingle implementation being available, testing was made using
two Asterisk servers relaying SIP calls over their Jingle channels:

SIP Phone 1 --- [chan_sip]Asterisk 1[chan_jingle] --- [chan_jingle]Asterisk 2[chan_sip] --- SIP Phone 2

Thus, it was possible to test the code in both ways, and make the
Jingle channel comply with the latest specifications. No sound available yet.

Main modifications include :
- modified the 'jingle_candidate' structure and the
  'jingle_create_candidates' function according to XEP-0176 ;
- modified the 'jingle_action' function in order to properly terminate
  a Jingle session, in conformance with XEP-0166 ;
- modified username format used in STUN requests ;
- actually make the bindaddr configuration field useable.

Todo :
- set audio paths up (no native bridging) ;
- make the CLI gtalk functions available to jingle ;
- clean up the storage space used in strings.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-25 09:07:30 +00:00
Philippe Sultan 915f0e7505 Replace Google namespace occurrences with Jingle. The former namespace
is handled by chan_gtalk.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 13:55:08 +00:00
Philippe Sultan 474bbdd406 Remove namespaces in payload-type tags.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 13:29:44 +00:00
Philippe Sultan dc9dc75379 Transmit proper invitation, thus conforming to XEP-0166 (Jingle general
specifications), XEP-0167 (Jingle Audio via RTP) and XEP-0176 (Jingle ICE
Transport).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 12:23:56 +00:00
Philippe Sultan 4291976429 Fix DTMF following what has been done in issue #9401. Thanks irroot.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-14 13:02:31 +00:00
Philippe Sultan 5b1668603f Modify rule filters to match with the Jingle namespace constant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-13 15:25:18 +00:00
Philippe Sultan 92cc7aeff1 Changed Jingle and Jingle DTMF namespaces.
As both specifications are in the Experimental status, the namespaces
specified therein shall be of the form
"http://www.xmpp.org/extensions/xep-XXXX.html#ns".

See the Namespace issuance section in XEP-0053 :
http://www.xmpp.org/extensions/xep-0053.html#namespaces

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-13 15:05:16 +00:00
Philippe Sultan 848e59aa1e Reflect Jingle DTMF specification changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-13 14:00:56 +00:00
Tilghman Lesher 56b9568164 Don't reload a configuration file if nothing has changed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 21:09:46 +00:00
Joshua Colp d5eda8709c Merged revisions 79174 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79174 | file | 2007-08-13 11:18:04 -0300 (Mon, 13 Aug 2007) | 4 lines

(closes issue #10437)
Reported by: haklin
Don't set the callerid name and number a second time on a newly created channel. ast_channel_alloc itself already sets it and setting it twice would cause a memory leak.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-13 14:22:46 +00:00
Joshua Colp 22114b509d Add support for using epoll instead of poll. This should increase scalability and is done in such a way that we should be able to add support for other poll() replacements.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-08 21:44:58 +00:00
Joshua Colp e13e88836a Silly jingle...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 23:14:39 +00:00
Russell Bryant 3957ce9215 Merged revisions 70084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r70084 | russell | 2007-06-19 14:13:45 -0500 (Tue, 19 Jun 2007) | 3 lines

Only attempt to queue a hangup on the owner channel if it actually exists.
(issue #9795, patch from zandbelt)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-19 19:15:03 +00:00
Russell Bryant 055d82cbce Add a massive set of changes for converting to use the ast_debug() macro.
(issue #9957, patches from mvanbaak, caio1982, critch, and dimas)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 19:39:12 +00:00
Tilghman Lesher ce9ec91897 ast_calloc janitor (Inspired by issue 9860)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-03 06:10:27 +00:00
Kevin P. Fleming f371a4c756 more minor fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-25 15:07:26 +00:00
Kevin P. Fleming c74518e3ff Merged revisions 66157 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r66157 | kpfleming | 2007-05-25 10:28:46 -0400 (Fri, 25 May 2007) | 3 lines

handle the GNUTLS library properly in the configure script and build system
don't build in OSP support unless we have found and are allowed to use SSL support

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-25 14:37:55 +00:00
Olle Johansson a39f95b94f Adding external referenses for doxygen
See http://www.asterisk.org/doxygen/trunk/extref.html


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-07 18:25:56 +00:00
Steve Murphy 28b5fb02bd updated ast_channel_alloc() call to include the 4 extra args everyone got. Not much info there, as the config file evidently does not allow amaflags, or accountcode settings; and the pvt's exten doesn't sound like what we need in the cdr, either.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-10 16:07:10 +00:00
Russell Bryant b2ddaaf033 Add support for RTP packetization in chan_jingle and chan_gtalk.
(issue #9416, phsultan)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-03 22:33:03 +00:00