<br><br><div class="gmail_quote">On Wed, Nov 12, 2008 at 7:58 PM, Tilghman Lesher <span dir="ltr">&lt;<a href="mailto:tilghman@mail.jeffandtilghman.com">tilghman@mail.jeffandtilghman.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Wednesday 12 November 2008 18:34:45 Steve Totaro wrote:<br>
&gt; On Wed, Nov 12, 2008 at 6:57 PM, Alex Balashov<br>
&lt;<a href="mailto:abalashov@evaristesys.com">abalashov@evaristesys.com</a>&gt;wrote:<br>
&gt; &gt; Steve Totaro wrote:<br>
&gt; &gt; &gt; I believe that if you are speaking of code and Asterisk&#39;s<br>
&gt; &gt; &gt; implementation of the SIP RFC it is already very borked in many many<br>
&gt; &gt; &gt; ways. &nbsp;I speak from what I see in userspace, real-world, although, as I<br>
&gt; &gt; &gt; said, I am going from memory and could be wrong.<br>
&gt; &gt;<br>
&gt; &gt; Yeah, I know. &nbsp;But deciding whether to elevate a hack to default<br>
&gt; &gt; behaviour status is a question that cannot be governed purely by<br>
&gt; &gt; someone&#39;s perceived &quot;real-world&quot; use cases, because not all use cases<br>
&gt; &gt; are universal. &nbsp;That&#39;s typically not how questions of standards<br>
&gt; &gt; compliance (alleged existing noncompliance therewith by Asterisk<br>
&gt; &gt; notwithstanding) are settled.<br>
&gt; &gt;<br>
&gt; &gt; If we did things this way, we would constantly be arguing about whose<br>
&gt; &gt; &quot;real-world&quot; is more &quot;real&quot; or more &quot;importantly&quot; real than the others&#39;.<br>
&gt; &gt;<br>
&gt; &gt; For instance, there are a variety of setups that your suggested approach<br>
&gt; &gt; would break, uncommon as they may be. &nbsp;What if the requests come from an<br>
&gt; &gt; internal subnet fronted by a NAT device but to which the Asterisk host<br>
&gt; &gt; also has a direct route that the return path or the media path should<br>
&gt; &gt; take? &nbsp;Or what if the user agents are configured for near-end NAT<br>
&gt; &gt; traversal fixups (sort of like Asterisk&#39;s &#39;externip&#39; option) for which<br>
&gt; &gt; overriding them to the received IP information would present problems?<br>
&gt; &gt;<br>
&gt; &gt; I realise that&#39;s probably not the sort of thing you see in the<br>
&gt; &gt; deployments you are leveraging as part of the claim to &quot;real world&quot;<br>
&gt; &gt; insight, but the point is that many people reside in many different<br>
&gt; &gt; kinds of &quot;real world.&quot; &nbsp;Default configuration options should implement<br>
&gt; &gt; standard behaviour as much as possible. &nbsp;If I am a new user of Asterisk<br>
&gt; &gt; unfamiliar with the &#39;nat&#39; option, I shouldn&#39;t have to explicitly set it<br>
&gt; &gt; to &#39;no&#39; (because the default behaviour is &#39;yes&#39;) in order to get<br>
&gt; &gt; Asterisk to behave in a more standards-compliant way; &nbsp;it should be the<br>
&gt; &gt; other way around. &nbsp;The package shouldn&#39;t come with a hack enabled<br>
&gt; &gt; out-of-the-box. &nbsp;The standards are the reasonable, pragmatic departure<br>
&gt; &gt; point for the common denominator, and the standards say that Contact<br>
&gt; &gt; URIs and SDP endpoint attributes are to be believed and mandatorily used.<br>
&gt; &gt;<br>
&gt; &gt; &gt;&gt; &nbsp; &nbsp; Also, I am curious - what is the definition of &quot;LAN device&quot; as you<br>
&gt; &gt;<br>
&gt; &gt; are<br>
&gt; &gt;<br>
&gt; &gt; &gt;&gt; &nbsp; &nbsp; using it here? &nbsp;Is it a network with 1) an RFC1918 address and 2)<br>
&gt; &gt; &gt;&gt; a network on which the system running Asterisk has a physical<br>
&gt; &gt;<br>
&gt; &gt; interface<br>
&gt; &gt;<br>
&gt; &gt; &gt;&gt; &nbsp; &nbsp; binding? &nbsp;If so, what about other routed subnets also on a LAN?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I define a LAN based on layer 2 and more recently layer 3 (layer 3<br>
&gt; &gt; &gt; aware switches) of the OSI reference model. &nbsp;Call me old school but I<br>
&gt; &gt; &gt; got my CCNA in the nineties.<br>
&gt; &gt;<br>
&gt; &gt; I know how you define a LAN; &nbsp;it&#39;s how I&#39;d define a LAN too.<br>
&gt; &gt;<br>
&gt; &gt; Asterisk, however, is not Layer 2-aware, so the question is how IT<br>
&gt; &gt; defines a LAN. &nbsp;If, hypothetically, the behaviour you suggested (nat=yes<br>
&gt; &gt; behaviour is not applied to requests originating from LAN endpoints),<br>
&gt; &gt; then Asterisk would have to know that the source address is a LAN<br>
&gt; &gt; address. &nbsp;How? &nbsp;What are the criteria?<br>
&gt; &gt;<br>
&gt; &gt; &gt; &quot;If so, what about other routed subnets also on a LAN?&quot;, sorry, I do<br>
&gt; &gt; &gt; not understand what you are asking......<br>
&gt; &gt;<br>
&gt; &gt; It&#39;s related to the above. &nbsp;In other words, perhaps Asterisk can<br>
&gt; &gt; conceivably know if a request originated from a LAN address if it comes<br>
&gt; &gt; from the subnet of one of the host&#39;s IP interfaces and is off a private<br>
&gt; &gt; range, but what if the address is off a private range but not on a<br>
&gt; &gt; subnet to which the Asterisk host is directly connected. &nbsp;Is it a LAN<br>
&gt; &gt; endpoint then?<br>
&gt;<br>
</div></div><div class="Ih2E3d">&gt; Anyone more &quot;senior&quot; than Alex care to weigh in?<br>
<br>
</div>I don&#39;t really see a need to. &nbsp;He was right on the money, when he said that<br>
nat=yes breaks the SIP specification, although it generally works to your<br>
advantage to have it set.<br>
</blockquote><div><br>When does it not was the original question?<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
While Asterisk&#39;s SIP implementation may be &quot;buggy&quot;, &quot;broken&quot;, or various other<br>
words that you can dream up to describe that it&#39;s not strictly compliant, it<br>
is, in fact, one of the most interoperable SIP stacks currently available.<br>
Due to this distinction, it is by far the tool of choice for other SIP<br>
implementers to use to distinguish just how interoperable their own products<br>
are. &nbsp;</blockquote><div><br>Citation needed.<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">That says oodles about just how bad other implementations are and just<br>

how good Asterisk&#39;s is, by comparison. &nbsp;That may still not mean much in terms<br>
of overall compliance, but it means a whole lot in terms of market position.</blockquote><div><br>Citation needed.<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
You should remember that next time you pooh-pooh Asterisk&#39;s SIP stack.<br>
</blockquote><div><br>Stating it is not compliant is not &quot;pooh-pooh&quot;ing Asterisk&#39;s SIP stack, it is stating a fact.&nbsp; Taking a bit personal aren&#39;t you?&nbsp; <br><br>I have no issue with it for the most part.&nbsp; What happened to Olle?&nbsp; He might pooh-pooh it, but not I.<br>
<br>I will pooh-pooh IAX2 all day long, however.....<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
--<br>
<font color="#888888">Tilghman<br>
</font><div><div></div><div class="Wj3C7c"><br></div></div></blockquote><div><br></div></div>-- <br>Thanks,<br>Steve Totaro <br>+18887771888 (Toll Free)<br>+12409381212 (Cell)<br>+12024369784 (Skype)<br>