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:[email protected]]
*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:[email protected]]
*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
[email protected] <mailto:[email protected]>
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"
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users