#106 Better blf support for linksys phones

1.6.x
closed-accepted
Anca Vamanu
modules (179)
5
2010-03-05
2009-08-30
Angel Marin
No

With current implementation, if there's no ongoing or terminated dialog registered in the presentity table, presence_dialoginfo sends a notify with empty body as reply to a subscribe.

This makes BLF support incomplete for phones that only register to dialog-info event (linksys), so they won't know the state of the subscribed uri until it makes a call.

The attached patch adds the ability to presence_dialoginfo to build a dialog-info body that reports the state of a dialog as terminated when there's no dialog, but we have a presentity entry for that user. Something like:

<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0"
state="full"
entity="sip:alice@example.com">
<dialog id="sip:alice@example.com">
<state>terminated</state>
</dialog>
</dialog-info>

The patch also adds a contains_presence api function to presence module so we can check if there's a presence entry registered for a given uri.

I've tested it only with linksys spa-9x2 phones, but it's trivial enough to not make any other phone unhappy.

This makes support for linksys blf a little better, but it's still missing a similar notify when the monitored user registers after the subscribe. Right now the subscriber won't get notified until it resubscribes.

diff against 1.5.3

Discussion

    • assigned_to: nobody --> anca_vamanu
     
  • Anca Vamanu
    Anca Vamanu
    2010-03-04

    Hi Angel,

    I will review your patch and most probably accept it.

    Regards,
    Anca

     
  • Angel Marin
    Angel Marin
    2010-03-04

    Thanks Anca, that's great news. Then I'll dig up the actual version we're running in production now on 1.6.x.

     
  • Ovidiu Sas
    Ovidiu Sas
    2010-03-04

    It would be nice to have this enhancement in the 1.6.2 release.

     
  • Angel Marin
    Angel Marin
    2010-03-04

    Rebase to 1.6.1 and make it work when there's expired dialogs

     
  • Angel Marin
    Angel Marin
    2010-03-04

    • milestone: 898627 --> 1.6.x
     
  • Angel Marin
    Angel Marin
    2010-03-04

    I've attached the latest version of the patch we've been running in production since early November.

    In the original patch did not return the fake dialog-info body when body aggregation discards all stored dialogs.

     
  • Anca Vamanu
    Anca Vamanu
    2010-03-05

    • status: open --> closed-accepted
     
  • Anca Vamanu
    Anca Vamanu
    2010-03-05

    Hi Angel,

    Thank you for the patch. I applied it unmodified in 1.6 and trunk.

    Regards,
    Anca

     
  • Does this patch also works for version 1.63 ?
    I have linksys spa942 with the same problem...

    Yaniv