Re: [asterisk-dev] Git Migration update

2015-04-11 Thread George Joseph
On Sat, Apr 11, 2015 at 10:15 PM, Matthew Jordan  wrote:

> Hey everyone -
>
> As an update on the Git migration, here is the current state of the world:
>
> 1. The SVN repos have been marked read-only. While you will still be
> able to checkout from SVN, you shouldn't commit to any of the
> branches. Note that even if you do, those commits won't make it into
> the Git repos - so it's not really a good idea to try :-)
>
> 2. The project has been moved over to a Git repo under Gerrit
> (https://gerrit.asterisk.org). You can clone the project using the
> instructions on the 'asterisk' repo project page:
> https://gerrit.asterisk.org/#/admin/projects/asterisk  Thanks goes to
> George Joseph for quickly getting a .gitignore/.gitreview file up for
> review and included in the repo.
>
> 3. Mirrors for the project have been set up on git.asterisk.org and
> Github. These mirrors are particularly useful for providing source
> browsing of the repo.
>
> 4. A patch has been put up against 'master' to rework the source file
> version macros. By rework, I mostly mean "remove", although the macro
> itself could not be fully removed due to other features relying on the
> file name being registered. See https://gerrit.asterisk.org/#/c/54/
> for more details.
>
> So what are some immediate next steps?
>
> 1. We need to determine the best way to handle maintaining the long
> running branches. While rebasing is appropriate for topic branches
> (team branches) that closely track a mainline branch, the mainline
> branches are a bit different. They not only don't have ever commit
> merged into them (either going 'up' from 11 => 13 => master or 'down'
> from master => 13 => 11), but patches are highly likely to merge
> cleanly. ABI issues in 11/13 are a bigger concern than those in
> master; APIs will have changed; etc.
>
> As a result, my initial plan was to have developers cherry-pick to the
> mainline branches as appropriate, with the initial commit being done
> to 'master'. There are some downsides to this approach:
>   a) Each cherry-pick has to be reviewed. This can make it difficult
> to track the reviews, as each review is completely separate from the
> others.
>   b) Cherry-picks through the Gerrit UI will not always work. Folks
> will need to be careful when cherry-picking back to a branch that
> requires fixing merge conflicts, as getting the Change ID correct in
> such a case is important to keep all of the Gerrit reviews tied
> together.
>   c) We'll be changing our process from merging 'up' branches to
> 'down' branches. Change is scary.
>
>
I'm wondering if we can do this...

You submit a review on the lowest target branch, using 13 as an example.
The review gets reviewed and merged into 13.  Once the review is closed
gerrit won't allow a cherry-pick but git of course has no problems with
it.  So maybe we can write/obtain a hook/plugin that allows the submitter
to cherry-pick the change directly into the target branch, say master,
bypassing the review process, assuming a clean merge.

Alternative...  We normally don't have access to commit to refs/head
directly but what if we had a hook that allowed a commit to be merged
directly IF the commit-id/change-id matched a review already approved and
merged to the original branch.

Off to bed. :)



> I think we're going to need some time to work through the implications
> of how we handle the mainline branches. I suggest hanging out in
> #asterisk-dev over the next few days as we work through the details.
> In the meantime, I've restored the TEST-Asterisk repo so folks can
> play around with the cherry-picking, and/or other models of branch
> maintenance. I certainly welcome any suggestions on the best way to
> make the process work.
>
> 2. Russell noted in George's .gitreview/.gitignore review
> (https://gerrit.asterisk.org/#/c/42/) that we may want to include the
> fullname of contributors/users along with their e-mail address. I
> think that's a good idea, but that would mean updating our commit
> message template, script, and our process. Comments/suggestions
> welcome here on that proposal.
>
> 3. The 'make update' Makefile target needs to be updated. If you have
> some Makefile-foo and git-foo and would like to look at that, that'd
> be awesome.
>
> Over the next few days, I'll be updating the Asterisk wiki pages with
> more information. I'll reply to this thread as that happens. If you
> have any questions, please don't hesitate to reply here or jump in
> #asterisk-dev.
>
> Thanks!
>
> Matt
>
> --
> Matthew Jordan
> Digium, Inc. | Director of Technology
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
> Check us out at: http://digium.com & http://asterisk.org
>
> --
> _
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>http://lists.digium.com/mailman/listinfo/asterisk-dev
>
-- 
_

[asterisk-dev] Change in asterisk[master]: .gitignore: Ignore tarballs (*.gz)

2015-04-11 Thread Corey Farrell (Code Review)
Corey Farrell has posted comments on this change.

Change subject: .gitignore: Ignore tarballs (*.gz)
..


Patch Set 2: Code-Review+1

-- 
To view, visit https://gerrit.asterisk.org/55
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie84f085cc0fa51262209e7bfc1b1ba8c04a1ef59
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: Matt Jordan 
Gerrit-HasComments: No

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: .gitignore: Ignore tarballs (*.gz)

2015-04-11 Thread Matt Jordan (Code Review)
Hello Corey Farrell,

I'd like you to reexamine a change.  Please visit

https://gerrit.asterisk.org/55

to look at the new patch set (#2).

Change subject: .gitignore: Ignore tarballs (*.gz)
..

.gitignore: Ignore tarballs (*.gz)

This patch updates the root .gitignore file to ignore files with a .gz
extension. This will cause git to ignore downloaded sound tarballs in
the the sounds/ directory.

Change-Id: Ie84f085cc0fa51262209e7bfc1b1ba8c04a1ef59
---
M .gitignore
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/55/55/2
-- 
To view, visit https://gerrit.asterisk.org/55
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie84f085cc0fa51262209e7bfc1b1ba8c04a1ef59
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: Matt Jordan 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: sounds: Add a .gitignore file for downloaded sound tarballs

2015-04-11 Thread Matt Jordan (Code Review)
Matt Jordan has posted comments on this change.

Change subject: sounds: Add a .gitignore file for downloaded sound tarballs
..


Patch Set 1:

Yeah, *.gz would be better.

-- 
To view, visit https://gerrit.asterisk.org/55
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie84f085cc0fa51262209e7bfc1b1ba8c04a1ef59
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: Matt Jordan 
Gerrit-HasComments: No

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: sounds: Add a .gitignore file for downloaded sound tarballs

2015-04-11 Thread Corey Farrell (Code Review)
Corey Farrell has posted comments on this change.

Change subject: sounds: Add a .gitignore file for downloaded sound tarballs
..


Patch Set 1: Code-Review-1

Any reason we can't just add to the root .gitignore:
*.gz

This way if we eventually add a 'make dist' target it will be covered.

-- 
To view, visit https://gerrit.asterisk.org/55
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie84f085cc0fa51262209e7bfc1b1ba8c04a1ef59
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan 
Gerrit-Reviewer: Corey Farrell 
Gerrit-HasComments: No

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: sounds: Add a .gitignore file for downloaded sound tarballs

2015-04-11 Thread Matt Jordan (Code Review)
Matt Jordan has uploaded a new change for review.

  https://gerrit.asterisk.org/55

Change subject: sounds: Add a .gitignore file for downloaded sound tarballs
..

sounds: Add a .gitignore file for downloaded sound tarballs

This patch adds a .gitignore file in the sounds/ directory that will
ignore files prefixed with 'asterisk-'. This will cause git to ignore
downloaded sound tarballs.

Change-Id: Ie84f085cc0fa51262209e7bfc1b1ba8c04a1ef59
---
A sounds/.gitignore
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/55/55/1

diff --git a/sounds/.gitignore b/sounds/.gitignore
new file mode 100644
index 000..990f96b
--- /dev/null
+++ b/sounds/.gitignore
@@ -0,0 +1 @@
+asterisk-*

-- 
To view, visit https://gerrit.asterisk.org/55
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie84f085cc0fa51262209e7bfc1b1ba8c04a1ef59
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


Re: [asterisk-dev] Git Migration update

2015-04-11 Thread Matthew Jordan
On Sat, Apr 11, 2015 at 11:15 PM, Matthew Jordan  wrote:

>
> 1. We need to determine the best way to handle maintaining the long
> running branches. While rebasing is appropriate for topic branches
> (team branches) that closely track a mainline branch, the mainline
> branches are a bit different. They not only don't have ever commit
> merged into them (either going 'up' from 11 => 13 => master or 'down'
> from master => 13 => 11), but patches are highly likely to merge
> cleanly. ABI issues in 11/13 are a bigger concern than those in
> master; APIs will have changed; etc.

Ugh. This is what I get for writing this at 23:15.

The gist of this paragraph is: I don't think 'git merge' will work
well on mainline branches, regardless of the order in which we merge.
I suspect we're going to want to cherry-pick.

-- 
Matthew Jordan
Digium, Inc. | Director of Technology
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Git Migration update

2015-04-11 Thread Matthew Jordan
Hey everyone -

As an update on the Git migration, here is the current state of the world:

1. The SVN repos have been marked read-only. While you will still be
able to checkout from SVN, you shouldn't commit to any of the
branches. Note that even if you do, those commits won't make it into
the Git repos - so it's not really a good idea to try :-)

2. The project has been moved over to a Git repo under Gerrit
(https://gerrit.asterisk.org). You can clone the project using the
instructions on the 'asterisk' repo project page:
https://gerrit.asterisk.org/#/admin/projects/asterisk  Thanks goes to
George Joseph for quickly getting a .gitignore/.gitreview file up for
review and included in the repo.

3. Mirrors for the project have been set up on git.asterisk.org and
Github. These mirrors are particularly useful for providing source
browsing of the repo.

4. A patch has been put up against 'master' to rework the source file
version macros. By rework, I mostly mean "remove", although the macro
itself could not be fully removed due to other features relying on the
file name being registered. See https://gerrit.asterisk.org/#/c/54/
for more details.

So what are some immediate next steps?

1. We need to determine the best way to handle maintaining the long
running branches. While rebasing is appropriate for topic branches
(team branches) that closely track a mainline branch, the mainline
branches are a bit different. They not only don't have ever commit
merged into them (either going 'up' from 11 => 13 => master or 'down'
from master => 13 => 11), but patches are highly likely to merge
cleanly. ABI issues in 11/13 are a bigger concern than those in
master; APIs will have changed; etc.

As a result, my initial plan was to have developers cherry-pick to the
mainline branches as appropriate, with the initial commit being done
to 'master'. There are some downsides to this approach:
  a) Each cherry-pick has to be reviewed. This can make it difficult
to track the reviews, as each review is completely separate from the
others.
  b) Cherry-picks through the Gerrit UI will not always work. Folks
will need to be careful when cherry-picking back to a branch that
requires fixing merge conflicts, as getting the Change ID correct in
such a case is important to keep all of the Gerrit reviews tied
together.
  c) We'll be changing our process from merging 'up' branches to
'down' branches. Change is scary.

I think we're going to need some time to work through the implications
of how we handle the mainline branches. I suggest hanging out in
#asterisk-dev over the next few days as we work through the details.
In the meantime, I've restored the TEST-Asterisk repo so folks can
play around with the cherry-picking, and/or other models of branch
maintenance. I certainly welcome any suggestions on the best way to
make the process work.

