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

RE: [reSIProcate] DUM: Cancelling client session in initial state


Sorry, why DUM change the branch of non ACK/CANCEL?

Thanks.

kaiduan
 --- Derek MacDonald <derek@xxxxxxxx> wrote: 
> It doesn't...the code says change branch if the
> method isn't ACK or CANCEL.
> 
> > -----Original Message-----
> > From:
> resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:resiprocate-
> > devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of
> kaiduan xie
> > Sent: Friday, December 17, 2004 12:22 PM
> > To: Derek@xxxxxxxx; 'Dmitry Semyonov';
> resiprocate-
> > devel@xxxxxxxxxxxxxxxxxxx
> > Subject: RE: [reSIProcate] DUM: Cancelling client
> session in initial state
> > 
> > Derek,
> > 
> > Can you clarify why DUM change branch of CANCEL
> and
> > ACK message? Thanks.
> > 
> > kaiduan
> >  --- Derek MacDonald <derek@xxxxxxxx> wrote:
> > > DialogUsageManager::send modifies the sip
> message
> > > in-place, so the CANCEL
> > > transaction id does match. Dmitry's reference vs
> > > copy explains you
> > > behaviour.
> > > >
> > > > I thought the reason was:
> > > >
> > > > In DialogUsageManager::send()
> > > >
> > > >    if (msg.header(h_RequestLine).method() !=
> > > CANCEL &&
> > > >        msg.header(h_RequestLine).method() !=
> ACK
> > > &&
> > > >        msg.exists(h_Vias))
> > > >    {
> > > >
> > > >
> > >
> msg.header(h_Vias).front().param(p_branch).reset();
> > > >            ^^^^^^^
> > > >    }
> > > >
> > > > For example, if the initial DUM created
> INVITE's
> > > > branch is BranchA, after this function, the
> branch
> > > is
> > > > changed to BranchB and passed to transaction
> > > layer. In
> > > > transaction layer, the transaction ID is
> BranchB.
> > > But
> > > > for CANCEL message created in DUM, the branch
> is
> > > still
> > > > BranchA. So transaction layer cannot find the
> > > > corresponding INVITE transaciton!!!
> > > >
> > > > Can anyone explain why the branch parameter is
> > > reset
> > > > here? Thanks,
> > > >
> > > > kaiduan
> > > >
> > > >
> > > >  --- Dmitry Semyonov <dsemyonov@xxxxxxx>
> wrote:
> > > > > On Fri, 5 Nov 2004, Dmitry Semyonov wrote:
> > > > >
> > > > > > DUM does not send CANCEL request when I
> call
> > > end()
> > > > > method of
> > > > > > ClientInviteSessionHandle. Also note the
> empty
> > > > > Contact AOR of the
> > > > > > scheduled CANCEL request. I use r3433
> based
> > > > > reSIProcate, and
> > > > > > process(fdset).
> > > > >  [...]
> > > > >
> > > > > Well the described behavior was caused by
> using
> > > > > SipMessage instance
> > > > > instead of reference to it:
> > > > >
> > > > > <           SipMessage is_msg =
> > > > > m_pDum->makeInviteSession( dstAor, FromAddr,
> > > > > ---
> > > > > >           // Warning! Using SipMessage
> instead
> > > of
> > > > > SipMessage& here will result
> > > > > >           // in wrong transaction Id!
> > > > > >           SipMessage &is_msg =
> > > > > m_pDum->makeInviteSession( dstAor, FromAddr,
> > > > >
> > > > > --
> > > > > ...Bye..Dmitry.
> > > > >
> _______________________________________________
> > > > > resiprocate-devel mailing list
> > > > > resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> > > > >
> > > >
> > >
> >
>
https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
> > > > >
> > > >
> > > >
> > >
> >
>
______________________________________________________________________
> > > > Post your free ad now!
> http://personals.yahoo.ca
> > > >
> _______________________________________________
> > > > resiprocate-devel mailing list
> > > > resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> > > >
> > >
> >
>
https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
> > >
> > >
> > >
> > 
> >
>
______________________________________________________________________
> > Post your free ad now! http://personals.yahoo.ca
> > _______________________________________________
> > resiprocate-devel mailing list
> > resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> >
>
https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
> 
> 
>  

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