Commit
7c6f7f466c200d4869d598f7c1c29c4df03c5989
by Oliver Smith
ttcn3-bts-test: use start_config functions
As suggested by Pau in code review, refactor the file to use functions for starting the testsuites, SUT and related containers with specific configurations.
Commit
d7c50db104de763ba44a0b81c99321b39aa33e0e
by Oliver Smith
ttcn3-ggsn-test: ignore failure to kill osmo-ggsn
Don't fail if osmo-ggsn can't be killed at the end of a testsuite run. This happens currently with ttcn3-ggsn-test-kernel-latest-* jobs, in the v6_only configurations, because osmo-ggsn latest doesn't support ipv6 yet and exits. The jenkins.sh should keep going and try other combinations, and exit without error in the end.
Fixes: d8c51cce ("ttcn3-ggsn-test: run with multiple configurations") Change-Id: I6f3154a9ef114f31bcb5868ee09d1ebc10f35d07
Commit
08f912139667498ec53e1cde8eb0b01432fcbfca
by Pau Espin Pedrol
Introduce asterisk-master docker image
This Docker image allows building and running Asterisk from git. Default config is to build the sysmocom fork used to develop new features (hence pointing to sysmocom/master branch in that repo.
Commit
882c26b0d81586f8e372961989869ae6dfae857c
by Pau Espin Pedrol
Introduce ttcn3-asterisk-ims-ue-test
This dockerized setup allows running the Asterisk_Tests ttcn3 testsuite against Asterisk from the asterisk-master docker image, in order to test the IMS UE feature which will be developed soon.
Commit
5a48bfbe24e3809699a22445c07c9da3d37322ff
by Oliver Smith
scripts/kernel-test: build initrd+kernel as user
Refactor code to build the initramfs and kernel as user, instead of running related code as root. Put the smoke_test.log into /tmp instead of the cache dir, so we don't write as root into the cache dir. We cat it on error anyway, so we don't need to have it in the workspace.
Commit
59ca7d5f3ee8173a8077d0774b7f2add05ad8b16
by Oliver Smith
{open5gs,osmo-uecups}-latest: don't hardcode UID
Adjust open5gs-latest and osmo-uecups-latest to not hardcode a UID. This is in preparation for creating a "build" user in debian-bookworm-obs-latest, like we have it in debian-bookworm-build.
Commit
bf643370307cdc5e2df193dbea16db003d6543a8
by Oliver Smith
debian-bookworm-obs-latest: add build user
Copy the block for configuring the build user and disabling man pages from debian-bookworm-build. This fixes failures on ttcn3-ggsn-test-kernel-latest* (non-latest worked fine since these use containers based on debian-bookworm-build).
Fixes: 5a48bfbe ("scripts/kernel-test: build initrd+kernel as user") Change-Id: Idee29d5b9796e8905bdf822d076f25612cbc77a0
Commit
fdef271404312ed08c4d0d95c328bbab51fc39fa
by Pau Espin Pedrol
asterisk-master: Use pjproject from external git repo
By default, asterisk.git build system will fetch pjproject tarball from https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/$(PJPROJECT_VERSION), where PJPROJECT_VERSION is defined in asterisk/third-party/versions.mak: PJPROJECT_VERSION=2.14 On top of that, it applies some patches adapting build system, found in asterisk/third-party/pjproject/patches/.
The build system also allows to use an out-of-tree pjproject (eg from a git repo) by symlinking the directory to asterisk/third-party/pjprojec/source/.
This is all documented in asterisk/third-party/pjproject/README-hacking.md.
Since we want to develop on pjproject too, fetch our own pjproject.git repo, where we can push changes, and build asterisk using that repo.
Bear in mind that, when asterisk.git builds with out-of-tree pjproject, it wont apply pjproject patches under asterisk.git/third-party/pjproject/patches. Hence, I created an "asterisk/2.14" branch in our pjproject.git repo which points to tag "2.14" (the one used by asterisk 20.7.0, which we use), and has the 2 patches applied on top. Then, we have our own "sysmocom/2.14" branch on top of that "asterisk/2.14" branch, where we put our development. WIP development can also be done in whatever branch on top of "asterisk/2.14" branch.
Commit
2426a45db1639308a0ba7c1a109f5d20480dfcc5
by Pau Espin Pedrol
asterisk: pjsip.conf: Mark templates accordingly
Mark templates as such, in order to remove error messages during asterisk setup when trying to apply the templates (which lack fields such as "username", provided by config sections using the templates).
Commit
2b9c8e3db8cf77c5ce5c3f888365f983f3ee8d76
by Pau Espin Pedrol
ttcn3-docker-run.sh: Fix dumpcap failing to access /data inside docker
In docker, the /data dir is mapped to $VOL_BASE_DIR, which is created by docker-playground.git jenkins-common.sh, hence as the user running jenkins.sh in the host system. As a result, when the dir is mapped to /data, inside the container it will have the UID:GID of the outter user, not the one inside docker.
Before this patch, if a ttcn3 container was started in jenkins.sh with --cap-add=NET_ADMIN, then osmo-ttcn3-hacks.git/ttcn3-tcpdump-start.sh would select dumpcap instead of tcpdump, to attempt to record a pcap file to /data/$testcase.pcap. Due to some unknown way of dropping privileges done by dumpcap though, it was unable to open the /data/$testcase.pcap due to /data being owned to another user (tcpdump doesn't have this problem).
This patch fixes the above scenario by making sure /data is chowned to the user running stuff inside docker. This is already kinda expected since there's a fix_perms() script in jenkins-common.sh reverting files created during the test so that they can be accessible by outter user once everything is finished.
Commit
141dd4f018a34037113fbe8a21f67843533184e0
by Oliver Smith
ttcn3-ggsn-test-ogs: run smf in 4g only mode
Remove the SBI related configuration, so open5gs-smf does not attempt to connect to the NRF every few seconds.
Fix for: [sbi] WARNING: [299d78ae-fae5-41ee-84a3-dbd9fa117ce7] Retry registration with NRF (../lib/sbi/nf-sm.c:182) [sbi] WARNING: [7] Failed to connect to 127.0.1.10 port 7777 after 200 ms: Couldn't connect to server (../lib/sbi/client.c:698)
Commit
133f2fcd2f5c1a57a656123f674c6343b19d6516
by Oliver Smith
debian-*: install pylint from debian repos
Get pylint from the debian repositories to be on the same version until we use the next debian version, instead of always installing the latest pylint version from pip.
Commit
c9a787ad1fde5f70beed8e763d6b12ccc2cd4a4b
by Pau Espin Pedrol
asterisk: pjsip.conf: Disable remote bridging between local SIP and IMS
While implementing a first ttcn3 test validating the MO call scenario (SIP-UA -> Asterisk -> IMS-CORE) [1] I was running into the scenario where, after the first SIP INVITE + 200 OK + ACK, Asterisk was sending a RE-INVITE to both parties to attempt to remotely bridge them (RTP traffic flowing directly between them without passing through Asterisk).
This happened in part because I'm so far configure A-LAW on both sides so asterisk figures out it can do so. I still need to change IMS-core to EVS only.
In any case, regardless of the codecs used, my understanding is that asterisk should never attempt remote bridging when using the "volte_ims" endpoint, since that network segment is separate from the local network where the local SIP UAs are located.
The "direct_media=no" option just addresses the issue; Asterisk no longer tries to re-invite after the call is established
Commit
4051e768c1368980ccb90fcb4a41e0a502854bfa
by Pau Espin Pedrol
asterisk: pjsip.conf: identify incoming register started by local SIP UAs
This config section is needed so that Asterisk can figure out the endpoint when receiving a "REGISTER sip:172.18.248.10". Without it, it will answer with a 404 Not Found.
Commit
fcdeba228c4e242be149239ac2454f7bf833c2da
by Oliver Smith
debian-bookworm-obs-asan: new container
Copy debian-bookworm-obs-latest and configure it to use the osmocom:nightly:asan repository. Adjust jenkins-cmmon.sh for running the testusite against the asan repository.