Feature
|
---|
Parser tests
|
name-addr forms in To, From, Contact (e.g., John Doe <doe@foo>)
|
line-folding
|
extra LWS around colons and semicolons
|
case-insensitive headers
|
address lookup (use of SRV, UDP/TCP ordering)
|
compact form of headers
|
Parser robustness
|
missing or wrong (UDP) content length
|
extra garbage after request
|
bogus request with random characters ignored
|
incomplete request ignored
|
Via header with spaces between /
|
invalid URI in request (no method, no host, ...)
|
Basic INVITE/200/ACK, UDP
|
Basic INVITE/200/ACK, TCP
|
Basic INVITE/302/ACK, UDP, single Contact
|
Basic INVITE/302/ACK, UDP, multiple Contact
|
Basic INVITE/302/ACK, TCP
|
400,500,600 responses understood by UAC
|
Correct message format with SDP
|
SDP: offer video and audio, with audio-only from other side
|
UDP operation: respond to address in Via
|
multiple requests in a UDP packet
|
Via with maddr
|
retransmission of requests and response, exponential back-off
|
BYE to terminate session
|
REGISTER, UDP unicast; current registration echoed; expiration
time accepted and shown
|
REGISTER, UDP multicast
|
REGISTER, TCP
|
REGISTER expiration
|
OPTIONS
|
Max-Forwards
|
proxy with ACK sent direct
|
registration refreshed (tests Expires)
|
registration adds another Contact header
|
registration deletes all with Contact: *
|
loop detection
|
persistent TCP connections (multiple requests over one TCP connection)
|
request merging
|
re-INVITE's in user agents
|
multicast INVITE's
|
CANCEL understood by proxies/UAS
|
UAS doesn't cancel a call if INVITE response sent when CANCEL received
|
UTF-8 (maybe not)
|
multicast audio sessions
|
handles non-SDP payloads (doesn't need to parse it, just know it's not
SDP)
|
Require and Proxy-Require headers
|
SDP in ACK
|
non-standard method (should send Allow in response)
|
html or text in non-200 responses
|
non-SIP URL's in Contact headers
|
Canonicalization of requests and responses by proxy server
(i.e., conversion of requests to canonical format)
|