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 |
Via insertion |
insert and parse branch parameter |
locally regenerated request retransmissions |
sends 100 response upstream |
sends local ACKs for non-200 responses |
doesn't retransmit 200 responses locally |
forwards ACKs for 200 responses |
forwards unknown header fields |
forking proxy, with non-200/600 response |
forking proxy, with 600 response |
forking proxy, with 200 response |
forking proxy with multiple 200 responses |
time limit on forking (tests Expires) |
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) |
Via hiding |
PGP encryption |
basic authentication for REGISTER |
digest authentication for REGISTER |
basic authentication for INVITE |
digest authentication for INVITE |
Header handling (generate/parse) |
---|
Accept |
Accept-Encoding |
Accept-Language |
Allow |
Authorization |
Call-ID |
Contact |
Content-Encoding |
Content-Length |
Content-Type |
CSeq |
Date |
Encryption |
Expires |
From |
Hide |
Max-Forwards |
Organization |
Proxy-Authenticate |
Proxy-Authorization |
Proxy-Require |
Priority |
Require |
Retry-After |
Retry-After |
Response-Key |
Record-Route |
Route |
Server |
Subject |
Timestamp |
To |
Unsupported |
User-Agent |
Via |
Warning |
WWW-Authenticate |
set up PCMU call |
GSM or G.723 call |
multiple frames per packet |
RTCP generation |
Last updated 01/09/2008 23:33:44 by Henning Schulzrinne