Skip to content

TEL-23701: Voipmonitor rebase and updated config (29.1.4 -> 2025.04.4) #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 0 commits into from
Jun 5, 2025

Conversation

kavindail
Copy link

Summary: Rebasing Voipmon from a 2022 version to the latest master (2025). Enabled config options to make pcap analysis / voipmonitor crashes(coredumps) have more information.

These changes also rewrite our history to remove the squashed commits from previous rebases as well as some unnecessary outdated commits. This was purposefully done to make rebasing in the future go much smoother, decreasing our footprint in the Voipmon code.

Rollout plan: These changes merging are contingent on the staging/production testing working as expected. Rollout plan

Tests Done: Tested calling on UVStaging and UCStaging in multi person conferences, analyzing the pcaps directly from the TE. Also ensured that audio files & pcaps were being generated correctly when FST issues were created. Compared pcap sizes before & after rebase, cpu usage, memory usage, etc.

@kavindail kavindail requested review from KevinGDialpad, shridhardialpad and a team April 25, 2025 21:25
Copy link

@KevinGDialpad KevinGDialpad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job with this!

It can be done separately, but our list of commits can be improved further:

  • init.d seems to be ignored - we actually use https://github.com/dialpad/servers/blob/master/ansible/roles/te/files/voipmonitor.init. We should put that in the repo, and drop our previous changes to init.d.
  • I think "pcap still missing audio on mpv calls" can be dropped - it now adds an enum value that's never used
  • "Cherry picked changes from squashed rebase commits" and the first 2 file changes in "Removing the automatic printing of stacktrace that's hanging voipmon; removed is_video variable;" shouln't exist - their changes are actually part of "Need flag to disable video RTP capture (voipmonitor)"

#pauserecordingheader = MyCustomPauseHeader
# Whether video RTP packets should include the payload or just the header.
# We disable video payload recording for TEs with too little disk space
{% if not is_container_build %}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This (and 2 other occurrences in this file) is an Ansible thing, so it doesn't make sense in a voipmon config - voipmon can't read this file.

A better way to achieve what we're trying to do, would be to have

record_video_payload = no

here, and have Ansible update the config before starting voipmon, if necessary.

Now I know that we don't actually use this file, but as I said in the other review, I think we should.

calltable.h Outdated
@@ -457,7 +457,8 @@ struct ip_port_call_info {
enum eTypeAddr {
_ta_base,
_ta_natalias,
_ta_sdp_reverse_ipport
_ta_sdp_reverse_ipport,
_ta_base_video,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the residual of the commit f6a7810 is needed anymore.

It's adding an _ta_base_video that is not used anymore.

calltable.cpp Outdated
@@ -132,6 +132,7 @@ extern int opt_printinsertid;
extern int opt_cdronlyanswered;
extern int opt_cdronlyrtp;
extern int opt_newdir;
extern int opt_video_recording;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that this commit 2f16db1 is needed anymore.

The record_video_payload config has now been superseded by the savertp_video config, and this patch can be dropped.

configure.in Outdated
if test $LIBSSH_VERSION -lt 8; then
LIBSSH_8=0
fi

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the changelogs, the code dropped its dependency on libssh, so I think we can drop this commit 2618dfb as well.

25.5.1 21.08.2019
=================
- add audio conversion (get rid of sox) [VG-1883]
- fix audio sync when there are mark bit in every packets [VS-957]
- remove libssh code and library dependency (not needed anymore) [VS-947]

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add the commits to remove to (https://dialpad.atlassian.net/browse/TEL-24608) and tackle these after the rebase is through QA & rollout. Corey pointed out we might want to have revert commits for some changes we want to keep history for. I'll remove the dead code in a commit as a temporary measure for the rebase though.

codecs.h Outdated
@@ -60,6 +60,7 @@
#define PAYLOAD_TELEVENT 400

#define PAYLOAD_VIDEO 10000
#define VP8 10001

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can delete this, as it is part of the custom Dialpad change or the record_video_payload config option that is no longer needed.

codecs.h Outdated
@@ -60,7 +60,7 @@
#define PAYLOAD_TELEVENT 400

#define PAYLOAD_VIDEO 10000
#define VP8 10001
#define PAYLOAD_VP8 10001

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can delete PAYLOAD_VP8 as it's no longer needed.

@shridhardialpad
Copy link

[NIT:]
The last attempted rebase is with 29.1.4 dated 27.01.2022
1c4d641
voipmonitor@4d4e094

We're rebasing over 2025.04.4 dated 14.04.2025
voipmonitor@6994b95

So title should read:
TEL-23701: Voipmonitor rebase and updated config (29.1.4 -> 2025.04.4)

Copy link

@shridhardialpad shridhardialpad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@kavindail kavindail changed the title TEL-23701: Voipmonitor rebase and updated config (27.01.2022 -> 14.04.2025) TEL-23701: Voipmonitor rebase and updated config (29.1.4 -> 2025.04.4) Jun 5, 2025
@kavindail kavindail merged commit 259b985 into master Jun 5, 2025
@kavindail
Copy link
Author

Stored copies of pre rebased master at master_20250605 & voipmonitor-v29.1.4-rebase.
Pushing this branch on top of master now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants