From: "erol turac" <[EMAIL PROTECTED]> If an endpoint sends initial invites with ip address A, and then it sends sub register messages with a different ip address B, How does the UAS handle this request ? Does UAS response with 200 OK or 5xx server error ?
This is the correct way to think about this situation: When the registar receives REGISTER messages, all REGISTER messages with the same Call-Id are (logically) grouped together. I call the group a "pseudo-dialog", because it resembles a dialog in some ways but not in others. The REGISTERs in one pseudo-dialog are (except for some special cases) independent of the REGISTERs in other pseudo-dialogs. Only the last REGISTER in a pseudo-dialog (the one with the highest CSeq) has any effect, and of course, only until its expiration time. Usually all REGISTERs in a pseudo-dialog all register the same one contact, although they can register multiple contacts, and those contacts can change over time. In your case, there are two pseudo-dialogs, one of which maintains a registration for address A, and one of which maintains a registration for address B. When a request reaches the proxy, since there are two contacts for the request-URI, it forks the request to both UAs. If one UA accepts the call (sends a 200 response), the proxy immediately CANCELs its forked request to the other UA. This (usually) ensures that at most one committed dialog is established for the incoming request. If both series of REGISTER messages used the same Call-Id, then they would form only one pseudo-dialog, and only the contact in the most recent REGISTER would be registered. In that case, an incoming request would be sent to only one UA. Dale _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
