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

Reply via email to