[Serusers] SIP Torture Tests Using Sip Foundry SFTF

Nils Ohlmeier lists at ohlmeier.org
Mon Mar 28 14:17:44 CEST 2005


Hi Paul,

inline.

On Monday 28 March 2005 06:48, Java Rockx wrote:
> Hi All.
>
> I'm doing some validation checks against my SIP proxy (ser-0.9.1)
> using SFTF http://www.sipfoundry.org/sftf/
>
> I'm seeing that some tests are making further through my ser.cfg than I'd
> like.
>
> For example, SFTF test case214 sends an INVITE message to SER with an
> invalid Content-Type header.
>
> SER replies with a 404 User Not Found, which is technically correct,
> since the the destination doesn't exist, but SFTF complains that SER
> should have returned a  415 Unsupported Media Type error instead.

First of all the test are written for UAs and not for proxies. That is the 
reason why you get wrong error message about the result.
But everybody is welcome to write proxy tests with/for SFTF.

BTW: SFTF does NOT (yet) implement the SIP Torture Tests (from the Sipping 
draft) like you write/assume in the subject. Only a very few SFTF test 
messages are inspired by the torture draft.

In this particular case even a proxy should not take care about the 
Content-Type, because the participating UAs may successfully use any 
Content-Type they may understand, but with is not "supported" by the proxy. 
SIP cares only about signlaing not about the media which is negotiated for 
this session. (The only exception is if you use a rtpproxy.)

> So my question is this; even though ser rejected the SIP message,
> shouldn't it have performed some checks on the message to validate
> things like Content-Type, R-URI, etc to make sure the message is not
> corrupt or invalid?
>
> If not, does it make sense to do so before letting a SIP message get
> too far in to my ser.cfg?

I allways thought about implementing a module which would do some sanity 
checks to every incoming request. But these sanity checks would cost a lot of 
performance, because you would have to parse a lot more of every request then 
what is required to route this request.
On the other side at last the accepting UA should do this sanity check in any 
case. So there is no real advantage of doing these checks earlier in the SIP 
path. (Although there is currently no easy way to do all the checks which are 
required by a SIP proxy according to RFC3261, e.g. Content-Length.)

> I did find this article in the archives which seems to indicate that
> ser should [happliy] ignore things it doesn't understand - but is this
> safe?
>
> http://lists.iptel.org/pipermail/serusers/2004-November/013171.html

What we discussed in this thread is an absolute basic design principle of SIP: 
ignoring of unknown message details.
If a proxy would reject every message with an unknown detail, then every SIP 
element on a path from one UA to the other one would had to support this new 
message extension. But with this basic SIP design principle every SIP element 
can implement future standards without requiring that the hole SIP network 
supports this new standard.

Greetings
  Nils




More information about the sr-users mailing list