2. Russell noted in George's .gitreview/.gitignore review
(https://gerrit.asterisk.org/#/c/42/) that we may want to include the
fullname of contributors/users along with their e-mail address. I
think that's a good idea, but that would mean updating our commit
message template, script, and our process. Comments/suggestions
welcome here on that proposal.

3. The 'make update' Makefile target needs to be updated. If you have
some Makefile-foo and git-foo and would like to look at that, that'd
be awesome.

Over the next few days, I'll be updating the Asterisk wiki pages with
more information. I'll reply to this thread as that happens. If you
have any questions, please don't hesitate to reply here or jump in
#asterisk-dev.

Thanks!

Matt

-- 
Matthew Jordan
Digium, Inc. | Director of Technology
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


Re: [asterisk-dev] How to get peer review for patch to deprecated module (was: Re: [asterisk-users] Help debugging a possible SIP channel leak in 11.17.0, possible race condition)

2015-04-11 Thread Matthew Jordan
On Sat, Apr 11, 2015 at 4:31 PM, Alex Villacís Lasso
 wrote:
> El 10/04/15 a las 14:16, Alex Villací­s Lasso escribió:
>
> El 08/04/15 a las 08:22, Vinicius Fontes escribió:
>
> Have you tried Asterisk 13? The bridging mechanism has been completely
> rewritten on Asterisk 12, so there's no longer channel masquerading and
> zombie channels. Might be worth a try.
>
> Sorry, this client is very hard to talk into stopping its operations long
> enough to install changes, let alone a major Asterisk version change. I
> already had trouble convincing him of the need to install a debugging
> version with DEBUG_THREADS enabled.
>
> After reviewing a "core show locks" output, I am very sure I have hit an
> Asterisk bug involving a deadlock in cdr_mysql . When doing a "core reload"
> on the CLI, cdr_mysql calls ast_cdr_unregister() with its internal lock held
> (mysql_lock). However, writing a CDR involves adquiring the cdr lock and
> then the internal lock. Therefore, deadlock. None of the other cdr modules
> does that.
>
> However, I know that cdr_mysql is currently deprecated for Asterisk 11. I
> have a patch to fix the issue mentioned above (attached), but I want to know
> how to get it reviewed, if only to see whether the fix is sane.
>

First, regardless of the module support state, if the module exists in
Asterisk, it can be patched. The module support state only reflects
the way in which support of a module is handled; if you write a patch
for a module and would like to contribute it, that's always welcomed.

Second, I suspect you are hitting this bug:

https://issues.asterisk.org/jira/browse/ASTERISK-20347

If you would like to have it re-opened, I'd be happy to do so.

Third, patches via e-mail are typically not viewed (although your
mileage may vary). Part of the CLA stipulates that, when submitting a
patch to Asterisk, you are verifying that you are either the author of
the patch, or have the permission of the authors to contribute the
patch back to Asterisk. Over e-mail, it is difficult to ascertain if
someone has (a) signed a CLA, and (b) wants to contribute a patch back
to Asterisk under the CLA. As such, you'll need to submit the patch
via one of the project mechanisms.

Normally, that would mean attaching the patch to an issue in JIRA
and/or submitting it to Review Board. Alas, this is a bit of an
awkward weekend, as the Asterisk project is in the middle of moving
from Subversion to Git. As a result, things are in a bit of a state of
flux.

I'd recommend doing the following:

* Re-open ASTERISK-20347 and attach the patch to the issue after
signing a CLA [1]. Regardless of the state of the source control for
Asterisk, your patch will at least be tracked in the project. Again,
I'll be happy to re-open the issue once you've confirmed you're
willing to sign a CLA and/or have already done so.
* If you'd like, after signing a CLA, you can submit the patch for
review on Gerrit [2]. Clone the 'asterisk' repo on Gerrit [3], apply
the patch to 'master', and submit it using 'git review'. Draft
instructions for using Gerrit can also be found on the wiki [4].

If you'd like immediate feedback, I'd highly suggest posting the patch
to Gerrit. Code reviews are a normal part of the Asterisk developer
workflow, and we typically look for patches on tools that support
that.

[1] https://issues.asterisk.org/jira/secure/DigiumLicense.jspa
[2] https://gerrit.asterisk.org/#/
[3] https://gerrit.asterisk.org/#/admin/projects/asterisk
[4] https://wiki.asterisk.org/wiki/display/AST/Gerrit+Usage

-- 
Matthew Jordan
Digium, Inc. | Director of Technology
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread Matt Jordan (Code Review)
Matt Jordan has submitted this change and it was merged.

Change subject: Add .gitignore and .gitreview files
..


Add .gitignore and .gitreview files

Add the .gitignore and .gitreview files to the asterisk repo.

NB:  You can add local ignores to the .git/info/exclude file
without having to do a commit.

Common ignore patterns are in the top-level .gitignore file.
Subdirectory-specific ignore patterns are in their own .gitignore
files.

Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Tested-by: George Joseph
---
A .gitignore
A .gitreview
A addons/.gitignore
A agi/.gitignore
A build_tools/.gitignore
A doc/.gitignore
A include/asterisk/.gitignore
A main/.gitignore
A menuselect/.gitignore
A res/ael/.gitignore
A utils/.gitignore
11 files changed, 72 insertions(+), 0 deletions(-)

Approvals:
  Matt Jordan: Looks good to me, approved; Verified
  Russell Bryant: Looks good to me, but someone else must approve



diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000..cf46873
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,26 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
+
+# See .gitignore in subdirectories for more ignored files
+
+*~
+*.[oadi]
+*.ii
+*.oo
+*.eo
+*.so
+*.exports
+*.moduleinfo
+*.makeopts
+*.makedeps
+makeopts
+.lastclean
+config.log
+config.status
+defaults.h
+makeopts.embed_rules
+menuselect-tree
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 000..f9ef050
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,4 @@
+[gerrit]
+host=gerrit.asterisk.org
+port=29418
+project=asterisk.git
diff --git a/addons/.gitignore b/addons/.gitignore
new file mode 100644
index 000..663e668
--- /dev/null
+++ b/addons/.gitignore
@@ -0,0 +1 @@
+mp3
diff --git a/agi/.gitignore b/agi/.gitignore
new file mode 100644
index 000..9b2a4e2
--- /dev/null
+++ b/agi/.gitignore
@@ -0,0 +1,3 @@
+eagi-sphinx-test
+eagi-test
+strcompat.c
diff --git a/build_tools/.gitignore b/build_tools/.gitignore
new file mode 100644
index 000..c60a0df
--- /dev/null
+++ b/build_tools/.gitignore
@@ -0,0 +1 @@
+menuselect-deps
diff --git a/doc/.gitignore b/doc/.gitignore
new file mode 100644
index 000..27acdb3
--- /dev/null
+++ b/doc/.gitignore
@@ -0,0 +1 @@
+core-en_US.xml
diff --git a/include/asterisk/.gitignore b/include/asterisk/.gitignore
new file mode 100644
index 000..ae33b3c
--- /dev/null
+++ b/include/asterisk/.gitignore
@@ -0,0 +1,3 @@
+autoconfig.h
+build.h
+buildopts.h
diff --git a/main/.gitignore b/main/.gitignore
new file mode 100644
index 000..23f5c58
--- /dev/null
+++ b/main/.gitignore
@@ -0,0 +1,3 @@
+asterisk
+libasteriskssl.so.1
+version.c
diff --git a/menuselect/.gitignore b/menuselect/.gitignore
new file mode 100644
index 000..38ea2d3
--- /dev/null
+++ b/menuselect/.gitignore
@@ -0,0 +1,5 @@
+autoconfig.h
+cmenuselect
+config.log
+config.status
+menuselect
diff --git a/res/ael/.gitignore b/res/ael/.gitignore
new file mode 100644
index 000..f39b612
--- /dev/null
+++ b/res/ael/.gitignore
@@ -0,0 +1 @@
+ael.output
diff --git a/utils/.gitignore b/utils/.gitignore
new file mode 100644
index 000..ed37a06
--- /dev/null
+++ b/utils/.gitignore
@@ -0,0 +1,24 @@
+aelbison.c
+aelparse
+aelparse.c
+ast_expr2.c
+ast_expr2f.c
+astman
+astcanary
+astdb2bdb
+astdb2sqlite3
+check_expr
+check_expr2
+conf2ael
+db1-ast/libdb1.a
+hashtab.c
+lock.c
+md5.c
+muted
+pbx_ael.c
+pval.c
+smsq
+stereorize
+strcompat.c
+streamplayer
+threadstorage.c

-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 3
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: George Joseph 
Gerrit-Reviewer: Matt Jordan 
Gerrit-Reviewer: Russell Bryant 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread Matt Jordan (Code Review)
Matt Jordan has posted comments on this change.

Change subject: Add .gitignore and .gitreview files
..


Patch Set 3: Code-Review+2 Verified+1

-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 3
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: George Joseph 
Gerrit-Reviewer: Matt Jordan 
Gerrit-Reviewer: Russell Bryant 
Gerrit-HasComments: No

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: git migration: Refactor the ASTERISK_FILE_VERSION macro

2015-04-11 Thread Matt Jordan (Code Review)
Matt Jordan has posted comments on this change.

Change subject: git migration: Refactor the ASTERISK_FILE_VERSION macro
..


Patch Set 3:

Note for reviewers:

This patch will break ABI, and can't be backported as-is. Once approved, 
cherry-picked versions will be put up for the rest of the branches in Asterisk 
that still receive releases. In those cases, ABI will be maintained and we'll 
simply not bother printing out the bogus Version string.

-- 
To view, visit https://gerrit.asterisk.org/54
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id146f24e9d968dccd64cb09dbfa1da3d9ac719f6
Gerrit-PatchSet: 3
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan 
Gerrit-Reviewer: Matt Jordan 
Gerrit-HasComments: No

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: git migration: Refactor the ASTERISK_FILE_VERSION macro

2015-04-11 Thread Matt Jordan (Code Review)
Matt Jordan has uploaded a new patch set (#3).

Change subject: git migration: Refactor the ASTERISK_FILE_VERSION macro
..

git migration: Refactor the ASTERISK_FILE_VERSION macro

Git does not support the ability to replace a token with a version
string during check-in. While it does have support for replacing a
token on clone, this is somewhat sub-optimal: the token is replaced
with the object hash, which is not particularly easy for human
consumption. What's more, in practice, the source file version was often
not terribly useful. Generally, when triaging bugs, the overall version
of Asterisk is far more useful than an individual SVN version of a file. As a
result, this patch removes Asterisk's support for showing source file
versions.

Specifically, it does the following:

* Rename ASTERISK_FILE_VERSION macro to ASTERISK_REGISTER_FILE, and
  remove passing the version in with the macro. Other facilities other
  than 'core show file version' make use of the file names, such as
  setting a debug level only on a specific file. As such, the act of
  registering source files with the Asterisk core still has use. The
  macro rename now reflects the new macro purpose.

* main/asterisk:
  - Refactor the file_version structure to reflect that it no longer
tracks a version field.
  - Remove the "core show file version" CLI command. Without the file
version, it is no longer useful.
  - Remove the ast_file_version_find function. The file version is no
longer tracked.
  - Rename ast_register_file_version/ast_unregister_file_version to
ast_register_file/ast_unregister_file, respectively.

* main/manager: Remove value from the Version key of the ModuleCheck
  Action. The actual key itself has not been removed, as doing so would
  absolutely constitute a backwards incompatible change. However, since
  the file version is no longer tracked, there is no need to attempt to
  include it in the Version key.

* UPGRADE: Add notes for:
  - Modification to the ModuleCheck AMI Action
  - Removal of the "core show file version" CLI command

Change-Id: Id146f24e9d968dccd64cb09dbfa1da3d9ac719f6
---
M UPGRADE.txt
M addons/cdr_mysql.c
M addons/chan_mobile.c
M addons/format_mp3.c
M addons/ooh323c/src/ooSocket.c
M addons/res_config_mysql.c
M apps/app_adsiprog.c
M apps/app_agent_pool.c
M apps/app_alarmreceiver.c
M apps/app_amd.c
M apps/app_authenticate.c
M apps/app_bridgewait.c
M apps/app_cdr.c
M apps/app_celgenuserevent.c
M apps/app_chanisavail.c
M apps/app_channelredirect.c
M apps/app_chanspy.c
M apps/app_confbridge.c
M apps/app_controlplayback.c
M apps/app_dahdiras.c
M apps/app_db.c
M apps/app_dial.c
M apps/app_dictate.c
M apps/app_directed_pickup.c
M apps/app_directory.c
M apps/app_disa.c
M apps/app_dumpchan.c
M apps/app_echo.c
M apps/app_exec.c
M apps/app_externalivr.c
M apps/app_fax.c
M apps/app_festival.c
M apps/app_flash.c
M apps/app_followme.c
M apps/app_forkcdr.c
M apps/app_getcpeid.c
M apps/app_ices.c
M apps/app_image.c
M apps/app_ivrdemo.c
M apps/app_jack.c
M apps/app_macro.c
M apps/app_meetme.c
M apps/app_milliwatt.c
M apps/app_minivm.c
M apps/app_mixmonitor.c
M apps/app_morsecode.c
M apps/app_mp3.c
M apps/app_nbscat.c
M apps/app_originate.c
M apps/app_osplookup.c
M apps/app_page.c
M apps/app_playback.c
M apps/app_playtones.c
M apps/app_privacy.c
M apps/app_queue.c
M apps/app_read.c
M apps/app_readexten.c
M apps/app_record.c
M apps/app_saycounted.c
M apps/app_sayunixtime.c
M apps/app_senddtmf.c
M apps/app_sendtext.c
M apps/app_setcallerid.c
M apps/app_skel.c
M apps/app_sms.c
M apps/app_softhangup.c
M apps/app_speech_utils.c
M apps/app_stack.c
M apps/app_stasis.c
M apps/app_system.c
M apps/app_talkdetect.c
M apps/app_test.c
M apps/app_transfer.c
M apps/app_url.c
M apps/app_userevent.c
M apps/app_verbose.c
M apps/app_voicemail.c
M apps/app_waitforring.c
M apps/app_waitforsilence.c
M apps/app_waituntil.c
M apps/app_while.c
M apps/app_zapateller.c
M apps/confbridge/conf_chan_announce.c
M apps/confbridge/conf_chan_record.c
M apps/confbridge/conf_config_parser.c
M apps/confbridge/confbridge_manager.c
M bridges/bridge_builtin_features.c
M bridges/bridge_builtin_interval_features.c
M bridges/bridge_holding.c
M bridges/bridge_native_rtp.c
M bridges/bridge_simple.c
M bridges/bridge_softmix.c
M cdr/cdr_adaptive_odbc.c
M cdr/cdr_csv.c
M cdr/cdr_custom.c
M cdr/cdr_manager.c
M cdr/cdr_odbc.c
M cdr/cdr_pgsql.c
M cdr/cdr_radius.c
M cdr/cdr_sqlite.c
M cdr/cdr_sqlite3_custom.c
M cdr/cdr_syslog.c
M cdr/cdr_tds.c
M cel/cel_custom.c
M cel/cel_manager.c
M cel/cel_odbc.c
M cel/cel_pgsql.c
M cel/cel_radius.c
M cel/cel_sqlite3_custom.c
M cel/cel_tds.c
M channels/chan_alsa.c
M channels/chan_bridge_media.c
M channels/chan_console.c
M channels/chan_dahdi.c
M channels/chan_iax2.c
M channels/chan_mgcp.c
M channels/chan_misdn.c
M channels/chan_motif.c
M channels/chan_nbs.c
M channels/chan_oss.c
M channels/chan_phone.c
M channels/chan_pjsip.c
M channels/chan_rtp.c
M chan

[asterisk-dev] Change in asterisk[master]: git migration: Refactor the ASTERISK_FILE_VERSION macro

2015-04-11 Thread Matt Jordan (Code Review)
Matt Jordan has uploaded a new patch set (#2).

Change subject: git migration: Refactor the ASTERISK_FILE_VERSION macro
..

git migration: Refactor the ASTERISK_FILE_VERSION macro

Git does not support the ability to replace a token with a version
string during check-in. While it does have support for replacing a
token on clone, this is somewhat sub-optimal: the token is replaced
with the object hash, which is not particularly easy for human
consumption. What's more, in practice, the source file version was often
not terribly useful. Generally, when triaging bugs, the overall version
of Asterisk is far more useful than an individual SVN version of a file. As a
result, this patch removes Asterisk's support for showing source file
versions.

Specifically, it does the following:

* Rename ASTERISK_FILE_VERSION macro to ASTERISK_REGISTER_FILE, and
  remove passing the version in with the macro. Other facilities other
  than 'core show file version' make use of the file names, such as
  setting a debug level only on a specific file. As such, the act of
  registering source files with the Asterisk core still has use. The
  macro rename now reflects the new macro purpose.

* main/asterisk:
  - Refactor the file_version structure to reflect that it no longer
tracks a version field.
  - Remove the "core show file version" CLI command. Without the file
version, it is no longer useful.
  - Remove the ast_file_version_find function. The file version is no
longer tracked.
  - Rename ast_register_file_version/ast_unregister_file_version to
ast_register_file/ast_unregister_file, respectively.

* main/manager: Remove value from the Version key of the ModuleCheck
  Action. The actual key itself has not been removed, as doing so would
  absolutely constitute a backwards incompatible change. However, since
  the file version is no longer tracked, there is no need to attempt to
  include it in the Version key.

* UPGRADE: Add notes for:
  - Modification to the ModuleCheck AMI Action
  - Removal of the "core show file version" CLI command

Change-Id: Id146f24e9d968dccd64cb09dbfa1da3d9ac719f6
---
M UPGRADE.txt
M addons/cdr_mysql.c
M addons/chan_mobile.c
M addons/format_mp3.c
M addons/ooh323c/src/ooSocket.c
M addons/res_config_mysql.c
M apps/app_adsiprog.c
M apps/app_agent_pool.c
M apps/app_alarmreceiver.c
M apps/app_amd.c
M apps/app_authenticate.c
M apps/app_bridgewait.c
M apps/app_cdr.c
M apps/app_celgenuserevent.c
M apps/app_chanisavail.c
M apps/app_channelredirect.c
M apps/app_chanspy.c
M apps/app_confbridge.c
M apps/app_controlplayback.c
M apps/app_dahdiras.c
M apps/app_db.c
M apps/app_dial.c
M apps/app_dictate.c
M apps/app_directed_pickup.c
M apps/app_directory.c
M apps/app_disa.c
M apps/app_dumpchan.c
M apps/app_echo.c
M apps/app_exec.c
M apps/app_externalivr.c
M apps/app_fax.c
M apps/app_festival.c
M apps/app_flash.c
M apps/app_followme.c
M apps/app_forkcdr.c
M apps/app_getcpeid.c
M apps/app_ices.c
M apps/app_image.c
M apps/app_ivrdemo.c
M apps/app_jack.c
M apps/app_macro.c
M apps/app_meetme.c
M apps/app_milliwatt.c
M apps/app_minivm.c
M apps/app_mixmonitor.c
M apps/app_morsecode.c
M apps/app_mp3.c
M apps/app_nbscat.c
M apps/app_originate.c
M apps/app_osplookup.c
M apps/app_page.c
M apps/app_playback.c
M apps/app_playtones.c
M apps/app_privacy.c
M apps/app_queue.c
M apps/app_read.c
M apps/app_readexten.c
M apps/app_record.c
M apps/app_saycounted.c
M apps/app_sayunixtime.c
M apps/app_senddtmf.c
M apps/app_sendtext.c
M apps/app_setcallerid.c
M apps/app_skel.c
M apps/app_sms.c
M apps/app_softhangup.c
M apps/app_speech_utils.c
M apps/app_stack.c
M apps/app_stasis.c
M apps/app_system.c
M apps/app_talkdetect.c
M apps/app_test.c
M apps/app_transfer.c
M apps/app_url.c
M apps/app_userevent.c
M apps/app_verbose.c
M apps/app_voicemail.c
M apps/app_waitforring.c
M apps/app_waitforsilence.c
M apps/app_waituntil.c
M apps/app_while.c
M apps/app_zapateller.c
M apps/confbridge/conf_chan_announce.c
M apps/confbridge/conf_chan_record.c
M apps/confbridge/conf_config_parser.c
M apps/confbridge/confbridge_manager.c
M bridges/bridge_builtin_features.c
M bridges/bridge_builtin_interval_features.c
M bridges/bridge_holding.c
M bridges/bridge_native_rtp.c
M bridges/bridge_simple.c
M bridges/bridge_softmix.c
M cdr/cdr_adaptive_odbc.c
M cdr/cdr_csv.c
M cdr/cdr_custom.c
M cdr/cdr_manager.c
M cdr/cdr_odbc.c
M cdr/cdr_pgsql.c
M cdr/cdr_radius.c
M cdr/cdr_sqlite.c
M cdr/cdr_sqlite3_custom.c
M cdr/cdr_syslog.c
M cdr/cdr_tds.c
M cel/cel_custom.c
M cel/cel_manager.c
M cel/cel_odbc.c
M cel/cel_pgsql.c
M cel/cel_radius.c
M cel/cel_sqlite3_custom.c
M cel/cel_tds.c
M channels/chan_alsa.c
M channels/chan_bridge_media.c
M channels/chan_console.c
M channels/chan_dahdi.c
M channels/chan_iax2.c
M channels/chan_mgcp.c
M channels/chan_misdn.c
M channels/chan_motif.c
M channels/chan_nbs.c
M channels/chan_oss.c
M channels/chan_phone.c
M channels/chan_pjsip.c
M channels/chan_rtp.c
M chan

[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread Russell Bryant (Code Review)
Russell Bryant has posted comments on this change.

Change subject: Add .gitignore and .gitreview files
..


Patch Set 3: Code-Review+1

-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 3
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: George Joseph 
Gerrit-Reviewer: Matt Jordan 
Gerrit-Reviewer: Russell Bryant 
Gerrit-HasComments: No

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread George Joseph (Code Review)
Hello Corey Farrell,

I'd like you to reexamine a change.  Please visit

https://gerrit.asterisk.org/42

to look at the new patch set (#3).

Change subject: Add .gitignore and .gitreview files
..

Add .gitignore and .gitreview files

Add the .gitignore and .gitreview files to the asterisk repo.

NB:  You can add local ignores to the .git/info/exclude file
without having to do a commit.

Common ignore patterns are in the top-level .gitignore file.
Subdirectory-specific ignore patterns are in their own .gitignore
files.

Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Tested-by: George Joseph
---
A .gitignore
A .gitreview
A addons/.gitignore
A agi/.gitignore
A build_tools/.gitignore
A doc/.gitignore
A include/asterisk/.gitignore
A main/.gitignore
A menuselect/.gitignore
A res/ael/.gitignore
A utils/.gitignore
11 files changed, 72 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/42/42/3
-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 3
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: George Joseph 
Gerrit-Reviewer: Matt Jordan 
Gerrit-Reviewer: Russell Bryant 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: res_pjsip: Add global option to limit the maximum time for i...

2015-04-11 Thread George Joseph (Code Review)
George Joseph has abandoned this change.

Change subject: res_pjsip: Add global option to limit the maximum time for 
initial qualifies
..


Abandoned

-- 
To view, visit https://gerrit.asterisk.org/48
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: Ib80498aa1ea9923277bef51d6a9015c9c79740f4
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: pjsip_options: Add qualify_timeout processing and eventing

2015-04-11 Thread George Joseph (Code Review)
George Joseph has abandoned this change.

Change subject: pjsip_options: Add qualify_timeout processing and eventing
..


Abandoned

-- 
To view, visit https://gerrit.asterisk.org/47
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: Id0ce0528e58014da1324856ea537e7765466044a
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[13]: Add .gitignore and .gitreview files

2015-04-11 Thread George Joseph (Code Review)
George Joseph has abandoned this change.

Change subject: Add .gitignore and .gitreview files
..


Abandoned

-- 
To view, visit https://gerrit.asterisk.org/49
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: George Joseph 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: res_pjsip: Refactor endpt_send_request to include transactio...

2015-04-11 Thread George Joseph (Code Review)
George Joseph has abandoned this change.

Change subject: res_pjsip: Refactor endpt_send_request to include transaction 
timeout
..


Abandoned

-- 
To view, visit https://gerrit.asterisk.org/46
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: I0778dc730d9689c5147a444a04aee3c1026bf747
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[13]: Add .gitignore and .gitreview files

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/49

Change subject: Add .gitignore and .gitreview files
..

Add .gitignore and .gitreview files

Add the .gitignore and .gitreview files to the asterisk repo.

NB:  You can add local ignores to the .git/info/exclude file
without having to do a commit.

Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Tested-by: George Joseph
---
A .gitignore
A .gitreview
2 files changed, 72 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/49/49/1

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000..b39f625
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,68 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
+
+*~
+*.[oadi]
+*.ii
+*.oo
+*.eo
+*.so
+*.exports
+*.moduleinfo
+*.makeopts
+*.makedeps
+makeopts
+
+.lastclean
+addons/mp3
+agi/eagi-sphinx-test
+agi/eagi-test
+agi/strcompat.c
+build_tools/menuselect-deps
+config.log
+config.status
+defaults.h
+doc/core-en_US.xml
+include/asterisk/autoconfig.h
+include/asterisk/build.h
+include/asterisk/buildopts.h
+main/asterisk
+main/libasteriskssl.so.1
+main/version.c
+makeopts.embed_rules
+menuselect-tree
+menuselect/autoconfig.h
+menuselect/cmenuselect
+menuselect/config.log
+menuselect/config.status
+menuselect/menuselect
+res/ael/ael.output
+utils/aelbison.c
+utils/aelparse
+utils/aelparse.c
+utils/ast_expr2.c
+utils/ast_expr2f.c
+utils/astman
+utils/astcanary
+utils/astdb2bdb
+utils/astdb2sqlite3
+utils/check_expr
+utils/check_expr2
+utils/conf2ael
+utils/db1-ast/libdb1.a
+utils/hashtab.c
+utils/lock.c
+utils/md5.c
+utils/muted
+utils/pbx_ael.c
+utils/pval.c
+utils/smsq
+utils/stereorize
+utils/strcompat.c
+utils/streamplayer
+utils/threadstorage.c
+
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 000..f9ef050
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,4 @@
+[gerrit]
+host=gerrit.asterisk.org
+port=29418
+project=asterisk.git

-- 
To view, visit https://gerrit.asterisk.org/49
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: George Joseph 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: res_pjsip: Add global option to limit the maximum time for i...

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/48

Change subject: res_pjsip: Add global option to limit the maximum time for 
initial qualifies
..

res_pjsip: Add global option to limit the maximum time for initial qualifies

Currently when Asterisk starts initial qualifies of contacts are spread out
randomly between 0 and qualify_timeout to prevent network and system overload.
If a contact's qualify_frequency is 5 minutes however, that contact may be
unavailable to accept calls for the entire 5 minutes after startup.  So while
staggering the initial qualifies is a good idea, basing the time on
qualify_timeout could leave contacts unavailable for too long.

This patch adds a new global parameter "max_initial_qualify_time" that sets the
maximum time for the initial qualifies.  This way you could make sure that all
your contacts are initialy, ransomly qualified within say 30 seconds but still
have the contact's ongoing qualifies at a 5 minute interval.

If max_initial_qualify_time is > 0, the formula is initial_interval =
min(max_initial_interval, qualify_timeout * random().  If not set,
qualify_timeout is used.

The default is "0" (disabled).

Testing Done:
Tested in my own pbx with 15 endpoints.
If max_initial_qualify_time is > 0 and < qualify_time, it's used, otherwise
qualify_timeout is used.

Testsuite test forthcoming.

Change-Id: Ib80498aa1ea9923277bef51d6a9015c9c79740f4
Tested-by: George Joseph 
---
M CHANGES
A 
contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
M include/asterisk/res_pjsip.h
M res/res_pjsip.c
M res/res_pjsip/config_global.c
M res/res_pjsip/pjsip_options.c
6 files changed, 66 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/48/48/1

diff --git a/CHANGES b/CHANGES
index 4237c82..0f70425 100644
--- a/CHANGES
+++ b/CHANGES
@@ -139,6 +139,11 @@
  * A new CLI command has been added: "pjsip show settings", which shows
both the global and system configuration settings.
 
+ * A new global option has been added: "max_initial_qualify_time", which
+   sets the The maximum amount of time from startup that qualifies should be
+   attempted on all contacts.
+
+
 res_ari_channels
 --
  * Two new events, 'ChannelHold' and 'ChannelUnhold', have been added to the
diff --git 
a/contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
 
b/contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
new file mode 100644
index 000..3c5f243
--- /dev/null
+++ 
b/contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
@@ -0,0 +1,21 @@
+"""add pjsip max_initial_qualify_time
+
+Revision ID: 45119a33fbbe
+Revises: 2256a84ca226
+Create Date: 2015-04-10 12:29:43.077598
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '45119a33fbbe'
+down_revision = '2256a84ca226'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+op.add_column('ps_globals', sa.Column('max_initial_qualify_time', 
sa.Integer))
+
+def downgrade():
+op.drop_column('ps_globals', 'max_initial_qualify_time')
diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index 2358a72..df18238 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -1956,4 +1956,12 @@
  */
 unsigned int ast_sip_get_keep_alive_interval(void);
 
+/*!
+ * \brief Retrieve the system max initial qualify time.
+ *
+ * \retval the maximum initial qualify time.
+ */
+unsigned int ast_sip_get_max_initial_qualify_time(void);
+
+
 #endif /* _RES_PJSIP_H */
diff --git a/res/res_pjsip.c b/res/res_pjsip.c
index fcd8516..1a9afb2 100644
--- a/res/res_pjsip.c
+++ b/res/res_pjsip.c
@@ -1211,6 +1211,9 @@

The interval (in seconds) to 
send keepalives to active connection-oriented transports.

+   
+   The maximum amount of time 
from startup that qualifies should be attempted on all contacts.
+   

Must be of type 
'global'.

diff --git a/res/res_pjsip/config_global.c b/res/res_pjsip/config_global.c
index 2aa1583..42ba234 100644
--- a/res/res_pjsip/config_global.c
+++ b/res/res_pjsip/config_global.c
@@ -33,6 +33,7 @@
 #define DEFAULT_OUTBOUND_ENDPOINT "default_outbound_endpoint"
 #define DEFAULT_DEBUG "no"
 #define DEFAULT_ENDPOINT_IDENTIFIER_ORDER "ip,username,anonymous"
+#define DEFAULT_MAX_INITIAL_QUALIFY_TIME 0
 
 static char default_useragent[256];
 
@@ -50,6 +51,8 @@
unsigned int max_forwards;
/* The interval at which to send keep alive messages to active 
connection-oriented transports */
  

[asterisk-dev] Change in asterisk[master]: pjsip_options: Add qualify_timeout processing and eventing

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/47

Change subject: pjsip_options: Add qualify_timeout processing and eventing
..

pjsip_options: Add qualify_timeout processing and eventing

This is the second follow-on to https://reviewboard.asterisk.org/r/4572/ and the
discussion at
http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html

The basic issues are that changes in contact status don't cause events to be
emitted for the associated endpoint.  Only dynamic contact add/delete actions
update the endpoint.  Also, the qualify timeout is fixed by pjsip at 32 seconds
which is a long time.

This patch makes use of the new transaction timeout feature in r4585 and
provides the following capabilities...

1.  A new aor/contact variable 'qualify_timeout' has been added that allows the
user to specify the maximum time in milliseconds to wait for a response to an
OPTIONS mesasge.  The default is 3000ms.  When the timer expires, the contact is
marked unavailable.

2.  Contact status changes are now propagated up to the endpoint as follows...
When any contact is 'Available', the endpoint is marked as 'Reachable'.  When
all contacts are 'Unavailable', the endpoint is marked as 'Unreachable'.  The
existing endpoint events are generated appropriately.

Testing Done:
Existing tests are unchanged.  I'm working on new testsuite tests to check the
new functionality.

Change-Id: Id0ce0528e58014da1324856ea537e7765466044a
Tested-by: Dmitriy Serov
Tested-by: George Joseph 
---
M CHANGES
M configs/samples/pjsip.conf.sample
A 
contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
M include/asterisk/endpoints.h
M include/asterisk/res_pjsip.h
M main/endpoints.c
M res/res_pjsip.c
M res/res_pjsip/location.c
M res/res_pjsip/pjsip_configuration.c
M res/res_pjsip/pjsip_options.c
10 files changed, 285 insertions(+), 35 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/47/47/1

diff --git a/CHANGES b/CHANGES
index 4237c82..76af05a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -139,6 +139,14 @@
  * A new CLI command has been added: "pjsip show settings", which shows
both the global and system configuration settings.
 
+ * A new aor option has been added: "qualify_timeout", which sets the timeout
+   in seconds for a qualify.  The default is 3 seconds.  This was previously
+   hard coded to 32 seconds in pjproject.
+
+ * Endpoint status will now change to "Unreachable" when all contacts are
+   unavailable.  When any contact becomes available, the endpoint will status
+   will change back to "Reachable".
+
 res_ari_channels
 --
  * Two new events, 'ChannelHold' and 'ChannelUnhold', have been added to the
diff --git a/configs/samples/pjsip.conf.sample 
b/configs/samples/pjsip.conf.sample
index d3bb518..0dd628c 100644
--- a/configs/samples/pjsip.conf.sample
+++ b/configs/samples/pjsip.conf.sample
@@ -812,6 +812,7 @@
 ; (default: "no")
 ;type=  ; Must be of type aor (default: "")
 ;qualify_frequency=0; Interval at which to qualify an AoR (default: "0")
+;qualify_timeout=3  ; Qualify timeout in seconds (default: "3")
 ;authenticate_qualify=no; Authenticates a qualify request if needed
 ; (default: "no")
 ;outbound_proxy=; Outbound proxy used when sending OPTIONS request
diff --git 
a/contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
 
b/contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
new file mode 100644
index 000..41f1b3d
--- /dev/null
+++ 
b/contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
@@ -0,0 +1,44 @@
+#
+# Asterisk -- An open source telephony toolkit.
+#
+# Copyright (C) 2015, Fairview 5 Engineering, LLC
+#
+# George Joseph 
+#
+# See http://www.asterisk.org for more information about
+# the Asterisk project. Please do not directly contact
+# any of the maintainers of this project for assistance;
+# the project provides a web site, mailing lists and IRC
+# channels for your use.
+#
+# This program is free software, distributed under the terms of
+# the GNU General Public License Version 2. See the LICENSE file
+# at the top of the source tree.
+#
+
+"""add_pjsip_qualify_timeout
+
+Revision ID: 2256a84ca226
+Revises: 23530d604b96
+Create Date: 2015-04-03 13:18:18.023787
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '2256a84ca226'
+down_revision = '23530d604b96'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+op.add_column('ps_aors', sa.Column('qualify_timeout', sa.Integer))
+op.add_column('ps_contacts', sa.Column('qualify_timeout', sa.Integer))
+pass
+
+
+def downgrade():
+op.drop_column('ps_aors', 'qualify_timeout')
+op.drop_column('ps_contacts', 'qualify_timeout')
+pass
diff --git a/include/asterisk/endpoints.h 

[asterisk-dev] Change in asterisk[master]: res_pjsip: Refactor endpt_send_request to include transactio...

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/46

Change subject: res_pjsip: Refactor endpt_send_request to include transaction 
timeout
..

res_pjsip: Refactor endpt_send_request to include transaction timeout

This is the first follow-on to https://reviewboard.asterisk.org/r/4572/ and the
discussion at
http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html

Since we currently have no control over pjproject transaction timeout, this
patch pulls the pjsip_endpt_send_request function out of pjproject and into
res_pjsip/endpt_send_transaction in order to implement that capability.

Now when the transaction is initiated, we also schedule our own pj_timer with
our own desired timeout.

If the transaction completes before either timeout, pjproject cancels its timer,
and calls our tsx callback where we cancel our timer and run the app callback.

If the pjproject timer times out first, pjproject calls our tsx callback where
we cancel our timer and run the app callback.

If our timer times out first, we terminate the transaction which causes
pjproject to cancel its timer and call our tsx callback where we run the app
callback.

Regardless of the scenario, pjproject is calling the tsx callback inside the
group_lock and there are checks in the callback to make sure it doesn't run
twice.

As part of this patch ast_sip_send_out_of_dialog_request was created to replace
its similarly named private function.  It takes 2 new arguments... A timeout in
milliseconds (<= 0 to disable the timeout) and a ** to a pjsip_transaction
structure in case the caller wants to do something else with the transaction.

Tested that both of the pjsip timeout and asterisk timeout scenarios work and
clean up properly.

All pjsip testsuite tests that worked before the change still work after the
change.  A new testsuite test will be written when the companion pjsip_options
work is done.

Change-Id: I0778dc730d9689c5147a444a04aee3c1026bf747
Tested-by: George Joseph 
---
M include/asterisk/res_pjsip.h
M res/res_pjsip.c
2 files changed, 195 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/46/46/1

diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index 2358a72..f3bf7b0 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -1260,6 +1260,31 @@
void (*callback)(void *token, pjsip_event *e));
 
 /*!
+ * \brief General purpose method for sending an Out-Of-Dialog SIP request
+ *
+ * This is a companion function for \ref ast_sip_create_request. The request
+ * created there can be passed to this function, though any request may be
+ * passed in.
+ *
+ * This will automatically set up handling outbound authentication challenges 
if
+ * they arrive.
+ *
+ * \param tdata The request to send
+ * \param endpoint Optional. If specified, the out-of-dialog request is sent 
to the endpoint.
+ * \param timeout.  If non-zero, after the timeout the transaction will be 
terminated
+ * and the callback will be called with the PJSIP_EVENT_TIMER type.
+ * \param token Data to be passed to the callback upon receipt of 
out-of-dialog response.
+ * \param callback Callback to be called upon receipt of out-of-dialog 
response.
+ * \param p_tsx If non-NULL, the address of the pjsip_transaction will be 
copied here.
+ *
+ * \retval 0 Success
+ * \retval -1 Failure (out-of-dialog callback will not be called.)
+ */
+int ast_sip_send_out_of_dialog_request(pjsip_tx_data *tdata,
+   struct ast_sip_endpoint *endpoint, int timeout, void *token,
+   void (*callback)(void *token, pjsip_event *e), pjsip_transaction 
**p_tsx);
+
+/*!
  * \brief General purpose method for creating a SIP response
  *
  * Its typical use would be to create responses for out of dialog
diff --git a/res/res_pjsip.c b/res/res_pjsip.c
index fcd8516..a8ec3bd 100644
--- a/res/res_pjsip.c
+++ b/res/res_pjsip.c
@@ -21,6 +21,8 @@
 #include 
 /* Needed for SUBSCRIBE, NOTIFY, and PUBLISH method definitions */
 #include 
+#include 
+#include 
 #include 
 
 #include "asterisk/res_pjsip.h"
@@ -2815,6 +2817,142 @@
 
 /*! Maximum number of challenges before assuming that we are in a loop */
 #define MAX_RX_CHALLENGES  10
+#define TIMER_INACTIVE 0
+#define TIMEOUT_TIMER  2
+#define TIMEOUT_TIMER2 5
+
+struct tsx_data {
+void *token;
+void (*cb)(void*, pjsip_event*);
+   pjsip_transaction *tsx;
+   pj_timer_entry *timeout_timer;
+};
+
+static void send_tsx_on_tsx_state(pjsip_transaction *tsx, pjsip_event *event);
+
+pjsip_module send_tsx_module = {
+.name = { "send_tsx_module", 23 },
+.id = -1,
+.priority = PJSIP_MOD_PRIORITY_APPLICATION,
+.on_tsx_state = &send_tsx_on_tsx_state,
+};
+
+/*! \brief This is the pjsip_tsx_send_msg callback */
+static void send_tsx_on_tsx_state(pjsip_transaction *tsx, pjsip_event *event)
+{
+   struct tsx

[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread Matt Jordan (Code Review)
Matt Jordan has posted comments on this change.

Change subject: Add .gitignore and .gitreview files
..


Patch Set 2:

(2 comments)

https://gerrit.asterisk.org/#/c/42/2/.gitignore
File .gitignore:

Line 21: addons/mp3
> I personally think it's nicer to use .gitignore files in subdirectories.  S
To address George's comment: I'm good either way.


https://gerrit.asterisk.org/#/c/42/2//COMMIT_MSG
Commit Message:

Line 15: Tested-by: George Joseph
> I think it would be good to move to using the same format for other git hea
I'd be fine with that, but we'll need to update the wiki/commit message script 
as well. We should be able to extract that quite easily from JIRA - in fact, 
it'd probably be helpful to just have a script that returns that and the CLA 
License numbers as appropriate.

/me makes a note to do that.


-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: George Joseph 
Gerrit-Reviewer: Matt Jordan 
Gerrit-Reviewer: Russell Bryant 
Gerrit-HasComments: Yes

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[13]: res_pjsip: Add global option to limit the maximum time for i...

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new patch set (#2).

Change subject: res_pjsip: Add global option to limit the maximum time for 
initial qualifies
..

res_pjsip: Add global option to limit the maximum time for initial qualifies

Currently when Asterisk starts initial qualifies of contacts are spread out
randomly between 0 and qualify_timeout to prevent network and system overload.
If a contact's qualify_frequency is 5 minutes however, that contact may be
unavailable to accept calls for the entire 5 minutes after startup.  So while
staggering the initial qualifies is a good idea, basing the time on
qualify_timeout could leave contacts unavailable for too long.

This patch adds a new global parameter "max_initial_qualify_time" that sets the
maximum time for the initial qualifies.  This way you could make sure that all
your contacts are initialy, ransomly qualified within say 30 seconds but still
have the contact's ongoing qualifies at a 5 minute interval.

If max_initial_qualify_time is > 0, the formula is initial_interval =
min(max_initial_interval, qualify_timeout * random().  If not set,
qualify_timeout is used.

The default is "0" (disabled).

Testing Done:
Tested in my own pbx with 15 endpoints.
If max_initial_qualify_time is > 0 and < qualify_time, it's used, otherwise
qualify_timeout is used.

Testsuite test forthcoming.

Change-Id: Ib80498aa1ea9923277bef51d6a9015c9c79740f4
Tested-by: George Joseph 
---
M CHANGES
A 
contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
M include/asterisk/res_pjsip.h
M res/res_pjsip.c
M res/res_pjsip/config_global.c
M res/res_pjsip/pjsip_options.c
6 files changed, 66 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/45/45/2
-- 
To view, visit https://gerrit.asterisk.org/45
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib80498aa1ea9923277bef51d6a9015c9c79740f4
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: George Joseph 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


Re: [asterisk-dev] [Code Review] 4611: res_pjsip: Add global option to limit the maximum time for initial qualifies

2015-04-11 Thread George Joseph

---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4611/
---

(Updated April 11, 2015, 4:06 p.m.)


Status
--

This change has been discarded.


Review request for Asterisk Developers and rmudgett.


Repository: Asterisk


Description
---

Currently when Asterisk starts initial qualifies of contacts are spread out 
randomly between 0 and qualify_timeout to prevent network and system overload.  
If a contact's qualify_frequency is 5 minutes however, that contact may be 
unavailable to accept calls for the entire 5 minutes after startup.  So while 
staggering the initial qualifies is a good idea, basing the time on 
qualify_timeout could leave contacts unavailable for too long.

This patch adds a new global parameter "max_initial_qualify_time" that sets the 
maximum time for the initial qualifies.  This way you could make sure that all 
your contacts are initialy, ransomly qualified within say 30 seconds but still 
have the contact's ongoing qualifies at a 5 minute interval.

If max_initial_qualify_time is > 0, the formula is initial_interval = 
min(max_initial_interval, qualify_timeout * random().  If not set, 
qualify_timeout is used.

The default is "0" (disabled).


Diffs
-

  branches/13/res/res_pjsip/pjsip_options.c 434653 
  branches/13/res/res_pjsip/config_global.c 434653 
  branches/13/res/res_pjsip.c 434653 
  branches/13/include/asterisk/res_pjsip.h 434653 
  
branches/13/contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
 PRE-CREATION 
  branches/13/CHANGES 434653 

Diff: https://reviewboard.asterisk.org/r/4611/diff/


Testing
---

Tested in my own pbx with 15 endpoints.  If max_initial_qualify_time is > 0 and 
< qualify_time, it's used, otherwise qualify_timeout is used.

Testsuite test forthcoming.


Thanks,

George Joseph

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

[asterisk-dev] Change in asterisk[13]: res_pjsip: Add global option to limit the maximum time for i...

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/45

Change subject: res_pjsip: Add global option to limit the maximum time for 
initial qualifies
..

res_pjsip: Add global option to limit the maximum time for initial qualifies

Currently when Asterisk starts initial qualifies of contacts are spread out
randomly between 0 and qualify_timeout to prevent network and system overload.
If a contact's qualify_frequency is 5 minutes however, that contact may be
unavailable to accept calls for the entire 5 minutes after startup.  So while
staggering the initial qualifies is a good idea, basing the time on
qualify_timeout could leave contacts unavailable for too long.

This patch adds a new global parameter "max_initial_qualify_time" that sets the
maximum time for the initial qualifies.  This way you could make sure that all
your contacts are initialy, ransomly qualified within say 30 seconds but still
have the contact's ongoing qualifies at a 5 minute interval.

If max_initial_qualify_time is > 0, the formula is initial_interval =
min(max_initial_interval, qualify_timeout * random().  If not set,
qualify_timeout is used.

The default is "0" (disabled).

Testing Done:
Tested in my own pbx with 15 endpoints.
If max_initial_qualify_time is > 0 and < qualify_time, it's used, otherwise
qualify_timeout is used.

Testsuite test forthcoming.

Change-Id: Ib80498aa1ea9923277bef51d6a9015c9c79740f4
Tested-by: George Joseph 
---
M CHANGES
A 
contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
M include/asterisk/res_pjsip.h
M res/res_pjsip.c
M res/res_pjsip/config_global.c
M res/res_pjsip/pjsip_options.c
6 files changed, 65 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/45/45/1

diff --git a/CHANGES b/CHANGES
index 0355d3d..fd7ceb9 100644
--- a/CHANGES
+++ b/CHANGES
@@ -28,6 +28,10 @@
  * A new CLI command has been added: "pjsip show settings", which shows
both the global and system configuration settings.
 
+ * A new global option has been added: "max_initial_qualify_time", which
+   sets the The maximum amount of time from startup that qualifies should be
+   attempted on all contacts.
+
 res_ari_channels
 --
  * Two new events, 'ChannelHold' and 'ChannelUnhold', have been added to the
diff --git 
a/contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
 
b/contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
new file mode 100644
index 000..3c5f243
--- /dev/null
+++ 
b/contrib/ast-db-manage/config/versions/45119a33fbbe_add_pjsip_max_initial_qualify_time.py
@@ -0,0 +1,21 @@
+"""add pjsip max_initial_qualify_time
+
+Revision ID: 45119a33fbbe
+Revises: 2256a84ca226
+Create Date: 2015-04-10 12:29:43.077598
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '45119a33fbbe'
+down_revision = '2256a84ca226'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+op.add_column('ps_globals', sa.Column('max_initial_qualify_time', 
sa.Integer))
+
+def downgrade():
+op.drop_column('ps_globals', 'max_initial_qualify_time')
diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index 06607cf..c612207 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -1954,4 +1954,12 @@
  */
 unsigned int ast_sip_get_keep_alive_interval(void);
 
+/*!
+ * \brief Retrieve the system max initial qualify time.
+ *
+ * \retval the maximum initial qualify time.
+ */
+unsigned int ast_sip_get_max_initial_qualify_time(void);
+
+
 #endif /* _RES_PJSIP_H */
diff --git a/res/res_pjsip.c b/res/res_pjsip.c
index 93905d6..17280de 100644
--- a/res/res_pjsip.c
+++ b/res/res_pjsip.c
@@ -1208,6 +1208,9 @@

The interval (in seconds) to 
send keepalives to active connection-oriented transports.

+   
+   The maximum amount of time 
from startup that qualifies should be attempted on all contacts.
+   

Must be of type 
'global'.

diff --git a/res/res_pjsip/config_global.c b/res/res_pjsip/config_global.c
index 2aa1583..42ba234 100644
--- a/res/res_pjsip/config_global.c
+++ b/res/res_pjsip/config_global.c
@@ -33,6 +33,7 @@
 #define DEFAULT_OUTBOUND_ENDPOINT "default_outbound_endpoint"
 #define DEFAULT_DEBUG "no"
 #define DEFAULT_ENDPOINT_IDENTIFIER_ORDER "ip,username,anonymous"
+#define DEFAULT_MAX_INITIAL_QUALIFY_TIME 0
 
 static char default_useragent[256];
 
@@ -50,6 +51,8 @@
unsigned int max_forwards;
/* The interval at which to send keep alive messages to active 
connection-oriented transports */
un

Re: [asterisk-dev] [Code Review] 4587: pjsip_options: Add qualify_timeout processing and eventing

2015-04-11 Thread George Joseph

---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4587/
---

(Updated April 11, 2015, 4:02 p.m.)


Status
--

This change has been discarded.


Review request for Asterisk Developers.


Bugs: ASTERISK-24863
https://issues.asterisk.org/jira/browse/ASTERISK-24863


Repository: Asterisk


Description
---

This is the second follow-on to https://reviewboard.asterisk.org/r/4572/ and 
the discussion at 
http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html 

The basic issues are that changes in contact status don't cause events to be 
emitted for the associated endpoint.  Only dynamic contact add/delete actions 
update the endpoint.  Also, the qualify timeout is fixed by pjsip at 32 seconds 
which is a long time.

This patch makes use of the new transaction timeout feature in r4585 and 
provides the following capabilities...

1.  A new aor/contact variable 'qualify_timeout' has been added that allows the 
user to specify the maximum time in milliseconds to wait for a response to an 
OPTIONS mesasge.  The default is 3000ms.  When the timer expires, the contact 
is marked unavailable.

2.  Contact status changes are now propagated up to the endpoint as follows...  
When any contact is 'Available', the endpoint is marked as 'Reachable'.  When 
all contacts are 'Unavailable', the endpoint is marked as 'Unreachable'.  The 
existing endpoint events are generated appropriately.


Diffs
-

  branches/13/res/res_pjsip/pjsip_options.c 434638 
  branches/13/res/res_pjsip/pjsip_configuration.c 434638 
  branches/13/res/res_pjsip/location.c 434638 
  branches/13/res/res_pjsip.c 434638 
  branches/13/main/endpoints.c 434638 
  branches/13/include/asterisk/res_pjsip.h 434638 
  branches/13/include/asterisk/endpoints.h 434638 
  
branches/13/contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
 PRE-CREATION 
  branches/13/configs/samples/pjsip.conf.sample 434638 
  branches/13/CHANGES 434638 

Diff: https://reviewboard.asterisk.org/r/4587/diff/


Testing
---

Existing tests are unchanged.  I'm working on new testsuite tests to check the 
new functionality.

Tested-by: Dmitriy Serov


Thanks,

George Joseph

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

[asterisk-dev] Change in asterisk[13]: pjsip_options: Add qualify_timeout processing and eventing

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/44

Change subject: pjsip_options: Add qualify_timeout processing and eventing
..

pjsip_options: Add qualify_timeout processing and eventing

This is the second follow-on to https://reviewboard.asterisk.org/r/4572/ and the
discussion at
http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html

The basic issues are that changes in contact status don't cause events to be
emitted for the associated endpoint.  Only dynamic contact add/delete actions
update the endpoint.  Also, the qualify timeout is fixed by pjsip at 32 seconds
which is a long time.

This patch makes use of the new transaction timeout feature in r4585 and
provides the following capabilities...

1.  A new aor/contact variable 'qualify_timeout' has been added that allows the
user to specify the maximum time in milliseconds to wait for a response to an
OPTIONS mesasge.  The default is 3000ms.  When the timer expires, the contact is
marked unavailable.

2.  Contact status changes are now propagated up to the endpoint as follows...
When any contact is 'Available', the endpoint is marked as 'Reachable'.  When
all contacts are 'Unavailable', the endpoint is marked as 'Unreachable'.  The
existing endpoint events are generated appropriately.

Testing Done:
Existing tests are unchanged.  I'm working on new testsuite tests to check the
new functionality.

Change-Id: Id0ce0528e58014da1324856ea537e7765466044a
Tested-by: Dmitriy Serov
Tested-by: George Joseph 
---
M CHANGES
M configs/samples/pjsip.conf.sample
A 
contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
M include/asterisk/endpoints.h
M include/asterisk/res_pjsip.h
M main/endpoints.c
M res/res_pjsip.c
M res/res_pjsip/location.c
M res/res_pjsip/pjsip_configuration.c
M res/res_pjsip/pjsip_options.c
10 files changed, 285 insertions(+), 35 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/44/44/1

diff --git a/CHANGES b/CHANGES
index 0355d3d..1b2c9c9 100644
--- a/CHANGES
+++ b/CHANGES
@@ -28,6 +28,14 @@
  * A new CLI command has been added: "pjsip show settings", which shows
both the global and system configuration settings.
 
+ * A new aor option has been added: "qualify_timeout", which sets the timeout
+   in seconds for a qualify.  The default is 3 seconds.  This was previously
+   hard coded to 32 seconds in pjproject.
+
+ * Endpoint status will now change to "Unreachable" when all contacts are
+   unavailable.  When any contact becomes available, the endpoint will status
+   will change back to "Reachable".
+
 res_ari_channels
 --
  * Two new events, 'ChannelHold' and 'ChannelUnhold', have been added to the
diff --git a/configs/samples/pjsip.conf.sample 
b/configs/samples/pjsip.conf.sample
index 3def593..6d79691 100644
--- a/configs/samples/pjsip.conf.sample
+++ b/configs/samples/pjsip.conf.sample
@@ -803,6 +803,7 @@
 ; (default: "no")
 ;type=  ; Must be of type aor (default: "")
 ;qualify_frequency=0; Interval at which to qualify an AoR (default: "0")
+;qualify_timeout=3  ; Qualify timeout in seconds (default: "3")
 ;authenticate_qualify=no; Authenticates a qualify request if needed
 ; (default: "no")
 ;outbound_proxy=; Outbound proxy used when sending OPTIONS request
diff --git 
a/contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
 
b/contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
new file mode 100644
index 000..41f1b3d
--- /dev/null
+++ 
b/contrib/ast-db-manage/config/versions/2256a84ca226_add_pjsip_qualify_timeout.py
@@ -0,0 +1,44 @@
+#
+# Asterisk -- An open source telephony toolkit.
+#
+# Copyright (C) 2015, Fairview 5 Engineering, LLC
+#
+# George Joseph 
+#
+# See http://www.asterisk.org for more information about
+# the Asterisk project. Please do not directly contact
+# any of the maintainers of this project for assistance;
+# the project provides a web site, mailing lists and IRC
+# channels for your use.
+#
+# This program is free software, distributed under the terms of
+# the GNU General Public License Version 2. See the LICENSE file
+# at the top of the source tree.
+#
+
+"""add_pjsip_qualify_timeout
+
+Revision ID: 2256a84ca226
+Revises: 23530d604b96
+Create Date: 2015-04-03 13:18:18.023787
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '2256a84ca226'
+down_revision = '23530d604b96'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+op.add_column('ps_aors', sa.Column('qualify_timeout', sa.Integer))
+op.add_column('ps_contacts', sa.Column('qualify_timeout', sa.Integer))
+pass
+
+
+def downgrade():
+op.drop_column('ps_aors', 'qualify_timeout')
+op.drop_column('ps_contacts', 'qualify_timeout')
+pass
diff --git a/include/asterisk/endpoints.h b/

Re: [asterisk-dev] [Code Review] 4585: res_pjsip: Refactor endpt_send_request to include transaction timeout

2015-04-11 Thread George Joseph

---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4585/
---

(Updated April 11, 2015, 3:52 p.m.)


Status
--

This change has been discarded.


Review request for Asterisk Developers, Joshua Colp and Mark Michelson.


Repository: Asterisk


Description
---

This is the first follow-on to https://reviewboard.asterisk.org/r/4572/ and the 
discussion at 
http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html 

Since we currently have no control over pjproject transaction timeout, this 
patch pulls the pjsip_endpt_send_request function out of pjproject and into 
res_pjsip/endpt_send_transaction in order to implement that capability. 

Now when the transaction is initiated, we also schedule our own pj_timer with 
our own desired timeout.  

If the transaction completes before either timeout, pjproject cancels its 
timer, and calls our tsx callback where we cancel our timer and run the app 
callback.

If the pjproject timer times out first, pjproject calls our tsx callback where 
we cancel our timer and run the app callback.

If our timer times out first, we terminate the transaction which causes 
pjproject to cancel its timer and call our tsx callback where we run the app 
callback.

Regardless of the scenario, pjproject is calling the tsx callback inside the 
group_lock and there are checks in the callback to make sure it doesn't run 
twice.

As part of this patch ast_sip_send_out_of_dialog_request was created to replace 
its similarly named private function.  It takes 2 new arguments... A timeout in 
milliseconds (<= 0 to disable the timeout) and a ** to a pjsip_transaction 
structure in case the caller wants to do something else with the transaction.

I'll be working on a pjproject patch in my spare (!) time.


Diffs
-

  branches/13/res/res_pjsip.c 434672 
  branches/13/include/asterisk/res_pjsip.h 434672 

Diff: https://reviewboard.asterisk.org/r/4585/diff/


Testing
---

Tested that both of the pjsip timeout and asterisk timeout scenarios work and 
clean up properly.

All pjsip testsuite tests that worked before the change still work after the 
change.  A new testsuite test will be written when the companion pjsip_options 
work is done.


Thanks,

George Joseph

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

[asterisk-dev] Change in asterisk[13]: res_pjsip: Refactor endpt_send_request to include transactio...

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/43

Change subject: res_pjsip: Refactor endpt_send_request to include transaction 
timeout
..

res_pjsip: Refactor endpt_send_request to include transaction timeout

This is the first follow-on to https://reviewboard.asterisk.org/r/4572/ and the
discussion at
http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html

Since we currently have no control over pjproject transaction timeout, this
patch pulls the pjsip_endpt_send_request function out of pjproject and into
res_pjsip/endpt_send_transaction in order to implement that capability.

Now when the transaction is initiated, we also schedule our own pj_timer with
our own desired timeout.

If the transaction completes before either timeout, pjproject cancels its timer,
and calls our tsx callback where we cancel our timer and run the app callback.

If the pjproject timer times out first, pjproject calls our tsx callback where
we cancel our timer and run the app callback.

If our timer times out first, we terminate the transaction which causes
pjproject to cancel its timer and call our tsx callback where we run the app
callback.

Regardless of the scenario, pjproject is calling the tsx callback inside the
group_lock and there are checks in the callback to make sure it doesn't run
twice.

As part of this patch ast_sip_send_out_of_dialog_request was created to replace
its similarly named private function.  It takes 2 new arguments... A timeout in
milliseconds (<= 0 to disable the timeout) and a ** to a pjsip_transaction
structure in case the caller wants to do something else with the transaction.

Tested that both of the pjsip timeout and asterisk timeout scenarios work and
clean up properly.

All pjsip testsuite tests that worked before the change still work after the
change.  A new testsuite test will be written when the companion pjsip_options
work is done.

Change-Id: I0778dc730d9689c5147a444a04aee3c1026bf747
Tested-by: George Joseph 
---
M include/asterisk/res_pjsip.h
M res/res_pjsip.c
2 files changed, 195 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/43/43/1

diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index 06607cf..1e01735 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -1258,6 +1258,31 @@
void (*callback)(void *token, pjsip_event *e));
 
 /*!
+ * \brief General purpose method for sending an Out-Of-Dialog SIP request
+ *
+ * This is a companion function for \ref ast_sip_create_request. The request
+ * created there can be passed to this function, though any request may be
+ * passed in.
+ *
+ * This will automatically set up handling outbound authentication challenges 
if
+ * they arrive.
+ *
+ * \param tdata The request to send
+ * \param endpoint Optional. If specified, the out-of-dialog request is sent 
to the endpoint.
+ * \param timeout.  If non-zero, after the timeout the transaction will be 
terminated
+ * and the callback will be called with the PJSIP_EVENT_TIMER type.
+ * \param token Data to be passed to the callback upon receipt of 
out-of-dialog response.
+ * \param callback Callback to be called upon receipt of out-of-dialog 
response.
+ * \param p_tsx If non-NULL, the address of the pjsip_transaction will be 
copied here.
+ *
+ * \retval 0 Success
+ * \retval -1 Failure (out-of-dialog callback will not be called.)
+ */
+int ast_sip_send_out_of_dialog_request(pjsip_tx_data *tdata,
+   struct ast_sip_endpoint *endpoint, int timeout, void *token,
+   void (*callback)(void *token, pjsip_event *e), pjsip_transaction 
**p_tsx);
+
+/*!
  * \brief General purpose method for creating a SIP response
  *
  * Its typical use would be to create responses for out of dialog
diff --git a/res/res_pjsip.c b/res/res_pjsip.c
index 93905d6..fb0e66e 100644
--- a/res/res_pjsip.c
+++ b/res/res_pjsip.c
@@ -21,6 +21,8 @@
 #include 
 /* Needed for SUBSCRIBE, NOTIFY, and PUBLISH method definitions */
 #include 
+#include 
+#include 
 #include 
 
 #include "asterisk/res_pjsip.h"
@@ -2809,6 +2811,142 @@
 
 /*! Maximum number of challenges before assuming that we are in a loop */
 #define MAX_RX_CHALLENGES  10
+#define TIMER_INACTIVE 0
+#define TIMEOUT_TIMER  2
+#define TIMEOUT_TIMER2 5
+
+struct tsx_data {
+void *token;
+void (*cb)(void*, pjsip_event*);
+   pjsip_transaction *tsx;
+   pj_timer_entry *timeout_timer;
+};
+
+static void send_tsx_on_tsx_state(pjsip_transaction *tsx, pjsip_event *event);
+
+pjsip_module send_tsx_module = {
+.name = { "send_tsx_module", 23 },
+.id = -1,
+.priority = PJSIP_MOD_PRIORITY_APPLICATION,
+.on_tsx_state = &send_tsx_on_tsx_state,
+};
+
+/*! \brief This is the pjsip_tsx_send_msg callback */
+static void send_tsx_on_tsx_state(pjsip_transaction *tsx, pjsip_event *event)
+{
+   struct tsx

[asterisk-dev] How to get peer review for patch to deprecated module (was: Re: [asterisk-users] Help debugging a possible SIP channel leak in 11.17.0, possible race condition)

2015-04-11 Thread Alex Villacís Lasso

El 10/04/15 a las 14:16, Alex Villací­s Lasso escribió:

El 08/04/15 a las 08:22, Vinicius Fontes escribió:
Have you tried Asterisk 13? The bridging mechanism has been 
completely rewritten on Asterisk 12, so there's no longer channel 
masquerading and zombie channels. Might be worth a try.


Sorry, this client is very hard to talk into stopping its operations 
long enough to install changes, let alone a major Asterisk version 
change. I already had trouble convincing him of the need to install a 
debugging version with DEBUG_THREADS enabled.
After reviewing a "core show locks" output, I am very sure I have hit an 
Asterisk bug involving a deadlock in cdr_mysql . When doing a "core 
reload" on the CLI, cdr_mysql calls ast_cdr_unregister() with its 
internal lock held (mysql_lock). However, writing a CDR involves 
adquiring the cdr lock and then the internal lock. Therefore, deadlock. 
None of the other cdr modules does that.


However, I know that cdr_mysql is currently deprecated for Asterisk 11. 
I have a patch to fix the issue mentioned above (attached), but I want 
to know how to get it reviewed, if only to see whether the fix is sane.
diff -ur asterisk-11.17.0-bak/addons/cdr_mysql.c asterisk-11.17.0/addons/cdr_mysql.c
--- asterisk-11.17.0-bak/addons/cdr_mysql.c	2015-04-11 15:43:02.231033422 -0500
+++ asterisk-11.17.0/addons/cdr_mysql.c	2015-04-11 15:51:33.483522241 -0500
@@ -382,7 +382,9 @@
 	}
 
 	dbport = 0;
-	ast_cdr_unregister(name);
+	if (!reload) {
+		ast_cdr_unregister(name);
+	}
 	
 	return 0;
 }
@@ -658,7 +660,7 @@
 		return AST_MODULE_LOAD_FAILURE;
 	}
 
-	res = ast_cdr_register(name, desc, mysql_log);
+	res = reload ? 0 : ast_cdr_register(name, desc, mysql_log);
 	if (res) {
 		ast_log(LOG_ERROR, "Unable to register MySQL CDR handling\n");
 	} else {
-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread George Joseph (Code Review)
George Joseph has posted comments on this change.

Change subject: Add .gitignore and .gitreview files
..


Patch Set 2:

> (1 comment)

My only issue with this is that it makes it harder to troubleshoot or get an 
overview of ignores especially if you have a cascading situation.  I'm ok with 
it though so if Matt's ok with it, i'll separate them.

-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: George Joseph 
Gerrit-Reviewer: Matt Jordan 
Gerrit-Reviewer: Russell Bryant 
Gerrit-HasComments: No

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread Russell Bryant (Code Review)
Russell Bryant has posted comments on this change.

Change subject: Add .gitignore and .gitreview files
..


Patch Set 2:

(1 comment)

https://gerrit.asterisk.org/#/c/42/2//COMMIT_MSG
Commit Message:

Line 15: Tested-by: George Joseph
I think it would be good to move to using the same format for other git headers 
(include the full name and email address)


-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: Matt Jordan 
Gerrit-Reviewer: Russell Bryant 
Gerrit-HasComments: Yes

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread Russell Bryant (Code Review)
Russell Bryant has posted comments on this change.

Change subject: Add .gitignore and .gitreview files
..


Patch Set 2:

(1 comment)

https://gerrit.asterisk.org/#/c/42/2/.gitignore
File .gitignore:

Line 21: addons/mp3
I personally think it's nicer to use .gitignore files in subdirectories.  Some 
concrete reasons it helps: if you rename or move directories, the ignore rules 
follow automatically and you end up with less conflicts with patches updating 
the same file.


-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: Matt Jordan 
Gerrit-Reviewer: Russell Bryant 
Gerrit-HasComments: Yes

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread Corey Farrell (Code Review)
Corey Farrell has posted comments on this change.

Change subject: Add .gitignore and .gitreview files
..


Patch Set 2: Code-Review+1

-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: Matt Jordan 
Gerrit-HasComments: No

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new patch set (#2).

Change subject: Add .gitignore and .gitreview files
..

Add .gitignore and .gitreview files

Add the .gitignore and .gitreview files to the asterisk repo.

NB:  You can add local ignores to the .git/info/exclude file
without having to do a commit.

Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Tested-by: George Joseph
---
A .gitignore
A .gitreview
2 files changed, 72 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/42/42/2
-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: Matt Jordan 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread Corey Farrell (Code Review)
Corey Farrell has posted comments on this change.

Change subject: Add .gitignore and .gitreview files
..


Patch Set 1:

(2 comments)

Couple minor things then this is good to go.

https://gerrit.asterisk.org/#/c/42/1/.gitignore
File .gitignore:

Line 6: # *~
I suspect we do want to ignore *~


Line 10: **.so
Please add *.eo for embedded objects.  Also *.ii, *.oo for C++ modules.

Honestly I'm not sure the purpose of the two stars in **.so or others like 
this.  Why not just use *.so?  That would apply to all dirs.


-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 
Gerrit-Reviewer: Corey Farrell 
Gerrit-Reviewer: Matt Jordan 
Gerrit-HasComments: Yes

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in asterisk[master]: Add .gitignore and .gitreview files

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/42

Change subject: Add .gitignore and .gitreview files
..

Add .gitignore and .gitreview files

Add the .gitignore and .gitreview files to the asterisk repo.

NB:  You can add local ignores to the .git/info/exclude file
without having to do a commit.

Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Tested-by: George Joseph
---
A .gitignore
A .gitreview
2 files changed, 71 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/42/42/1

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000..db9aaed
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,67 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
+
+**.[oadi]
+**.exports
+**.so
+**.moduleinfo
+**.makeopts
+**.makedeps
+**/makeopts
+
+.lastclean
+addons/mp3
+agi/eagi-sphinx-test
+agi/eagi-test
+agi/strcompat.c
+build_tools/menuselect-deps
+config.log
+config.status
+defaults.h
+doc/core-en_US.xml
+include/asterisk/autoconfig.h
+include/asterisk/build.h
+include/asterisk/buildopts.h
+main/ast_expr2.h
+main/asterisk
+main/libasteriskssl.so.1
+main/version.c
+makeopts.embed_rules
+menuselect-tree
+menuselect/autoconfig.h
+menuselect/cmenuselect
+menuselect/config.log
+menuselect/config.status
+menuselect/menuselect
+res/ael/ael.output
+res/ael/ael.tab.c
+res/ael/ael.tab.h
+utils/aelbison.c
+utils/aelparse
+utils/aelparse.c
+utils/ast_expr2.c
+utils/ast_expr2f.c
+utils/astman
+utils/astcanary
+utils/astdb2bdb
+utils/astdb2sqlite3
+utils/check_expr
+utils/check_expr2
+utils/conf2ael
+utils/db1-ast/libdb1.a
+utils/hashtab.c
+utils/lock.c
+utils/md5.c
+utils/muted
+utils/pbx_ael.c
+utils/pval.c
+utils/smsq
+utils/stereorize
+utils/strcompat.c
+utils/streamplayer
+utils/threadstorage.c
+
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 000..f9ef050
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,4 @@
+[gerrit]
+host=gerrit.asterisk.org
+port=29418
+project=asterisk.git

-- 
To view, visit https://gerrit.asterisk.org/42
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[asterisk-dev] Change in testsuite[master]: tests/channels/pjsip/config_wizard/hints: Add 'has_hint' var...

2015-04-11 Thread George Joseph (Code Review)
George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/41

Change subject: tests/channels/pjsip/config_wizard/hints: Add 'has_hint' 
variable
..

tests/channels/pjsip/config_wizard/hints: Add 'has_hint' variable

The pjsip_wizard.conf file was missing the 'has_hint' variable that
actually turns on the hint processing.  This was resulting in test
failure.

Change-Id: I778143aac1666010cb247f6f76d3be6fb64bb901
---
M tests/channels/pjsip/config_wizard/hints/configs/ast1/pjsip_wizard.conf
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/testsuite refs/changes/41/41/1

diff --git 
a/tests/channels/pjsip/config_wizard/hints/configs/ast1/pjsip_wizard.conf 
b/tests/channels/pjsip/config_wizard/hints/configs/ast1/pjsip_wizard.conf
index 96b72d8..f9d25e6 100644
--- a/tests/channels/pjsip/config_wizard/hints/configs/ast1/pjsip_wizard.conf
+++ b/tests/channels/pjsip/config_wizard/hints/configs/ast1/pjsip_wizard.conf
@@ -8,6 +8,7 @@
 inbound_auth/username = testuser
 inbound_auth/password = testpass
 endpoint/direct_media = no
+has_hint = yes
 hint_context = default_hints
 hint_exten = 9090
 hint_application = Dial(${HINT}/)

-- 
To view, visit https://gerrit.asterisk.org/41
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I778143aac1666010cb247f6f76d3be6fb64bb901
Gerrit-PatchSet: 1
Gerrit-Project: testsuite
Gerrit-Branch: master
Gerrit-Owner: George Joseph 

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


Re: [asterisk-dev] [Code Review] 4555: clang compiler warning: fixes for tests to be compiled using clang

2015-04-11 Thread Diederik de Groot

---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4555/
---

(Updated April 11, 2015, 10:26 a.m.)


Status
--

This change has been marked as submitted.


Review request for Asterisk Developers.


Changes
---

Committed in revision 434705


Bugs: ASTERISK-24917
https://issues.asterisk.org/jira/browse/ASTERISK-24917


Repository: Asterisk


Description
---

clang's static analyzer will throw quite a number warnings / errors during 
compilation, some of which can be very helpfull in finding corner-case bugs. 

fixes for tests to be compiled using clang


Diffs
-

  /branches/13/tests/test_strings.c 433444 
  /branches/13/tests/test_stringfields.c 433444 
  /branches/13/tests/test_sched.c 433444 
  /branches/13/tests/test_acl.c 433444 

Diff: https://reviewboard.asterisk.org/r/4555/diff/


Testing
---

executing the tests one-by-one works fine (completes to end) (skipping 
/main/stdtime) -> 
test show results failed:


=== /main/message/ == 
FAIL   test_message_queue_handler_nom /main/message/ 31036ms
[test_message.c:int handler_wait_for_message(struct ast_test *):244]: Test 
timed out while waiting for handler to get message

Not sure if this is actually a fail or just a timeout. WIP


=== /main/strings/ == 
FAIL   escape_semicolons  /main/strings/ 1ms 
[Mar 29 20:13:43] ERROR[2521]: utils.c:493 char *ast_escape_semicolons(const 
char *, char *, int): FRACK!, Failed assertion string != NULL && outbuf != NULL 
(0)
-> explainable by the change made to the source. ast_alloca(0) is not being 
executed -> test2 = NULL: need to resolv the open question how to handle 
ast_alloca(0) before making any further changes.

(With revision 5 of this code, this test now passes without a problem, had to 
fix both the test and the function being tested though)


=== /main/stdtime == 
"test execute all" fails, caused by the /main/stdtime/ test. 
START  /main/stdtime/ - timezone_watch 
[test_time.c:enum ast_test_result_state test_timezone_watch(struct 
ast_test_info *, enum ast_test_command, struct ast_test *):84]: Executing 
deletion test...
j62747*CLI> 
CLI becomes unresponsive / no further command completion for example.
Guess this will need a little further investigation. Maybe the source changes 
made to main/stdtime/ where not completely correct.

Seems to be caused by inotify_daemon, at least there is where the segfault 
happens. WIP


File Attachments


tests results xml (except /main/stdtime)
  
https://reviewboard.asterisk.org/media/uploaded/files/2015/03/29/4a17471b-4952-43cd-b015-92d00da2338b__tests.xml


Thanks,

Diederik de Groot

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Re: [asterisk-dev] [Code Review] 4589: res_pjsip_t38: Add missing initialization of udptl->far_max_datagram in t38_initialize_session()

2015-04-11 Thread Juergen Spies

---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4589/
---

(Updated April 11, 2015, 10:11 a.m.)


Status
--

This change has been marked as submitted.


Review request for Asterisk Developers.


Changes
---

Committed in revision 434688


Bugs: ASTERISK-24928
https://issues.asterisk.org/jira/browse/ASTERISK-24928


Repository: Asterisk


Description
---

Initialize "udptl->far_max_datagram" in t38_initialize_session() with a default 
value or a value provided
in pjsip.conf (t38_udptl_maxdatagram).
Without this far_max_datagram remains -1 if the remote endpoint does not 
provide the MediaAttribute T38FaxMaxDatagram
in it's SIP INVITE SDP. This will result in the INVITE being rejected.


Diffs
-

  /branches/13/res/res_pjsip_t38.c 433967 

Diff: https://reviewboard.asterisk.org/r/4589/diff/


Testing
---

I have tested the patch with the following setup. The Asterisk is acting as 
relay.
The external T.38 gateway is at our ISP. The internal gateway is a Cisco SPA112.
The ISP’s gateway does not include T38FaxMaxDatagram in SDPs.

The test cases included:
- No t38_udptl_maxdatagram in pjsip.conf
  o Faxes in both directions with "normal" SDPs (all INVITEs created by Cisco),
  o Outbound fax w/o T38FaxMaxDatagram in SDP,
- t38_udptl_maxdatagram defined in pjsip.conf for both endpoints
  o Faxes in both directions with "normal" SDPs (all INVITEs created by Cisco).

All tests were completed successfully.


Thanks,

Juergen Spies

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev