[asterisk-bugs] [JIRA] (ASTERISK-27759) Subscription persistence does not preserve XML <dialog-info> version number
Bryan Nelson (JIRA)
noreply at issues.asterisk.org
Wed Mar 21 17:11:13 CDT 2018
Bryan Nelson created ASTERISK-27759:
---------------------------------------
Summary: Subscription persistence does not preserve XML <dialog-info> version number
Key: ASTERISK-27759
URL: https://issues.asterisk.org/jira/browse/ASTERISK-27759
Project: Asterisk
Issue Type: Bug
Security Level: None
Components: Resources/res_pjsip_pubsub
Affects Versions: 15.3.0
Environment: CentOS Linux release 7.4.1708 (Core)
Reporter: Bryan Nelson
Severity: Minor
When utilizing the subscription persistence via astDB to restore dialog-info+xml subscriptions on restart of asterisk, the re-built subscriptions do not have the correct 'version' number in the xml content, and the message is discarded by phones per the RFC. I am unable to find anywhere that the current xml version number is stored in the persistence table, so it makes sense that it cannot be restored on restart.
Desired behavior would be similar to how the SIP Cseq is stored, and used when restoring the subscription.
Example:
Prior to restart, version number has reached 6
{quote}
<?xml version="1.0" encoding="UTF-8"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" *version="6"* state="full" entity="sip:701 at 1.1.1.1:5060">
<dialog id="701">
<state>terminated</state>
</dialog>
</dialog-info>
{quote}
After restart, subscription is restored, but version number starts at 1:
{quote}
<?xml version="1.0" encoding="UTF-8"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" *version="1"* state="full" entity="sip:701 at 1.1.1.1:5060">
<dialog id="701">
<state>confirmed</state>
</dialog>
</dialog-info>
{quote}
In this particular case, the version number would 'catch up' to the phones with 5 more state changes, and the BLF would resume functioning on the phone. In cases where there is a very long running subscription with many state changes, this version number can be in the hundreds, so the delay before if begins functioning again is quite long.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list