Hi, RFC 3326 defines the "Reason" header to inform a UAS about why the
call was cancelled, this is:
- alice calls bob.
- the proxy forks the INVITE to both locations in which bob is registered.
- bob_1 answers so the proxy generates a CANCEL to bob_2 and adds a
header to that CANCEL:
Reason: SIP ;cause=200 ;text="Call completed elsewhere"
- bob_2 phone receives the CANCEL and doesn't mark the incoming call
as missed since it has been replied elsewhere.
But what about if there is other proxy in the middle? For example:
- A pbx receives a incoming calls and does forking to al...@domaina
and b...@domainb.
- proxy_A receives the INVITE to al...@domaina and routes it to alice's phone.
- proxy_B receives the INVITE to b...@domainb and routes it to bob's phone.
- alice answers so the PBX generates a CANCEL to proxy_B and adds
"Reason" header.
- Since CANCEL is hop by hop, proxy_B *will NOT* respect that "Reason"
header when it generates the CANCEL to bob's phone, so there is no way
bob's phone to be the call as answered elsewhere.
This occurs due to CANCEL definition (hop by hop). However,
could/should a proxy respect extra-headers in an incoming CANCEL?
If not, how to handle the case I mean? (IMHO it's impossible).
Thanks.
--
Iñaki Baz Castillo
<[email protected]>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors