Skip to content

[mod_sofia] presence_disable_early is not honored properly in presence probe #2741

Open
@justin-lavelle

Description

@justin-lavelle

Describe the bug
The presence_disable_early channel variable and profile flag is not honored in presence probe sofia_dialog_probe_callback in response to a SUBSCRIBE message when it is executed while a call to the monitored user is in the "early" state . This results in the dialog-info NOTIFY including the "early" state for the call with the presence_disable_early variable set and the phones BLF light blinking until another call changes the effective state or the phone re-subscribes and no active call to the monitored user happens to be in the "early" state.

To Reproduce
Steps to reproduce the behavior:

  1. Call user1 with the presence_disable_early channel variable set, let phone ring
  2. SUBSCRIBE to user1 from user2's phone, while the call to user1 is ringing
  3. Observe that the BLF light indicates and early/ringing call for user1 when it should not
    3.1. This is due to the NOTIFY containing the "early" state from the call with the presence_disable_early channel variable set
    3.2. If the call to user1 is terminated with out answering the BLF light will continue to indicate early/ringing state for user1 while no calls remain active

Expected behavior
The call should be excluded from the presence lookup when the presence probe is performed if it has the presence_disable_early channel variable or profile flag set. This should result in the state being excluded from the dialog-info NOTIFY message that is sent out if there is only the one call, or the state of the calls without the presence_disable_early channel variable set should be used to the state in the NOTIFY message.

Package version or git hash

  • 1.10.9, 1.10.12

Pull Request
I've created a PR to address this issue, I've tested it locally and it resolves the issue sending out the NOTIFY without the state the same as if there is no call and does not interfere with the state when there are multiple calls to the monitored user.

#2740

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions