[asterisk-dev] [Code Review] feature.conf attended transfer external tests

David Vossel dvossel at digium.com
Mon May 24 16:42:20 CDT 2010



> On 2010-05-24 16:07:15, Jeff Peeler wrote:
> > /asterisk/trunk/tests/feature_attended_transfer/configs/extensions.conf, line 16
> > <https://reviewboard.asterisk.org/r/659/diff/5/?file=10263#file10263line16>
> >
> >     I would also indicate why you are using playback as timing rather than something like wait.

I dislike using the Wait() app after a channel is up.  During testing using Wait() for timing purposes after a channel was up caused a number inconsistencies where the test would pass some times and fail others for no apparent reason.  Since writing this I have learned that Wait() uses ast_safe_sleep which eats up AST_CONTROL frames that come in rather than queuing them for later.  I'm not sure if that could be related to the problems I had here or not.  Regardless, using Playback worked 100% of the time for me so I just started using it when I wanted to delay something for a short period of time.  

During the semi-attended transfer I did however use Wait() before answering a call.  This worked consistently allowing me to delay the Answer() of the new channel while allowing the transferer to hangup before hand.


> On 2010-05-24 16:07:15, Jeff Peeler wrote:
> > /asterisk/trunk/tests/feature_attended_transfer/run-test, line 184
> > <https://reviewboard.asterisk.org/r/659/diff/5/?file=10270#file10270line184>
> >
> >     Do the asterisk start calls run asynchronously? If not, why aren't you executing launch_test without the reactor?

The asterisk start calls are kind of asynchronous.  The call to start Asterisk at the moment just waits for a short period of time before returning (I'm talking about the Asterisk python library we use).  This is an area that is documented as needing improvement, but we haven't come up with a good solution for it yet.  Originally my test used 3 instances of Asterisk instead of only 2, and this extra 5 seconds for startup I added seemed to actually be necessary.  I added this because I had a time where one of the tests failed because an instance of Asterisk didn't load fully.  Now the tests only use 2 instances of Asterisk, but given that these few seconds seemed to add stability earlier I am hesitant to remove this line until a better way of guaranteeing all the Asterisk instances are fully loaded is implemented.


- David


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


On 2010-05-18 16:46:29, David Vossel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/659/
> -----------------------------------------------------------
> 
> (Updated 2010-05-18 16:46:29)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> These external tests exercise the 'atxfer' option in features.conf.
> 
> 
> Diffs
> -----
> 
>   /asterisk/trunk/tests/feature_attended_transfer/configs/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_attended_transfer/configs/iax.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_attended_transfer/configs/manager.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_attended_transfer/configs2/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_attended_transfer/configs2/features.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_attended_transfer/configs2/iax.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_attended_transfer/configs2/manager.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_attended_transfer/run-test PRE-CREATION 
>   /asterisk/trunk/tests/feature_attended_transfer/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/blonde_configs/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/blonde_configs/iax.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/blonde_configs/manager.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/blonde_configs2/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/blonde_configs2/features.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/blonde_configs2/iax.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/blonde_configs2/manager.conf PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/run-test PRE-CREATION 
>   /asterisk/trunk/tests/feature_blonde_transfer/test-config.yaml PRE-CREATION 
> 
> Diff: https://reviewboard.asterisk.org/r/659/diff
> 
> 
> Testing
> -------
> 
> I ran these tests using 1.4 - trunk and verified they all pass.  There is however a segfault that occurs about 15% of the time with trunk at the moment that I will solve before committing this.
> 
> 
> Thanks,
> 
> David
> 
>




More information about the asterisk-dev mailing list