Dear All,
Trying to understand / clarify the correct behaviour of a B2BUA which I am approximating to a recursive proxy (this is probably my undoing) which receives a request with multiple Diversion headers and call processes the call with a new diversion and creates a subsequent new upstream Invite.
Section 4 of the draft-levy-sip-diversion states "The Diversion header SHOULD be added when a SIP proxy server, SIP redirect server, or SIP user agent changes the ultimate endpoint which will receive the call." and "Existing Diversion headers received in an incoming request MUST NOT be removed or changed in forwarded requests."
So if the incoming INVITE looked like this (SDP removed for sake of brevity):
SIP,24/02/2004,16:32:11,570843,1471,203.044.175.116,203.044.175.196,05060,05060,
INVITE sip:[EMAIL PROTECTED];user=phone SIP/2.0
Via: SIP/2.0/UDP gateway1.net:5060 ;branch=term-46-409518564-0386023011
From: 409518564 <sip:[EMAIL PROTECTED];user=phone> ;tag=2134165760
To: 0386023011 <sip:[EMAIL PROTECTED];user=phone>
Call-ID: [EMAIL PROTECTED]
CSeq: 2 INVITE
Supported: timer
Contact: <sip:[EMAIL PROTECTED]:5060>
Diversion: "396343363"<sip:[EMAIL PROTECTED]>;counter=2;reason=unconditional
Diversion: "0396343519"<sip:[EMAIL PROTECTED]>;counter=1;reason=unconditional
Allow: INVITE,ACK,PRACK,SUBSCRIBE,BYE,CANCEL,NOTIFY,INFO,REFER,UPDATE
Content-Type: application/sdp
Content-Length: 617
If this is call processed to be diverted back to the PSTN if the proxy SHOULD add a Diversion header and MUST not change the exitsing Diversion headers then how should the subsequent Invite look ? (SDP removed for sake of brevity):
SIP,24/02/2004,16:32:11,625011,1500,203.044.175.196,203.044.175.116,32985,05060,
INVITE sip:[EMAIL PROTECTED]:5060;user=phone SIP/2.0
Via:SIP/2.0/UDP 203.44.175.196;branch=z9hG4bK-BroadWorks.203.44.175.196-203.44.175.116V5060-0-855705178-1053817325-1077600718003
From:<sip:[EMAIL PROTECTED];user=phone>;tag=1053817325-1077600718003
To:<sip:[EMAIL PROTECTED]:5060;user=phone>
Call-ID:[EMAIL PROTECTED]
CSeq:855705178 INVITE
Contact:<sip:203.44.175.196:5060>
Diversion:"customer2user3011"<sip:[EMAIL PROTECTED]>;reason=unconditional
Diversion:"396343363"<sip:[EMAIL PROTECTED]>;counter=2;reason=unconditional
Diversion:"0396343519"<sip:[EMAIL PROTECTED]>;counter=1;reason=unconditional
Allow:ACK,BYE,CANCEL,INFO,INVITE,OPTIONS,PRACK,REFER
Supported:100rel,timer
Content-Type:application/sdp
Max-Forwards:10
Content-Length:617
With no counter field in the top most Diversion header is treated as 1 for purposes of summing the total of deflections is 4, which is correct.
Is the above logic and example of the subsequent INVITE correct ?.
How in the example for SIP to ISUP in the draft is there two Diversion headers in the Invite with a top most Header containing a counter of 4. If you MUST preserve the previous Diversion Headers do you have only two with a top most Diversion header with a counter = 4 ?.
<--INVITE +19195551004------
| Diversion: <tel:+19195551002>
| ;reason="user-busy"
| ;counter=4
| Diversion: <tel:+19195551001>
| ;reason="unconditional"
| ;counter=1
Regards,
Wayne Davies
System Support Engineer - Broadsoft
Office: +61 3 96260468
Mobile: 0417282909
email: [EMAIL PROTECTED]
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
