Commit Graph

1413 Commits

Author SHA1 Message Date
Russell Bryant
65373a1987 reduce duplicated code by using print_codec_to_cli in sip_show_user as it is
already used in sip_show_peer (issue #7739, DEA)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-15 22:17:38 +00:00
Joshua Colp
4ebd436c85 Add support to see if a peer has someone on hold, and fix a small bug with getting the state name. This one goes out to you mog!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-10 02:41:20 +00:00
Russell Bryant
92bd7f19f7 Merge team/russell/ast_verbose_threadstorage
- instead of defining a free() wrapper in a bunch of files, define it as
  ast_free() in utils.h and remove the copies from all the files.

- centralize and abstract the code used for doing thread storage. The code
  lives in threadstorage.h, with one function being implemented in utils.c.
  This new API includes generic thread storage as well as special functions
  for handling thread local dynamic length string buffers.

- update ast_inet_ntoa() to use the new threadstorage API
- update ast_state2str() to use the new threadstorage API
- update ast_cli() to use the new threadstorage API

- Modify manager_event() to use thread storage. Instead of using a buffer of
  4096 characters as the workspace for building the manager event, use a thread
  local dynamic string.  Now there is no length limitation on the length of the
  body of a manager event.

- Significantly simplify the handling of ast_verbose() ...
  - Instead of using a static char buffer and a lock to make sure only one
    thread can be using ast_verbose() at a time, use a thread local dynamic
    string as the workspace for preparing the verbose message. Instead of
    locking around the entire function, the only locking done now is when the
    message has been built and is being deliviered to the list of registered
    verbose message handlers.
  - This function was doing a strdup() on every message passed to it and
    keeping a queue of the last 200 messages in memory. This has been
    completely removed. The only place this was used was that if there were
    any messages in the verbose queue when a verbose handler was registered,
    all of the messages in the queue would be fed to it.  So, I just made sure
    that the console verbose handler and the network verbose handler (for
    remote asterisk consoles) were registered before any verbose messages.
    pbx_gtkconsole and pbx_kdeconsole will now lose a few verbose messages at
    startup, but I didn't feel the performance hit of this message queue was
    worth saving the initial verbose output for these very rarely used modules.
  - I have removed the last three arguments to the verbose handlers, leaving
    only the string itself because they aren't needed anymore. For example,
    ast_verbose had some logic for telling the verbose handler to add
    a newline if the buffer was completely full. Now that the buffer can grow
    as needed, this doesn't matter anymore.
  - remove unused function, ast_verbose_dmesg() which was to dispatch the
    message queue
  - Convert the list of verbose handlers to use the linked list macros.

- add missing newline characters to a few ast_verbose() calls

- convert the list of log channels to use the linked list macros in logger.c

- fix close_logger() to close all of the files it opened for logging

- update ast_log() to use a thread local dynamic string for its workspace
  for preparing log messages instead of a buffer of size BUFSIZ (8kB on my
  system) allocated on the stack.  The dynamic string in this case is limited
  to only growing to a maximum size of BUFSIZ.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08 06:32:04 +00:00
Olle Johansson
a42c164879 Fix accidental removal of if() in commit 38905
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07 16:20:23 +00:00
Olle Johansson
b57c238260 Issue #7651 - always send subscription-state (AuPix)
Small change to the fix in the report.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07 09:22:43 +00:00
Russell Bryant
9892054414 Merged revisions 38950 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38950 | russell | 2006-08-05 03:21:12 -0400 (Sat, 05 Aug 2006) | 3 lines

don't advertise that this function can set a SIP header when it can only
do reads

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-05 07:22:27 +00:00
Russell Bryant
663adb2b0e Merged revisions 38903-38904 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38903 | russell | 2006-08-05 01:07:39 -0400 (Sat, 05 Aug 2006) | 2 lines

suppress a compiler warning about the usage of a potentially uninitialized variable

........
r38904 | russell | 2006-08-05 01:08:50 -0400 (Sat, 05 Aug 2006) | 10 lines

Fix an issue that would cause a NewCallerID manager event to be generated
before the channel's NewChannel event.  This was due to a somewhat recent
change that included using ast_set_callerid() where it wasn't before.  This
function should not be used in the channel driver "new" functions.
(issue #7654, fixed by me)

Also, fix a couple minor bugs in usecount handling.  chan_iax2 could have
increased the usecount but then returned an error.  The place where chan_sip
increased the usecount did not call ast_update_usecount()

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-05 05:26:29 +00:00
Joshua Colp
e306f812df Don't assume that a referred by URI will always exist (issue #7641 reported and fixed by AuPix)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-04 18:40:47 +00:00
Kevin P. Fleming
1b784cd1f7 Merged revisions 38731 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38731 | kpfleming | 2006-08-02 14:29:56 -0500 (Wed, 02 Aug 2006) | 3 lines

fix brain-damage I introduced when trying to fix the CANCEL/BYE sending mechanism for pending INVITES
accept unknown 1xx responses as 183 responses (as RFC3261 mandates we should do)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-02 19:32:38 +00:00
Kevin P. Fleming
ec2e7aee56 Merged revisions 38611 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38611 | kpfleming | 2006-07-31 16:14:11 -0500 (Mon, 31 Jul 2006) | 4 lines

don't reissue hangup requests for SIP channels that have expired their RTP timeouts (one time is enough)
don't rescan the SIP private structure list too fast, it can cause channels to not be able to hang up (issue #7495, and probably others)
use ast_softhangup_nolock() since we already hold the channel's lock

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-31 21:31:44 +00:00
Russell Bryant
450db95711 add macros for the pure and const attributes to compiler.h, in case they ever
need to be handled differently for a specific compiler


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28 22:50:54 +00:00
Russell Bryant
d6246e579f Add the function attribute "pure" or "const" to various functions that perform
int to string or string to int operations.

"pure" essentially says that this function has no side effects aside from its
result, and the result depends on nothing else other than its arguments and
global variables.  "const" is a more strict form of "pure", where the function
also doesn't access any global variables.

From the gcc manual: "Such a function can be subject to common subexpression 
elimination and loop optimization just as an arithmetic operator would be."
This also tells the compiler that it is safe to call the function fewer times
than the code says to, given the same arguments, since the result will always
be the same.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28 22:14:49 +00:00
Joshua Colp
48c09ef517 Merged revisions 38420 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38420 | file | 2006-07-28 14:49:00 -0400 (Fri, 28 Jul 2006) | 2 lines

Make a copy of the request URI in check_user_full instead of modifying the one on the structure, and also strip params properly from the user portion of the SIP URI so as to preserve the domain (issue #7552 reported by dan42)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-28 18:53:43 +00:00
Russell Bryant
1df50be628 Merged revisions 38288 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38288 | russell | 2006-07-26 21:58:41 -0400 (Wed, 26 Jul 2006) | 3 lines

fix a crash when MALLOC_DEBUG is enabled and the regexten is enabled. The crash
would occur when the extension got removed. (fixes issue #7484)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38291 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27 02:00:20 +00:00
Joshua Colp
6d52c0b559 Merged revisions 38234 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38234 | file | 2006-07-26 11:26:06 -0400 (Wed, 26 Jul 2006) | 2 lines

Put default callerid into contact when the one specified is either NULL or has a zero string length. (issue #7590 reported by key2)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-26 15:27:45 +00:00
Joshua Colp
cbf79ca489 Start out with cleared RTP payload structures instead of defaults. This should prevent issues where if a stream (audio/stream) is not present and it's RTP payload structure is combined with the overall capability then the capability would be every codec that Asterisk supports.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-24 15:47:59 +00:00
Luigi Rizzo
2c3bc8b1b3 move middle-of-the-block declaration at the top.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-24 11:46:27 +00:00
Joshua Colp
6810884f60 Only deal with getting the supported payloads on audio if an audio RTP stream exists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-24 03:42:27 +00:00
Russell Bryant
d897bd41c2 use ast_atomic_fetchadd_int in chan_zap, sip, and iax2 for usecount handling
and fix a couple little things in passing
 - usecnt was not initialized in chan_iax2
 - ast_update_use_count() was not called after incrementing the count in chan_sip


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-22 00:33:56 +00:00
BJ Weschke
f2611e36c3 This corrects the crash condition present in #7575, but I'm not really sure if it's the "right" fix. Please review and make any adjustments you see necessary.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-21 19:10:58 +00:00
Russell Bryant
ca9ba719b6 Merge a new implementation of ast_inet_ntoa, our thread safe replacement for
inet_ntoa, which uses thread specific data (aka thread local storage) instead
of stack allocatted buffers to store the result.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-21 17:31:28 +00:00
Joshua Colp
1861dcdff5 Only bitmaskify the RTP payload structure for video if an RTP structure exists for it... otherwise the default values will cause codec combination madness
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-20 18:42:22 +00:00
North Antara
1edb21b423 Fix a few doxygen warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 22:40:36 +00:00
Kevin P. Fleming
6d0742fc16 merge Russell's 'hold_handling' branch, finally implementing music-on-hold handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 20:44:39 +00:00
Kevin P. Fleming
e8d711723a revert this morning's incorrect indentation change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 13:50:19 +00:00
Mark Spencer
837910062b First pass at in-place file manipulation via manager
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 13:28:38 +00:00
Kevin P. Fleming
4376af0080 actually make the non-standard G726-32 behavior available for SIP clients
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-13 20:35:41 +00:00
Kevin P. Fleming
ead48c38cb Merged revisions 37531 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r37531 | kpfleming | 2006-07-13 11:44:23 -0500 (Thu, 13 Jul 2006) | 2 lines

report address of peer trying to subscribe to unknown hint

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-13 16:47:20 +00:00
Kevin P. Fleming
fd9c9ec28f allow users of RTP to use G726-32 AAL2 packing even when RFC3551 packing has been requested (Sipura/Grandstream ATAs and others will need this)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-13 01:38:47 +00:00
Russell Bryant
4316a871ac repeat after me ...
I WILL TYPE "make" BEFORE COMMITTING ANY CODE


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-12 19:25:50 +00:00
Olle Johansson
8cd5ad1755 Re-enable RTCP quality reports
(Bug found in SIP Master Class, Chicago)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-12 19:09:55 +00:00
Russell Bryant
7828780bb7 eliminate some pointer signedness warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37291 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-07 07:03:42 +00:00
Joshua Colp
1fb6111c18 Merged revisions 37173 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r37173 | file | 2006-07-06 11:48:07 -0400 (Thu, 06 Jul 2006) | 2 lines

Instead of giving the scheduled item ID on a peer expiration, give the time until they expire (issue #7455 reported by slavon)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-06 15:55:05 +00:00
Olle Johansson
c5660895a8 Draft became RFC...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-05 15:56:13 +00:00
Olle Johansson
f9df5318ce Specify digest algorithm for picky clients
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-04 14:54:55 +00:00
Olle Johansson
c6ab7e7164 Increase buffer size for routing headers. When routing with enc.keys within
route headers, we're reaching the limimt for what's possible in one UDP packet...



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-03 15:10:22 +00:00
Olle Johansson
2f6f0b19c5 Raise debugging level for message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-03 07:25:33 +00:00
Russell Bryant
73e8e2ab1f Blocked revisions 36725 via svnmerge
........
r36725 | russell | 2006-07-03 00:19:09 -0400 (Mon, 03 Jul 2006) | 4 lines

use ast_set_callerid to be more consistent and to make sure that the
"callerid" option in the conf files is always handled the same way and sets ANI
(issue #7285, gkloepfer)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-03 04:25:21 +00:00
Olle Johansson
8affb4c1f8 Issue #7421 - Hold status not working fully. Thanks jmls for a good job debugging!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-02 19:53:54 +00:00
Olle Johansson
4c8e3bcdca users want code to compile, really.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-02 17:14:32 +00:00
Olle Johansson
e995afbd10 Formatting and debug output fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-02 16:42:53 +00:00
Olle Johansson
765e420458 tell the other side that we're using 20 ms packetization for iLBC
- we need to investigate support for refusing offers of 30 ms (like the Nokia
  e-series) or supporting it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-02 14:18:00 +00:00
Olle Johansson
b971f65978 - Make use of system name in realtime SIP peers optional
- Fix small issue with SIP history


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-02 12:00:36 +00:00
Joshua Colp
59be0b03b7 Fix up a few log messages in chan_sip (issue #7449 reported by tgrman)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30 15:29:15 +00:00
Olle Johansson
8d4ace1a0a Store sysname even if we do not store fullcontact (thanks tholo)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30 07:22:47 +00:00
Olle Johansson
a38e7f01a9 ...too early in the morning for commits in Bergen, Norway...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-29 07:59:10 +00:00
Olle Johansson
d92de40c2f Add support for a=inactive in SDP for holding. This is not very well documented
in RFCs, as they keep referring to each other in a circular pattern in regards
to this item, but since the Nokia SIP/GSM phones use this, we might as well
start supporting it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36252 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-29 07:15:12 +00:00
Olle Johansson
dd94255a69 Don't delete initid scheduled item twice... Thanks, vecher, for bugging me about this.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-27 20:54:06 +00:00
Olle Johansson
f12f5b7c6c Formatting and doxygen fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-27 19:28:04 +00:00
Olle Johansson
6d86697867 issue #7033 - Don't burst pokes to peers at load or reload.
Open for a cool algorithm to space them out...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-27 18:00:09 +00:00