[Home]

Summary:ASTERISK-27682: PJSIP outbound-publish, ETag and Event: dialog
Reporter:Cyrille Demaret (ziki)Labels:pjsip
Date Opened:2018-02-16 07:50:38.000-0600Date Closed:2018-02-16 15:32:26.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:pjproject/pjsip
Versions:14.7.5 Frequency of
Occurrence
Constant
Related
Issues:
duplicatesASTERISK-27685 res_pjsip_dialog_info_body_generator: Dialog id is reused after transitioning to terminated
Environment:Attachments:
Description:Asterisk is sending a PUBLISH with a "early" state with a SIP-If-Match for an already terminated dialog. According to the RFC 4235, this shouldn't happens.

Asterisk send :

PUBLISH sip:201@192.168.100.37 SIP/2.0
Via: SIP/2.0/UDP 192.168.100.37:5080;rport;branch=z9hG4bKPj4f9c19eb-26d8-4bb1-8f00-e69723a61082
From: sip:201@mydomain.com;tag=a560e088-9e8a-49f2-a9b1-4a0ec31340bf
To: sip:201@mydomain.com
Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183
CSeq: 10697 PUBLISH
Event: dialog
Expires: 180
Max-Forwards: 70
User-Agent: Asterisk PBX 14.6.0
Content-Type: application/dialog-info+xml
Content-Length: 247

<?xml version="1.0" encoding="UTF-8"?> early

The presence server replies :

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.100.37:5080;rport=5080;branch=z9hG4bKPj4f9c19eb-26d8-4bb1-8f00-e69723a61082;received=192.168.100.37
From: sip:201@mydomain.com;tag=a560e088-9e8a-49f2-a9b1-4a0ec31340bf
To: sip:201@mydomain.com;tag=b596189c6de9c38f624fd84638f43be6-ff39
Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183
CSeq: 10697 PUBLISH
Expires: 180
SIP-ETag: a.1518775074.19863.16.0
Server: kamailio (5.0.5 (x86_64/linux))
Content-Length: 0

When the call is done, Asterisk send another PUBLISH telling that the call is terminated :

PUBLISH sip:201@192.168.100.37 SIP/2.0
Via: SIP/2.0/UDP 192.168.100.37:5080;rport;branch=z9hG4bKPja93efb01-a518-445e-9e9b-f6f97ab8c752
From: sip:201@mydomain.com;tag=165fb3b2-ec0e-4786-889f-eb194ad456ce
To: sip:201@mydomain.com
Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183
CSeq: 10698 PUBLISH
Event: dialog
SIP-If-Match: a.1518775074.19863.16.0
Expires: 180
Max-Forwards: 70
User-Agent: Asterisk PBX 14.6.0
Content-Type: application/dialog-info+xml
Content-Length: 230

<?xml version="1.0" encoding="UTF-8"?> terminated

The presence server replies :

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.100.37:5080;rport=5080;branch=z9hG4bKPja93efb01-a518-445e-9e9b-f6f97ab8c752;received=192.168.100.37
From: sip:201@mydomain.com;tag=165fb3b2-ec0e-4786-889f-eb194ad456ce
To: sip:201@mydomain.com;tag=b596189c6de9c38f624fd84638f43be6-48b4
Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183
CSeq: 10698 PUBLISH
Expires: 180
SIP-ETag: a.1518775074.19873.18.1
Server: kamailio (5.0.5 (x86_64/linux))
Content-Length: 0

If a new call is made before the expiration, Asterisk reuse the same ETag:

PUBLISH sip:201@192.168.100.37 SIP/2.0
Via: SIP/2.0/UDP 192.168.100.37:5080;rport;branch=z9hG4bKPj9d13bb82-31d9-48db-9672-bd4b6b4f22f0
From: sip:201@mydomain.com;tag=33e6b028-0444-4b3a-8bc2-4a987a291528
To: sip:201@mydomain.com
Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183
CSeq: 10699 PUBLISH
Event: dialog
SIP-If-Match: a.1518775074.19873.18.1
Expires: 180
Max-Forwards: 70
User-Agent: Asterisk PBX 14.6.0
Content-Type: application/dialog-info+xml
Content-Length: 247

<?xml version="1.0" encoding="UTF-8"?> early
Comments:By: Asterisk Team (asteriskteam) 2018-02-16 07:50:39.493-0600

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Richard Mudgett (rmudgett) 2018-02-16 11:16:05.012-0600

Per the Asterisk versions page [1], the maintenance (bug fix) support for the Asterisk branch you are using has ended. For continued maintenance support please move to a supported branch of Asterisk. After testing with a supported branch, if you find this problem has not been resolved, please open a new issue against the latest version of that Asterisk branch.

Thanks!

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions



By: Cyrille Demaret (ziki) 2018-02-16 11:28:17.652-0600

Are you telling me that the latest 14.7.5 is not supported anymore?

My SIP capture was done with the version 14.6.0 but I have also tested with the last v14 version and it’s acting the same way.

By: Richard Mudgett (rmudgett) 2018-02-16 12:19:48.269-0600

Yes.  Asterisk v14 no longer receives bug fixes as of 2017-09-26 per the linked page \[1].  What you are reporting is not a security issue so it will never be fixed in v14.

\[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions

By: Cyrille Demaret (ziki) 2018-02-16 15:18:24.193-0600

Done : ASTERISK-27685

By: Richard Mudgett (rmudgett) 2018-02-16 15:32:26.584-0600

Won't fix on v14