[sr-dev] Presence notify - duplicate aux body processing?

Luis Azedo luis at 2600hz.com
Fri Jan 15 00:44:10 CET 2016


i suppose we can review it but we're not seeing the issue anymore.
can you provide some sip traces that you think are wrong ?

the commits below aren't related with the one you mentioned before.
the problem solved with the commits below is , "in a serie of subscribers being notified only the first gets the correct version number, the others get the version of first".

Best

________________________________
From: sr-dev [sr-dev-bounces at lists.sip-router.org] on behalf of Charles Chance [charles.chance at sipcentric.com]
Sent: Thursday, January 14, 2016 2:08 PM
To: Kamailio (SER) - Development Mailing List
Subject: Re: [sr-dev] Presence notify - duplicate aux body processing?

Hi Luis,

I really appreciate your reply.

My issue is the one you have also observed yourself - incorrect notify version for dbmode <> 3 - and tried to fix recently with this commit:

https://github.com/kamailio/kamailio/commit/6dd065629604a32081d5e7b63bbbd292f56aaf23

and subsequently with these commits:

https://github.com/kamailio/kamailio/commit/412f155ede8587c1d439503cd7d0e783bc3c0d6b
https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35
https://github.com/kamailio/kamailio/commit/adcad3445b33d917ef13e4419310b5b11d472fe1


However, for us at least, the issue remains and I believe it was introduced by the original commit - and if we revert it the problem disappears - so IMO the fix would be to address it at source.

As it stands, the aux body processing appears still to be duplicated depending on the configuration. So, maybe now the solution is to remove the previous aux body processing in the publ_notify() and query_db_notify() functions?

Does this make sense? Please correct me if I am wrong.

Thanks again,

Charles


On 14 January 2016 at 21:28, Luis Azedo <luis at 2600hz.com<mailto:luis at 2600hz.com>> wrote:
the commit was introduced because of dbmode = 3
> pres_timer_send_notify
> process_dialogs
> notifier_notify
> notify
> send_notify_request

and then gets the body and processes the aux_body_processing

notify_body = get_p_notify_body(subs->pres_uri,
subs->event, NULL, (subs->contact.s)?&subs->contact:NULL);
if(notify_body == NULL || notify_body->s== NULL)
{
LM_DBG("Could not get the notify_body\n");
}
else
{
/* call aux_body_processing if exists */
if(subs->event->aux_body_processing)
{
aux_body = subs->event->aux_body_processing(subs, notify_body);


but you haven't detailed your issue, so i'm not sure how to help you.

Best

________________________________
From: sr-dev [sr-dev-bounces at lists.sip-router.org<mailto:sr-dev-bounces at lists.sip-router.org>] on behalf of Charles Chance [charles.chance at sipcentric.com<mailto:charles.chance at sipcentric.com>]
Sent: Thursday, January 14, 2016 7:35 AM
To: sr-dev
Subject: [sr-dev] Presence notify - duplicate aux body processing?


Hi All,

Whilst attempting to track down the source of an issue introduced at some point since 4.2.1, I came across the following and would appreciate a second opinion.

In send_notify_request() function (/modules/presence/notify.c), the aux body processing function attached to the event is called:

/* call aux_body_processing if exists */
if(subs->event->aux_body_processing)
{
aux_body = subs->event->aux_body_processing(subs, notify_body);
if(aux_body) {
free_notify_body(notify_body, subs->event);
notify_body = aux_body;
}
}


However, by the time we reach this function, aux body processing will already have been completed (specifically in the publ_notify() or query_db_notify() functions of the same file).

If I remove the duplicate function call, the issue goes away - but I'm reluctant to submit a pull request which reverts an earlier commit, unless I can understand the reason for the change in the first place. Especially since it was made a year ago.

Is anyone able to explain what I'm missing?

Cheers,

Charles

** We're rebranding! Learn more here<http://www.sipcentric.com/2015/07/were-rebranding/> **

www.sipcentric.com<http://www.sipcentric.com/>

Follow us on twitter @sipcentric<http://twitter.com/sipcentric>

Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.

_______________________________________________
sr-dev mailing list
sr-dev at lists.sip-router.org<mailto:sr-dev at lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev




--
Charles Chance
Managing Director

t. 0121 285 4400    m. 07932 063 891

** We're rebranding! Learn more here<http://www.sipcentric.com/2015/07/were-rebranding/> **

www.sipcentric.com<http://www.sipcentric.com/>

Follow us on twitter @sipcentric<http://twitter.com/sipcentric>

Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20160114/940cf0ce/attachment.html>


More information about the sr-dev mailing list