[OpenSIPS-Devel] [opensips] pua_dialoginfo: failed calls triggers sending PUBLISH errors (#142)
Ovidiu Sas
notifications at github.com
Thu Nov 28 00:57:08 CET 2013
If a call fails without receiving a provisional reply first, it will trigger an error:
ERROR:pua_dialoginfo:dialog_publish: sending publish failed for pres_uri [SIP URI] to server [SERVER]
The issue here is that the call is in trying state and then is terminated.
If we set:
modparam("pua_dialoginfo", "publish_on_trying", 1)
the error doesn't occur because an initial PUBLISH is sent for trying.
If the "publish_on_trying" parameter is not set (the default value being 0), then the first PUBLISH is sent when the dialog is terminated. The PUBLISH has an expiration set to 0 and since there was no previous states published before, pua does not send any PUBLISH, hence the error.
The relevant pua code (pua/send_publish.c send_publish_int):
if(presentity== NULL)
{
if(publ->expires== 0)
{
LM_DBG("request for a publish with expires 0 and"
" no record found\n");
goto error;
}
The fix should be in pua_dialoginfo, there should be no PUBLISH sent out when:
- the call is transitioning from early to terminated;
- the publish_on_trying parameter is set to 0.
To test this, a call should be made to a SIP device that will reject the call without sending any 18x provisional replies first.
Regards,
Ovidiu Sas
---
Reply to this email directly or view it on GitHub:
https://github.com/OpenSIPS/opensips/issues/142
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/devel/attachments/20131127/ab4fc27d/attachment.htm>
More information about the Devel
mailing list