Commit Graph

371 Commits

Author SHA1 Message Date
Olle Johansson
479181951a Merge of the "sdpcleanup" branch. Thanks to John Martin for a lot of tests
and some patches (all disclaimed).

- Don't change RTP properties if we reject a re-INVITE
- Don't add video to an outbound channel if there's no video on the inbound channel
- Don't include video in the "preferred codec" list for codec selection
- Clean up and document code that parses and adds SDP attachments

Since we do not transcode video, we can't handle video the same way as audio. This is a
bug fix patch. In future releases, we need to work on a solution for video negotiation,
not codecs but formats and framerates instead.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-06 16:09:33 +00:00
Russell Bryant
1eac38db1d fix a channel deadlock in ast_answer
(deadlock reported by and debuged with hads on #asterisk-dev on IRC)
(probably fixes issue #7267, maybe others)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-06 05:27:14 +00:00
Olle Johansson
b42fbc09c3 - 5 is the highest used debug level, so let's stay there
- Change formatting of RTP debug to align better


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-04 18:55:16 +00:00
BJ Weschke
9f9e9a08db Make sure DEBUG is really cranked up before we decide to flood the logs with messages about Internal timing when a channel has to make a decision about generating internal timing (eg - MOH)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-03 22:08:25 +00:00
Kevin P. Fleming
dfd5fc5605 Merged revisions 31520 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r31520 | kpfleming | 2006-06-01 15:27:50 -0500 (Thu, 01 Jun 2006) | 2 lines

handle Zap transfers behind chan_agent properly so the agent doesn't get stuck waiting for the call to hang up

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-01 20:53:17 +00:00
Russell Bryant
bb7dd96cfe Add support for using a jitterbuffer for RTP on bridged calls. This includes
a new implementation of a fixed size jitterbuffer, as well as support for the
existing adaptive jitterbuffer implementation. (issue #3854, Slav Klenov)

Thank you very much to Slav Klenov of Securax and all of the people involved
in the testing of this feature for all of your hard work!


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-31 16:56:50 +00:00
Kevin P. Fleming
e69388b3ba a few more control frame types that don't need to generate useless notices in the log
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-31 16:04:49 +00:00
Joshua Colp
6b185c1bed Merge in branch which gives you the ability to set the hangup causecode using the Hangup application. (issue #7160 reported by kmilitzer branch by jcollie)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-25 20:51:27 +00:00
Kevin P. Fleming
e140c0ba9f Merged revisions 27468 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r27468 | kpfleming | 2006-05-16 15:05:17 -0500 (Tue, 16 May 2006) | 2 lines

don't leak frames when deferring DTMF or dropping duplicate ANSWER frames (issue #7041, slightly different fix, reported/patched by clausf)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@27477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-16 20:08:29 +00:00
Kevin P. Fleming
74cd80b1a4 use the proper method to get out of the bridge loop
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-11 10:37:39 +00:00
Kevin P. Fleming
a541309599 initialize the bridge result to 'no result', so that we can check for code paths that set it to AST_BRIDGE_COMPLETE inside the loop (thanks Oskar!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-11 10:28:22 +00:00
Russell Bryant
04ecb29d03 remove almost all of the checks of the result from ast_strdupa() or alloca().
As it turns out, all of these checks were useless, because alloca will never
return NULL.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10 13:22:15 +00:00
Kevin P. Fleming
fdcfd6469b ensure that control frames with payload can be sent to channel drivers via ->indicate()
update iax2_indicate to pass control frame payload to the connected channel
add an API call for sending an indication with payload, and use it for control frames with payload


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10 12:24:11 +00:00
Mark Spencer
f2bc3c61cc Make sure that we don't accept an answer on an inbound call and don't permit asterisk to answer an outbound call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09 15:01:10 +00:00
Kevin P. Fleming
16f1acc37f use an enum for control frame types
support sending control frames with payload


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09 14:25:57 +00:00
Luigi Rizzo
93ad00ef06 mark a couple of dubious pieces of code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09 07:51:55 +00:00
Mark Spencer
4d73c80fa1 Minor cleanup on dtmf calling (bug #7076)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-08 14:45:18 +00:00
BJ Weschke
085a4eaa04 Make the "Avoided Initial Deadlock for '....', X retries!" a LOG_DEBUG msg instead of LOG_WARNING as this only has relevance to developers trying to resolve a possible problem. #6949
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-05 22:18:07 +00:00
Luigi Rizzo
5522238a7e remove useless variables, and argument checks for functions
that can safely handle a NULL argument.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-03 17:44:30 +00:00
Luigi Rizzo
d1caf26728 no point in clearing a local variable just before return
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-03 17:30:37 +00:00
Kevin P. Fleming
8e9058679a remove T38_SUPPORT define that is no longer needed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 08:47:47 +00:00
Matt O'Gorman
6fd00ee7ec more janitor work, patch from bug 6975.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-26 21:44:25 +00:00
Kevin P. Fleming
574e14cbea Thanks to the fine work of Russell Bryant and Dancho Lazarov, we now have autoconf and menuselect tools for Asterisk!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:11:45 +00:00
Luigi Rizzo
e48275fea3 convert to use ast_stream_and_wait
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 20:39:50 +00:00
Luigi Rizzo
0dbf814a79 - use symbolic constants and macros to play with the debug flag
on the frame counters. Document it in the header file.
- provide a single exit point for a function;
- mark XXX some unclear parts of the code.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 14:49:21 +00:00
Luigi Rizzo
309f16bd07 make NULL and "" equivalent in cid fields, mark some missing NULL checks.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 10:05:45 +00:00
Luigi Rizzo
585e50fb38 move to a different file (channel.c for the time being) the
wrappers around the basic 'say' functions, and redeclare these
wrappers as ordinary functions rather than function pointers.

This way, alternative implementations of the 'say' functions
will only have to implement the basic functions and not the
wrappers.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-19 07:23:22 +00:00
Luigi Rizzo
52430bda0d - use ast_calloc instead of ast_malloc
- use ast_channel_lock/unlock in a few places
- comment some dubious pieces of code
- use memset to zero a buffer



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-19 06:58:20 +00:00
Joshua Colp
021876711f Do not depend on having an end sound for stopping the bridge when time runs out. (issue #6979 reported by ppyy)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-18 14:43:32 +00:00
Kevin P. Fleming
fc071a182b actually return the number steps... not the number of steps minus 1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-17 16:43:55 +00:00
Kevin P. Fleming
987f24840c add an API so that the number of steps required for a translation path can be acquired
don't transcode via SLINEAR when the option is enabled but there is a direct path from the source to the destination


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-17 16:42:03 +00:00
Luigi Rizzo
bdfa578990 minor formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 18:10:10 +00:00
Luigi Rizzo
3d7e2145b8 move some duplicated code outside an if/then/else block
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 17:59:37 +00:00
Luigi Rizzo
3469287168 make sure there is [almost] only a single exit point for a very long
function so the flow is easier to follow.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 17:41:05 +00:00
Luigi Rizzo
8f80cbea14 simplify the ast_channel walking routines.
(the previous version was mine, but this way it is definitely
more readable).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 16:58:56 +00:00
Luigi Rizzo
ebc152c0da move common conditions to the outside block.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 16:04:24 +00:00
Luigi Rizzo
7783a7a7e6 simplify logic in ast_generic_bridge()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 15:51:53 +00:00
Luigi Rizzo
9807aab483 move common code in one place
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 15:27:58 +00:00
Luigi Rizzo
ba7c8dbd73 avoid returning in the middle of a switch() in ast_answer()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 15:22:13 +00:00
Luigi Rizzo
ad5cfd80c0 simplify function __ast_request_and_dial() as follows:
- handle immediately failures in ast_request();
  This removes the need for checking 'chan' multiple times afterwards.
- handle immediately failures in ast_call(), by moving the one-line
  case at the top of the 'if' statement;
- use ast_strlen_zero in several places instead of expanding it inline;
- make outstate always a valid pointer;
On passing mark an unclear statement and replace a magic number
with sizeof(tmp).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 15:13:39 +00:00
Luigi Rizzo
5a6cc1ea4e properly reindent a block
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 14:14:16 +00:00
Luigi Rizzo
577b740f17 add a missing ast_channel_unlock() evidenced by previous commits.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 14:03:43 +00:00
Luigi Rizzo
5afbcc4f86 remove an extra lock.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 14:00:17 +00:00
Luigi Rizzo
845298a7b3 - replace some nested 'if' with '&&'
- bring the short case at the top of an 'if' statement
  (also fix misformatting)
- replace several 'if' with the '?' operator;
 
- invert the condition on an 'if' to reduce the nesting depth 
  (reindentation to be done later).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 13:58:43 +00:00
Luigi Rizzo
ed6def5c46 Localize some variables documenting their usage.
Comment a possible problem with locking.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 13:27:58 +00:00
Olle Johansson
4a312a044d - Fixes to ast_channel_lock functions
- New get_sip_pvt_byid function (not really used correctly yet...)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 12:57:15 +00:00
Luigi Rizzo
4c9c289a5d localize some variables, add some comments.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 08:01:10 +00:00
Luigi Rizzo
429025db22 implement ast_waitfordigit() and ast_readstring() in terms
of their '_full()' version, so we can remove the replicated
implementation and, especially, the risk that they get out of sync.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 07:53:25 +00:00
Olle Johansson
e75fa47099 More ast_channel_lock fixes
- Update lock.h with definitions of ast_channel_lock, ast_channel_unlock and ast_channel_trylock
- Convert some functions (but not all) in channel.c
- Fix some bugs in chan_sip.c
- Convert rest of chan_sip.c


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-15 15:07:39 +00:00
Olle Johansson
6b3367bf5c New functions for locking a channel - these simplify debugging
when you have channel locking issues.
(Part of the SIP transfer patch, where I had a *lot* of
channel locking problems)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-15 08:07:50 +00:00