[OpenSIPS-Users] dialog and acc
Bogdan-Andrei Iancu
bogdan at opensips.org
Tue May 10 10:55:59 CEST 2011
Hi Denis,
Yes, before the loose_route(), and it is critical as for sequential
requests, the matching against existing dialogs is done somewhere inside
loose_route() (via some callbacks). And when the dialog is matched, the
dialog timeout is updated, so this is why you need to populate the AVP
for dialog timeout before the loose_route.
Dialog related variables will be available available after the
loose_route(), when the dialog was matched, so the dialog cotext is
available.
Regards,
Bogdan
On 05/10/2011 11:51 AM, Denis Putyato wrote:
>
> Bogdan, one more question
>
> You wrote “2) at ACK, before loose_route()”
>
> Why before? Is this critical?
>
> I want to use $dlg_status variables to check if dialog exists (When
> received ACK), but in documentation said that this variables works
> only after loose_route() function
>
> *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> *Sent:* Tuesday, May 10, 2011 12:43 PM
> *To:* Denis Putyato
> *Cc:* 'OpenSIPS users mailling list'
> *Subject:* Re: [OpenSIPS-Users] dialog and acc
>
> Hi Denis,
>
> I can tell it works for sure, as I'm using this kind of dirty trick to
> cope with some buggy clients.
>
> Best regards,
> Bogdan
>
> On 05/10/2011 06:42 AM, Denis Putyato wrote:
>
> Hello!
>
> Thank you Bogdan, I will try you decision
>
> *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> *Sent:* Friday, May 06, 2011 9:25 PM
> *To:* OpenSIPS users mailling list
> *Cc:* Denis Putyato
> *Subject:* Re: [OpenSIPS-Users] dialog and acc
>
> Hi Denis,
>
> From a proxy point of view, a 200OK means the dialog was establish. A
> proxy cannot interfere with the ACK part - the acknowledgment is done
> between end parties.
>
> If the ACK is missing (in an established dialog), the callee party
> (according to RFC) must send a BYE (when finishing the 200 OK
> retransmission) to the caller. This is something your callee doesn't do.
>
> A simple work around is to use the dialog timeout in opensips:
> 1) at INVITE time, when dialog is created, set a 5 seconds timeout
> (dialog will be terminated by opensips, with BYE, in 5 secs after
> being established - do not forget to set the BYE_ON_TIMEOUT flag)
> 2) at ACK, before loose_route() set a new timeout to some long,
> long (3 hours?) value.
>
> So, if the ACK will mis, the 5 sec timeout will kick in and terminate
> the dialog; otherwise, opensips will prelong the dialog on ACK time.
>
> Regards,
> Bogdan
>
> On 04/28/2011 03:06 PM, Denis Putyato wrote:
>
> Hello!
>
> I noticed that cdr_flag in acc modules marks dialog for accounting as
> answered even there was no ACK on 200 OK.
>
> As a result, I have acc record which has a big duration and status 200 OK.
>
> Thank you for any help.
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
>
>
> --
> Bogdan-Andrei Iancu
> OpenSIPS eBootcamp - 2nd of May 2011
> OpenSIPS solutions and "know-how"
>
>
>
>
> --
> Bogdan-Andrei Iancu
> OpenSIPS eBootcamp - 2nd of May 2011
> OpenSIPS solutions and "know-how"
--
Bogdan-Andrei Iancu
OpenSIPS eBootcamp - 2nd of May 2011
OpenSIPS solutions and "know-how"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20110510/26170daa/attachment.htm>
More information about the Users
mailing list