Skip to content

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

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 image ghcr.io/nethesis/nethvoice-proxy:pr-123.18-1.9ca089f.
  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 image 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugnethvoiceBug or features releted to the NethVoice project

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions