[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