mirror of https://github.com/sipwise/sems.git
master
mr26.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
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 (c0fb26de0028c2fd18987ed52a3df8f930b03323)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
8e1a41a9ec |
MT#59962 core: introduce new RTP transport model
This commit introduces a new RTP transport model,
based on the AmRtpTransport abstraction, providing a more modular and
efficient approach to RTP handling compared to the legacy model.
General things:
- Introduction of new RTP receiver and transport abstractions
- The new model coexists with the legacy RTP handling
to preserve backward compatibility
Architecture overview:
- A new AmRtpTransport layer is introduced to encapsulate RTP transport logic
and decouple it from AmRtpStream and session-level code
- Transport-specific functionality is implemented via dedicated classes:
- AmRtpTransport: base abstraction responsible for RTP/RTCP packet flow,
lifecycle management, and interaction with streams
- AmRtpUdpSocket: UDP-based RTP socket implementation
- AmRtpSocketPair: manages RTP/RTCP socket pairs and their coordination
- AmRtpStream is refactored to rely on the transport interface
instead of directly managing sockets and low-level I/O
Integration details:
- SIP session and dialog logic (AmSession, AmSipDialog) is updated to work with
the new transport model
- SBC call legs and call profiles are extended to support transport selection
and lifecycle handling
- SDP processing (AmSdp) is updated to reflect transport capabilities and
address handling changes
This refactoring improves separation of concerns, reduces coupling between RTP
streaming and transport mechanics, and provides a cleaner foundation for future
RTP extensions and optimizations.
Code provenance and license:
- part of the code was written by Fokus GmbH
- part of the code was written by Sipwise GmbH
- part of the code base copyrighted by Fokus GmbH was provided by them in
the form of backports under the GPL license.
- these changes are covered by the GPL, matching the existing project license
Change-Id: I313c4abd9b54f805c1e668c019cf6fb8c4a9e46d
|
5 months ago |
|
|
8083dcd92f |
MT#62181 use shared_ptr for msg_logger
Use shared_ptr for reference counting instead of hand-rolling it. Change-Id: I147dd6df4e302a2400b184aa88775cf635a57506 |
10 months ago |
|
|
a29e09fc90 |
MT#62253 log: AmBasicSipDialog: add call-id based logging
Introduce usage of `ILOG_DLG()` Change-Id: I0b3702ac779074c8cbb21a58f33beb01f128eea1 |
1 year ago |
|
|
f56366737c |
MT#58584 Do not add outbound_proxy in Route if exist
When outbound PRACK is challanged, SEMS is regenerating the PRACK to proxy duplicating the proxy socket in the Route header, with the result of: Route: <sip:127.0.0.1:5062;lr>, <sip:127.0.0.1:5062;lr=on;ftag=xyz;leg_b=1;did=f85.d281>, <sip:127.0.0.1;r2=on;lr=on;ftag=xyz;ngcplb=yes>, <sip:192.168.178.104;r2=on;lr=on;ftag=xyz;ngcplb=yes> the duplicate "127.0.0.1:5062" is causing routing issue on proxy, cause loose_route() function removes only the first element. Then proxy sends PRACK to itself. To avoid that, we make sure is SEMS to do not add the 'outbound_socket' value in the Route header if that value already exist in the first position. Change-Id: Id310144d8e77a99111e199358462496c9dd0495c |
3 years ago |
|
|
51f57d7ce2 |
MT#58584 Add more logging to `core::AmBasicSipDialog::sendRequest()`
Add more logging to the `core::AmBasicSipDialog::sendRequest()`. No functional changes. Change-Id: I3837164393e9dbb6dc592acd3e494ec228bcbcd6 |
3 years ago |
|
|
cdcbbb7866 |
MT#57562 sems (CE): Add Allow header in 200 OK when empty
This is a partial rework of b67428d. The patch was always saving the Allow header from the initial INVITE and replacing the Allow header in the 200 OK with that. This fixed an issue with AA, where Allow header in the 200 OK, generated by the AA, was empty. But it causes an issue in case of normal calls between A and B. In general we want to keep the Allow header in the 200 OK, if exist. Instead, we want to add the Allow header in the 200 OK response in case the 200 OK does not contain the Allow header. In this case we won't set the original Allow from the INVITE but instead we will set a default Allow header (SIP_REPLY_DEFAULT_ALLOW) containing all the major SIP method. Change-Id: I6bf5a2cc7e0228f7b99d28963d16c14c463be695 |
3 years ago |
|
|
aec816dad7 |
MT#56321 Add 'Allow:' header to the 200OK, if present in the request
We have to take care of keeping the actual 'Allow:' header in the request, if the incoming request has had it. One of the use cases for that is for example the INVITE coming to the AA, when we must respond with the 200OK, but there is no 'Allow:' header inside the 200OK. Certain systems can be confused by that, even though the RFCs are not forcing us to do so. Which can even lead to an impossibility to use a normal call clearing with the BYE method, from behalf of the caller. Change-Id: I9bafb89e4aa5e53077450068f847c07a497b43f1 |
3 years ago |
|
|
91cd45fe7b |
MT#56321 Treat 183 as 200OK (other leg), when early media forced
There is a need to add an exception processing for 183 Session Progress, and the following in-dialog requests/responses, in case the 183 has been previously sent to the B2B with the hf 'P-Early-Announce: force'. This adds the following behavior. When 183 is received, and the caller has been updated with the new media capabilities, according to those needed to embed early media into the media session with the caller (via re-INVITE), then: - even though the 183 is treated similarly to 200OK in terms of media updates, do not send ACK to the leg going towards DSM, becausethe sems-b2b giving the DSM, it's still in stage INVITE/183 - do not re-negotiate the leg going towards the DSM, after the caller has been updated with the new media (a usual behavior) because the sems-b2b giving the DSM still considers the dialog here in the Early stage - do not set the leg going towards DSM into the Connected state, because by the fact, it's still in the Early stage, and setting of it into the Connected state, will break processing of BYE / CANCEL. - upon receiving the BYE from the caller (after the DSM announce is heard), answer right away with 200OK, but do not forward BYE to the let going towards DSM. Instead initiate the CANCEL towards it, because this leg is technically still in the Early stage of the dialog. Original ticket number: TT#187351 Change-Id: Id6e05202add1bcbd358eecbcd5e2cbda1a995b32 |
3 years ago |
|
|
2bf464e5cb |
Imported Upstream version 1.6.0~20150612~a2d214df36
|
11 years ago |
|
|
be6b7d527c |
Imported Upstream version 1.6.0~20140819~0b6d12
|
12 years ago |
|
|
df9992620d |
Imported Upstream version 1.6.0~20140516~eaa616
|
12 years ago |