Subject: TransactionPending message flow

From: Tim Vetter <[email-masked]>
Date: Wed, 27 Oct 1999 18:26:58 -0500

What the TransactionPending message communication
look like?  Does it look like flow A or B?

Flow A (Seems indicated by Section 8.2.3):
1. Message Request X goes from MGW to GW
2. The GW sends TransactionPending Message to MGW
3. The GW sends TransactionPending Message to MGW
4. The GW (finally) sends Reply to MGW.

Flow B (Seems indicated by Section E.4):
1. Message Request X goes from MGW to GW
2. The MGW resends Message Request X to GW
   (MGW times out waiting for Response)
3. The GW sends TransactionPending to MGW
4. The MGW resends Message Request X to GW
   (MGW times out waiting for Response)
5. The GW sends TransactionPending to MGW
6. The GW (finally) sends Reply to MGW.

What triggers the Transaction Pending in GW?  Is it
timer in GW, or is it receiving the same command again
from the MGW?

---

From: Brian Rosen <[email-masked]>
Date: Fri, 29 Oct 1999 15:04:28 -0400

I confused you.  I would not expect the responder to start
a timer on an ignored request.  I wanted to illustrate when
it would have happened if it didn't ignore it, as the original
message suggested.  And we agree that the extra pend is overkill
I'd advocate removing the language from Annex E since it
is unnecessary.  It would not be wrong, however, to send extra
pends.

Brian

> -----Original Message-----
> From: Al Varney [mailto:[email-masked]]
> Sent: Friday, October 29, 1999 10:40 AM
> To: [email-masked]
> Subject: Re: TransactionPending message flow
> 
> 
> At 12:59 10/28/1999 -0400, Brian Rosen wrote:
> 
> >    First Req Send
> >                     First Req Recieve
> >                       <timeout>
> >                     First Pend Send  (lost)
> >    <timeout>
> >    Second Req Send
> >                     Second Req Recv (ignore)
> >                       <timeout from First Req Recv>
> >                           Second Pend Send
> >    Second Pend Recv
> >                       <timeout from Second Req Recv>
> >                     Send Ack
> >    Ack Recv
> 
>    The "<timeout from Second Req Recv>" bothers me -- why 
> would one start
> a timer for an (ignore)d Req?  Doesn't the example work 
> without this line?
> 
>    I think the point you were making was that PEND is not 
> considered a true
> RESPONSE to the First Req, and so it is not sent as part of 
> the Annex E
> procedure for responding to repeated commands.  In this model, PEND is
> only sent because the timer (normalMGExecutionTime) expires.  
> (Section 8.2.3)
> 
>    As Harpreet & Tim Vetter noted, this model clearly 
> disagrees with E.4:
>     "Entities that can predict that a transaction will require a long
>      execution time may send a provisional response, 
> “Transaction Pending”.
>      They should send this response if they receive a repetition of a
>      transaction that is still being executed."
> 
>    Both mechanisms can co-exist, but would seem to be 
> overkill.  In fact,
> Annex E is a pretty confusing read -- the whole thing seemed 
> so much clearer
> when Christian was arguing for it (on the MGCP list?).  Maybe 
> it's just me....
> 
> 
> Al Varney - Lucent Technologies  +1 630 224-7493    [email-masked]
>