Introduce a config option to skip generating
the direction paramter in case when SEMS
generates local SDP offer or answer.
Change-Id: Ifcba27cd6ad0070bead182d60ad3dc5ee57b41bc
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
Because of messy organizing of the code in the function,
it's hard to read that and work with that.
Original ticket's number: 56278
Change-Id: I50f20b034f997214e01ff7810b33c225c6ff26e4
based on a patch by Robert Szokovacs
Conflicts:
apps/dsm/DSMCoreModule.cpp
apps/dsm/DSMCoreModule.h
core/AmRtpStream.h
core/AmSession.h
doc/dsm/dsm_syntax.txt
first version, wip.
todo:
- variable number of streams (now fixed to 3 - consumes many ports)
- symmetric RTP
- multi interfaces
- optimization: parse SDP only once, pass AmSdp object with request event
icmpwatcher has not been used for some time, as it is a
quite dangerous method of checking for the remote party
(in the beginning of a call due to delays in signalling,
the port on the remote end could for example still be not
open for some time)
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1652 8eb893ce-cfd4-0310-b710-fb5ebe64c474
- if an RTP event with timestamps differing from the last one is received, the
event is sent out immediately
- RTP DTMF packets with the same timestamp as an already detected keypress are
ignored.
This allows to raise the value for timeout on sending out RTP DTMF event, to 5 packets
(100 or 150ms)
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1352 8eb893ce-cfd4-0310-b710-fb5ebe64c474
packets are treated the same as other RTP packets, they are all put into
a map with timestamp as key. However, some UA may use the same timestamp
for all rtpevent packets that represents a digit.
patch by Rui Jin Zheng rjzheng at boronetworks dot com
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1090 8eb893ce-cfd4-0310-b710-fb5ebe64c474
- active sessions and other event receivers
get a SystemEvent::ServerShutdown,
default behaviour of AmSession is setStopped()
- session container waits for all sessions to be ended
- signaling server, rtp receiver, media processor, event dispatcher
are stopped and deleted
based on a patch by Rui Jin Zheng rjzheng at boronetworks dot com
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1087 8eb893ce-cfd4-0310-b710-fb5ebe64c474