Here's the transaction scenario (IP addresses changed to protect the guilty!) we are having :
Send an INVITE to x.x.x.1 which is a proxy server. Get a 100 from x.x.x.2 Get a 407 from x.x.x.2 Send an ACK back to x.x.x.1 Send INVITE with auth to x.x.x.1 Get 100 from x.x.x.2 Get 183 from x.x.x.2 Get 200 from x.x.x.2 with Contact field saying go to x.x.x.3 Now to which address is the ACK sent? My reading of the specification (rfc2543bis-09 to be precise) says in two places that it goes to x.x.x.3 4 Overview of Operation .... Finally, Alice's softphone sends an acknowledgement message, ACK to Bob's SIP phone to confirm the reception of the final response (200 (OK)). In this example, the ACK is sent directly from Alice's softphone to Bob's SIP phone, bypassing the two proxies. ..... and 12.1.1 UAS behavior .... The Contact header field contains an address where the UAS would like to be contacted for subsequent requests in the dialog (which includes the ACK for a 2xx response in the case of an INVITE). However, when I do this (send the ACK to x.x.x.3), I get continual 200 OK's sent to me by x.x.x.2 exactly as though the ACK was not received. If I send the ACK to x.x.x.1 then the INVITE transaction seems to be completed correctly. No more 200's being sent. However at the end of the call when I send the BYE to x.x.x.3, I get no responses at all! Finally, if I ignore the Contact field completely (which seems to be the WRONG thing to do) then it USUALLY works OK. Except every no and then the BYE which we send to x.x.x.1 just gets a string of 100 reponses until it times out. Now, I would have thought the ACK should go to the original host (completing that transaction) and all subsequent transactions sent to the Contact field. Otherwise how does the proxy know that everything happened OK? However, that is clearly NOT what the specification says! That said I had tried all of the possible responses and none of them quite work correctly. As the machines are Cisco routers that are used commercially in a lot of places I would think it likely that _I_ am doing something wrong rather than Cisco, however I have no idea what I might be doing wrong and there are no guarantees. Any ideas? ---------- Robert Jongbloed Architect for OPAL, Open Phone Abstraction Library and OpenH323, H.323 Open Source Library = = = E Q U I V A L E N C E = = = Voice: +61 2 4365 4666 Fax: +61 2 4367 3140 http://www.equival.com _______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
