160 people from 16 countries attended SIPit 18 with 73 different SIP implementations. A short summary of some of the capabilities of those implementations follows: UDP 73 TCP 53 TLS 30 SCTP 6 SRTP 10 (7 use sdes) rport 36 GRUU 5 outbound 2 connect-reuse 6 IPv6 19 Full 3263 25 3263 no naptr (SRV on) 13 A only 22 IP only (no DNS) 9 Session timer 38 Prack 32 (9 non-trivial users) Update 25 NIT fixes (4320) 7 Out of Dialog Refer 3 Dialog package 8 Turn 3 XCAP 4 (2 servers) Generally, the level of interoperability was very high. Very few of the attendees were aware of GRUU, but there were some implementations to test (and they interoperated). The big surprise was the number of SIP over SCTP implementations testing at this event. There was significant testing of TLS and SRTP. TLS interoperability is solidifying. SRTP interoperability was poor (key exchange is not working) There were several common implementation errors and questions. Below are rough descriptions of each (in no particular order). I'll send more detailed messages when I'm back online in a couple of weeks. - Several UAs were doing 3263 lookups but ignoring the port from the SRV record, always sending to 5060 - Many UAs are gratuitously putting ports in URIs when the appropriate thing to do would be to only place a domain name. This particularly caused error when the port retrieved from SRV was placed explicitly in the RURI of the message sent - There was non-trivial testing of RPID at this event. There was disagreement around where <activities> was legal or had meaning. - More than one implementation still has ACK-200 vs ACK-non200 confused. In particular, more than one implementation used the branch parameter from an INVITE in the ACK-200. There was also some confusion leading to reusing the INVITE branch parameter in PRACKs - Those testing IPv6 made different assumptions about enclosing literal v6 addresses in Vias in . By the end of the event, most implementations were accepting either. Its about 50/50 on what gets sent. - The SIP over SCTP implementers point out a need for clarification around using the 1 to many vs 1 to 1 mode. - Several implementations (including a few mature ones) are still having case-insensitivity related interop problems. I saw arguments over "Digest" vs "DIGEST", and case sensitivity around mime-types. - There were many questions about record-routing when changing transports, and where the double-record-routing technique we've been suggesting people use is documented. - Implementers are looking for better guidance for solving the issue we identified with discarding transactions state on an ACK-200. We need to get more guidance into current bugzilla report and/or issue a draft on this soon. - There were a few XCAP tests at this event. Interoperability was mixed. Very little "just worked", but after agreements were made about URI paths and versions of schemas most tests were successful. - Several UAs still miss that request-merging and handling multiple-200s (or multiple 183s) is even a concern.