Skip to content

NethVoice Proxy: Prevent BLF NOTIFY/SUBSCRIBE timeouts with slow phones #8122

Open

Description

@andrea-marchionni

Description

BLF subscriptions and notifications can time out when Snom phones respond more slowly than the default SIP transaction timeout.

Steps to reproduce

Test case 1 — BLF subscription under load

  1. Deploy the testing release ghcr.io/nethesis/nethvoice-proxy:1.7.5-testing.8.
  2. Register two Snom phones.
  3. Configure a BLF key on one phone to monitor the other extension.
  4. Generate SIP traffic or delay SUBSCRIBE and NOTIFY responses between 1 and 5 seconds.
  5. Change the monitored extension state between idle, ringing, and busy.
  6. Verify that the BLF state is updated without transaction timeouts.

Test case 2 — In-dialog subscription refresh

  1. Keep the BLF subscription active until it is renewed.
  2. Capture the SIP traffic during the refresh.
  3. Verify that the in-dialog SUBSCRIBE transaction completes within 5 seconds.
  4. Verify that subsequent NOTIFY messages are received correctly.

Test case 3 — Standard SIP traffic regression

  1. Register a SIP endpoint.
  2. Start and answer a call.
  3. End the call.
  4. Verify that REGISTER, INVITE, and BYE transactions complete successfully.
  5. Verify that these methods still use their standard transaction timers.

Test case 4 — GNS3 smoke test

  1. Deploy the testing release 1.7.5-testing.8 in the GNS3 lab.
  2. Register the available SIP endpoints.
  3. Perform a basic inbound and outbound call.
  4. Test BLF state changes and subscription refreshes.
  5. Verify that no unexpected SIP errors or regressions occur.

Expected behavior

SUBSCRIBE and NOTIFY transactions use the dedicated 5-second timer and complete successfully, including in-dialog subscription refreshes. Other SIP methods continue to use their standard timers.

Actual behavior

BLF updates can fail with a transaction timeout when Snom phones respond slowly.

See also

Activity

  1. moved this from Todo to In Progress in NethVoiceon Aug 25, 2026
  2. added
    testingPackages are available from testing repositories
    on Sep 28, 2026
  3. moved this from In Progress to Testing in NethVoiceon Sep 28, 2026
  4. removed
    testingPackages are available from testing repositories
    on Oct 5, 2026
  5. added
    testingPackages are available from testing repositories
    and removed
    verifiedAll test cases were verified successfully
    on Oct 26, 2026
  6. edospadoni commented on Oct 26, 2026

    @edospadoni
    Member

    Back to testing: the previous verification was done on nethesis/ns8-nethvoice-proxy#123, which also removed route(SET_SOCKET) from the ACK handling. That PR was replaced by nethesis/ns8-nethvoice-proxy#229, which brings over only the timer change, rewritten on top of the current main.

    Please run the test cases again with ghcr.io/nethesis/nethvoice-proxy:1.7.5-testing.5.

  7. moved this from Verified to In Progress in NethVoiceon Oct 26, 2026
  8. moved this from In Progress to Testing in NethVoiceon Oct 26, 2026
  9. changed the title [-]NethVoice: Prevent BLF NOTIFY/SUBSCRIBE timeouts with slow phones[/-] [+]NethVoice Proxy: Prevent BLF NOTIFY/SUBSCRIBE timeouts with slow phones[/+] on Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

nethvoiceBug or features releted to the NethVoice projecttestingPackages are available from testing repositories

Type

Projects

  • Status
    Testing

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions