Skip to content
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

Feature request - BLF differences between Opensips 1.6.4 and 1.11.3 #380

Closed
telematico opened this issue Nov 3, 2014 · 3 comments
Closed
Assignees
Milestone

Comments

@telematico
Copy link
Contributor

Hello Devels:

After update my ancient and stable Opensips 1.6.4 to newer version 1.11.3 some clients starts to complaint about random BLF feature problems.

In the logs I can see messages like:

ERROR:presence:get_database_info: No matching subscription dialog found in database
ERROR:presence:handle_subscribe: getting stored info

Afer some debugging I found that sometimes the buggy cisco SPA phones don't respond to Notify packets, and Opensips generates 408 Replies (correctly). After this, Opensips presence server deletes the subscription and the BLF lights will not update anymore (until it resuscribe)

The related difference I can found in source between versions is in

modules/presence/notify.c -> p_tm_callback

in version 1.11.3 i can see:
if(ps->code == 481 || ps->code==408)
{
//delete subscription code
}

but in version 1.6.4:
if(ps->code == 481)
{
//delete subscription code
}

I can modify the sources but my feature request is: Can it be configurable using module parameters?

is a annoying problem beacuse for one packet (and retransmissions) lost or not confirmed, the BLF for this AOR stops working; but I understand that in many cases the code in version 1.11.3 is right. I think doing it configurable can be the best solution.

regards,
Carlos Oliva

@telematico
Copy link
Contributor Author

Some info: The change was introduced in commit 8686

2012-01-25 20:47:16 Anca Vamanu,
* [8686] :
Fix: destroy the subscription dialog when Notify replied with 408 (reported by Saul Ibarra Corretge)

@bogdan-iancu bogdan-iancu self-assigned this Nov 4, 2014
@bogdan-iancu bogdan-iancu added this to the 2.1 milestone Nov 4, 2014
bogdan-iancu added a commit that referenced this issue Nov 4, 2014
If a presence subscription should be automatically terminated (destroyed) when receiving a SIP timeout (408) for a sent NOTIFY requests.
Closes feature request #380.
@bogdan-iancu
Copy link
Member

Hi @telematico - please see the master branch - I added the end_sub_on_timeout module parameter, which by default is on (1). Have it tested to see if does the trick for you.
I will not backport this into 1.11 (as it is a feature request), but you can do this by yourself - patch is available under https://github.com/OpenSIPS/opensips/commit/8bb455398f9520248389e36d20c09ef2ad24da0f.patch .

@telematico
Copy link
Contributor Author

Thanks a lot, I'm sure it will do the trick. I'll apply the patch to 1.11.

I close this request. Thank you again!

bogdan-iancu added a commit that referenced this issue Nov 5, 2014
If a presence subscription should be automatically terminated (destroyed) when receiving a SIP timeout (408) for a sent NOTIFY requests.
Closes feature request #380.
bogdan-iancu added a commit that referenced this issue Nov 24, 2014
If a presence subscription should be automatically terminated (destroyed) when receiving a SIP timeout (408) for a sent NOTIFY requests.
Closes feature request #380.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants