Re: [Sip-implementors] Cancelling an INVITE which did not got provisional response yet

2019-03-14 Thread Dale R. Worley
AXE MSC  writes:
> After 4 minutes, handset replies back with TCP ACK. PCSCF then re-transmits
> INVITE and and gets 183 back from handset. However, because calling party
> side call was already cleared at 15th second, this is causing a ghost call
> for B party after 4 minutes of the original call.

It is true that the called party sees a ghost call.  But immediately
after PCSCF receives the 183, it should send the CANCEL for the call.
So if the delay was in the propagation of the INVITE to the handset, the
ghost call will be canceled quickly (from the point of the view of the
called party).

> Can PCSCF destroy the transaction at 15th second without sending the Cancel
> to handset? Later if handset comes with provisional response  then PCSCF
> can just reply back with SIP 481(transaction does not exist).

Depending on exactly how PCSCF generates the INVITE it sends, it may be
able to avoid keeping state information for the call after it is
canceled.  But it is still required to send a CANCEL to the called
handset as soon as it receives a provisional response.  However, it may
be able to know that it should send the CANCEL, and be able to construct
and send the CANCEL, without having kept state information about the
INVITE.

Dale
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Cancelling an INVITE which did not got provisional response yet

2019-03-14 Thread Paul Kyzivat

On 3/13/19 5:45 PM, AXE MSC wrote:

Hi,

PCSCF has two realms. One is facing Core network and another is facing
Access network. I have a scenario where PCSCF sends the INVITE to the
handset facing Access realm. But no TCP ACK or SIP provisional response
received from the handset. After 15 seconds wait time SCSCF asks PCSCF core
realm to clear the call by sending a Cancel. PCSCF replies back with 200 Ok
for the Cancel. But PCSCF kept the transaction alive for the handset due to RFC
3261, Section 9.1: "If no provisional response has been received, the
CANCEL request MUST NOT be sent; rather, the client MUST wait for the
arrival of a provisional response before sending the request."


Is the PCSCF acting as a proxy or B2BUA?


After 4 minutes, handset replies back with TCP ACK. PCSCF then re-transmits
INVITE and and gets 183 back from handset. However, because calling party
side call was already cleared at 15th second, this is causing a ghost call
for B party after 4 minutes of the original call.


Can PCSCF destroy the transaction at 15th second without sending the Cancel
to handset? Later if handset comes with provisional response  then PCSCF
can just reply back with SIP 481(transaction does not exist).


To be correct you need to maintain the transaction until you get 
something back or it times out. If PCSCF is acting as proxy, then the 
SCSCP should be retransmitting the INVITE (according to timers) until 
something comes back or the transaction times out. Sending CANCEL and 
receiving a 200 to it doesn't mean you can avoid this. If the CANCEL 
succeeds then a 487 should be received for the INVITE, ending the 
transaction.


OTOH, if the PCSCF is acting as a B2BUA, then the PCSCF *may* send a 487 
to the INVITE when it gets the CANCEL. It will then have to handle the 
transaction to the handset itself. It will still need to do all the 
above on its own. If that then results in the handset accepting the call 
it can send a BYE to terminate it.


Thanks,
Paul
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Cancelling an INVITE which did not got provisional response yet

2019-03-14 Thread AXE MSC
Hi,

PCSCF has two realms. One is facing Core network and another is facing
Access network. I have a scenario where PCSCF sends the INVITE to the
handset facing Access realm. But no TCP ACK or SIP provisional response
received from the handset. After 15 seconds wait time SCSCF asks PCSCF core
realm to clear the call by sending a Cancel. PCSCF replies back with 200 Ok
for the Cancel. But PCSCF kept the transaction alive for the handset due to RFC
3261, Section 9.1: "If no provisional response has been received, the
CANCEL request MUST NOT be sent; rather, the client MUST wait for the
arrival of a provisional response before sending the request."

After 4 minutes, handset replies back with TCP ACK. PCSCF then re-transmits
INVITE and and gets 183 back from handset. However, because calling party
side call was already cleared at 15th second, this is causing a ghost call
for B party after 4 minutes of the original call.


Can PCSCF destroy the transaction at 15th second without sending the Cancel
to handset? Later if handset comes with provisional response  then PCSCF
can just reply back with SIP 481(transaction does not exist).


Any thoughts?


Thanks
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors