osmo_ortp: Fix seqno reset to 0 upon ssrc_changed

It was spotted in an osmo-mgw instance receiving RTP from osmo-bts 1.2.3
that sometimes the seqno was reset to 0 (while tx_timestamp was kept
properly). This seems to be the only possible way osmo-bts can reset the
seqno to 0 (calling rtp_session_reset()), since osmo_rtp_socket_create
already sets it to other values and inside ortp rtp_session_reset() is
the only one setting it to 0.
If SSRC changes, we are fine resetting some Rx state, which is done by
calling rtp_session_resync. However, calling rtp_session_reset() is too
much, since it erases other stuff like Tx state, which sholdn't be
affected in this case, since we are still transmitting the same stream.

Related: OS#3104
Related: OS#3299
Related: SYS#5498
Fixes: 28eeb6bc9365bbe47125775fcb1f696317c22466

Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec
1 file changed
tree: 13bbbe4128e9e7131c6afcb10064eb112142b87e
  1. contrib/
  2. debian/
  3. include/
  4. m4/
  5. src/
  6. tests/
  7. .gitignore
  8. .gitreview
  9. AUTHORS
  10. configure.ac
  11. COPYING
  12. git-version-gen
  13. libosmoabis.pc.in
  14. libosmotrau.pc.in
  15. Makefile.am
  16. README.md
  17. TODO-RELEASE
README.md

libosmo-abis - Osmocom Abis interface library

This repository contains a set of C-language libraries that form the A-bis interface library of Osmocom Open Source Mobile Communications projects such as OpenBSC / OsmoBSC.

Historically, a lot of this code was developed as part of the OpenBSC project, but which are of a more generic nature and thus useful to (at least) other programs that we develop in the sphere of Free Software / Open Source mobile communications.

The libosmo-abis.git repository build multiple libraries:

  • libosmoabis contains some abstraction layer over E1/T1 and IP based ETSI/3GPP A-bis interface. It can use mISDN and DAHDI as underlying driver/hardware.
  • libosmotrau contains routines related to A-bis TRAU frame handling

Homepage

The official homepage of the project is https://osmocom.org/projects/libosmo-abis

GIT Repository

You can clone from the official libosmo-abis.git repository using

git clone git://git.osmocom.org/libosmo-abis.git

There is a cgit interface at http://git.osmocom.org/libosmo-abis/

Documentation

There is no Doxygen-generated API documentation yet for this library. It would be great to some day have it, comparable to libosmocore.

Mailing List

Discussions related to libosmo-abis are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for libosmo-abis can be seen at https://gerrit.osmocom.org/#/q/project:libosmo-abis+status:open