Common SIP, RTP and SDP Implementation Errors
- Support of any packetization time. Some implementations
restrict the max input audio packet size to 20 ms or 30 ms.
- If a test application just loops back the audio packet, then it
should be careful not to loop back the RTP headers also (especially the
SSRC). Loop back should be done at the media level.
- One implementation responded to requests with Via headers that had
been reversed, causing the response to go right to the sender.
- One implementation ignored route headers when the request URI had an
- Use the Expires in "Contact:" if present instead of
"Expires:". Aso, when retrying register refresh, an UA
should handle error cases (i.e., timeout <=0 ).
- Case insensitivity of stale param in WWW-Auth. stale=FALSE is not
- Proxy forwards request to other address if the domain in requestURI
does not belong to itself.
- Distinction between 404 and 480?
- Send CANCEL or BYE if 200/ACK was not received or sent properly (or
- Send ACK every time you receive (even retransmission of) final
response of INVITE.
- Set Content-Length in TCP SIP request and response; if it is not set
the things do not work as expected.
- Some implementation did not send back the response to the port
number specified in Via, instead used 5060 always.
- Blank spaces, tabs, multi-lines for WWW-Authenticate
- Retransmitted responses different from the original response - they
must be same.
- Add appropriate tag in Via if the IP address does not match the
- Sending an OPTIONS method in the middle of a call causes the call to
- Confusion between the two CSeq numbering spaces.
- Case sensitivity with header and token names.
- For gateway implementation (which can support only one audio codec
at a time), the gateway sends list of codecs in INVITE but expects the
remote UA to reply with only one (selected) codec in m= line. Correct
way is to use re-INVITE.
- Ordering of t= line.
- Some implementation did not look into the payload type of RTP
packet. Assumed to be 0 (PCMU/8000).
by Henning Schulzrinne