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:
SRTP 10 (7 use sdes)
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)
NIT fixes (4320) 7
Out of Dialog Refer 3
Dialog package 8
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
- 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
- Several UAs still miss that request-merging and handling multiple-200s (or multiple 183s) is even