What exactly is setting pedantic useful for? What conditions would warrant setting this to yes?
David Hansen
Basically, you can think of the pedantic setting as being one that is important
to SIP purists or those who do make use of more advanced/less used nuances of
the SIP protocol.
For instance, RFC 3261 plainly spells out that the way to identify whether an
incoming message belongs to a specific dialog is to check the call-id, to tag,
and from tag. With pedantic mode disabled, all we look at is the call-id because
in the majority of situations, the call-id is suitable for identifying which
dialog the request belongs to. However, if you know that tag checking is
important, then it will be enabled by turning on pedantic mode.
There are other RFC-mandated operations which will only occur if pedantic mode
is enabled. Typically, the reason why we restrict these operations to when
pedantic mode is enabled is because it is a lot easier/more efficient not to
perform the operations and because in most cases things work fine without
performing the operations.
Mark Michelson
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
David Hansen wrote:
> What exactly is setting pedantic useful for? What conditions would
> warrant setting this to yes?
>
> David Hansen
>
Basically, you can think of the pedantic setting as being one that
is important
to SIP purists or those who do make use of more advanced/less used
nuances of
the SIP protocol.
For instance, RFC 3261 plainly spells out that the way to identify
whether an
incoming message belongs to a specific dialog is to check the call-
id, to tag,
and from tag. With pedantic mode disabled, all we look at is the
call-id because
in the majority of situations, the call-id is suitable for
identifying which
dialog the request belongs to. However, if you know that tag
checking is
important, then it will be enabled by turning on pedantic mode.
I would say that Mark's view is a bit simplified. If you have a PBX
and a few local
phones on the same LAN, we can skip some of the requirements of the SIP
standard to make life more simple. On the other hand, in that case you
do have
the processing power, so it's not a problem anyway.
If your asterisk is part of a larger infrastructure with forking SIP
proxys,
and you need to interoperate with other SIP services, not just the local
set of phones that only talks with your Asterisk, then you *have* to
enable
pedantic to get things working properly.
I personally think that the pedantic mode is a strange setting that we
should
remove. It was the first thing I removed from pineapple (chan_sip3)
when I
started that project (before it stopped).
Setting it to yes will never hurt, unless you have a very small CPU
(which
can't handle many calls anyway). Setting it to "no" might be very bad
for you.
/O
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
> David Hansen wrote:
>> What exactly is setting pedantic useful for? What conditions would
>> warrant setting this to yes?
>>
>> David Hansen
>>
> Basically, you can think of the pedantic setting as being one that
> is important
> to SIP purists or those who do make use of more advanced/less used
> nuances of
> the SIP protocol.
>
> For instance, RFC 3261 plainly spells out that the way to identify
> whether an
> incoming message belongs to a specific dialog is to check the call-
> id, to tag,
> and from tag. With pedantic mode disabled, all we look at is the
> call-id because
> in the majority of situations, the call-id is suitable for
> identifying which
> dialog the request belongs to. However, if you know that tag
> checking is
> important, then it will be enabled by turning on pedantic mode.
I would say that Mark's view is a bit simplified. If you have a PBX
and a few local
phones on the same LAN, we can skip some of the requirements of the SIP
standard to make life more simple. On the other hand, in that case you
do have
the processing power, so it's not a problem anyway.
If your asterisk is part of a larger infrastructure with forking SIP
proxys,
and you need to interoperate with other SIP services, not just the local
set of phones that only talks with your Asterisk, then you *have* to
enable
pedantic to get things working properly.
I personally think that the pedantic mode is a strange setting that we
should remove.
+1
Isn't that another reason why chan_sip should use a SIP stack ;-)
Quote:
It was the first thing I removed from pineapple (chan_sip3)
when I
started that project (before it stopped).
Setting it to yes will never hurt, unless you have a very small CPU
(which can't handle many calls anyway).
The chance that you will find bugs is higher as most users use
pedantic=no and thus by setting it to yes you will discover bugs nobody
else ever has experienced (at least that was my recent experience)
> Setting it to "no" might be very bad
Quote:
for you.
I do not know of current Asterisk - but few years ago there was a very
big problem with pedantic=no: Asterisk accepted in-dialog requests (with
to-tag) even if there was no existing dialog in chan_sip. Is this still
the case?
regards
klaus
Quote:
/O
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
2009/4/15 Olle E. Johansson <oej@edvina.net (oej@edvina.net)>
Quote:
15 apr 2009 kl. 19.10 skrev Mark Michelson:
> David Hansen wrote:
>> What exactly is setting pedantic useful for? What conditions would
>> warrant setting this to yes?
We always use pedantic=yes nowadays since we found that you can't dial "#" on a SNOM300. FreePBX uses # to dial the Directory. The SNOM URL-encodes that # and you need pedantic=yes for chan_sip to un-urlencode the dialed number.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum