Commit Graph

6371 Commits

Author SHA1 Message Date
Joshua Colp 3bc9c162f1 Merged revisions 93377 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r93377 | file | 2007-12-17 18:28:09 -0400 (Mon, 17 Dec 2007) | 7 lines

Do not try to access information about a lock when printing out a trylock attempt. It is possible for the lock that it references to no longer be valid. This would have caused segfaults or deadlocks.
(issue #BE-263)
(closes issue #11080)
Reported by: callguy
(closes issue #11100)
Reported by: callguy

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17 22:29:56 +00:00
Olle Johansson c92dafd551 Adding a new CLI command for "manager reload", which is important now that
you need to reload after changes. Thanks YS.

Reported by: ys
Patches: 
      trunk93163_manager_reload.c.diff uploaded by ys (license 281)
(related to issue #11414)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-16 13:35:09 +00:00
Olle Johansson 130fe4000a Change manager so that registered accounts are stored in memory. This opens for a
manager realtime implementation.

If you change accounts in manager.conf, you now need to reload to activate the
changes (deletions, additions). This was not the case with 1.4.

Reported by: ys
Patches: 
      trunk93163_manager_reload.c.diff uploaded by ys (license 281)
(closes issue #11414)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-16 13:32:48 +00:00
Olle Johansson 17afebc1a6 HUGE improvements to QoS/CoS handling by IgorG
- Refer to the proper documentation
- Implement separate signalling/media QoS/CoS in many channels using RTP
- Improve warnings and verbose messages
- Deprecate some old settings

Minor modifications by me, a big effort from IgorG.
Thanks!


Reported by: IgorG
Patches: 
      qoscleanup-89394-4-trunk.patch uploaded by IgorG (license 20)
Tested by: IgorG
(closes issue #11145)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-16 10:51:53 +00:00
Olle Johansson 5279d712d4 Don't drop the first character randomly in long listings in the CLI.
Reported by: slavon
Patches: 
      asterisk-consolerefresh2.diff.txt uploaded by jamesgolovich (license 176)
Tested by: eliel
(closes issue #9325)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-16 09:37:41 +00:00
Mark Michelson 74577dd091 I needed to increment the numbers used on the VERBOSITY_ATLEAST calls by 1.
Thanks to kpfleming for pointing this out.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 19:19:07 +00:00
Mark Michelson 83f152b95c Changed VERBOSITY_LEVEL to VERBOSITY_ATLEAST to be more accurate.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 18:54:48 +00:00
Mark Michelson 4f75e15665 After reading Russell's e-mail to the dev list stating that checking option_verbose is not
equivalent to the check done by ast_verb, I wrote a macro, VERBOSITY_LEVEL, which does this
check. I did a quick look in the source and used this macro in some places where option_verbose
was used.

I also converted some verbose messages in logger.c to use ast_verb instead of ast_verbose.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 18:47:44 +00:00
Russell Bryant 1e9f670e13 Print an error message if a #included file does not exist
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 17:49:28 +00:00
Tilghman Lesher 236132cb92 If malloc.h is included in a Solaris build, the compilation breaks.
Reported by: snuffy
Patch by: snuffy
(Closes issue #11313)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 15:49:14 +00:00
Tilghman Lesher d5b454bf8d Convert ast_verbose to ast_verb.
Reported by: snuffy
Patch by: snuffy
(Closes issue #11547)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 14:48:38 +00:00
Jason Parker 7dbfcdecae Merged revisions 92809 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r92809 | qwell | 2007-12-13 14:13:48 -0600 (Thu, 13 Dec 2007) | 1 line

Make application help text a little more clear about the use of extensions in a filename.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-13 20:14:26 +00:00
Jason Parker 78465ad2a3 Merged revisions 92696 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #10690)
........
r92696 | qwell | 2007-12-12 18:11:09 -0600 (Wed, 12 Dec 2007) | 7 lines

If a typo is found in a config file, we previous continued on with what was already loaded.
We do not want to do this (see bug below for details).

This makes it so that if a [ is found without a ], the entire config will fail, and nothing in it will be loaded.

Issue 10690.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-13 00:18:04 +00:00
Tilghman Lesher 99308dfb4e Conversions of free to ast_free, where applicable, and several other formatting fixes.
Reported by: eliel
Patch by: eliel,tilghman
(Closes issue #11209)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-12 20:05:13 +00:00
Tilghman Lesher 7adf8b6070 Correctly handle possible memory allocation failure
Reported by: eliel
Patch by: eliel
(Closes issue #11512)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-12 17:15:56 +00:00
Olle Johansson c76f72493a Doxygen updates, formatting.
misdn stuff needs a lot of doxygenification

(Hello, Qwell :-) )


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-11 22:20:22 +00:00
Joshua Colp 406547d230 Merged revisions 92363 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r92363 | file | 2007-12-11 15:51:40 -0400 (Tue, 11 Dec 2007) | 6 lines

Fix potential memory leak with the dialed interfaces list if another memory allocation fails.
(closes issue #11507)
Reported by: eliel
Patches:
      global_datastores.c.patch uploaded by eliel (license 64)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-11 19:52:37 +00:00
Russell Bryant f330fb4783 * In unaligned.h, remove some unnecessary casts and mark the arg of the
get_unaligned functions as const
* In event.c, use get_unaligned_uint32() in a couple of places to fix issues on
  architectures that don't allow unaligned access


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-11 16:29:29 +00:00
Joshua Colp 8a7064d3fc Merged revisions 92204 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r92204 | file | 2007-12-10 12:36:15 -0400 (Mon, 10 Dec 2007) | 6 lines

Add G729A as another possible payload name for G729. Some devices use this instead of G729, which is perfectly normal since the payload number itself is defined and can't be used by anything else so the name doesn't matter that much.
(closes issue #11483)
Reported by: revolution
Patches:
      rtp.diff uploaded by revolution (license 346)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 16:37:35 +00:00
Luigi Rizzo 10b3c51930 remove unused code, and simplify the logic for #include/#exec
(still a lot of cleanup needed here).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 19:06:01 +00:00
Luigi Rizzo d602e2c083 Implement comment_buffer and lline_buffer in terms of the ast_str_*() API.
I don't know if comment_buffers etc are actually used at all...



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 18:50:32 +00:00
Luigi Rizzo 0b7e752709 unify some common code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 18:18:28 +00:00
Luigi Rizzo 94b0c2220a normalize formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 18:05:42 +00:00
Luigi Rizzo 7fe5f3464d document a nice technique to exit from a block in case of errors.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 17:58:08 +00:00
Luigi Rizzo a077c8cb90 a little bit of documentation on how lines are parsed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 03:47:19 +00:00
Jason Parker d422e2ab1d Merged revisions 91890 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #11273)
........
r91890 | qwell | 2007-12-07 17:29:01 -0600 (Fri, 07 Dec 2007) | 4 lines

We need to make sure we free the input frame if we return a different frame in ast_dsp_process.

Issue 11273, pointed out by dimas, with a patch by eliel.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07 23:32:09 +00:00
Russell Bryant 8093fa188b Merged revisions 91830 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91830 | russell | 2007-12-07 15:24:33 -0600 (Fri, 07 Dec 2007) | 5 lines

Make the lock protecting each thread's list of locks it currently holds
recursive.  I think that this will fix the situation where some people have
said that "core show locks" locks up the CLI.
(related to issue #11080)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07 21:25:03 +00:00
Jason Parker 02ea9face7 Add count of total number of calls processed by asterisk during it's lifetime.
Add number of total calls and current calls to SNMP.

Closes issue #10057, patch by jcmoore.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07 16:11:05 +00:00
Russell Bryant 00297c91e5 Merged revisions 91777 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91777 | russell | 2007-12-07 10:08:35 -0600 (Fri, 07 Dec 2007) | 6 lines

* Add a bit more of a verbose comment as to why a hangup frame needs to be
  queued up if autoservice gets a NULL return from ast_read().
* Make the process of queueing the hangup frame more efficient by putting the
  frame where it is going to end up and avoiding some locking and extra memory
  allocations and freeing.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07 16:11:00 +00:00
Mark Michelson 05dd9b7ef0 Merged revisions 91737 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91737 | mmichelson | 2007-12-07 09:39:58 -0600 (Fri, 07 Dec 2007) | 7 lines

Hangups that happen during autoservice were not processed appropriately. This is
because a hangup actually causes a NULL frame to be received, not a hangup frame.
Queueing a hangup if we receive a NULL frame during autoservice corrects this problem

(closes issue #11467, reported  by jmls, patched by me)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07 15:40:59 +00:00
Tilghman Lesher 77ec19e255 Merged revisions 91637 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91637 | tilghman | 2007-12-06 18:52:17 -0600 (Thu, 06 Dec 2007) | 5 lines

At the end of a call, when we're reporting, RTCP may already be partially torn down, so check for NULL dereference
Reported by: blitzrage
Patch by: tilghman
(Closes issue #11450)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07 00:58:52 +00:00
Tilghman Lesher 5a5f7ab2d8 If duration or billsec are not yet calculated, calculate them on demand.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 23:27:46 +00:00
Joshua Colp 6e238eba40 Merged revisions 91450 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91450 | file | 2007-12-06 12:49:42 -0400 (Thu, 06 Dec 2007) | 6 lines

Fix various in the udptl implementation. It could return empty modem frames, have an incorrect sequence number on packets, and display the wrong sequence number in the debug messages.
(closes issue #11228)
Reported by: Cache
Patches:
      udptl-4.patch uploaded by dimas (license 88)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 16:51:09 +00:00
Olle Johansson 814d0ed4f8 - The Ping Action
- Now use Response: success
        - New header "Ping: pong" :-)

- The Events action
        - Now use Response: Success
        - The new status is reported as "Events: On" or "Events: Off"

- Report if manager is enabled in the reload event

Small cleanups...

From moremanager


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 15:50:43 +00:00
Olle Johansson 1e07078c60 Changes to manager events in channel.c
- Newstate event
        - Now has "CalleridNum" for numeric caller id, like Newchannel
        - The event does not send "<unknown>" for unknown caller IDs just an empty field
- Newstate and Newchannel events
        - these have changed headers
        "State"         -> ChannelStateDesc     Text based channel state
                        -> ChannelState         Numeric channel state
        - The events does not send "<unknown>" for unknown caller IDs just an empty field

- Newstate event
        - Now has "CalleridNum" for numeric caller id, like Newchannel
        - The event does not send "<unknown>" for unknown caller IDs just an empty field

- Link and Unlink events
        - The "Link" and "Unlink" bridge events in channel.c are now renamed to "Bridge"
        - The link state is in the bridgestate: header as "Link" or "Unlink"
        - For channel.c bridges, "Bridgetype: core" is added. This opens up for
          bridge events in rtp.c and channel drivers

- The "Rename" manager event has a renamed header, to use the same
        terminology for the current channel as other events
        - Oldname       -> Channel

(Moremanager)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 15:29:05 +00:00
Olle Johansson c316bfa5d3 New manager event when a channel changes account code.
Maybe belongs in the new cdr category?
---moremanager---

 Event: NewAccountCode
        Modules: cdr.c
        Purpose: To report a change in account code for a live channel
        Example:
                Event: NewAccountCode
                Privilege: call,all
                Channel: SIP/olle-01844600
                Uniqueid: 1177530895.2
                AccountCode: Stinas account 1234848484
                OldAccountCode: Olles Account 12345



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 15:12:18 +00:00
Olle Johansson 9f1c4887fa Doxygen updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 14:29:20 +00:00
Olle Johansson 9dc965eadd Merged revisions 91366 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91366 | oej | 2007-12-06 13:54:11 +0100 (Tor, 06 Dec 2007) | 4 lines

Make sure logger is reloaded at general reload in the cli.

(Discovered during Asterisk training in Portugal)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 14:23:12 +00:00
Olle Johansson 7e38b474d9 Change description of new manager command
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 10:29:02 +00:00
Olle Johansson 5af2cf109e Add manager command for showing all current channels.
Thanks, eliel, for writing the original patch. Modified by me to follow
other manager events and the new "moremanager" style.

(closes issue #11478)
Reported by: eliel
Patches: 
      manager.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 10:27:54 +00:00
Joshua Colp 3faa47ab5b Instead of iterating through the entire epoll events array just look at the ones that will actually contain data. (props to eliel on IRC for this)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 04:37:36 +00:00
Russell Bryant aeb752fcf4 Merged revisions 91192 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91192 | russell | 2007-12-05 11:31:42 -0600 (Wed, 05 Dec 2007) | 10 lines

Make the lock in the threadstorage debugging code untracked to avoid a deadlock
on thread destruction.

(closes issue #11207)
Reported by: ys
Patches:
      threadstorage.c.diff uploaded by ys (license 281)

Also fixes an open bug report: (closes issue #11446)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-05 17:49:03 +00:00
Tilghman Lesher ce2f670228 Change cdr_manager to use a "CDR" level, rather than the (overcrowded) "call" level.
(Closes issue #11015)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-05 16:46:47 +00:00
Russell Bryant ec846d6cf2 Merged revisions 91074 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91074 | russell | 2007-12-04 18:48:47 -0600 (Tue, 04 Dec 2007) | 4 lines

When DEBUG_THREADS is enabled, we only have the details about who is holding
a lock that we are waiting on for a mutex, not rwlocks.  This should fix the
problem where people have reported "core show locks" crashing sometimes.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-05 00:49:19 +00:00
Russell Bryant f52c068605 Merged revisions 90967 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90967 | russell | 2007-12-04 13:57:39 -0600 (Tue, 04 Dec 2007) | 7 lines

Make some changes to some additions I made recently for doing channel autoservice
when looking up extensions.  This code was added to handle the case where a
dialplan switch was in use that could block for a long time.  However, the way
that I added it, it did this for all extension lookups.  However, lookups in the
in-memory tree of extensions should _not_ take long enough to matter.  So, move
the autoservice stuff to be only around executing a switch.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 22:07:35 +00:00
Russell Bryant f15be28fb0 Add support for monitoring MWI on FXO lines.
This introduces two new options for zapata.conf: mwimonitor and mwimonitornotify.
The mwimonitor option enables MWI monitoring.  When the MWI state on a line changes,
then the script specified by mwimonitornotify will be executed for custom handling
of the state change, similar to the externnotify option of voicemail.conf.

Also, when the MWI state on an FXO line changes, an internal Asterisk event is
generated to indicate the new state of the associated mailbox.  That may, any
module that cares about MWI information will get notified and can handle it
just as if app_voicemail had sent this notification.

(BE-253, original patch from markster, with some minor modifications by me to
 add comments, documentation, and internal event support)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 19:08:30 +00:00
Jason Parker cf6e8ae77e Fix build, that some people aren't seeing for some reason.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 18:09:28 +00:00
Jason Parker 0ef0259302 Merged revisions 90876 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #11454)
........
r90876 | qwell | 2007-12-04 11:28:08 -0600 (Tue, 04 Dec 2007) | 4 lines

If we fail to create a channel after allocating a timing fd, we need to make sure to close it.

Issue 11454, patch by eliel.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 17:38:51 +00:00
Russell Bryant adf3b12e55 Fix a silly little typo :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 17:36:59 +00:00
Mark Michelson c52d8a1cd5 Merged revisions 90735 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90735 | mmichelson | 2007-12-03 17:12:17 -0600 (Mon, 03 Dec 2007) | 22 lines

A big one...

This is the merge of the forward-loop branch. The main change here is that call-forwards can no longer loop.
This is accomplished by creating a datastore on the calling channel which has a linked list of all devices
dialed. If a forward happens, then the local channel which is created inherits the datastore. If, through this
progression of forwards and datastore inheritance, a device is attempted to be dialed a second time, it will simply
be skipped and a warning message will be printed to the CLI. After the dialing has been completed, the datastore
is detached from the channel and destroyed.

This change also introduces some side effects to the code which I shall enumerate here:

1. Datastore inheritance has been backported from trunk into 1.4
2. A large chunk of code has been removed from app_dial. This chunk is the section of code
   which handles the call forward case after the channel has been requested but before it has
   been called. This was removed because call-forwarding still works fine without it, it makes the
   code less error-prone should it need changing, and it made this set of changes much less painful
   to just have the forwarding handled in one place in each module.
3. Two new files, global_datastores.h and .c have been added. These are necessary since the datastore
   which is attached to the channel may be created and attached in either app_dial or app_queue, so they
   need a common place to find the datastore info. This approach was taken in case similar datastores are
   needed in the future, there will be a common place to add them.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 17:08:36 +00:00