mirror of https://github.com/sipwise/sems.git
master
mr26.1
mr26.1.1
mr12.5.1
mr12.5
mr14.0.1
mr13.5.1
mr26.0.1
mr14.1.1
mr13.5
mr14.0
mr14.1
mr26.0
mr13.4.1
mr13.4
mr10.5
mr10.5.9
mr13.3
mr11.5
mr13.3.1
mr13.2
mr13.2.1
mr13.1
mr13.1.1
mr13.0
mr13.0.1
mr10.5.8
mr9.5
mr9.5.9
mr12.4
mr12.4.1
mr10.5.7
mr12.3
mr12.3.1
mr12.2
mr12.2.1
mr12.1
mr12.1.1
mr8.5
mr8.5.12
mr10.5.6
mr12.0
mr12.0.1
mr9.5.8
mr11.5.1
mr10.5.5
mr11.4
mr11.4.1
mr8.5.11
mr9.5.7
mr11.3
mr11.3.1
mr10.5.4
mr11.1
mr11.2
mr11.2.1
mr10.5.3
mr8.5.10
mr9.5.6
mr11.1.1
mr10.5.2
mr11.0
mr11.0.1
mr7.5
mr7.5.13
mr10.5.1
mr9.5.5
mr8.5.9
mr7.5.12
mr10.4
mr10.4.1
mr8.5.8
mr9.5.4
mr10.3
mr10.3.1
mr7.5.11
mr9.5.3
mr10.2
mr10.2.1
mr8.5.7
mr6.5
mr6.5.13
mr10.1
mr10.1.1
mr8.5.6
mr9.5.2
mr10.0
mr10.0.1
mr7.5.10
mr8.5.5
mr9.5.1
mr7.5.9
mr9.4
mr9.4.1
mr8.5.4
mr7.5.8
mr6.5.12
mr9.3
mr9.3.1
mr7.5.7
mr8.5.3
mr9.2
mr9.2.1
mr6.5.11
mr9.1
mr9.1.1
mr5.5
mr5.5.13
mr8.5.2
mr7.5.6
mr9.0
mr9.0.1
mr6.5.10
mr8.4
mr8.4.2
mr8.5.1
mr7.5.5
mr8.3
mr8.3.2
mr5.5.12
mr8.4.1
mr6.5.9
mr8.2
mr8.2.2
mr7.5.4
mr8.3.1
mr6.5.8
mr8.1
mr8.1.2
mr7.5.3
mr8.2.1
mr6.5.7
mr7.5.2
mr8.0.2
mr8.1.1
mr8.0
mr5.5.11
mr4.5
mr4.5.13
mr8.0.1
mr6.5.6
mr7.4
mr7.4.2
mr7.5.1
mr5.5.10
mr7.3
mr7.3.2
mr7.4.1
mr6.5.5
mr7.2
mr7.2.2
mr5.5.9
mr7.3.1
mr7.1.2
mr6.5.4
mr7.1
mr7.2.1
mr4.5.12
mr5.5.8
mr7.0
mr7.0.2
mr7.1.1
mr6.5.3
mr4.5.11
mr7.0.1
mr6.5.2
mr5.5.7
mr6.4
mr6.4.2
mr6.5.1
mr4.5.10
mr5.5.6
mr6.3
mr6.3.2
mr6.4.1
mr3.8
mr3.8.13
mr6.2
mr6.2.2
mr4.5.9
mr6.3.1
mr5.5.5
mr6.1
mr6.1.2
mr6.2.1
mr5.5.4
mr4.5.8
mr6.0
mr6.0.2
mr6.1.1
mr5.5.3
mr4.5.7
mr6.0.1
mr5.5.1
mr5.5.2
mr3.8.12
mr5.4
mr5.4.2
mr4.5.6
mr3.8.11
mr5.3
mr5.3.2
mr5.4.1
mr4.5.5
mr5.2
mr5.2.2
mr5.3.1
mr5.1
mr5.1.2
mr3.8.10
mr5.2.1
mr4.5.4
mr5.0
mr5.0.2
mr5.1.1
mr3.8.9
mr4.5.3
mr5.0.1
mr4.5.2
mr3.8.8
mr4.4
mr4.4.2
mr4.5.1
mr4.4.1
mr3.8.7
mr4.3.2
mr3.8.6
mr4.3
mr4.2
mr4.2.2
mr4.3.1
mr3.8.5
mr4.1
mr4.1.2
mr4.2.1
mr3.8.4
mr4.0
mr4.0.2
mr4.1.1
mr3.8.3
mr4.0.1
pristine-tar
upstream
mr3.8.2
mr3.8.1
mr3.7.2
mr3.7
mr3.7.1
mr3.6
mr3.6.2
mr3.6.1
mr3.5
mr3.5.1
mr3.4
mr3.4.2
mr3.4.1
mr3.3
mr3.3.2
mr3.3.1
1.4.3+spce2.8
mr3.2
mr3.2.2
agranig/notify
mr3.2.1
1.4.3+spce3.0
vseva/dump_timers
sayer/1.4-spce2.6
upstream/1.6.0
upstream/1.6.0_20150612_a2d214df36
upstream/1.6.0_20150519_ae8a42
upstream/1.6.0_20140819_0b6d12
upstream/1.6.0_20140516_eaa616
debian/1%1.4.3-1
upstream/1.4.3
1.4.3+spce2.8.0
1.4.3+spce2.8.1
1.4.3+spce2.8.2
1.4.3+spce2.8.3
1.4.3+spce3.0.0
1.4.3+spce3.0.1
mr10.0.1.1
mr10.1.1.1
mr10.2.1.1
mr10.3.1.1
mr10.4.1.1
mr10.5.1.1
mr10.5.2.1
mr10.5.3.1
mr10.5.4.1
mr10.5.5.1
mr10.5.6.1
mr10.5.7.1
mr10.5.8.1
mr10.5.9.1
mr11.0.1.1
mr11.1.1.1
mr11.2.1.1
mr11.3.1.1
mr11.4.1.1
mr11.5.1.1
mr12.0.1.1
mr12.1.1.1
mr12.2.1.1
mr12.3.1.1
mr12.4.1.1
mr12.5.1.1
mr12.5.1.2
mr13.0.1.1
mr13.1.1.1
mr13.2.1.1
mr13.3.1.1
mr13.4.1.1
mr13.4.1.2
mr13.4.1.3
mr13.5.1.1
mr13.5.1.2
mr13.5.1.3
mr14.0.1.1
mr14.1.1.1
mr14.1.1.2
mr26.0.1.1
mr26.0.1.2
mr26.0.1.3
mr26.1.1.1
mr3.2.1.1
mr3.2.2.1
mr3.3.1.1
mr3.3.1.2
mr3.3.2.1
mr3.4.1.1
mr3.4.2.1
mr3.5.1.1
mr3.6.1.1
mr3.6.2.1
mr3.7.1.1
mr3.7.1.2
mr3.7.1.3
mr3.7.1.4
mr3.7.2.1
mr3.7.2.2
mr3.8.1.1
mr3.8.10.1
mr3.8.11.1
mr3.8.12.1
mr3.8.13.1
mr3.8.2.1
mr3.8.3.1
mr3.8.4.1
mr3.8.5.1
mr3.8.6.1
mr3.8.6.2
mr3.8.7.1
mr3.8.7.2
mr3.8.7.3
mr3.8.8.1
mr3.8.9.1
mr4.0.1.1
mr4.0.2.1
mr4.1.1.1
mr4.1.2.1
mr4.2.1.1
mr4.2.2.1
mr4.3.1.1
mr4.3.2.1
mr4.3.2.2
mr4.4.1.1
mr4.4.1.2
mr4.4.1.3
mr4.4.2.1
mr4.5.1.1
mr4.5.10.1
mr4.5.11.1
mr4.5.12.1
mr4.5.13.1
mr4.5.2.1
mr4.5.3.1
mr4.5.4.1
mr4.5.5.1
mr4.5.6.1
mr4.5.7.1
mr4.5.8.1
mr4.5.9.1
mr5.0.1.1
mr5.0.2.1
mr5.1.1.1
mr5.1.2.1
mr5.2.1.1
mr5.2.2.1
mr5.3.1.1
mr5.3.2.1
mr5.4.1.1
mr5.4.2.1
mr5.5.1.1
mr5.5.1.2
mr5.5.10.1
mr5.5.11.1
mr5.5.12.1
mr5.5.13.1
mr5.5.2.1
mr5.5.2.2
mr5.5.3.1
mr5.5.4.1
mr5.5.5.1
mr5.5.6.1
mr5.5.6.2
mr5.5.7.1
mr5.5.8.1
mr5.5.9.1
mr6.0.1.1
mr6.0.2.1
mr6.1.1.1
mr6.1.2.1
mr6.2.1.1
mr6.2.2.1
mr6.3.1.1
mr6.3.2.1
mr6.4.1.1
mr6.4.2.1
mr6.5.1.1
mr6.5.10.1
mr6.5.11.1
mr6.5.12.1
mr6.5.13.1
mr6.5.2.1
mr6.5.3.1
mr6.5.4.1
mr6.5.5.1
mr6.5.6.1
mr6.5.7.1
mr6.5.7.2
mr6.5.8.1
mr6.5.9.1
mr7.0.1.1
mr7.0.2.1
mr7.1.1.1
mr7.1.2.1
mr7.2.1.1
mr7.2.2.1
mr7.3.1.1
mr7.3.2.1
mr7.4.1.1
mr7.4.2.1
mr7.5.1.1
mr7.5.10.1
mr7.5.11.1
mr7.5.12.1
mr7.5.13.1
mr7.5.2.1
mr7.5.2.2
mr7.5.3.1
mr7.5.4.1
mr7.5.5.1
mr7.5.6.1
mr7.5.7.1
mr7.5.8.1
mr7.5.9.1
mr8.0.1.1
mr8.0.2.1
mr8.0.2.2
mr8.1.1.1
mr8.1.1.2
mr8.1.2.1
mr8.2.1.1
mr8.2.2.1
mr8.3.1.1
mr8.3.2.1
mr8.4.1.1
mr8.4.2.1
mr8.5.1.1
mr8.5.10.1
mr8.5.11.1
mr8.5.12.1
mr8.5.2.1
mr8.5.3.1
mr8.5.4.1
mr8.5.5.1
mr8.5.6.1
mr8.5.7.1
mr8.5.8.1
mr8.5.9.1
mr9.0.1.1
mr9.1.1.1
mr9.2.1.1
mr9.3.1.1
mr9.4.1.1
mr9.5.1.1
mr9.5.2.1
mr9.5.3.1
mr9.5.4.1
mr9.5.5.1
mr9.5.6.1
mr9.5.7.1
mr9.5.8.1
mr9.5.9.1
ngcp/1%1.4.3-1
${ noResults }
11 Commits (master)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
618c15d95b |
MT#65603 option: tests covering parser
For the cases with option tags are being added/removed from the headers (e.g. Require, Supported), we have to cover corner cases. Introduce according tests into existing core tests covering headers, as well as python framework part of it. Change-Id: Iad15add88473f9d64cc6a3d27fc6e996e4a81abf |
1 week ago |
|
|
fcdb4d89d9 |
MT#59962 test suite: add test for WebRTC like media
Add a test that covers `UDP/TLS/RTP/SAVPF` transport and particularly focuses on ICE and DTLS related attrs: - `a=fingerprint` - `a=setup` - `a=tls-id` - `a=ice-ufrag` - `a=ice-pwd` - `a=candidate` Send the original INVITE with `UDP/TLS/RTP/SAVPF` SDP, including those attrs, and then assert that the B-leg INVITE still has them. Also improtve the ` _make_invite()` so that it can accept an optional SDP body so the new case can reuse existing INVITE builder. Change-Id: Ib3ff54bec50f364b79e189bd8e61bd42bb3f6503 |
2 weeks ago |
|
|
f9051c4986 |
MT#65396 fix B2B updates racing a pending re-INVITE being 491d/dropped
Mirrors the sems-pbx fix for the shared apps/sbc and core code. When a mid-transfer call is picked up (BLF), SEMS sends a re-INVITE with the picker's media towards the caller while another re-INVITE is still pending on that leg. It used to answer 491 and drop the update, so the call connects with no audio on either side. The P-Force-491: 0 marker exists to prevent exactly this: it tells the receiving leg to queue the update instead of 491ing it. But onB2BEvent() read the marker from the relayed request hdrs - which SBCCallLeg::relayEvent() has already run the profile's header filter over. Whitelist profiles don't list the header, so it was stripped and the 491 fired anyway. Read the marker earlier, in AmB2BSession::onSipRequest() while the hdrs are still unfiltered, and carry it as a skip_491 flag on the event. The queued update is replayed once the pending transaction ends, as before. This CE codebase has no call_transfer module, so t/test-xdsm-race.py reproduces the race with generic sbc.putOnHold/sbc.resumeHeld DSM actions over the same CallLeg.cpp path: the basic race, two stacked self-updates ahead of a collision, a plain unmarked glare that must still get 491, and the marker surviving the whitelist filter. Each collision carries the marker like the real pickup does, so the tests 491 on unpatched code. Also make the tests robust on a loaded CI: recvB2BINVITE() skips in-dialog INVITEs (those with a To-tag), and the queued updates are read by CSeq freshness, so timer-A retransmissions of earlier re-INVITEs piling up in the socket buffer aren't mistaken for the awaited update. Change-Id: Ie55f0a2f33a0dde5e2c3dd8dd2fb2c82c67a06c4 |
3 weeks ago |
|
|
46f04ef6af |
MT#64955 test-b2b: skip retransmitted B2B INVITEs from previous dialogs
recvB2BINVITE now tracks the Call-ID of every completed dialog in a class-level set (_stale_b2b_cids) and skips any INVITE whose Call-ID appears in that set. tearDown populates the set from _current_b2b_cid, which recvB2BINVITE sets on each successful return. This closes the narrow race window left by the setUp non-blocking drain: a retransmission that arrives between setUp and the recvB2BINVITE call can no longer poison b2b_cid for the current test, regardless of timing. Change-Id: I206ff35e0c04f80d4bcd12eaa4a7dd56acb08152 |
1 month ago |
|
|
04065d00f6 |
MT#64955 test-b2b: guard against stale _uas_sock messages on loaded CI
On a heavily loaded CI host the SIP T1 retransmit timer (500 ms) fires
before the test framework processes responses, leaving extra datagrams
in the shared _uas_sock that survive tearDown. Additionally, SEMS
generates its own Call-ID for B-leg dialogs, so messages from different
tests mix on the same socket.
Changes:
t/sems_tester.py:
recvB2BINVITE(): new helper — reads from shared UAS socket skipping
any non-INVITE datagrams (stale BYE/ACK from previous tests)
recvSIPForCall(sock, b2b_cid): new helper — reads from shared UAS
socket discarding messages whose Call-ID doesn't match the current
B2B dialog
t/test-b2b.py:
tearDown: increase drain timeout 0.5 s → 1.5 s (covers up to 3×T1)
All recvFromSIP(_uas_sock) INVITE reads replaced with
recvB2BINVITE() + b2b_cid = _hdr(…, "Call-ID")
All subsequent recvSIP(_uas_sock) reads replaced with
recvSIPForCall(_uas_sock, b2b_cid) to discard stale datagrams
testInviteRetransmission: "must NOT forward" block filters by Call-ID
testEarlyCancelRace / testRtpDirectionHold: BYE/CANCEL acceptance
conditions extended with `and b2b_cid in msg`
testConcurrentCalls: setup_call() uses recvB2BINVITE +
recvSIPForCall, BYE waits keyed on per-call b2b_call_id
Change-Id: Id8987d3594c487d8b78c38ed3b9f580544a83693
|
2 months ago |
|
|
954bd66303 |
MT#64955 add B2B SBC integration test suite
add B2B SBC integration test suite (port from sems-pbx)
Port the 20-test B2B suite from sems-pbx. CE-specific differences:
- sip_port=5062 (avoids conflict with orphaned sockets on :5060)
- default_bl_ttl=0 in t/b2b.conf (disables destination blacklisting
so a 503 response in one test does not block subsequent tests)
- no g729 in load_plugins (codec not present in CE)
- plugin_config_path requires trailing slash
- 100 response matched as "100 [^\r]+" (CE sends "100 Connecting"
instead of "100 Trying")
sems_tester.py: add makeUACSocket/makeUASSocket, recvSIP, recvFromSIP,
sendToSIP, assertSIP helpers; create t/run/ in setUpClass; clean up
PID file in tearDownClass; skip testPreload when rtpe-preload.so is
not loaded.
testEarlyCancelRace: use 10 s socket timeout with inner try/except
so the test passes on loaded CI machines where BYE may arrive late.
Change-Id: Iecb563dee6a27cf46b9883c42154a4486b3f6429
|
2 months ago |
|
|
7fc80ae2f2 |
MT#62763 Fix pycodestyle issues
- Add pyproject.toml and tox.ini with consistent black and pycodestyle settings. + Fix all errors >= E300. - Place unconditional imports at the beginning of the file. - Do not import more than one module at the same time. - Do not use blackslash at EOL within brackets. - Do not use bare except. - Do not end statement with semicolon. - Do not place multiple statements in the same line. - Use «is» and «is not» instead of «==» and «!=» for None. - Disambiguate short variable name by giving it a better longer name. - Remove trailing whitespace. - Fix expected number of blank lines. Change-Id: I02a29887a1267f5b843822e0ff05b7dca4416554 |
5 months ago |
|
|
6245e8d659 |
MT#62181 fix basic test
Change-Id: Ia04f434559298493d8183e1965978b6b1a0318d4 |
1 year ago |
|
|
c85a2a593c |
MT#62181 support valgrind leak check
Change-Id: I76b48bc232c0c267fc26c428aa601b850d2475a9 |
1 year ago |
|
|
adf2332617 |
MT#62181 support testing under valgrind
Change-Id: I796fce5508e406cc5e897ae07427929f8c7fddf0 |
1 year ago |
|
|
4856e6537f |
MT#62181 add testing framework
Only some very basic tests included for now Change-Id: I84c3c9dc73c23e4b1aa486fd0fa10ea80bea9bb6 |
1 year ago |