Re: [asterisk-dev] Git Migration update
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)
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)
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
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
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
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
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
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)
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
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
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
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
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
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
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
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...
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
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
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...
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
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...
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
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...
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
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...
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
--- 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...
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
--- 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
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
--- 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...
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)
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
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
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
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
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
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
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
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...
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
--- 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()
--- 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