< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate] re-post: hangup before receiving any response


Anyway, I still prefer to delete the DialogSet right
away after user hangup in this case, why delay 32
seconds to delete the memory allocated for DialogSet?
Thanks,

kaiduan
 --- Dominique Prunier
<dominique.prunier@xxxxxxxxxxxxxxxxxx> wrote: 
> Hi,
> 
> You should check out the latest revision since there
> is a fix for that
> (actually, the ACK case always execute break with or
> without a To tag).
> This was discussed few mails ago.
> 
> Regards,
> Dom.
> 
> ----- Original Message ----- 
> From: "kaiduan xie" <kaiduanx@xxxxxxxx>
> To: <resiprocate-devel@xxxxxxxxxxxxxxxxxxx>
> Sent: Friday, September 17, 2004 1:16 AM
> Subject: [reSIProcate] re-post: hangup before
> receiving any response
> 
> 
> > Hi, all,
> >
> > This is a re-post of my last email for the case
> where
> > user hangup before receiving ANY response.
> >
> > In transaction layer, after sending INVITE for 7
> > times, transaction layer will post a 408 to TU. In
> > DialogSet::dispatch() (#357)
> >
> >    switch (response.header(h_CSeq).method())
> >    {
> >       case INVITE:
> >       case SUBSCRIBE:
> >       case BYE:
> >       case ACK:
> >           if (response.header(h_To).exists(p_tag))
> >           {
> >              break; // dialog creating/handled by
> > dialog
> >           }
> >           else
> >           {
> >              // throw away, informational stauts
> > message eventually
> >              return;
> >           }
> >
> > Since this 408 has no tag in To, the message is
> throw
> > away. So, we still need to put guard.destroy() in
> > DialogSet::cancel().
> >
> > DialogSet::cancel()
> > {
> >     if (mDialogs.empty())
> >     {
> >        if (mReceivedProvisional && getCreator())
> >        {
> >            ....
> >
> >        }
> >        else
> >        {
> >             //xkd to handle the case where user
> hangup
> > before receiving ANY response, including 100
> >            guard.destroy();
> >            return;
> >        }
> >     }
> > }
> >
> > The scenario did happen while testing with Free
> World
> > Dialup.
> >
> > kaiduan
> >
> >
> >
> >
> >
>
______________________________________________________________________
> > Post your free ad now! http://personals.yahoo.ca
> > _______________________________________________
> > resiprocate-devel mailing list
> > resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> >
>
https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
> >
> 
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxxxxxx
>
https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
>  

______________________________________________________________________ 
Post your free ad now! http://personals.yahoo.ca