dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

788 Commits

Author SHA1 Message Date
tilghman 9d218d354a We weren't properly encapsulating the mtime ignores of config files (closes issue #10488)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79940 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-18 13:52:44 +00:00
russell 907112a201 Make use of ast_sched_replace() in some places in chan_iax2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79862 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-17 14:14:59 +00:00
russell b23ebc68ce Merged revisions 79756 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79756 | russell | 2007-08-16 16:29:24 -0500 (Thu, 16 Aug 2007) | 11 lines

Fix more deadlocks in chan_iax2 that were introduced by making frame handling
and scheduling multi-threaded.  Unfortunately, we have to do some expensive
deadlock avoidance when queueing frames on to the ast_channel owner of the IAX2
pvt struct.  This was already handled for regular frames, but ast_queue_hangup
and ast_queue_control were still used directly.  Making these changes introduced
even more places where the IAX2 pvt struct can disappear in the context of a
function holding its lock due to calling a function that has to unlock/lock it
to avoid deadlocks.  I went through and fixed all of these places to account for
this possibility.
(issue #10362, patch by me)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79764 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-16 21:33:38 +00:00
tilghman dbec3d56c1 Don't reload a configuration file if nothing has changed.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-16 21:09:46 +00:00
dhubbard f31085f99c added counter for iax2 show registry CLI output, closes issue 10461, thanks junky
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79725 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-16 18:23:39 +00:00
russell 600ef2b1ef Merged revisions 79470 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79470 | russell | 2007-08-14 13:49:10 -0500 (Tue, 14 Aug 2007) | 2 lines

Fix another spot where an iax2_peer would be leaked if realtime was in use.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79471 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-14 18:50:12 +00:00
russell 6805b4f295 Merged revisions 79436 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79436 | russell | 2007-08-14 12:31:39 -0500 (Tue, 14 Aug 2007) | 3 lines

Fix some memory leaks throughout chan_iax2 related to the use of realtime.
I found these while working on iax2_peer object reference tracking.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79437 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-14 17:33:12 +00:00
russell f8f162f4c7 Merged revisions 79301 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79301 | russell | 2007-08-13 15:37:50 -0500 (Mon, 13 Aug 2007) | 3 lines

Don't call find_peer in registry_authrequest with the pvt lock held to avoid a
deadlock.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79306 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 20:40:47 +00:00
russell 791fc1faf7 Merged revisions 79276 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79276 | russell | 2007-08-13 15:18:30 -0500 (Mon, 13 Aug 2007) | 4 lines

Release the pvt lock before calling find_peer in register_verify to avoid a
deadlock.  Also, remove some unnecessary locking in auth_fail that was only done
recursively.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79277 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 20:20:43 +00:00
russell d2622ed6e6 Merged revisions 79274 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79274 | russell | 2007-08-13 15:02:57 -0500 (Mon, 13 Aug 2007) | 3 lines

Don't call find_peer within update_registry with a pvt lock held.  This can
cause a deadlock as the code will eventually call find_callno.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79275 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 20:06:19 +00:00
russell 633a42b7b5 Merged revisions 79272 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79272 | russell | 2007-08-13 14:27:39 -0500 (Mon, 13 Aug 2007) | 9 lines

I am fighting deadlocks in chan_iax2.  I have tracked them down to a single
core issue.  You can not call find_callno() while holding a pvt lock as this
function has to lock another (every) other pvt lock.  Doing so can lead to a
classic deadlock.  So, I am tracking down all of the code paths where this
can happen and fixing them.

The fix I committed earlier today was along the same theme.  This patch fixes
some code down the path of authenticate_reply.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79273 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 19:29:30 +00:00
russell 67e6033b80 Merged revisions 79214 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79214 | russell | 2007-08-13 10:28:13 -0500 (Mon, 13 Aug 2007) | 4 lines

Fix a potential deadlock in socket_process.  check_provisioning can eventually
call find_callno.  You can't hold a pvt lock while calling find_callno because
it goes through and locks every single one looking for a match.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79222 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 15:32:05 +00:00
file 2ca342ce99 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: http://svn.digium.com/svn/asterisk/trunk@79175 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13 14:22:46 +00:00
russell 5448fa9f9e Fix a problem that I had introduced into MWI handling. I had ignored
the mailbox context.  Now, all related MWI event dealings pay attention
to the context as well.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-09 17:07:36 +00:00
file ef6eae917d Correct spelling. s/threaads/threads/
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78637 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08 19:03:46 +00:00
russell 858fd60436 Merged revisions 78242 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78242 | russell | 2007-08-06 15:44:09 -0500 (Mon, 06 Aug 2007) | 4 lines

Fix an issue where dynamic threads can get free'd, but still exist in the 
dynamic thread list.
(closes issue #10392, patch from Mihai, with credit to his colleague, Pete)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78243 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06 20:45:09 +00:00
russell dbb9124503 Merged revisions 78063 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78063 | russell | 2007-08-03 12:01:07 -0500 (Fri, 03 Aug 2007) | 4 lines

Only pass through HOLD and UNHOLD control frames when the mohinterpret option
is set to "passthrough".  This was pointed out by Kevin in the middle of a
training session.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78064 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-03 17:02:00 +00:00
russell 997720dcb5 Merged revisions 78028 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78028 | russell | 2007-08-02 21:04:22 -0500 (Thu, 02 Aug 2007) | 6 lines

Don't reuse the timespec that was set to 0 in the previous timedwait as it
will just return immediately.  Also, fix some logic so the thread's lock
isn't unlocked twice in the weird case of dynamic threads getting acquired
right after a timeout.
(pointed out by SteveK)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78029 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-03 02:05:02 +00:00
russell ec5c90ad63 Merged revisions 77949 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77949 | russell | 2007-08-02 14:25:14 -0500 (Thu, 02 Aug 2007) | 5 lines

Fix the case where a dynamic thread times out waiting for something to do
during the first time it runs.  This shouldn't ever happen, but we should
account for it anyway.
(pointed out by pete, who works with mihai)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77950 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-02 19:26:12 +00:00
russell 4c19db0577 Merged revisions 77943 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77943 | russell | 2007-08-02 13:04:43 -0500 (Thu, 02 Aug 2007) | 9 lines

Fix another race condition in the handling of dynamic threads.  If the dynamic
thread timed out waiting for something to do, but was acquired to perform an
action immediately afterwords, then wait on the condition again to give the
other thread a chance to finish setting up the data for what action this thread
should perform.  Otherwise, if it immediately continues, it will perform the
wrong action.
(reported on IRC by mihai, patch by me)
(related to issue #10289)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77944 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-02 18:05:23 +00:00
russell 0a070184a3 Fix an issue that Simon pointed out to me on IRC. There were cases in the
trunk version of find_idle_thread() where the old full frame processing
information was not cleared out.  This would have caused full frames to get
deferred for processing by threads that weren't actually processing frames for
that call.  Nice catch!!


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77941 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-02 17:09:42 +00:00
russell 593e2c31da Merged revisions 77939 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77939 | russell | 2007-08-02 11:56:04 -0500 (Thu, 02 Aug 2007) | 4 lines

Add another sanity check to vnak_retransmit().  This check ensures that frames
that have already been marked for deletion don't get retransmitted.
(closes issue #10361, patch from mihai)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77940 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-02 16:58:26 +00:00
russell 37f2a147df Merged revisions 77887 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77887 | russell | 2007-08-01 17:16:17 -0500 (Wed, 01 Aug 2007) | 23 lines

Fix some race conditions which have been causing weird problems in chan_iax2.
The most notable problem is that people have been seeing storms of VNAK frames
being sent due to really old frames mysteriously being in the retransmission
queue and never getting removed.

It was possible that a dynamic thread got created, but did not acquire its lock
before the thread that created it signals it to perform an action.  When this
happens, the thread will sleep until it hits a timeout, and then get destroyed.
So, the action never gets performed and in some cases, means a frame doesn't
get transmitted and never gets freed since the scheduler never gets a chance
to reschedule transmission.

Another less severe race condition is in the handling of a timeout for a dynamic
thread.  It was possible for it to be acquired to perform at action at the same
time that it hit a timeout.  When this occurs, whatever action it was acquired
for would never get performed.

(patch contributed by Mihai and SteveK)
(closes issue #10289)
(closes issue #10248)
(closes issue #10232)
(possibly related to issue #10359)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77889 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-01 22:24:23 +00:00
file b758097d02 Merged revisions 77869 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77869 | file | 2007-08-01 14:56:59 -0300 (Wed, 01 Aug 2007) | 2 lines

Add some fixes for building on Solaris.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77870 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-01 18:01:33 +00:00
russell b6354a43bb Change another unnecessary use of the increment operator to explicitly set the var to 1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77800 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30 20:36:18 +00:00
russell c3341e57b8 Explicitly set a variable to 1 instead of using the increment operator.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77799 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30 20:33:44 +00:00
russell 9a90df4ba7 Merged revisions 77794 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77794 | russell | 2007-07-30 15:16:43 -0500 (Mon, 30 Jul 2007) | 8 lines

Fix an issue that could potentially cause corruption of the global iax frame
queue.  In the network_thread() loop, it traverses the list using the
AST_LIST_TRAVERSE_SAFE macro.  However, to remove an element of the list within
this loop, it used AST_LIST_REMOVE, instead of AST_LIST_REMOVE_CURRENT, which I
believe could leave some of the internal variables of the SAFE macro invalid.
Mihai says that he already made this change in his local copy and it didn't help
his VNAK storm issues, but I still think it's wrong.  :)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77797 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30 20:21:05 +00:00
russell 4f3c4dc7f2 Do a massive conversion for using the ast_verb() macro
(closes issue #10277, patches by mvanbaak)

Basically, this changes ...

if (option_verbose > 2)
   ast_verbose(VERBOSE_PREFIX_3, "Something\n");

to ...

ast_verb(3, "Something\n");


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77299 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26 15:49:18 +00:00
rizzo dbf2283861 silence a warning in ast-devmode on a potentially uninitialized var.
At first sight (but the function is very large so i am not 100% sure)
the code seems correct, so maybe my compiler is just not smart
enough to figure that out at the optimization level it has.

Not worthwhile merging to 1.4 i believe.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77156 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-25 21:58:13 +00:00
tilghman d34875fdbe Merged revisions 76803 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r76803 | qwell | 2007-07-24 11:32:20 -0500 (Tue, 24 Jul 2007) | 3 lines

Don't create the Asterisk channel until we are starting the PBX on it.
(ASA-2007-018)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76807 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-24 17:05:10 +00:00
russell 76f932803e Merged revisions 76485 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r76485 | russell | 2007-07-23 07:25:01 -0500 (Mon, 23 Jul 2007) | 6 lines

Use a signed integer for storing the number of bytes in the packet read from
the network.  Using an unsigned value here made it impossible to handle an
error returned from recvfrom().  Furthermore, in the case that recvfrom()
did return an error, this would cause a crash due to a heap overflow.
(closes issue #10265, reported by and fix suggested by timrobbins)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76486 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23 12:29:46 +00:00
murf 77f799ff1e After some study, thought, comparing, etc. I've backed out the previous universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75983 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-19 23:24:27 +00:00
russell ca87ea6a1b Merged revisions 75928 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75928 | russell | 2007-07-19 10:53:15 -0500 (Thu, 19 Jul 2007) | 14 lines

Merged revisions 75927 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75927 | russell | 2007-07-19 10:49:42 -0500 (Thu, 19 Jul 2007) | 6 lines

When processing full frames, take sequence number wraparound into account when
deciding whether or not we need to request retransmissions by sending a VNAK.
This code could cause VNAKs to be sent erroneously in some cases, and to not
be sent in other cases when it should have been.
(closes issue #10237, reported and patched by mihai)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75929 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-19 15:53:50 +00:00
russell 9adde0ba11 I thought I noticed a memory leak earlier when I saw that the contents of this
list were not destroyed when the module is unloaded.  However, after reading
the code related to the use of this list a lot today, I realized that it isn't
necessary.  So, I have added a comment to explain why it isn't necessary.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75806 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18 22:52:54 +00:00
tilghman 20d96a5123 Change IAX variables to use datastores (closes issue #9315)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75805 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18 22:40:03 +00:00
russell d25b5bd7b0 Merged revisions 75759 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75759 | russell | 2007-07-18 16:09:46 -0500 (Wed, 18 Jul 2007) | 13 lines

Merged revisions 75757 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75757 | russell | 2007-07-18 16:09:13 -0500 (Wed, 18 Jul 2007) | 5 lines

When traversing the queue of frames for possible retransmission after
receiving a VNAK, handle sequence number wraparound so that all frames that 
should be retransmitted actually do get retransmitted.
(issue #10227, reported and patched by mihai)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75761 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18 21:10:27 +00:00
russell 1b6cece23e convert some lines indented with spaces to tabs
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75709 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18 19:50:21 +00:00
tilghman 74c2948c22 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75706 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18 19:47:20 +00:00
russell 94cdda3f04 Merged revisions 75445 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75445 | russell | 2007-07-17 15:48:21 -0500 (Tue, 17 Jul 2007) | 13 lines

Merged revisions 75444 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75444 | russell | 2007-07-17 15:45:27 -0500 (Tue, 17 Jul 2007) | 5 lines

Ensure that when encoding the contents of an ast_frame into an iax_frame, that
the size of the destination buffer is known in the iax_frame so that code
won't write past the end of the allocated buffer when sending outgoing frames.
(ASA-2007-014)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75446 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17 20:49:09 +00:00
russell ed46a261f3 Merged revisions 75441 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75441 | russell | 2007-07-17 15:42:12 -0500 (Tue, 17 Jul 2007) | 12 lines

Merged revisions 75440 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75440 | russell | 2007-07-17 15:41:41 -0500 (Tue, 17 Jul 2007) | 4 lines

After parsing information elements in IAX frames, set the data length to zero,
so that code later on does not think it has data to copy.
(ASA-2007-015)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75442 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17 20:42:50 +00:00
murf cdfb9990ad via 10206, I have added an option (e) to Dial to allow the h exten to get run on peer. Had to upgrade ast_flag stuff to 64 bits to do this.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75400 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17 19:40:29 +00:00
russell ce7dacebba Merged revisions 74767 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r74767 | russell | 2007-07-11 17:57:07 -0500 (Wed, 11 Jul 2007) | 13 lines

Merged revisions 74766 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r74766 | russell | 2007-07-11 17:53:26 -0500 (Wed, 11 Jul 2007) | 5 lines

The function make_trunk() can fail and return -1 instead of a valid new call
number.  Fix the uses of this function to handle this instead of treating it
as the new call number.  This would cause a deadlock and memory corruption.
(possible cause of issue #9614 and others, patch by me)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@74769 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-11 23:05:34 +00:00
russell afee3acc96 Merged revisions 73555 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r73555 | russell | 2007-07-05 18:05:33 -0500 (Thu, 05 Jul 2007) | 3 lines

copy from the correct buffer when deferring a full frame
(related to issue #9937)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@73557 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-05 23:06:01 +00:00
russell 702f344a43 Merged revisions 73551 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r73551 | russell | 2007-07-05 17:31:31 -0500 (Thu, 05 Jul 2007) | 6 lines

* Store the call number that a thread is processing without the full frame bit
  set to ease debugging
* When deferring a full frame for processing, stick it into the queue for the
  thread that is processing frames for that call, not the one that read the
  current frame and is about to go back into the idle list
(related to issue #9937)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@73552 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-05 22:32:30 +00:00
file f3c5a95dc9 Yet another Solaris tweak...
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@72936 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-02 20:35:35 +00:00
russell 972f877bc5 Merged revisions 71003 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r71003 | russell | 2007-06-21 22:14:41 -0500 (Thu, 21 Jun 2007) | 3 lines

Fix a small typo which ... well ... completely broke chan_iax2.  oops!
(issue #9937, patch by me)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71004 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-22 03:15:34 +00:00
russell 6128082778 Merged revisions 70883 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r70883 | russell | 2007-06-21 16:14:53 -0500 (Thu, 21 Jun 2007) | 3 lines

Put the thread reading from the socket back in the idle list if it deferred the
processing of a full frame to another thread

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@70887 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-21 21:16:36 +00:00
russell fd11fb4061 Merged revisions 70866 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r70866 | russell | 2007-06-21 16:07:04 -0500 (Thu, 21 Jun 2007) | 5 lines

If a full frame is received while one of the iax2 threads is in the middle
of handling a full frame for the same call, queue it up for processing by that
same thread later instead of dropping it.
(issue #9937, patch by me)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@70877 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-21 21:12:03 +00:00
kpfleming 4c5507d166 Merged revisions 69392 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69392 | kpfleming | 2007-06-14 16:50:40 -0500 (Thu, 14 Jun 2007) | 2 lines

use ast_localtime() in every place localtime_r() was being used

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69405 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-14 22:09:20 +00:00
russell f042431847 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: http://svn.digium.com/svn/asterisk/trunk@69327 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-14 19:39:12 +00:00
file aa74a2d034 Merged revisions 69221 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69221 | file | 2007-06-13 17:17:28 -0400 (Wed, 13 Jun 2007) | 2 lines

Let's make chan_iax2 media only native transfers actually work. (issue #9376 reported by simone cittadini)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69223 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-13 21:20:32 +00:00
russell 7a68e9b96b Merged revisions 69069 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69069 | russell | 2007-06-13 11:29:12 -0500 (Wed, 13 Jun 2007) | 3 lines

Fix a place where a chan_iax2 pvt struct was accessed without the lock held.
This issue was reported to me via email by Dmitry Mishchenko.  Thanks!

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69070 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-13 16:29:45 +00:00
file 57e249fb0a Merged revisions 69014 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69014 | file | 2007-06-12 15:36:29 -0400 (Tue, 12 Jun 2007) | 2 lines

Change the full frame dropping log message to debug to avoid future bug reports.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69015 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-12 19:38:17 +00:00
file 2d6f8523ca Merged revisions 69012 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69012 | file | 2007-06-12 15:26:38 -0400 (Tue, 12 Jun 2007) | 2 lines

Schedule the sending of a PING packet a second later than previously so that it does not collide with the LAGRQ.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69013 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-12 19:29:12 +00:00
kpfleming 7028ac1662 Merged revisions 68450 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r68450 | kpfleming | 2007-06-08 10:52:47 -0500 (Fri, 08 Jun 2007) | 2 lines

actually remember the type/subclass of full frames that are in process

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@68453 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-08 16:03:01 +00:00
kpfleming 5e7bfda69d Merged revisions 68313 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r68313 | kpfleming | 2007-06-07 17:14:35 -0500 (Thu, 07 Jun 2007) | 6 lines

some improvements to the IAX2 full frame dropping logic recently added:

- use inaddrcmp(), since we have it
- output the type of frame and subclass being dropped, and the type/subclass that is already being processed (which caused the drop)


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@68321 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-07 22:18:38 +00:00
dhubbard 8afee0e59e added CLI 'iax2 unregister <peername>' for issue 9812, thanks eliel
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67901 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-06 22:35:35 +00:00
tilghman eb5d461ed4 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67864 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-06 21:20:11 +00:00
russell dd3c84f68e Make another small tweak ... mantis/svn testing
(issue #9828)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67779 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-06 18:47:58 +00:00
file 838b92749f Merged revisions 67304 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67304 | file | 2007-06-05 12:22:30 -0300 (Tue, 05 Jun 2007) | 2 lines

Only muck with the thread structure if an idle one was found/created.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67305 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-05 15:24:01 +00:00
russell 0fa7915f30 Doxygenify the comments for new members of the iax2_thread struct
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67272 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-05 14:55:09 +00:00
kpfleming b42b5ac79b Merged revisions 67270 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67270 | kpfleming | 2007-06-05 09:35:52 -0500 (Tue, 05 Jun 2007) | 3 lines

ensure that a burst of full frames (AST_FRAME_DTMF being the prime example) will not be processed out of order... this is a brute force fix, but seems to be the safest fix for now (thanks to the Digium PQ department for finding this bug)


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67271 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-05 14:45:48 +00:00
russell 5aceb21428 Merged revisions 67158 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67158 | russell | 2007-06-04 18:31:40 -0500 (Mon, 04 Jun 2007) | 5 lines

Fix up a bunch of places where the iax2 pvt structure can disappear and the
code did not account for it and crashes.
(issues #9642, #9569, #9666, probably others ... based on the work by
 stevedavies and mihai, with additional changes from me)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67160 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-04 23:32:26 +00:00
russell 530226bba0 Merged revisions 67119 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67119 | russell | 2007-06-04 17:28:55 -0500 (Mon, 04 Jun 2007) | 6 lines

Add comments for two functions that get called with the appropriate call locked,
but perform operations that could result in the pvt structure getting destroyed
before returning again, causing numerous seg faults all over the module.
(inspired by issues #9642, #9569, and #9666, and the work done by stevedavies
 and mihai)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67120 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-04 22:29:43 +00:00
russell bc8315d6b3 Remove a leftover unlock and lock of the iax2 pvt struct lock that was left
over from my attempt at putting pvt structs in a hash table.  It can cause
seg faults, and has no reason to stay.
(issue #9642, pointed out by stevedavies)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67070 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-04 21:45:24 +00:00
russell 69fdc15bd7 Merged revisions 67020 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67020 | russell | 2007-06-04 10:47:40 -0500 (Mon, 04 Jun 2007) | 7 lines

Resolve a deadlock in chan_iax2.  When handling an implicit ACK to a frame that
was marked as the final transmission for a call, don't call iax2_destroy() for
that call while the global frame queue is still locked.  There is a very nice
explanation of the deadlock in the report.
(issue #9663, thorough report and patch from stevedavies, additional positive
 test reports from mihai and joff_oconnell)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67022 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-04 15:50:46 +00:00
russell f576c0719e Remove 80 bytes in the iax2_registry struct that weren't being used
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@66957 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-01 23:02:57 +00:00
kpfleming 13417b262f use the OpenSSL AES implementation if it's available (unless configured not to)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@66071 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-24 22:07:50 +00:00
russell a42bc96f14 Add a new API call for creating detached threads. Then, go replace all of the
places in the code where the same block of code for creating detached threads
was replicated.  (patch from bbryant)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@65968 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-24 18:30:19 +00:00
kpfleming 09fd64a20b Merged revisions 65685 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r65685 | kpfleming | 2007-05-23 16:59:19 -0400 (Wed, 23 May 2007) | 2 lines

start the delayed PBX when receive voice or video full frames as well, and comment this delayed-PBX activity

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@65688 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-23 21:01:18 +00:00
kpfleming 45fdf9b3db Merged revisions 65679-65680 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r65679 | kpfleming | 2007-05-23 16:30:24 -0400 (Wed, 23 May 2007) | 2 lines

don't start a PBX on a new incoming IAX2 channel until we have some sort of response to our ACCEPT (ACK or anything else)

........
r65680 | kpfleming | 2007-05-23 16:35:50 -0400 (Wed, 23 May 2007) | 2 lines

clear the 'delay PBX' flag when we are ready to start the PBX

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@65681 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-23 20:39:42 +00:00
kpfleming d3683b87d4 Merged revisions 65677 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r65677 | kpfleming | 2007-05-23 16:07:59 -0400 (Wed, 23 May 2007) | 10 lines

Merged revisions 65676 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r65676 | kpfleming | 2007-05-23 16:06:13 -0400 (Wed, 23 May 2007) | 2 lines

if we are going to set variables on a newly created channel, it should be done *before* we start the PBX on it

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@65678 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-23 20:08:59 +00:00
qwell b4f97a33d8 Merged revisions 63830 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r63830 | qwell | 2007-05-10 18:15:37 -0500 (Thu, 10 May 2007) | 12 lines

Merged revisions 63828 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r63828 | qwell | 2007-05-10 18:14:55 -0500 (Thu, 10 May 2007) | 4 lines

Fix an issue with trying to kill a thread before it gets created.

Issue 9709, patch by nic_bellamy.

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@63832 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-10 23:16:33 +00:00
file 09a867897c Lock iax2 pvt structure when passing off to the AMI function, and make sure it exists. (issue #9674 reported by arabe)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@63182 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-06 20:09:18 +00:00
oej e9978c62b7 Add the new ChannelUpdate event to inform manager clients about the PVT ID and some other channel driver data that
is needed to follow the call through the PBX.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@63032 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-04 13:56:25 +00:00
tilghman 6267a060de Merged revisions 62692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r62692 | tilghman | 2007-05-02 12:43:48 -0500 (Wed, 02 May 2007) | 12 lines

Merged revisions 62691 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r62691 | tilghman | 2007-05-02 12:38:16 -0500 (Wed, 02 May 2007) | 4 lines

Issue 9638 - if a text frame is sent with no terminating NULL through a bridged
IAX connection, the remote end will receive garbage characters tacked onto the
end.

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@62693 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-02 17:49:36 +00:00
russell 3d2428efd4 Add support for setting the CoS for VLAN traffic (802.1p) in Linux. The
file doc/qos.tex has been updated to document the new functionality.
(issue #9540, patch submitted by IgorG)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@62457 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-30 16:16:26 +00:00
russell 9c61ba7c81 Merge changes from team/russell/events
This set of changes introduces a new generic event API for use within Asterisk.
I am still working on a way for events to be shared between servers, but this
part is ready and can already be used inside of Asterisk.

This set of changes introduces the first use of the API, as well.  I have
restructured the way that MWI (message waiting indication) is handled.  It is
now event based instead of polling based.  For example, if there are a bunch
of SIP phones subscribed to mailboxes, then chan_sip will not have to
constantly poll the mailboxes for changes.  app_voicemail will generate events
when changes occur.

See UPGRADE.txt and CHANGES for some more information on the effects of these
changes from the user perspective.  For developer information, see the text in
include/asterisk/event.h.

As always, additional feedback is welcome on the asterisk-dev mailing list.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@62292 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-28 21:01:44 +00:00
file fbb6e033b1 Merged revisions 62038 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r62038 | file | 2007-04-26 12:33:52 -0400 (Thu, 26 Apr 2007) | 10 lines

Merged revisions 62037 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r62037 | file | 2007-04-26 12:30:57 -0400 (Thu, 26 Apr 2007) | 2 lines

Revert previous fix for when the IAX2 channel goes funky (that's the technical term). This is causing legit calls to be prematurely hung up. (issue #9600 reported by justdave)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@62039 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-26 16:35:14 +00:00
russell 6e9e81b3d6 Merged revisions 61870 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61870 | russell | 2007-04-25 16:59:07 -0500 (Wed, 25 Apr 2007) | 10 lines

Merged revisions 61866 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61866 | russell | 2007-04-25 16:55:23 -0500 (Wed, 25 Apr 2007) | 2 lines

If the callerid= option is specified, but empty, clear any previous data.

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61876 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-25 22:01:37 +00:00
russell 6562fc7faa Merged revisions 61863 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61863 | russell | 2007-04-25 16:13:15 -0500 (Wed, 25 Apr 2007) | 10 lines

Merged revisions 61862 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61862 | russell | 2007-04-25 16:06:22 -0500 (Wed, 25 Apr 2007) | 2 lines

Ensure that callerid settings are reset on a reload.

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61864 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-25 21:15:19 +00:00
russell 8d14d22558 Merge changes from team/russell/iax2_osp
This set of changes adds OSP support to chan_iax2.  However, I have modified
the patch a bit from what was submitted.  You now use the CHANNEL() function
to get and set the OSP token for IAX2.

(issue #8531, reported by and original patch by homesick, patch updated by me)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61702 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-20 21:12:53 +00:00
murf 0b50472037 Merged revisions 60989 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r60989 | murf | 2007-04-09 12:32:07 -0600 (Mon, 09 Apr 2007) | 1 line

This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered.
This also adds the mods from 1.4/r.61136;
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61152 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-10 05:41:34 +00:00
oej 05f21062e6 use "ChannelType" in events to indicate which channel driver that generates the event. This replaces
"ChannelDriver" and "Channel", previously used to indicate channel driver. ChannelType is more
in line with "core show channeltypes"


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@60987 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-09 18:22:43 +00:00
russell 87f9653321 This hashing code is still causing some random crashes on my system, and
probably others, too.  I don't really have time to work on it at the moment,
so I am just going to revert it for now.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@59693 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-02 17:40:26 +00:00
russell e6e52d12f3 Fix an issue with hashing iax2 pvt structures that caused random crashes on
systems under heavy load such as IAXtel.
(possibly related to issue #9403)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@59368 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-29 18:31:35 +00:00
russell 10b7563a70 Merged revisions 59341 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59341 | russell | 2007-03-29 11:55:39 -0500 (Thu, 29 Mar 2007) | 8 lines

When the IAX2 read callback gets called, return NULL instead of a "null frame".
This will cause Asterisk to hangup the call instead of keep trying whatever it
was doing.  Under normal conditions, this function would *never* be called.
However, the author of this patch says an error will occur that will cause it
to get called every 100 thousand calls or so.  When this does happen, it puts
the channel in a loop that eventually brings down the system.  So, hangup up
the call is certainly a better alternative.  (issue #8286, john)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@59343 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-29 16:56:35 +00:00
russell f4c08cca81 Merged revisions 59259 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r59259 | russell | 2007-03-27 13:05:46 -0500 (Tue, 27 Mar 2007) | 12 lines

Merged revisions 59258 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r59258 | russell | 2007-03-27 13:04:02 -0500 (Tue, 27 Mar 2007) | 4 lines

Fix the use of the "sourceaddress" option when "bindaddr" is set to 0.0.0.0
instead of having each interface explicitly listed.
(issue #7874, patch by stevens)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@59260 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-27 18:08:59 +00:00
file ddf7ae4539 Merged revisions 58923 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r58923 | file | 2007-03-15 15:13:21 -0300 (Thu, 15 Mar 2007) | 2 lines

Don't assume that the pvt structure will still exist after calling schedule_delivery as it may not. (issue #9278 reported by fmachado)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@58924 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-15 18:21:03 +00:00
russell 00aaeca591 Merged revisions 58705 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r58705 | russell | 2007-03-10 12:11:11 -0600 (Sat, 10 Mar 2007) | 6 lines

Fix a few more places in chan_iax2 where the ast_frame used for receiving a
frame was not properly initialized.
 - Interpolating a frame when the jitterbuffer is in use
 - decrypting a frame when IAX2 encryption is on
 - frames in an IAX2 trunk

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@58706 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-10 18:15:41 +00:00
russell 56a907f95c Merged revisions 58243 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r58243 | russell | 2007-03-07 12:19:19 -0600 (Wed, 07 Mar 2007) | 17 lines

(This bug was reported to me by Kinsey Moore)

Merged revisions 58242 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r58242 | russell | 2007-03-07 12:17:07 -0600 (Wed, 07 Mar 2007) | 7 lines

Fix a problem where the Asterisk channel name could be that of the wrong IAX2
user for a call.  This is because the first step of choosing this name is to
look for an IAX2 peer that happens to have the same IP/port number that this
call is coming from and assuming that is it.  However, this is not always
correct.  So, I have made it change this name after authentication happens
since at that point, we have an exact match.

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@58244 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-07 18:20:51 +00:00
file d9b9b917e9 Merged revisions 57914 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r57914 | file | 2007-03-05 14:19:07 -0500 (Mon, 05 Mar 2007) | 2 lines

Since chan_iax2 does not support reception of DTMF with duration ensure that it is set to 0 on the frame. (issue #8521 reported by gdhgdh)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@57915 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-05 19:20:45 +00:00
russell 80171292a2 Merged revisions 56847 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r56847 | russell | 2007-02-26 14:04:13 -0600 (Mon, 26 Feb 2007) | 2 lines

Fix a crash in my last change to iax2_indicate(). (issue #9150)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56849 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-26 20:04:53 +00:00
russell 4d54055e4a Merged revisions 56785 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r56785 | russell | 2007-02-26 10:51:18 -0600 (Mon, 26 Feb 2007) | 3 lines

Do more complete locking of the chan_iax2_pvt struct in the indicate callback.
(Problem brought up by Ben Smithurst on the asterisk-dev list)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56786 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-26 16:54:17 +00:00
russell 80936feed7 There is no need to look in the iaxs array for the pvt struct when we already
have a pointer to it.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56731 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-26 00:37:03 +00:00
russell b0560bc853 Make the hashing function calculate something that makes more sense.
(Thanks to bmd on #asterisk-dev for pointing out my pointless math).


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56487 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-23 22:26:00 +00:00
russell d9ccedef17 Merge team/russell/iax2_performance.
There is not a large amount of code here and the changes are not very invasive.
However, they should significantly improve performance of chan_iax2 under load.

IAX2 media frames only carry the *source* call number.  So, when one arrives,
the correct session that it is a part of has to be matched on IP address, port
number, and call number, instead of just a call number.  Had these frames
carried the *destination* call number, this would not be an issue, because that
would be a unique identifier that would make it easy to immediately identify
the correct session.

The way that chan_iax2 did this matching was extremely inefficient.  It starts
at the first available call number and traverses each call number sequentially,
locking and unlocking a mutex for each one, to try to match against it.  It
would do this regardless of whether the call number was in use or not.  So,
for a call with a local call number of 25000, every single incoming media
frame would require a traversal that required 25000 mutex lock and unlock
operations.  (Note that the max call number is about 32k).

I have introduced a hash table of active IAX2 calls to improve this lookup
process.  The hash is done on the IP address, port number, and call number.  
So, for the previous example, a few lock/unlock operations may be done versus 
25000 for each frame.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56447 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-23 21:20:33 +00:00
russell ef7cd2b6ff Merged revisions 56407 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r56407 | russell | 2007-02-23 14:20:00 -0600 (Fri, 23 Feb 2007) | 12 lines

Merged revisions 56406 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r56406 | russell | 2007-02-23 14:17:56 -0600 (Fri, 23 Feb 2007) | 4 lines

Don't destroy mutexes before unregistering all of the entry points from the core.
Also, fix a potential memory leak from not destroying the locks for all of the
possible call numbers (about 32k of them).

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56408 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-23 20:21:35 +00:00
dbailey 12c3f59287 Merged revisions 55397 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r55397 | dbailey | 2007-02-19 08:52:59 -0600 (Mon, 19 Feb 2007) | 3 lines

Changed iax2 process thread to detached to correct memory leak due to left over thread context on thread exit.  
Modified module unload process to avoid deadlocks on pthread cancels

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@55409 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-19 15:24:46 +00:00
file 5c329f9401 Merged revisions 53358 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53358 | file | 2007-02-07 10:43:39 -0500 (Wed, 07 Feb 2007) | 10 lines

Merged revisions 53357 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53357 | file | 2007-02-07 10:38:48 -0500 (Wed, 07 Feb 2007) | 2 lines

Fix a few potential memory leaks with realtime users and peers. (issue #8999 reported by bsmithurst)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53359 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-07 15:46:30 +00:00
russell ee25f98f93 Merged revisions 53046 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53046 | russell | 2007-01-31 15:32:08 -0600 (Wed, 31 Jan 2007) | 11 lines

Merged revisions 53045 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53045 | russell | 2007-01-31 15:25:11 -0600 (Wed, 31 Jan 2007) | 3 lines

Fix a bunch of places where pthread_attr_init() was called, but
pthread_attr_destroy() was not.

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53047 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-31 21:35:15 +00:00
russell 5b31a0c5da Merged revisions 52763 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r52763 | russell | 2007-01-29 18:15:50 -0600 (Mon, 29 Jan 2007) | 13 lines

Merged revisions 52762 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r52762 | russell | 2007-01-29 18:15:06 -0600 (Mon, 29 Jan 2007) | 5 lines

Fix the extraction of the timestamp from video frames.  It was using the
mapping for a mini-frame instead of a video-frame, which caused it to
get invalid data.
(issue #8795, mihai)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@52764 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-30 00:16:38 +00:00
file 98a7ff1706 Merged revisions 52370 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r52370 | file | 2007-01-26 19:08:18 -0500 (Fri, 26 Jan 2007) | 10 lines

Merged revisions 52360 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r52360 | file | 2007-01-26 19:03:23 -0500 (Fri, 26 Jan 2007) | 2 lines

Make the last context entry read in the dominant one. (issue #8918 reported by pj)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@52371 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-27 00:10:19 +00:00
file 8cea0763f1 Merged revisions 51788 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51788 | file | 2007-01-23 17:46:31 -0500 (Tue, 23 Jan 2007) | 2 lines

Update channel drivers to use module referencing so that unloading them while in use will not result in crashes. (issue #8897 reported by junky)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51801 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-23 22:59:55 +00:00
file f6e99009de Add SRV Lookup support on outbound calls to chan_iax2. It's listed in the RFC so we might want to support it and please don't hurt me Marko ... (issue #7812 reported by drorlb)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51560 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-23 03:15:04 +00:00
russell f91595d103 Merged revisions 51311 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51311 | russell | 2007-01-19 11:49:38 -0600 (Fri, 19 Jan 2007) | 23 lines

Merge the changes from the /team/group/vldtmf_fixup branch.

The main bug being addressed here is a problem introduced when two SIP
channels using SIP INFO dtmf have their media directly bridged.  So, when a
DTMF END frame comes into Asterisk from an incoming INFO message, Asterisk
would try to emulate a digit of some length by first sending a DTMF BEGIN
frame and sending a DTMF END later timed off of incoming audio.  However,
since there was no audio coming in, the DTMF_END was never generated.  This
caused DTMF based features to no longer work.

To fix this, the core now knows when a channel doesn't care about DTMF BEGIN
frames (such as a SIP channel sending INFO dtmf).  If this is the case, then
Asterisk will not emulate a digit of some length, and will instead just pass
through the single DTMF END event.

Channel drivers also now get passed the length of the digit to their digit_end
callback.  This improves SIP INFO support even further by enabling us to put
the real digit duration in the INFO message instead of a hard coded 250ms.
Also, for an incoming INFO message, the duration is read from the frame and
passed into the core instead of just getting ignored.

(issue #8597, maybe others...)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51314 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-19 18:06:03 +00:00
rizzo 84edbd709c sizeof() is compatible with format %d so don't be too
picky on printf formats.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51309 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-19 17:45:46 +00:00
rizzo 6897a0cbe0 include "asterisk/zapata.h" instead of looking
directly for the zaptel.h and tonezone.h



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51292 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-19 16:16:19 +00:00
file 044f488a7f Merged revisions 51172 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51172 | file | 2007-01-16 19:46:29 -0500 (Tue, 16 Jan 2007) | 2 lines

Move rescheduling of lagrq/pings into the scheduler callback.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51173 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-17 00:50:59 +00:00
tilghman 4373b2af13 IAX2 remote variables - Bug 7619
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51123 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-16 08:38:59 +00:00
file 7e55af6123 Drop trunkrealloc option and just have the maximum size be a configurable option. This is per Kevin's comments on -dev and my own thoughts after I put the previous option in.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@50698 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-13 04:04:04 +00:00
file 11ea4709c8 Merge in trunkrealloc option for chan_iax2. (issue #8267 reported by marcodmb, branch by anthonyl)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@50676 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-13 03:26:04 +00:00
russell 96b4b4cec6 Covert some spaces to tabs, and put a list of defines in an enum.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@50230 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-10 02:50:06 +00:00
file b60c3f8a49 Merged revisions 49890 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r49890 | file | 2007-01-08 00:11:54 -0500 (Mon, 08 Jan 2007) | 10 lines

Merged revisions 49889 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r49889 | file | 2007-01-08 00:10:07 -0500 (Mon, 08 Jan 2007) | 2 lines

Ensure we use the default refresh value of 60 if the remote server does not send one. (issue #8746 reported by maethor)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49891 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-08 05:13:24 +00:00
kpfleming ec3737e835 const-ify some more APIs, and fix rev 49710 from branch-1.4 in a better way here
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49711 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-05 23:32:42 +00:00
kpfleming d8e7fcf209 Merged revisions 49676 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49676 | kpfleming | 2007-01-05 16:16:33 -0600 (Fri, 05 Jan 2007) | 2 lines

reduce stack consumption for AMI and AMI/HTTP requests by nearly 20K in most cases

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49678 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-05 22:43:18 +00:00
kpfleming 5fb9f8ae1c Merged revisions 49636 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r49636 | kpfleming | 2007-01-05 11:09:00 -0600 (Fri, 05 Jan 2007) | 10 lines

Merged revisions 49635 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r49635 | kpfleming | 2007-01-05 10:56:40 -0600 (Fri, 05 Jan 2007) | 2 lines

ensure that threads which are supposed to be detached (because we aren't going to wait on them) are created properly

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49637 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-05 17:10:59 +00:00
kpfleming db025d69eb Merged revisions 49600 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49600 | kpfleming | 2007-01-04 18:01:40 -0600 (Thu, 04 Jan 2007) | 2 lines

revert the dynamic_list insertion change... that was not the right thing to do

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49603 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-05 00:02:48 +00:00
kpfleming a08d12f459 Merged revisions 49581 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49581 | kpfleming | 2007-01-04 17:50:15 -0600 (Thu, 04 Jan 2007) | 3 lines

create the IAX2 processing threads as background threads so they will use smaller stacks
when we create a dynamic thread, put it on the dynamic_list right away so we don't lose track of it

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49584 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-04 23:54:09 +00:00
file ae60d026a0 Merged revisions 49568 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49568 | file | 2007-01-04 18:00:50 -0500 (Thu, 04 Jan 2007) | 2 lines

It's possible for the iax2 pvt to disappear, so if it has... don't bother looking for dpentries.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49573 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-04 23:02:32 +00:00
kpfleming 7457dc351c Merged revisions 49465 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49465 | kpfleming | 2007-01-04 12:31:55 -0600 (Thu, 04 Jan 2007) | 2 lines

only do IAX2 frame caching for voice and video frames

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49466 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-04 18:32:23 +00:00
file 00c1434719 Merged revisions 49259 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49259 | file | 2007-01-02 20:19:53 -0500 (Tue, 02 Jan 2007) | 2 lines

Check pvt structure presence before passing to send_command. This gets rid of the irritating message about a packet without pvt structure. This happens because the scheduled item is getting cancelled at almost the exact moment it is getting executed.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49260 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-03 01:21:41 +00:00
oej 98cbdc7b3c - Implement error handling in ast_append_ha
- Use this in chan_sip
- Document ha functions in acl.c


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49092 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-01 19:20:46 +00:00
file c3751a7675 count is no longer used in the iaxq structure really so let's just make this a statically declared linked list.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49089 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-31 19:15:23 +00:00
file e095143a37 Merged revisions 49063 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49063 | file | 2006-12-29 22:37:22 -0500 (Fri, 29 Dec 2006) | 2 lines

Initialize the packet queue in load_module instead of just declaring the list with the default value. (issue #8695 reported by ssokol)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49064 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-30 03:40:42 +00:00
russell b850b5d8c7 Merged revisions 48944 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r48944 | russell | 2006-12-24 02:25:38 -0500 (Sun, 24 Dec 2006) | 11 lines

Merged revisions 48943 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48943 | russell | 2006-12-24 02:23:07 -0500 (Sun, 24 Dec 2006) | 3 lines

Check for the proper return value on an error in a call to mmap().
This was reported by Andy Wang on the asterisk-dev list.  Thanks!

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48945 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-24 07:27:29 +00:00
murf 322326058e a quick fix to app_sms.c to get rid of cursed compiler warnings so I can compile under --enable-dev-mode
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48767 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-21 19:44:20 +00:00
murf 864a2f7600 As per bug 7978, this version introduces the jittertargetextra option in config files
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48663 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-21 00:24:08 +00:00
file 8b5bed10cb Clean up find_idle_thread function and use atomic operations for dynamic thread count.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48567 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-18 17:30:53 +00:00
file db7f2d33e9 Merged revisions 48564 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48564 | file | 2006-12-18 12:15:49 -0500 (Mon, 18 Dec 2006) | 2 lines

Put thread into proper list if we abort handling due to an error, and also hold the lock while putting it back into the proper idle list so we don't prematurely get a signal. (issue #8604 reported by arkadia)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48565 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-18 17:18:18 +00:00
file e5cfad953d Merged revisions 48504 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48504 | file | 2006-12-15 14:38:51 -0500 (Fri, 15 Dec 2006) | 2 lines

Hold call structure lock in places where a qualify or peer action can destroy it.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48505 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-15 19:40:29 +00:00
file a9d5207d8f Merged revisions 48502 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48502 | file | 2006-12-15 14:24:15 -0500 (Fri, 15 Dec 2006) | 2 lines

Lock network retransmission queue in all places that it is used.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48503 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-15 19:26:45 +00:00
file c830210dc8 Merged revisions 48478 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48478 | file | 2006-12-15 01:28:05 -0500 (Fri, 15 Dec 2006) | 2 lines

Use a wakeup variable so that we don't wait on IO indefinitely if packets need to be retransmitted.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48479 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-15 06:31:26 +00:00
russell f27abefed8 convert the thread IO state and type to use enums.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48365 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-09 16:44:41 +00:00
russell 5aeb18e7b7 Merged revisions 48363 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48363 | russell | 2006-12-09 10:59:42 -0500 (Sat, 09 Dec 2006) | 8 lines

Use locking when accessing the registrations list.  This list is not actually
used very often, so the likelihood of there being a problem is pretty small,
but still possible.  For example, if the CLI command to list the registrations
was called at the same time that a reload was occurring and the registrations
list was getting destroyed and rebuilt, a crash could occur.

In passing, go ahead and convert this list to use the linked list macros.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48364 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-09 16:04:06 +00:00
russell da4a5d26c7 chan_iax2 has an extremely large function, socket_process(), to handle incoming
frames.  The function, before this commit, was roughly 1400 lines long.  So, I
am working on breaking this up into functions so that the code is easier to
follow and debug.  Also, I will be committing these changes in chunks as I do
them to ease tracking down any potentially introduced problems.

Break out roughly 150 lines from socket_process() and introduce a new function, 
socket_process_meta() which handles the parsing of an incoming meta frame.
Also, restructure some of this code a bit to reduce the deep nesting that was
in this code.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48360 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-09 07:10:55 +00:00
russell 6bfcfe8369 - Fix a few spelling mistakes
- Use sizeof() to pass an array size to a function
- Use a single bit for a variable in the chan_iax2_pvt stuct since that is all
  it needs.
- Add some comments about the iaxs, iaxl, and lastused arrays.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48359 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-09 05:04:38 +00:00
russell 8048b9c718 Constify a bunch of the usage strings for CLI commands.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48302 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-06 07:23:32 +00:00
russell 5087e63494 Instead of creating an unused instance of an unnamed enum, give it a name.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48300 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-06 07:16:09 +00:00
file a0c0c3b79b Merged revisions 48158 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r48158 | file | 2006-11-30 15:07:55 -0500 (Thu, 30 Nov 2006) | 10 lines

Merged revisions 48157 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48157 | file | 2006-11-30 15:06:43 -0500 (Thu, 30 Nov 2006) | 2 lines

Only print out debug message if bridged channel is not NULL. (issue #8412 reported by jubilex)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48160 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-30 20:09:46 +00:00
russell c561cdc896 Add a comment to note near some code that performs a very expensive operation
that occurs for every incoming media frame.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48099 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-28 23:13:37 +00:00
russell c01dbd5df9 The use of an ifdef to check for FreeBSD is useless here because the two
versions of the format string are identical.  Also, since each format is only
used once, get rid of the use of defines all together.  (issue #8344, julieng)

In passing, also clean up the formatting a but to get rid of the nesting
without the use of braces, as defined in the coding guidelines.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47520 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-12 19:22:19 +00:00
russell 026703da23 Merged revisions 47497 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r47497 | russell | 2006-11-12 01:23:23 -0500 (Sun, 12 Nov 2006) | 12 lines

Merged revisions 47496 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r47496 | russell | 2006-11-12 01:09:03 -0500 (Sun, 12 Nov 2006) | 4 lines

Only do the check to determine whether the channel calling this function is an
IAX2 channel when getting the IP address using the special argument, 
CURRENTCHANNEL.  (issue #8341, jcovert)

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47498 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-12 06:31:39 +00:00
tilghman 597aa05da5 Merged revisions 47436 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47436 | tilghman | 2006-11-10 10:51:55 -0600 (Fri, 10 Nov 2006) | 2 lines

Discussion of these CLI changes resulted in more consistency (Bug 8236)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47439 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-10 17:01:06 +00:00
murf 4d6996c27a A fair number of changes for the sake of bug 7506
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47290 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-07 21:47:49 +00:00
tilghman 278341b071 Merged revisions 47051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47051 | tilghman | 2006-11-02 17:00:20 -0600 (Thu, 02 Nov 2006) | 2 lines

Reverse change of "show" to "list" and make several other commands more consistent with "category verb arguments"

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47052 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-02 23:16:09 +00:00
file abf2e713d2 Merged revisions 46775 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46775 | file | 2006-11-01 13:21:34 -0500 (Wed, 01 Nov 2006) | 2 lines

It's another round of chan_iax2 fixes! Should hopefully fix the deadlock issues people have been reporting. IAXtel now has qualify turned on for 800 peers and it is handling it fine.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@46777 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-01 18:26:12 +00:00
rizzo d4ef7c0a1e remove old/useless usecount handling
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@46696 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-31 18:10:21 +00:00
file 37e4b82104 Merged revisions 46474 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46474 | file | 2006-10-30 13:13:07 -0500 (Mon, 30 Oct 2006) | 2 lines

We need to lock the pvt structure during retransmission as another worker thread may be doing something as well.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@46475 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-30 18:17:02 +00:00
kpfleming fb76c79434 restore bugfix that was reverted by trunk_mtu patch
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@46202 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-25 14:47:01 +00:00