* Automatic filenames (trace files, error files, etc..)
are now created in the current working directory instead
of in the directory of the scenario file.
* https://github.com/SIPp/sipp/releases/tag/v3.6.0
Change-Id: I06ad4c7196ea9087f5e04e289f09baf927ed1e01
* add soundfile id to scenarios_ids.yml
* zero Content-Length
* add app.local port fix
* don't try to find subscriber_ids on some headers
like CSeq or Content-Length
Change-Id: Ia10817a025c22c17cdfd93edcc7128e7cdb06029
* introduced at f1c1379f42
* get_subs_info was throwing exception for some cases but it
was hided via eval {}. Use Try::Tiny to manage the exception
and generate needed default values.
* use variable name instead of $_ so it's clear what is what
on loops
Change-Id: Icc6baa00da6ebfa1d88a7e418edb48c8c8536cd1
Now that we are allowing cheking more that one message, be
sure that already OKed messages don't get compared
Change-Id: I152af70b6dca69fe935ca70f8d40acb599cbaff0
* bin/check.py: return different values depending on what section
check fails
reformat using black tool
Change-Id: Ie393766ba5df0951fb9f51c1c780cc5be8673fc7
This reverts commit 4c3826e755.
Reason for revert: Commit is now necessary after fixes done in other packages
Change-Id: Ib41b8b9f333a96cff028869d0a5da77ded6f9008
* expires in Contact
* split logic between specific changes for a header and
common subst for any header, so both can be executed
* don't stop checking for network occurrences on first
match, line can have more than one occurrence
Change-Id: I682f39f93d14fd081241a9ed2674cddb25150248
* check for dirs with a scenario.yml file
* remove some shellcheck warnings:
SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting).
Change-Id: I88b48fcc9668c3be26755472d6001f630a341fca
* subst sipp ports for sender/receivers defined at scenarios.yml file
* fix some common substitutions
* subst ids from scenarios_ids.yml
* check.py fix some style issues
Change-Id: I245c76ff540851fa7c1248995476411f092b857c
* fix delete perm registration: subscriber needs to exists
move delete before deletion of domain
* bench.sh: obey PROFILE environment variable
* bin/config_debug.pl: set tcp for one of the extra_sockets
Change-Id: I4650058f22ffcac68fa44913e1b03ecf090c2f28
* this will filter common headers
* fix Content-Length substitution
* run_tests.sh: PROFILE environment as default
Change-Id: Ib0f42f3be6a378e8bfd5e32d7982687fc9869e4e
Now we can define different module level of debug per scenario.
So we can have more info without changing the general config.yml
Change-Id: I64e5467eedf2c41827ab8de85835b0b6c09486eb
tool that reads info directly from scenario.yml
* check.sh: clean some shellcheck warnings
* bench.sh: fix group option
Change-Id: If736c42729e8fd32e964a5c9db7e47b289e916c8
* now it will be called *before* scenario is built
* introduced at b006dee9f8
TODO: move this external tool that can read scenario.yml info
directly
Change-Id: Ic85ceb2900ea137c96b7d3354d59439fa72a8a96
- invite_queue
- invite_group_serial
Some other tests has been prepared but not yet completed
- invite_group_parallel
- invite_xfer_blind_caller
- invite_xfer_blind_callee
Change-Id: I77f80495e85ba8691d4dc22c7807b945fac3325e
* remove invite_conference_update media file, this has to be a link
* ngcpcfg apply executed outside /etc/ngcp-config seems to generate
.ngcpcfg_perms file in $pwd so adding a workaround to avoid it
* bench.sh: support selecting the GROUP scenario
* show_flow_diff.pl: improve the diff output adding the values of
the flows not only the names
Change-Id: I40db8433595168ce8d3ef061f77f02a1616ed980
Add 'retrans: true' to the test.yml file and name
it '_test_retransmission.yml.tt2' instead of '_test.yml.tt2'
Change-Id: I2e83f773ed8a1ba537aedb61410db79fecbecf16
* From/To tag
* CSeq number
* WWW-Authenticate nonce
* Server Sipwise major version
* Content-Length >0
Change-Id: Ife7f3f6f791eb6b18b6538c99a9e612d9cb0cfa8
Allow to filter out headers, match is case-insensitive
> ./bin/generate_test_tt2.pl -f Route -f Call-id -f via log/scenarios/invite/0001.json
Change-Id: Ia89792a99c36a375509bf4d8faea3f8950a2be25
* generate the scenario test_tt2 from kamailio cfgt json file
* show_sip to see sip_in and sip_out as SIP trace
Change-Id: I2b9d6872ffbc6775ab766b5fecc9975a69e64bd4
The command
rtpengine-ctl -ip "${rtpengine_ctl_ip}" list interfaces
is used to check the number of rtp ports still open on the system
Change-Id: Id0e48aaf1f354cecf153db8102a5b5635e073287
* We want to be able to execute the tests with more than one
kamailio.proxy.process. So, don't set any value and added
the option to change it
Change-Id: I6fcf1af13b90341e85c784b2570565d52afb11f0
In case of sipp errors bin/check.sh was aborted without moving
the scenario_ids.yml, moving the json files and cleaning the
scenario's data if required.
Change-Id: Ibb1b5c1874476ff2f483488670f8c3953c38c58f
Call cfgt.clean RCP function at the end of the scenario execution
only if the json files were actually moved (SKIP_MOVE_JSON_KAM
not set). Otherwise the result will be to don't have any json
file generated.
Change-Id: I97f2b00516a8975c050f97a7ffecb47b2dceecd3
The option is triggered by run_tests.sh because it is already
taking care of the json file movement at the end of the scenarios
execution.
Change-Id: Ie609237b46c54734dc25f093351c89138a70d8f9
After JSON_KAM was enabled by default in commit 8618aa8 we lost
the possibility to disable it if necessary.
The option -J of bin/check.sh script now do the opposite: it is
used to disable JSON_KAM preference. Due to this change, the -J has
been removed from the script call in get_results.sh
Change-Id: I8ccc9d832ba808c72494dc27526e66ceff802a95
* This allows to run the same scenario without having to restart
kamailio-proxy every time
* set JSON_KAM as default
Change-Id: I0948095e318fa0220c16adfc52e124a9e6c35c67
Added tests:
* scenarios/invite_hm
* scenarios/invite_hm_callforward
* scenarios/invite_hm_peerout
Add a new file descriptors for the tests:
* pro.yml
If the file is present and the PROFILE is CE, then
the test isskipped because not in scope.
Change-Id: I8da41d764ef352d3caf592f31894e0c58399ed07
Additionally increased the timeout of the sipp simulations.
This is necessary to avoid failures of the tests in case kamailio
takes a bit more time to preocess the incoming SIP message.
Change-Id: I60856430f28b081d74e484b2346894dd13a38d11
Otherwise kamailio-config-test reset file perms from 0600 to 0755.
From https://perldoc.perl.org/File/Copy.html :
> You may use the syntax use File::Copy "cp" to
> get at the cp alias for this function. The syntax is exactly the same.
> The behavior is nearly the same as well: as of version 2.15,
> cp will preserve the source file's permission bits like the
> shell utility cp(1) would do, while copy uses the default
> permissions for the target file
> (which may depend on the process' umask, file ownership, inherited ACLs, etc.).
> If an error occurs in setting permissions, cp will return 0,
> regardless of whether the file was successfully copied.
Change-Id: I7b227cb554699d68f809d38c82344d8f1afeed99
If retransmission skip is enabled (-r option) an additional check
with the previous json file (previous SIP message) is done in case
of tap issues. This is useful when wrong packet ordering or
timing issues occur.
Additionally:
* improved logs lines in oreder to be more readable.
* fixed inconsistencies in the coding style.
Change-Id: I20a026fab33e2a56f23bdccef8ee3aa3e27de732
* Added 5 seconds of sleep time at the end of execution in order to allow
tcpdump to capture all the packages and kamailio to write all json files
* All json files are collected at the end of all the scenarios
* Only one big tcpdump trace is takes to collect all the scenarios
Change-Id: Id91835a959785080ecbbaf29a3e4c97bf752934e
Fixes:
| Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/.+msg out:{ <-- HERE (.+)}$/ at bin/ulog_parser.pl line 166.
| Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/.+msg out:{ <-- HERE (.+)}$/ at bin/ulog_parser.pl line 187.
This was deprecated already in older perl versions:
| Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/.+msg out:{ <-- HERE (.+)}$/ at bin/ulog_parser.pl line 187.
Starting with perl 5.26 it raises an error
message instead of just a warning message though.
Change-Id: Ic7af73d088ce580b59f6a5e5fc578b723ee7410c
* Original option '-c' in run_tests.sh has been modified
in '-C'
* Add new option '-c' in run_tests.sh to execute a query on MySQL
after each test to extract the generated CDRs.
* Add new option '-c' in get_results.sh to compare the extracted
CDRs with the referece provided in the scenario (cdr_test.yml.tt2).
* Modified option 'mediator.interval' from 10 to 1 during the test
execution in order to speedup the cdrs generation.
* Updated README file with the latest changes.
* Added basic cdr_test for all the scenarios.
Change-Id: Ifffd686003fa5e3a1ac4ba76c502011d7fdb21bb
A new scenario called invite_trusted_anonymous has been added to verify
the new improvement on the allow_trusted kamailio function that should
check the PAI header in case the From is anonymous.
Additionally:
* Introduced a new API interface to allow configuration of trusted
sources. To do that, just add a file named 'trusted.yml' in the
scenario folder.
* Improved the callforward API interface to allow more sophisticated
callforward configuration. Now it is possible to configure all the
types of CF as well sources, bnumbers and timeset.
* Removed from the output the noisy parenthesis '{}' result of
ngcp-kamctl commands
Change-Id: I5ed54d063bcda2d5df7004b9cad671644e021def
* Added start/return ROUTE_EXIT and start/return ROUTE_ENTRY
* Updated caller/callee xavp content validation
* Updated ngcp-kamctl calls to the new rpc format
Change-Id: I166a638a7a1f0ef5102db666180eb83e8b47d6e4
Test script tries to configure the paramenter to off before the test
starts. Since the parameter was moved in TT#27466, the parameter was
actualy not changed.
Change-Id: Ic5affbecc3304d8732c9edfc6243d951a8d7174b
Added option "-r" to run_tests and get_results script to activate
retransmission checks. If option is activated:
* at the end of the each test, json files will be checked and,
if a retransmission is found, the files will be renamed and
renumbered. This will help to detect most of the retransmission cases.
* In case a retransmission is not detected in the previous step,
if a scenario fails, it will be compared with the next json file.
This is an additional help to detect retransmissions.
* In case the transmission is detected and properly healed, no error
code is returned. Otherwise the script will exit 1 as before.
Change-Id: I5eaa7bdb920be869099440c295e0bfd75c2bf107
The script move the kamailio json files from /tmp/cfgtest folder
to the log folder as stated in the README file. This is executed
at the end of each single test.
To be sure that the /tmp/cfgtest is in place, it creates the folder
before start the test and it deletes the folder afterwards.
Change-Id: I54426b4415898165c1c2ba8154d0761a869c85d4
This reverts commit 2d5434e723.
There are cases in which ngcp-panel is restarted and cases in which it
is not restarted, so this change is not valid.
Change-Id: If322af4ef0c54fb7ba437c42f846b794a55554c5
These functions do internal error checks and will die on their own.
They return undef whenever the YAML file is empty, so we should not
abort on those.
Change-Id: Ifd61b98d3a95ee9b15ff240fbd5db0c1029c98e3
Fixes:
| given is experimental at bin/ulog_parser.pl line 151.
| when is experimental at bin/ulog_parser.pl line 153.
| when is experimental at bin/ulog_parser.pl line 154.
| push on reference is experimental at bin/ulog_parser.pl line 175.
| push on reference is experimental at bin/ulog_parser.pl line 215.
Change-Id: I2ac8dfa23c37e375e1d85f01dba666c5329ec3b4
This module is more compliant and it is faster than the pure perl
implementation. The latter is also deprecated in favor of the former
(see man YAML for more details).
Change-Id: I15240ac294476c0d9cc30e36e622adc7e07db136
* generate a link for every scenario on the fly if doesn't exist
* BASE_DIR has to be an absolute path
Change-Id: Ib50c641f127966b672646b8579d3a8b92bb76b55
* migrate to Docker
* tests/test_check.py: use junitxml
* bin/generate_tests.sh: support DEST_DIR
will use DEST_DIR as base dir destination
* rename scenarios_disabled -> disabled
* fix \t at XXXX_test.yml.tt2 templates
Change-Id: I845588ee4692f157f370a000abab75a05e701839
* fix sipp transport arguments
* change port range of media from 6003 to 46003 for responders
* change port range of media from 7002 to 45003 for senders
* change port from 50602 to 51602 for senders
Change-Id: Ia76daeb9098e05d67c6fb95ebe945cdb59c8a493
* support dynamic checks with defined ids
* create_subscribers.pl generates scenario/scenario_ids.yml
* create_peers.pl will add peers info to it
* generate_test.pl will produce the final test_0XXX.tt2 with the
proper values
* we put the scenario_ids.yml in log if debug is needed
Example of scenarios_ids.yml:
---
customer_test:
id: 7
peer_00_host0:
id: 95
spce_test:
testuser1003:
uuid: 15dd6b9a-1b83-4d74-b630-be05d3fada77
Example of checks:
- return|ROUTE_SET_CALLEE_DIALOG:
$avp(lua_dlg_profile): [
"totalaccount:[% customer_test.id %]",
"totaluser:[% spce_test.testuser1003.uuid %]",
"total", "account:[% customer_test.id %]",
"user:[% spce_test.testuser1003.uuid %]"
]
Change-Id: I3d81bcae0865d9861b4f721618f2bc21f2db14b8
* run_test.sh: add hacks for pbx
* bin/pid_watcher.py: add --pbx parameter to control
what services we need to check for.
* invite: simple call to an extenston from another PBX user
same customer. WARNING!! do not use customer.test, that
one is SIP only
* fix tap-test:
- source/tests/test_check.py:34:1: E302 expected 2 blank lines, found 1
- source/tests/test_check.py:96:54: E202 whitespace before '}'
* wrap-and-sort -sat
Change-Id: Iabb5139e70fd372088933fe9302b996148d38705
Having it here affects further ngcp-ngcpcfg-check Jenkins test which reports:
> 2016-05-06 02:23:46: Error: Invalid schema detected for /etc/ngcp-config/config.yml
> /etc/ngcp-config/config.yml#0: INVALID
> - [/kamailio/lb/children] Unexpected key 'children'
It happen only in case if kamailio-config-tests Jenkins job failed
and it didn't cleanup/restore original config.
Change-Id: I48eef343c3a1813af6e18b0d0b426d539dc2950b
> Mon Dec 14 09:59:29 CET 2015 - Generating csv/reg.xml files
> Possible precedence issue with control flow operator at ./bin/scenario.pl line 72.
Change-Id: I73968a15ea81de15cbb38c48678fefce98c28da9
Fixing the test -z -n mess I notice
that ./run_test.sh needed a missing -J
for creating the initial KAM_DIR (cfgtest)
Change-Id: Ic0832c977657248852f5795cd35851f881299cf9